##// END OF EJS Templates
security: fixed issues with exposing repository names using global PR redirection link...
security: fixed issues with exposing repository names using global PR redirection link logic. - Since redirect was created to repository which linked to the PR, users who didn't have permissions to those repos could still see the name in the url generated.

File last commit:

r3391:d889da9e default
r4044:573a1043 default
Show More
user_edit_auth_tokens.mako
191 lines | 7.0 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>
auth-tokens: improve UI.
r3391 ${_('Authentication tokens can be used to interact with the API, or VCS-over-http. '
'Each token can have a role. Token with a role can be used only in given context, '
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 '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>${_('Description')}</th>
<th>${_('Role')}</th>
auth-tokens: improve UI.
r3391 <th>${_('Repository Scope')}</th>
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <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:
auth-tokens: improve UI.
r3391 <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>
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>
auth-tokens: improve UI.
r3391 <td class="td">${auth_token.scope_humanized}</td>
templating: use .mako as extensions for template files.
r1282 <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">
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('edit_user_auth_tokens_delete', user_id=c.user.user_id), 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">
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('edit_user_auth_tokens_add', user_id=c.user.user_id), 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'))}
auth-tokens: allow specifing custom expiration date manually....
r2083 ${h.hidden('lifetime')}
templating: use .mako as extensions for template files.
r1282 ${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(){
users: ported controllers from pylons into pyramid views.
r2114
admin: moved auth tokens into pyramid view....
r1518 var select2Options = {
'containerCssClass': "drop-menu",
'dropdownCssClass': "drop-menu-dropdown",
'dropdownAutoWidth': true
};
$("#role").select2(select2Options);
auth-tokens: allow specifing custom expiration date manually....
r2083 var preloadData = {
results: [
% for entry in c.lifetime_values:
{id:${entry[0]}, text:"${entry[1]}"}${'' if loop.last else ','}
% endfor
]
};
$("#lifetime").select2({
containerCssClass: "drop-menu",
dropdownCssClass: "drop-menu-dropdown",
dropdownAutoWidth: true,
data: preloadData,
auth-tokens: fix placeholder text
r2084 placeholder: "${_('Select or enter expiration date')}",
auth-tokens: allow specifing custom expiration date manually....
r2083 query: function(query) {
feedLifetimeOptions(query, preloadData);
}
});
admin: moved auth tokens into pyramid view....
r1518 var repoFilter = function(data) {
var results = [];
if (!data.results[0]) {
return data
}
$.each(data.results[0].children, function() {
// replace name to ID for submision
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 this.id = this.repo_id;
admin: moved auth tokens into pyramid view....
r1518 results.push(this);
});
data.results[0].children = results;
return data;
};
$("#scope_repo_id_disabled").select2(select2Options);
repo-auth-tokens: UX, set and disable to VCS scope if selected an repo from select2
r2118 var selectVcsScope = function() {
// select vcs scope and disable input
$("#role").select2("val", "${c.role_vcs}").trigger('change');
$("#role").select2("readonly", true)
};
admin: moved auth tokens into pyramid view....
r1518 $("#scope_repo_id").select2({
cachedDataSource: {},
minimumInputLength: 2,
placeholder: "${_('repository scope')}",
dropdownAutoWidth: true,
containerCssClass: "drop-menu",
dropdownCssClass: "drop-menu-dropdown",
repo-switcher: new unified search box for filtering/accessing users, repos and repo groups....
r2774 formatResult: formatRepoResult,
admin: moved auth tokens into pyramid view....
r1518 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));
}
users: ported controllers from pylons into pyramid views.
r2114 })
}
templating: use .mako as extensions for template files.
r1282 })
admin: moved auth tokens into pyramid view....
r1518 });
repo-auth-tokens: UX, set and disable to VCS scope if selected an repo from select2
r2118 $("#scope_repo_id").on('select2-selecting', function(e){
selectVcsScope()
});
admin: moved auth tokens into pyramid view....
r1518
});
templating: use .mako as extensions for template files.
r1282 </script>