##// END OF EJS Templates
user groups: fix form and label
marcink -
r1557:41eec473 default
parent child Browse files
Show More
@@ -1,145 +1,147 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3
3
4 <div class="panel panel-default">
4 <div class="panel panel-default">
5 <div class="panel-heading">
5 <div class="panel-heading">
6 <h3 class="panel-title">${_('User groups administration')}</h3>
6 <h3 class="panel-title">${_('User groups administration')}</h3>
7 </div>
7 </div>
8 <div class="panel-body">
8 <div class="panel-body">
9 <div class="fields">
9 <div class="field">
10 <div class="field">
10 <div class="label label-checkbox">
11 <div class="label label-checkbox">
11 <label for="users_group_active">${_('Add user to group')}:</label>
12 <label for="users_group_active">${_('Add `%s` to user group') % c.user.username}:</label>
12 </div>
13 </div>
13 <div class="input">
14 <div class="input">
14 ${h.text('add_user_to_group', placeholder="user group name", class_="medium")}
15 ${h.text('add_user_to_group', placeholder="user group name", class_="medium")}
15 </div>
16 </div>
16
17
17 </div>
18 </div>
19 </div>
18
20
19 <div class="groups_management">
21 <div class="groups_management">
20 ${h.secure_form(h.route_path('edit_user_groups_management_updates', user_id=c.user.user_id), method='post')}
22 ${h.secure_form(h.route_path('edit_user_groups_management_updates', user_id=c.user.user_id), method='post')}
21 <div id="repos_list_wrap">
23 <div id="repos_list_wrap">
22 <table id="user_group_list_table" class="display"></table>
24 <table id="user_group_list_table" class="display"></table>
23 </div>
25 </div>
24 <div class="buttons">
26 <div class="buttons">
25 ${h.submit('save',_('Save'),class_="btn")}
27 ${h.submit('save',_('Save'),class_="btn")}
26 </div>
28 </div>
27 ${h.end_form()}
29 ${h.end_form()}
28 </div>
30 </div>
29 </div>
31 </div>
30 </div>
32 </div>
31 <script>
33 <script>
32 var api;
34 var api;
33 $(document).ready(function() {
35 $(document).ready(function() {
34
36
35 var get_datatable_count = function(){
37 var get_datatable_count = function(){
36 $('#user_group_count').text(api.page.info().recordsDisplay);
38 $('#user_group_count').text(api.page.info().recordsDisplay);
37 };
39 };
38
40
39 $('#user_group_list_table').on('click', 'a.editor_remove', function (e) {
41 $('#user_group_list_table').on('click', 'a.editor_remove', function (e) {
40 e.preventDefault();
42 e.preventDefault();
41 var row = api.row($(this).closest('tr'));
43 var row = api.row($(this).closest('tr'));
42 row.remove().draw();
44 row.remove().draw();
43 } );
45 } );
44
46
45 $('#user_group_list_table').DataTable({
47 $('#user_group_list_table').DataTable({
46 data: ${c.groups|n},
48 data: ${c.groups|n},
47 dom: 'rtp',
49 dom: 'rtp',
48 pageLength: ${c.visual.admin_grid_items},
50 pageLength: ${c.visual.admin_grid_items},
49 order: [[ 0, "asc" ]],
51 order: [[ 0, "asc" ]],
50 columns: [
52 columns: [
51 { data: {"_": "group_name",
53 { data: {"_": "group_name",
52 "sort": "group_name"}, title: "${_('Name')}", className: "td-componentname," ,
54 "sort": "group_name"}, title: "${_('Name')}", className: "td-componentname," ,
53 render: function (data,type,full,meta)
55 render: function (data,type,full,meta)
54 {return '<div><i class="icon-group" title="User group">'+data+'</i></div>'}},
56 {return '<div><i class="icon-group" title="User group">'+data+'</i></div>'}},
55
57
56 { data: {"_": "group_description",
58 { data: {"_": "group_description",
57 "sort": "group_description"}, title: "${_('Description')}", className: "td-description" },
59 "sort": "group_description"}, title: "${_('Description')}", className: "td-description" },
58 { data: {"_": "users_group_id"}, className: "td-user",
60 { data: {"_": "users_group_id"}, className: "td-user",
59 render: function (data,type,full,meta)
61 render: function (data,type,full,meta)
60 {return '<input type="hidden" name="users_group_id" value="'+data+'">'}},
62 {return '<input type="hidden" name="users_group_id" value="'+data+'">'}},
61 { data: {"_": "active",
63 { data: {"_": "active",
62 "sort": "active"}, title: "${_('Active')}", className: "td-active", className: "td-number"},
64 "sort": "active"}, title: "${_('Active')}", className: "td-active", className: "td-number"},
63 { data: {"_": "owner_data"}, title: "${_('Owner')}", className: "td-user",
65 { data: {"_": "owner_data"}, title: "${_('Owner')}", className: "td-user",
64 render: function (data,type,full,meta)
66 render: function (data,type,full,meta)
65 {return '<div class="rc-user tooltip">'+
67 {return '<div class="rc-user tooltip">'+
66 '<img class="gravatar" src="'+ data.owner_icon +'" height="16" width="16">'+
68 '<img class="gravatar" src="'+ data.owner_icon +'" height="16" width="16">'+
67 data.owner +'</div>'
69 data.owner +'</div>'
68 }
70 }
69 },
71 },
70 { data: null,
72 { data: null,
71 title: "${_('Action')}",
73 title: "${_('Action')}",
72 className: "td-action",
74 className: "td-action",
73 defaultContent: '<a href="" class="btn btn-link btn-danger">Delete</a>'
75 defaultContent: '<a href="" class="btn btn-link btn-danger">Delete</a>'
74 },
76 },
75 ],
77 ],
76 language: {
78 language: {
77 paginate: DEFAULT_GRID_PAGINATION,
79 paginate: DEFAULT_GRID_PAGINATION,
78 emptyTable: _gettext("No user groups available yet.")
80 emptyTable: _gettext("No user groups available yet.")
79 },
81 },
80 "initComplete": function( settings, json ) {
82 "initComplete": function( settings, json ) {
81 var data_grid = $('#user_group_list_table').dataTable();
83 var data_grid = $('#user_group_list_table').dataTable();
82 api = data_grid.api();
84 api = data_grid.api();
83 get_datatable_count();
85 get_datatable_count();
84 }
86 }
85 });
87 });
86
88
87 // update the counter when doing search
89 // update the counter when doing search
88 $('#user_group_list_table').on( 'search.dt', function (e,settings) {
90 $('#user_group_list_table').on( 'search.dt', function (e,settings) {
89 get_datatable_count();
91 get_datatable_count();
90 });
92 });
91
93
92 // filter, filter both grids
94 // filter, filter both grids
93 $('#q_filter').on( 'keyup', function () {
95 $('#q_filter').on( 'keyup', function () {
94 var user_api = $('#user_group_list_table').dataTable().api();
96 var user_api = $('#user_group_list_table').dataTable().api();
95 user_api
97 user_api
96 .columns(0)
98 .columns(0)
97 .search(this.value)
99 .search(this.value)
98 .draw();
100 .draw();
99 });
101 });
100
102
101 // refilter table if page load via back button
103 // refilter table if page load via back button
102 $("#q_filter").trigger('keyup');
104 $("#q_filter").trigger('keyup');
103
105
104 });
106 });
105
107
106 $('#language').select2({
108 $('#language').select2({
107 'containerCssClass': "drop-menu",
109 'containerCssClass': "drop-menu",
108 'dropdownCssClass': "drop-menu-dropdown",
110 'dropdownCssClass': "drop-menu-dropdown",
109 'dropdownAutoWidth': true
111 'dropdownAutoWidth': true
110 });
112 });
111
113
112
114
113
115
114 $(document).ready(function(){
116 $(document).ready(function(){
115 $("#group_parent_id").select2({
117 $("#group_parent_id").select2({
116 'containerCssClass': "drop-menu",
118 'containerCssClass': "drop-menu",
117 'dropdownCssClass': "drop-menu-dropdown",
119 'dropdownCssClass': "drop-menu-dropdown",
118 'dropdownAutoWidth': true
120 'dropdownAutoWidth': true
119 });
121 });
120
122
121 $('#add_user_to_group').autocomplete({
123 $('#add_user_to_group').autocomplete({
122 serviceUrl: pyroutes.url('user_group_autocomplete_data'),
124 serviceUrl: pyroutes.url('user_group_autocomplete_data'),
123 minChars:2,
125 minChars:2,
124 maxHeight:400,
126 maxHeight:400,
125 width:300,
127 width:300,
126 deferRequestBy: 300, //miliseconds
128 deferRequestBy: 300, //miliseconds
127 showNoSuggestionNotice: true,
129 showNoSuggestionNotice: true,
128 params: { user_groups:true },
130 params: { user_groups:true },
129 formatResult: autocompleteFormatResult,
131 formatResult: autocompleteFormatResult,
130 lookupFilter: autocompleteFilterResult,
132 lookupFilter: autocompleteFilterResult,
131 onSelect: function(element, suggestion){
133 onSelect: function(element, suggestion){
132 var owner = {owner_icon: suggestion.owner_icon, owner:suggestion.owner};
134 var owner = {owner_icon: suggestion.owner_icon, owner:suggestion.owner};
133 api.row.add(
135 api.row.add(
134 {"active": suggestion.active,
136 {"active": suggestion.active,
135 "owner_data": owner,
137 "owner_data": owner,
136 "users_group_id": suggestion.id,
138 "users_group_id": suggestion.id,
137 "group_description": suggestion.description,
139 "group_description": suggestion.description,
138 "group_name": suggestion.value}).draw();
140 "group_name": suggestion.value}).draw();
139 }
141 }
140 });
142 });
141 })
143 })
142
144
143 </script>
145 </script>
144
146
145
147
General Comments 0
You need to be logged in to leave comments. Login now