##// END OF EJS Templates
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking...
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking for the LRU implementation, this it's safer to use for dogpile. We used it before with beaker, so it's generally more stable.

File last commit:

r2414:e045e245 default
r2945:ec5716e4 default
Show More
repo_creating.mako
80 lines | 2.6 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.mako"/>
<%def name="title()">
repositories: ported repo_creating checks to pyramid....
r1985 ${_('{} Creating repository').format(c.repo_name)}
templating: use .mako as extensions for template files.
r1282 %if c.rhodecode_name:
&middot; ${h.branding(c.rhodecode_name)}
%endif
</%def>
<%def name="breadcrumbs_links()">
repositories: ported repo_creating checks to pyramid....
r1985 ${_('Creating repository')} ${c.repo_name}
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="menu_bar_nav()">
${self.menu_items(active='repositories')}
</%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<div id="progress-message">
${_('Repository "%(repo_name)s" is being created, you will be redirected when this process is finished.' % {'repo_name':c.repo_name})}
</div>
<div id="progress">
<div class="progress progress-striped active">
<div class="progress-bar progress-bar" role="progressbar"
aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">
</div>
</div>
</div>
</div>
<script>
(function worker() {
var skipCheck = false;
repositories: ported repo_creating checks to pyramid....
r1985 var url = "${h.route_path('repo_creating_check', repo_name=c.repo_name, _query=dict(task_id=c.task_id))}";
templating: use .mako as extensions for template files.
r1282 $.ajax({
url: url,
celery: improve fetching of repo_check tasks....
r2387 timeout: 60*1000, // sets timeout to 60 seconds
templating: use .mako as extensions for template files.
r1282 complete: function(resp) {
celery: improve fetching of repo_check tasks....
r2387 if (resp.status === 200) {
templating: use .mako as extensions for template files.
r1282 var jsonResponse = resp.responseJSON;
if (jsonResponse === undefined) {
setTimeout(function () {
// we might have a backend problem, try dashboard again
repositories: ported repo_creating checks to pyramid....
r1985 window.location = "${h.route_path('repo_summary', repo_name = c.repo_name)}";
templating: use .mako as extensions for template files.
r1282 }, 3000);
} else {
if (skipCheck || jsonResponse.result === true) {
// success, means go to dashboard
repositories: ported repo_creating checks to pyramid....
r1985 window.location = "${h.route_path('repo_summary', repo_name = c.repo_name)}";
templating: use .mako as extensions for template files.
r1282 } else {
// Schedule the next request when the current one's complete
setTimeout(worker, 1000);
}
}
}
else {
repo-creating: fixed the url.
r2414 var currentUrl = "${h.current_route_path(request)}";
repo-creating: fix reload url.
r2407 var message = _gettext('Fetching repository state failed. Error code: {0} {1}. Try <a href="{2}">refreshing</a> this page.').format(resp.status, resp.statusText, currentUrl);
repositories: ported repo_creating checks to pyramid....
r1985 var payload = {
message: {
celery: improve fetching of repo_check tasks....
r2387 message: message,
repositories: ported repo_creating checks to pyramid....
r1985 level: 'error',
force: true
}
};
$.Topic('/notifications').publish(payload);
templating: use .mako as extensions for template files.
r1282 }
}
});
})();
</script>
repositories: ported repo_creating checks to pyramid....
r1985 </%def>