|
|
<div class="panel panel-default">
|
|
|
<div class="panel-heading">
|
|
|
<h3 class="panel-title">${_('Maintenance')}</h3>
|
|
|
</div>
|
|
|
<div class="panel-body">
|
|
|
|
|
|
% if c.executable_tasks:
|
|
|
<h4>${_('Perform maintenance tasks for this repo')}</h4>
|
|
|
|
|
|
<span>${_('Following tasks will be performed')}:</span>
|
|
|
<ol>
|
|
|
% for task in c.executable_tasks:
|
|
|
<li>${task}</li>
|
|
|
% endfor
|
|
|
</ol>
|
|
|
<p>
|
|
|
${_('Maintenance can be automated by such api call. Can be called periodically in crontab etc.')}
|
|
|
<br/>
|
|
|
<code>
|
|
|
${h.api_call_example(method='maintenance', args={"repoid": c.rhodecode_db_repo.repo_name})}
|
|
|
</code>
|
|
|
</p>
|
|
|
|
|
|
% else:
|
|
|
<h4>${_('No maintenance tasks for this repo available')}</h4>
|
|
|
% endif
|
|
|
|
|
|
<div id="results" style="display:none; padding: 10px 0px;"></div>
|
|
|
|
|
|
% if c.executable_tasks:
|
|
|
<div class="form">
|
|
|
<div class="fields">
|
|
|
<button class="btn btn-small btn-primary" onclick="executeTask();return false">
|
|
|
${_('Run Maintenance')}
|
|
|
</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
% endif
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
executeTask = function() {
|
|
|
var btn = $(this);
|
|
|
$('#results').show();
|
|
|
$('#results').html('<h4>${_('Performing Maintenance')}...</h4>');
|
|
|
|
|
|
btn.attr('disabled', 'disabled');
|
|
|
btn.addClass('disabled');
|
|
|
|
|
|
var url = "${h.route_path('edit_repo_maintenance_execute', repo_name=c.rhodecode_db_repo.repo_name)}";
|
|
|
var success = function (data) {
|
|
|
var displayHtml = $('<pre></pre>');
|
|
|
|
|
|
$(displayHtml).append(data);
|
|
|
$('#results').html(displayHtml);
|
|
|
btn.removeAttr('disabled');
|
|
|
btn.removeClass('disabled');
|
|
|
};
|
|
|
ajaxGET(url, success, null);
|
|
|
|
|
|
}
|
|
|
</script>
|
|
|
|