comparison rhodecode/templates/admin/users/user_edit.html @ 895:62c04c5cc971 beta

Added some more details into user edit permissions view
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 29 Dec 2010 17:50:47 +0100
parents 79f42866bcbb
children b232a36cc51f
comparison
equal deleted inserted replaced
894:1fed3c9161bb 895:62c04c5cc971
111 <div class="box box-right"> 111 <div class="box box-right">
112 <!-- box / title --> 112 <!-- box / title -->
113 <div class="title"> 113 <div class="title">
114 <h5>${_('Permissions')}</h5> 114 <h5>${_('Permissions')}</h5>
115 </div> 115 </div>
116 <div class="table"> 116 <form id="map_form" method="post" action="{%url update_permissions %}">
117 Permissions settings goes here ! 117 <div class="form">
118 </div> 118 <div class="fields">
119
120
121
122 <table>
123 <tr>
124 <td class="label">${_('Permissions')}:</td>
125 <td>
126 <div>
127 <div style="float:left">
128 <div class="text">${_('Granted permissions')}</div>
129 ${h.select('granted_permissions',[],c.granted_permissions,multiple=True,size=8,style="min-width:210px")}
130 </div>
131 <div style="float:left;width:20px;padding-top:50px">
132 <img alt="add" id="add_element"
133 style="padding:2px;cursor:pointer"
134 src="/images/icons/arrow_left.png">
135 <br />
136 <img alt="remove" id="remove_element"
137 style="padding:2px;cursor:pointer"
138 src="/images/icons/arrow_right.png">
139 </div>
140 <div style="float:left">
141 <div class="text">${_('Available permissions')}</div>
142 ${h.select('available_permissions',[],c.available_permissions,multiple=True,size=8,style="min-width:210px")}
143 </div>
144 </div>
145 </td>
146 </tr>
147
148 </table>
149 <div class="buttons">
150 ${h.submit('Save','Save',class_="ui-button")}
151 </div>
152 </div>
153 </div>
154 </form>
155
156
157 <script type="text/javascript">
158 YAHOO.util.Event.onDOMReady(function(){
159
160 var D = YAHOO.util.Dom;
161 var E = YAHOO.util.Event;
162
163 //temp container for storage.
164 var cache = new Array();
165 var c = D.get('id_granted_permissions');
166
167 //get only selected options for further fullfilment
168 for(var i = 0;node =c.options[i];i++){
169 if(node.selected){
170 //push selected to my temp storage left overs :)
171 cache.push(node);
172 }
173 }
174
175 //clear select
176 c.options.length = 0;
177
178 //fill it with remembered options
179 for(var i = 0;node = cache[i];i++){
180 c.options[i]=new Option(node.text, node.value, false, false);
181 }
182
183 function target_callback(e){
184 window.location='/admin/t4?g='+e.target.value;
185 }
186
187 function prompts_action_callback(e){
188
189 var choosen = D.get('id_granted_permissions');
190 var availible = D.get('id_available_permissions');
191
192 if (this.id=='add_element'){
193 for(var i=0; node = availible.options[i];i++){
194 if(node.selected){
195 choosen.appendChild(new Option(node.text, node.value, false, false));
196 }
197 }
198 }
199 else if (this.id=='remove_element'){
200
201 //temp container for storage.
202 cache = new Array();
203
204 for(var i = 0;node = choosen.options[i];i++){
205 if(!node.selected){
206 //push left overs :)
207 cache.push(node);
208 }
209 }
210 //clear select
211 choosen.options.length = 0;
212 for(var i = 0;node = cache[i];i++){
213 choosen.options[i]=new Option(node.text, node.value, false, false);
214 }
215 }
216 else{
217
218 }
219 }
220
221 E.addListener('id_groups','change',target_callback);
222
223 E.addListener(['add_element','remove_element'],'click',prompts_action_callback)
224
225 E.addListener('map_form','submit',function(){
226 var choosen = D.get('id_granted_permissions');
227 for (var i = 0; i < choosen.options.length; i++) {
228 choosen.options[i].selected = 'selected';
229 }
230 })
231 });
232 </script>
119 </div> 233 </div>
120 </%def> 234 </%def>