##// END OF EJS Templates
git: use force fetch and update for target ref. This solves a case...
git: use force fetch and update for target ref. This solves a case when in PRs a target is force updated and is out of sync. Before we used a pull which --ff-only fails obviosly because two are out of sync. This change uses new logic that resets the target branch according to the source target branch allowing smooth merge simulation.

File last commit:

r2774:a8ecef4e default
r2784:e8c62649 default
Show More
my_account_auth_tokens.mako
188 lines | 6.6 KiB | application/x-mako | MakoHtmlLexer
/ rhodecode / templates / admin / my_account / my_account_auth_tokens.mako
templating: use .mako as extensions for template files.
r1282 <div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">${_('Authentication Tokens')}</h3>
</div>
<div class="panel-body">
admin: moved auth tokens into pyramid view....
r1518 <div class="apikeys_wrap">
templating: use .mako as extensions for template files.
r1282 <p>
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 ${_('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.')}
templating: use .mako as extensions for template files.
r1282 </p>
<table class="rctable auth_tokens">
admin: moved auth tokens into pyramid view....
r1518 <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 ''}">
auth-tokens: add scope and show consitent token UI for my account and admin.
r1480 <td class="truncate-wrap td-authtoken">
<div class="user_auth_tokens truncate autoexpand">
<code>${auth_token.api_key}</code>
</div>
</td>
<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">
<span class="tag disabled">${auth_token.role_humanized}</span>
</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>
<td class="td-action">
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('my_account_auth_tokens_delete'), request=request)}
my-account: use audit logs for email and token actions.
r1820 ${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"
my-account: use audit logs for email and token actions.
r1820 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:
admin: moved auth tokens into pyramid view....
r1518 <tr><td><div class="ip">${_('No additional auth tokens specified')}</div></td></tr>
templating: use .mako as extensions for template files.
r1282 %endif
</table>
admin: moved auth tokens into pyramid view....
r1518 </div>
templating: use .mako as extensions for template files.
r1282
<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('my_account_auth_tokens_add'), 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">
<label for="new_email">${_('New authentication token')}:</label>
</div>
<div class="input">
admin: moved auth tokens into pyramid view....
r1518 ${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)}
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507
% 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">
${h.submit('save',_('Add'),class_="btn")}
${h.reset('reset',_('Reset'),class_="btn")}
</div>
</div>
</div>
${h.end_form()}
</div>
</div>
</div>
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507 <script>
$(document).ready(function(){
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);
}
});
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507 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;
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507 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)
};
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507 $("#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,
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507 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'),
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507 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));
}
})
}
})
});
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()
});
auth-tokens: extended views to allowed override of adding scope in EE edition.
r1507
});
</script>