Files
@ 2aa7f454204e
Branch filter:
Location: kallithea/rhodecode/templates/admin/settings/hooks.html - annotation
2aa7f454204e
3.0 KiB
text/html
fixes #298, ldap email addresses created by rhodecode automatically during first login didn't get converted to lower case, which lead to lookup failures and than wrong checks for uniqueness. Fixed that by putting a setter on db model column that will enforce converting to lowercase.
b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 aaec08ad9daf b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 b50348816a80 | ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
${_('Settings administration')} - ${c.rhodecode_name}
</%def>
<%def name="breadcrumbs_links()">
${h.link_to(_('Admin'),h.url('admin_home'))} » ${_('Settings')}
</%def>
<%def name="page_nav()">
${self.menu('admin')}
</%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<!-- end box / title -->
<h3>${_('Built in hooks - read only')}</h3>
<div class="form">
<div class="fields">
% for hook in c.hooks:
<div class="field">
<div class="label label">
<label for="${hook.ui_key}">${hook.ui_key}</label>
</div>
<div class="input" style="margin-left:280px">
${h.text(hook.ui_key,hook.ui_value,size=60,readonly="readonly")}
</div>
</div>
% endfor
</div>
</div>
<h3>${_('Custom hooks')}</h3>
${h.form(url('admin_setting', setting_id='hooks'),method='put')}
<div class="form">
<div class="fields">
% for hook in c.custom_hooks:
<div class="field" id="${'id%s' % hook.ui_id }">
<div class="label label">
<label for="${hook.ui_key}">${hook.ui_key}</label>
</div>
<div class="input" style="margin-left:280px">
${h.hidden('hook_ui_key',hook.ui_key)}
${h.hidden('hook_ui_value',hook.ui_value)}
${h.text('hook_ui_value_new',hook.ui_value,size=60)}
<span class="delete_icon action_button"
onclick="ajaxActionHook(${hook.ui_id},'${'id%s' % hook.ui_id }')">
${_('remove')}
</span>
</div>
</div>
% endfor
<div class="field">
<div class="input" style="margin-left:-180px;position: absolute;">
<div class="input">
${h.text('new_hook_ui_key',size=30)}
</div>
</div>
<div class="input" style="margin-left:280px">
${h.text('new_hook_ui_value',size=60)}
</div>
</div>
<div class="buttons" style="margin-left:280px">
${h.submit('save',_('Save'),class_="ui-button")}
</div>
</div>
</div>
${h.end_form()}
</div>
<script type="text/javascript">
function ajaxActionHook(hook_id,field_id) {
var sUrl = "${h.url('admin_setting', setting_id='hooks')}";
var callback = {
success: function (o) {
var elem = YUD.get(""+field_id);
elem.parentNode.removeChild(elem);
},
failure: function (o) {
alert("${_('Failed to remove hook')}");
},
};
var postData = '_method=delete&hook_id=' + hook_id;
var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
};
</script>
</%def>
|