|
|
## -*- coding: utf-8 -*-
|
|
|
<%inherit file="/base/base.mako"/>
|
|
|
|
|
|
<%def name="title()">
|
|
|
${_('Authentication Settings')}
|
|
|
%if c.rhodecode_name:
|
|
|
· ${h.branding(c.rhodecode_name)}}
|
|
|
%endif
|
|
|
</%def>
|
|
|
|
|
|
<%def name="breadcrumbs_links()">
|
|
|
${h.link_to(_('Admin'),h.url('admin_home'))}
|
|
|
»
|
|
|
${_('Authentication Plugins')}
|
|
|
</%def>
|
|
|
|
|
|
<%def name="menu_bar_nav()">
|
|
|
${self.menu_items(active='admin')}
|
|
|
</%def>
|
|
|
|
|
|
<%def name="main()">
|
|
|
|
|
|
<div class="box">
|
|
|
<div class="title">
|
|
|
${self.breadcrumbs()}
|
|
|
</div>
|
|
|
|
|
|
<div class='sidebar-col-wrapper'>
|
|
|
|
|
|
<div class="sidebar">
|
|
|
<ul class="nav nav-pills nav-stacked">
|
|
|
% for item in resource.get_root().get_nav_list():
|
|
|
<li ${'class=active' if item == resource else ''}>
|
|
|
<a href="${request.resource_path(item, route_name='auth_home')}">${item.display_name}</a>
|
|
|
</li>
|
|
|
% endfor
|
|
|
</ul>
|
|
|
</div>
|
|
|
|
|
|
<div class="main-content-full-width">
|
|
|
${h.secure_form(request.resource_path(resource, route_name='auth_home'))}
|
|
|
<div class="form">
|
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
|
|
<div class="panel-heading">
|
|
|
<h3 class="panel-title">${_("Enabled and Available Plugins")}</h3>
|
|
|
</div>
|
|
|
|
|
|
<div class="fields panel-body">
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label">${_("Enabled Plugins")}</div>
|
|
|
<div class="textarea text-area editor">
|
|
|
${h.textarea('auth_plugins',cols=23,rows=5,class_="medium")}
|
|
|
</div>
|
|
|
<p class="help-block">
|
|
|
${_('Add a list of plugins, separated by commas. '
|
|
|
'The order of the plugins is also the order in which '
|
|
|
'RhodeCode Enterprise will try to authenticate a user.')}
|
|
|
</p>
|
|
|
</div>
|
|
|
|
|
|
<div class="field">
|
|
|
<div class="label">${_('Available Built-in Plugins')}</div>
|
|
|
<ul class="auth_plugins">
|
|
|
%for plugin in available_plugins:
|
|
|
<li>
|
|
|
<div class="auth_buttons">
|
|
|
<span plugin_id="${plugin.get_id()}" class="toggle-plugin btn ${'btn-success' if plugin.get_id() in enabled_plugins else ''}">
|
|
|
${_('enabled') if plugin.get_id() in enabled_plugins else _('disabled')}
|
|
|
</span>
|
|
|
${plugin.get_display_name()} (${plugin.get_id()})
|
|
|
</div>
|
|
|
</li>
|
|
|
%endfor
|
|
|
</ul>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons">
|
|
|
${h.submit('save',_('Save'),class_="btn")}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<script>
|
|
|
$('.toggle-plugin').click(function(e){
|
|
|
var auth_plugins_input = $('#auth_plugins');
|
|
|
var notEmpty = function(element, index, array) {
|
|
|
return (element != "");
|
|
|
};
|
|
|
var elems = auth_plugins_input.val().split(',').filter(notEmpty);
|
|
|
var cur_button = e.currentTarget;
|
|
|
var plugin_id = $(cur_button).attr('plugin_id');
|
|
|
if($(cur_button).hasClass('btn-success')){
|
|
|
elems.splice(elems.indexOf(plugin_id), 1);
|
|
|
auth_plugins_input.val(elems.join(','));
|
|
|
$(cur_button).removeClass('btn-success');
|
|
|
cur_button.innerHTML = _gettext('disabled');
|
|
|
}
|
|
|
else{
|
|
|
if(elems.indexOf(plugin_id) == -1){
|
|
|
elems.push(plugin_id);
|
|
|
}
|
|
|
auth_plugins_input.val(elems.join(','));
|
|
|
$(cur_button).addClass('btn-success');
|
|
|
cur_button.innerHTML = _gettext('enabled');
|
|
|
}
|
|
|
});
|
|
|
</script>
|
|
|
</%def>
|
|
|
|