##// END OF EJS Templates
artifacts: expose a special auth-token based artifacts download urls....
artifacts: expose a special auth-token based artifacts download urls. This will allow sharing download to external locations used new generated artifact download tokens. This feature allows also serving downloads using secret urls with all the fancy logic of our auth tokens.

File last commit:

r2014:b776c5e0 default
r4003:09f31efc default
Show More
issue_tracker_settings.mako
218 lines | 8.1 KiB | application/x-mako | MakoHtmlLexer
/ rhodecode / templates / base / issue_tracker_settings.mako
## snippet for displaying issue tracker settings
## usage:
## <%namespace name="its" file="/base/issue_tracker_settings.mako"/>
## ${its.issue_tracker_settings_table(patterns, form_url, delete_url)}
## ${its.issue_tracker_settings_test(test_url)}
<%def name="issue_tracker_settings_table(patterns, form_url, delete_url)">
<table class="rctable issuetracker">
<tr>
<th>${_('Description')}</th>
<th>${_('Pattern')}</th>
<th>${_('Url')}</th>
<th>${_('Prefix')}</th>
<th ></th>
</tr>
<tr>
<td class="td-description issue-tracker-example">Example</td>
<td class="td-regex issue-tracker-example">${'(?:#)(?P<issue_id>\d+)'}</td>
<td class="td-url issue-tracker-example">${'https://myissueserver.com/${repo}/issue/${issue_id}'}</td>
<td class="td-prefix issue-tracker-example">#</td>
<td class="issue-tracker-example"><a href="${h.route_url('enterprise_issue_tracker_settings')}" target="_blank">${_('Read more')}</a></td>
</tr>
%for uid, entry in patterns:
<tr id="entry_${uid}">
<td class="td-description issuetracker_desc">
<span class="entry">
${entry.desc}
</span>
<span class="edit">
${h.text('new_pattern_description_'+uid, class_='medium-inline', value=entry.desc or '')}
</span>
</td>
<td class="td-regex issuetracker_pat">
<span class="entry">
${entry.pat}
</span>
<span class="edit">
${h.text('new_pattern_pattern_'+uid, class_='medium-inline', value=entry.pat or '')}
</span>
</td>
<td class="td-url issuetracker_url">
<span class="entry">
${entry.url}
</span>
<span class="edit">
${h.text('new_pattern_url_'+uid, class_='medium-inline', value=entry.url or '')}
</span>
</td>
<td class="td-prefix issuetracker_pref">
<span class="entry">
${entry.pref}
</span>
<span class="edit">
${h.text('new_pattern_prefix_'+uid, class_='medium-inline', value=entry.pref or '')}
</span>
</td>
<td class="td-action">
<div class="grid_edit">
<span class="entry">
<a class="edit_issuetracker_entry" href="">${_('Edit')}</a>
</span>
<span class="edit">
${h.hidden('uid', uid)}
</span>
</div>
<div class="grid_delete">
<span class="entry">
<a class="btn btn-link btn-danger delete_issuetracker_entry" data-desc="${entry.desc}" data-uid="${uid}">
${_('Delete')}
</a>
</span>
<span class="edit">
<a class="btn btn-link btn-danger edit_issuetracker_cancel" data-uid="${uid}">${_('Cancel')}</a>
</span>
</div>
</td>
</tr>
%endfor
<tr id="last-row"></tr>
</table>
<p>
<a id="add_pattern" class="link">
${_('Add new')}
</a>
</p>
<script type="text/javascript">
var newEntryLabel = $('label[for="new_entry"]');
var resetEntry = function() {
newEntryLabel.text("${_('New Entry')}:");
};
var delete_pattern = function(entry) {
if (confirm("${_('Confirm to remove this pattern:')} "+$(entry).data('desc'))) {
var request = $.ajax({
type: "POST",
url: "${delete_url}",
data: {
'_method': 'delete',
'csrf_token': CSRF_TOKEN,
'uid':$(entry).data('uid')
},
success: function(){
location.reload();
},
error: function(data, textStatus, errorThrown){
alert("Error while deleting entry.\nError code {0} ({1}). URL: {2}".format(data.status,data.statusText,$(entry)[0].url));
}
});
}
};
$('.delete_issuetracker_entry').on('click', function(e){
e.preventDefault();
delete_pattern(this);
});
$('.edit_issuetracker_entry').on('click', function(e){
e.preventDefault();
$(this).parents('tr').addClass('editopen');
});
$('.edit_issuetracker_cancel').on('click', function(e){
e.preventDefault();
$(this).parents('tr').removeClass('editopen');
// Reset to original value
var uid = $(this).data('uid');
$('#'+uid+' input').each(function(e) {
this.value = this.defaultValue;
});
});
$('input#reset').on('click', function(e) {
resetEntry();
});
$('#add_pattern').on('click', function(e) {
addNewPatternInput();
});
</script>
</%def>
<%def name="issue_tracker_new_row()">
<table id="add-row-tmpl" style="display: none;">
<tbody>
<tr class="new_pattern">
<td class="td-description issuetracker_desc">
<span class="entry">
<input class="medium-inline" id="description_##UUID##" name="new_pattern_description_##UUID##" value="##DESCRIPTION##" type="text">
</span>
</td>
<td class="td-regex issuetracker_pat">
<span class="entry">
<input class="medium-inline" id="pattern_##UUID##" name="new_pattern_pattern_##UUID##" placeholder="Pattern"
value="##PATTERN##" type="text">
</span>
</td>
<td class="td-url issuetracker_url">
<span class="entry">
<input class="medium-inline" id="url_##UUID##" name="new_pattern_url_##UUID##" placeholder="Url" value="##URL##" type="text">
</span>
</td>
<td class="td-prefix issuetracker_pref">
<span class="entry">
<input class="medium-inline" id="prefix_##UUID##" name="new_pattern_prefix_##UUID##" placeholder="Prefix" value="##PREFIX##" type="text">
</span>
</td>
<td class="td-action">
</td>
<input id="uid_##UUID##" name="uid_##UUID##" type="hidden" value="">
</tr>
</tbody>
</table>
</%def>
<%def name="issue_tracker_settings_test(test_url)">
<div class="form-vertical">
<div class="fields">
<div class="field">
<div class='textarea-full'>
<textarea id="test_pattern_data" >
This commit fixes ticket #451.
This is an example text for testing issue tracker patterns, add a pattern here and
hit preview to see the link
</textarea>
</div>
</div>
</div>
<div class="test_pattern_preview">
<div id="test_pattern" class="btn btn-small" >${_('Preview')}</div>
<p>${_('Test Pattern Preview')}</p>
<div id="test_pattern_result"></div>
</div>
</div>
<script type="text/javascript">
$('#test_pattern').on('click', function(e) {
$.ajax({
type: "POST",
url: "${test_url}",
data: {
'test_text': $('#test_pattern_data').val(),
'csrf_token': CSRF_TOKEN
},
success: function(data){
$('#test_pattern_result').html(data);
},
error: function(jqXHR, textStatus, errorThrown){
$('#test_pattern_result').html('Error: ' + errorThrown);
}
});
$('#test_pattern_result').show();
});
</script>
</%def>