##// END OF EJS Templates
fix(caching): fixed problems with Cache query for users....
fix(caching): fixed problems with Cache query for users. The old way of querying caused the user get query to be always cached, and returning old results even in 2fa forms. The new limited query doesn't cache the user object resolving issues

File last commit:

r4232:60646747 stable
r5365:ae8a165b default
Show More
user_edit_ips.mako
83 lines | 3.3 KiB | application/x-mako | MakoHtmlLexer
users/user-groups: added context of what we're editing....
r4232 <%namespace name="base" file="/base/base.mako"/>
templating: use .mako as extensions for template files.
r1282 <div class="panel panel-default">
<div class="panel-heading">
users/user-groups: added context of what we're editing....
r4232 <h3 class="panel-title">
${base.gravatar_with_user(c.user.username, 16, tooltip=False, _class='pull-left')}
&nbsp;- ${_('Custom IP Whitelist')}
</h3>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="panel-body">
<div class="ips_wrap">
user: show your current IP in ip whitelist page
r1670 <h5>${_('Current IP address')}: <code>${c.rhodecode_user.ip_addr}</code></h5>
templating: use .mako as extensions for template files.
r1282 <table class="rctable ip-whitelist">
<tr>
user: show your current IP in ip whitelist page
r1670 <th>${_('IP Address')}</th>
<th>${_('IP Range')}</th>
<th>${_('Description')}</th>
templating: use .mako as extensions for template files.
r1282 <th></th>
</tr>
%if c.default_user_ip_map and c.inherit_default_ips:
%for ip in c.default_user_ip_map:
<tr>
<td class="td-ip"><div class="ip">${ip.ip_addr}</div></td>
<td class="td-iprange"><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
global-permissions: ported controller to pyramid view....
r1941 <td class="td-description">${h.literal(_('Inherited from %s') % h.link_to('*default*',h.route_path('admin_permissions_ips')))}</td>
templating: use .mako as extensions for template files.
r1282 <td></td>
</tr>
%endfor
%endif
%if c.user_ip_map:
%for ip in c.user_ip_map:
<tr>
<td class="td-ip"><div class="ip">${ip.ip_addr}</div></td>
<td class="td-iprange"><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
<td class="td-description"><div class="ip">${ip.description}</div></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('edit_user_ips_delete', user_id=c.user.user_id), request=request)}
users-admin: moved views into pyramid for editing emails and ips....
r1821 ${h.hidden('del_ip_id', ip.ip_id)}
${h.submit('remove_', _('Delete'),id="remove_ip_%s" % ip.ip_id,
templating: use .mako as extensions for template files.
r1282 class_="btn btn-link btn-danger", onclick="return confirm('"+_('Confirm to delete this ip: %s') % ip.ip_addr+"');")}
${h.end_form()}
</td>
</tr>
%endfor
%endif
%if not c.default_user_ip_map and not c.user_ip_map:
<tr>
<td><h2 class="ip">${_('All IP addresses are allowed')}</h2></td>
<td></td>
<td></td>
<td></td>
</tr>
%endif
</table>
</div>
<div>
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('edit_user_ips_add', user_id=c.user.user_id), request=request)}
templating: use .mako as extensions for template files.
r1282 <div class="form">
<!-- fields -->
<div class="fields">
<div class="field">
<div class="label">
<label for="new_ip">${_('New IP Address')}:</label>
</div>
<div class="input">
${h.text('new_ip')} ${h.text('description', placeholder=_('Description...'))}
users: updated instructions on IP rules entries.
r3672 <span class="help-block pre-formatting">${_('Enter comma separated list of ip addresses like 10.0.0.1,10.0.0.2.\n'
'Use a ip address with a mask 127.0.0.1/24, to create a network match pattern.\n'
'To specify multiple entries on an address range use 127.0.0.1-127.0.0.10 syntax')}</span>
templating: use .mako as extensions for template files.
r1282 </div>
</div>
<div class="buttons">
${h.submit('save',_('Add'),class_="btn btn-small")}
${h.reset('reset',_('Reset'),class_="btn btn-small")}
</div>
</div>
</div>
${h.end_form()}
</div>
</div>
</div>