##// END OF EJS Templates
authn: Adapt and refactor plugin settings template....
johbo -
r86:083e961d default
parent child Browse files
Show More
@@ -1,118 +1,107 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Authentication Settings')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 ${h.link_to(_('Admin'),h.url('admin_home'))}
13 13 &raquo;
14 14 ${h.link_to(_('Authentication Plugins'),request.resource_path(resource.__parent__, route_name='auth_home'))}
15 15 &raquo;
16 16 ${resource.display_name}
17 17 </%def>
18 18
19 19 <%def name="menu_bar_nav()">
20 20 ${self.menu_items(active='admin')}
21 21 </%def>
22 22
23 23 <%def name="main()">
24 24 <div class="box">
25 25 <div class="title">
26 26 ${self.breadcrumbs()}
27 27 </div>
28 28 <div class='sidebar-col-wrapper'>
29 29
30 30 ## TODO: This is repeated in the auth root template and should be merged
31 31 ## into a single solution.
32 32 <div class="sidebar">
33 33 <ul class="nav nav-pills nav-stacked">
34 34 % for item in resource.get_root().get_nav_list():
35 35 <li ${'class=active' if item == resource else ''}>
36 36 <a href="${request.resource_path(item, route_name='auth_home')}">${item.display_name}</a>
37 37 </li>
38 38 % endfor
39 39 </ul>
40 40 </div>
41 41
42 42 <div class="main-content-full-width">
43 43 <div class="panel panel-default">
44 44 <div class="panel-heading">
45 45 <h3 class="panel-title">${_('Plugin')}: ${resource.display_name}</h3>
46 46 </div>
47 47 <div class="panel-body">
48 48 <div class="plugin_form">
49 49 <div class="fields">
50 50 ${h.secure_form(request.resource_path(resource, route_name='auth_home'))}
51 51 <div class="form">
52 52 %for node in plugin.get_settings_schema():
53 <% label_cls = ("label-checkbox" if (node.widget == "bool") else "") %>
53 <% label_css_class = ("label-checkbox" if (node.widget == "bool") else "") %>
54 54 <div class="field">
55 <div class="label ${label_cls}"><label for="${node.name}">${node.title}</label></div>
56 %if node.widget in ["string", "int", "unicode"]:
57 <div class="input">
58 ${h.text(node.name, class_="medium")}
59 <p class="help-block">${node.description}</p>
60 </div>
61 %elif node.widget == "password":
62 <div class="input">
63 ${h.password(node.name, class_="medium")}
64 <p class="help-block">${node.description}</p>
65 </div>
66 %elif node.widget == "bool":
67 <div class="input">
68 <div class="checkbox">${h.checkbox(node.name, True)}</div>
69 <span class="help-block">${node.description}</span>
70 </div>
71 %elif node.widget == "select":
72 <div class="select">
55 <div class="label ${label_css_class}"><label for="${node.name}">${node.title}</label></div>
56 <div class="input">
57 %if node.widget in ["string", "int", "unicode"]:
58 ${h.text(node.name, node.default, class_="medium")}
59 %elif node.widget == "password":
60 ${h.password(node.name, node.default, class_="medium")}
61 %elif node.widget == "bool":
62 <div class="checkbox">${h.checkbox(node.name, node.default)}</div>
63 %elif node.widget == "select":
73 64 ${h.select(node.name, node.default, node.validator.choices)}
74 <p class="help-block">${node.description}</p>
75 </div>
76 %elif node.widget == "readonly":
77 <div class="input">
65 %elif node.widget == "readonly":
78 66 ${node.default}
79 <p class="help-block">${node.description}</p>
80 </div>
81 %else:
82 <div class="input">
67 %else:
83 68 This field is of type ${node.typ}, which cannot be displayed. Must be one of [string|int|bool|select].
84 <p class="help-block">${node.description}</p>
85 </div>
86 %endif
69 %endif
70 %if node.name in errors:
71 <span class="error-message">${errors.get(node.name)}</span>
72 <br />
73 %endif
74 <p class="help-block">${node.description}</p>
75 </div>
87 76 </div>
88 77 %endfor
89 78 <div class="buttons">
90 79 ${h.submit('save',_('Save'),class_="btn")}
91 80 </div>
92 81 </div>
93 82 ${h.end_form()}
94 83 </div>
95 84 </div>
96 85 </div>
97 86 </div>
98 87 </div>
99 88
100 89 </div>
101 90 </div>
102 91 </%def>
103 92
104 93 ## TODO: Ugly hack to get ldap select elements to work.
105 94 ## Find a solution to integrate this nicely.
106 95 <script>
107 96 $(document).ready(function() {
108 97 var select2Options = {
109 98 containerCssClass: 'drop-menu',
110 99 dropdownCssClass: 'drop-menu-dropdown',
111 100 dropdownAutoWidth: true,
112 101 minimumResultsForSearch: -1
113 102 };
114 103 $("#tls_kind").select2(select2Options);
115 104 $("#tls_reqcert").select2(select2Options);
116 105 $("#search_scope").select2(select2Options);
117 106 });
118 107 </script>
General Comments 0
You need to be logged in to leave comments. Login now