##// END OF EJS Templates
security: fix self xss on repo downloads picker for svn case.
security: fix self xss on repo downloads picker for svn case.

File last commit:

r1985:f5a73a5e default
r2234:8f4440a2 stable
Show More
repo_creating.mako
77 lines | 2.4 KiB | application/x-mako | MakoHtmlLexer
## -*- coding: utf-8 -*-
<%inherit file="/base/base.mako"/>
<%def name="title()">
${_('{} Creating repository').format(c.repo_name)}
%if c.rhodecode_name:
&middot; ${h.branding(c.rhodecode_name)}
%endif
</%def>
<%def name="breadcrumbs_links()">
${_('Creating repository')} ${c.repo_name}
</%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;
var url = "${h.route_path('repo_creating_check', repo_name=c.repo_name, _query=dict(task_id=c.task_id))}";
$.ajax({
url: url,
complete: function(resp) {
if (resp.status == 200) {
var jsonResponse = resp.responseJSON;
if (jsonResponse === undefined) {
setTimeout(function () {
// we might have a backend problem, try dashboard again
window.location = "${h.route_path('repo_summary', repo_name = c.repo_name)}";
}, 3000);
} else {
if (skipCheck || jsonResponse.result === true) {
// success, means go to dashboard
window.location = "${h.route_path('repo_summary', repo_name = c.repo_name)}";
} else {
// Schedule the next request when the current one's complete
setTimeout(worker, 1000);
}
}
}
else {
var payload = {
message: {
message: _gettext('Fetching repository state failed. Error code: {0} {1}. Try refreshing this page.').format(resp.status, resp.statusText),
level: 'error',
force: true
}
};
$.Topic('/notifications').publish(payload);
}
}
});
})();
</script>
</%def>