##// END OF EJS Templates
diffs: use whole chunk diff to calculate if it's oversized or not....
diffs: use whole chunk diff to calculate if it's oversized or not. - This fixes an issue if a file is added that has very large number of small lines. In this case the time to detect if the diff should be limited was very very long and CPU intensive.

File last commit:

r1918:de4c5093 default
r2070:7939c6bf default
Show More
user_edit_auth_tokens.mako
157 lines | 6.2 KiB | application/x-mako | MakoHtmlLexer
/ rhodecode / templates / admin / users / user_edit_auth_tokens.mako
templating: use .mako as extensions for template files.
r1282 <div class="panel panel-default">
<div class="panel-heading">
admin: moved auth tokens into pyramid view....
r1518 <h3 class="panel-title">${_('Authentication Tokens')}</h3>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="panel-body">
<div class="apikeys_wrap">
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <p>
${_('Each token can have a role. Token with a role can be used only in given context, '
'e.g. VCS tokens can be used together with the authtoken auth plugin for git/hg/svn operations only.')}
</p>
templating: use .mako as extensions for template files.
r1282 <table class="rctable auth_tokens">
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <tr>
<th>${_('Token')}</th>
<th>${_('Scope')}</th>
<th>${_('Description')}</th>
<th>${_('Role')}</th>
<th>${_('Expiration')}</th>
<th>${_('Action')}</th>
</tr>
templating: use .mako as extensions for template files.
r1282 %if c.user_auth_tokens:
%for auth_token in c.user_auth_tokens:
<tr class="${'expired' if auth_token.expired else ''}">
<td class="truncate-wrap td-authtoken"><div class="user_auth_tokens truncate autoexpand"><code>${auth_token.api_key}</code></div></td>
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <td class="td">${auth_token.scope_humanized}</td>
templating: use .mako as extensions for template files.
r1282 <td class="td-wrap">${auth_token.description}</td>
<td class="td-tags">
admin: moved auth tokens into pyramid view....
r1518 <span class="tag disabled">${auth_token.role_humanized}</span>
templating: use .mako as extensions for template files.
r1282 </td>
<td class="td-exp">
%if auth_token.expires == -1:
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 ${_('never')}
templating: use .mako as extensions for template files.
r1282 %else:
%if auth_token.expired:
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <span style="text-decoration: line-through">${h.age_component(h.time_to_utcdatetime(auth_token.expires))}</span>
templating: use .mako as extensions for template files.
r1282 %else:
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 ${h.age_component(h.time_to_utcdatetime(auth_token.expires))}
templating: use .mako as extensions for template files.
r1282 %endif
%endif
</td>
admin: moved auth tokens into pyramid view....
r1518 <td class="td-action">
pyramid: if possible fetch csrf tokens from pyramid session....
r1918 ${h.secure_form(h.route_path('edit_user_auth_tokens_delete', user_id=c.user.user_id), method='POST', request=request)}
users-admin: moved views into pyramid for editing emails and ips....
r1821 ${h.hidden('del_auth_token', auth_token.user_api_key_id)}
templating: use .mako as extensions for template files.
r1282 <button class="btn btn-link btn-danger" type="submit"
users-admin: moved views into pyramid for editing emails and ips....
r1821 onclick="return confirm('${_('Confirm to remove this auth token: %s') % auth_token.token_obfuscated}');">
templating: use .mako as extensions for template files.
r1282 ${_('Delete')}
</button>
${h.end_form()}
</td>
</tr>
%endfor
%else:
<tr><td><div class="ip">${_('No additional auth tokens specified')}</div></td></tr>
%endif
</table>
</div>
<div class="user_auth_tokens">
pyramid: if possible fetch csrf tokens from pyramid session....
r1918 ${h.secure_form(h.route_path('edit_user_auth_tokens_add', user_id=c.user.user_id), method='POST', request=request)}
templating: use .mako as extensions for template files.
r1282 <div class="form form-vertical">
<!-- fields -->
<div class="fields">
<div class="field">
<div class="label">
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <label for="new_email">${_('New authentication token')}:</label>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="input">
${h.text('description', class_='medium', placeholder=_('Description'))}
${h.select('lifetime', '', c.lifetime_options)}
${h.select('role', '', c.role_options)}
admin: moved auth tokens into pyramid view....
r1518
% if c.allow_scoped_tokens:
${h.hidden('scope_repo_id')}
% else:
${h.select('scope_repo_id_disabled', '', ['Scopes available in EE edition'], disabled='disabled')}
% endif
templating: use .mako as extensions for template files.
r1282 </div>
admin: moved auth tokens into pyramid view....
r1518 <p class="help-block">
${_('Repository scope works only with tokens with VCS type.')}
</p>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="buttons">
admin: moved auth tokens into pyramid view....
r1518 ${h.submit('save',_('Add'),class_="btn")}
${h.reset('reset',_('Reset'),class_="btn")}
templating: use .mako as extensions for template files.
r1282 </div>
</div>
</div>
${h.end_form()}
</div>
</div>
</div>
<script>
admin: moved auth tokens into pyramid view....
r1518
$(document).ready(function(){
var select2Options = {
'containerCssClass': "drop-menu",
'dropdownCssClass': "drop-menu-dropdown",
'dropdownAutoWidth': true
};
$("#lifetime").select2(select2Options);
$("#role").select2(select2Options);
var repoFilter = function(data) {
var results = [];
if (!data.results[0]) {
return data
}
$.each(data.results[0].children, function() {
// replace name to ID for submision
this.id = this.obj.repo_id;
results.push(this);
});
data.results[0].children = results;
return data;
};
$("#scope_repo_id_disabled").select2(select2Options);
$("#scope_repo_id").select2({
cachedDataSource: {},
minimumInputLength: 2,
placeholder: "${_('repository scope')}",
dropdownAutoWidth: true,
containerCssClass: "drop-menu",
dropdownCssClass: "drop-menu-dropdown",
formatResult: formatResult,
query: $.debounce(250, function(query){
self = this;
var cacheKey = query.term;
var cachedData = self.cachedDataSource[cacheKey];
if (cachedData) {
query.callback({results: cachedData.results});
} else {
$.ajax({
core: moved repo_list data to pyramid.
r1667 url: pyroutes.url('repo_list_data'),
admin: moved auth tokens into pyramid view....
r1518 data: {'query': query.term},
dataType: 'json',
type: 'GET',
success: function(data) {
data = repoFilter(data);
self.cachedDataSource[cacheKey] = data;
query.callback({results: data.results});
},
error: function(data, textStatus, errorThrown) {
alert("Error while fetching entries.\nError code {0} ({1}).".format(data.status, data.statusText));
}
})
}
templating: use .mako as extensions for template files.
r1282 })
admin: moved auth tokens into pyramid view....
r1518 });
});
templating: use .mako as extensions for template files.
r1282 </script>