comparison rhodecode/templates/admin/users/user_edit.html @ 1116:716911af91e1 beta

Added api_key into user, api key get's generated again after password change updated ini files
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 06 Mar 2011 00:06:28 +0100
parents 90eadff2c2a8
children a1bcfe58a1ab
comparison
equal deleted inserted replaced
1115:fcb5054937f6 1116:716911af91e1
24 ${self.breadcrumbs()} 24 ${self.breadcrumbs()}
25 </div> 25 </div>
26 <!-- end box / title --> 26 <!-- end box / title -->
27 ${h.form(url('user', id=c.user.user_id),method='put')} 27 ${h.form(url('user', id=c.user.user_id),method='put')}
28 <div class="form"> 28 <div class="form">
29 <!-- fields --> 29 <div class="field">
30 <div class="gravatar_box">
31 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div>
32 <p>
33 <strong>Change your avatar at <a href="http://gravatar.com">gravatar.com</a></strong><br/>
34 ${_('Using')} ${c.user.email}
35 </p>
36 </div>
37 </div>
38 <div class="field">
39 <div class="label">
40 <label>${_('API key')}</label> ${c.user.api_key}
41 </div>
42 </div>
43
30 <div class="fields"> 44 <div class="fields">
31 <div class="field">
32 <div class="gravatar_box">
33 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/></div>
34 <p>
35 <strong>Change your avatar at <a href="http://gravatar.com">gravatar.com</a></strong><br/>
36 ${_('Using')} ${c.user.email}
37 </p>
38 </div>
39 </div>
40
41 <div class="field"> 45 <div class="field">
42 <div class="label"> 46 <div class="label">
43 <label for="username">${_('Username')}:</label> 47 <label for="username">${_('Username')}:</label>
44 </div> 48 </div>
45 <div class="input"> 49 <div class="input">
50 <div class="field"> 54 <div class="field">
51 <div class="label"> 55 <div class="label">
52 <label for="ldap_dn">${_('LDAP DN')}:</label> 56 <label for="ldap_dn">${_('LDAP DN')}:</label>
53 </div> 57 </div>
54 <div class="input"> 58 <div class="input">
55 ${h.text('ldap_dn',class_='small')} 59 ${h.text('ldap_dn',class_='medium')}
56 </div> 60 </div>
57 </div> 61 </div>
58 62
59 <div class="field"> 63 <div class="field">
60 <div class="label"> 64 <div class="label">
120 <div class="box box-right"> 124 <div class="box box-right">
121 <!-- box / title --> 125 <!-- box / title -->
122 <div class="title"> 126 <div class="title">
123 <h5>${_('Permissions')}</h5> 127 <h5>${_('Permissions')}</h5>
124 </div> 128 </div>
125 <form id="map_form" method="post" action="{%url update_permissions %}"> 129 ${h.form(url('user', id=c.user.user_id),method='put')}
126 <div class="form"> 130 <div class="form">
127 <div class="fields"> 131 <!-- fields -->
128 132 <div class="fields">
129 133 <div class="field">
130 134 <div class="label label-checkbox">
131 <table> 135 <label for="">${_('Create repositories')}:</label>
132 <tr> 136 </div>
133 <td class="label">${_('Permissions')}:</td> 137 <div class="checkboxes">
134 <td> 138 ${h.checkbox('create',value=True)}
135 <div> 139 </div>
136 <div style="float:left"> 140 </div>
137 <div class="text">${_('Granted permissions')}</div> 141 <div class="buttons">
138 ${h.select('granted_permissions',[],c.granted_permissions,multiple=True,size=8,style="min-width:210px")} 142 ${h.submit('save','Save',class_="ui-button")}
139 </div> 143 ${h.reset('reset','Reset',class_="ui-button")}
140 <div style="float:left;width:20px;padding-top:50px"> 144 </div>
141 <img alt="add" id="add_element" 145 </div>
142 style="padding:2px;cursor:pointer" 146 </div>
143 src="${h.url("/images/icons/arrow_left.png")}"> 147 ${h.end_form()}
144 <br />
145 <img alt="remove" id="remove_element"
146 style="padding:2px;cursor:pointer"
147 src="${h.url("/images/icons/arrow_right.png")}">
148 </div>
149 <div style="float:left">
150 <div class="text">${_('Available permissions')}</div>
151 ${h.select('available_permissions',[],c.available_permissions,multiple=True,size=8,style="min-width:210px")}
152 </div>
153 </div>
154 </td>
155 </tr>
156
157 </table>
158 <div class="buttons">
159 ${h.submit('Save','Save',class_="ui-button")}
160 </div>
161 </div>
162 </div>
163 </form>
164
165
166 <script type="text/javascript">
167 YAHOO.util.Event.onDOMReady(function(){
168
169 var D = YAHOO.util.Dom;
170 var E = YAHOO.util.Event;
171
172 //temp container for storage.
173 var cache = new Array();
174 var c = D.get('id_granted_permissions');
175
176 //get only selected options for further fullfilment
177 for(var i = 0;node =c.options[i];i++){
178 if(node.selected){
179 //push selected to my temp storage left overs :)
180 cache.push(node);
181 }
182 }
183
184 //clear select
185 c.options.length = 0;
186
187 //fill it with remembered options
188 for(var i = 0;node = cache[i];i++){
189 c.options[i]=new Option(node.text, node.value, false, false);
190 }
191
192 function target_callback(e){
193 window.location='/admin/t4?g='+e.target.value;
194 }
195
196 function prompts_action_callback(e){
197
198 var choosen = D.get('id_granted_permissions');
199 var availible = D.get('id_available_permissions');
200
201 if (this.id=='add_element'){
202 for(var i=0; node = availible.options[i];i++){
203 if(node.selected){
204 choosen.appendChild(new Option(node.text, node.value, false, false));
205 }
206 }
207 }
208 else if (this.id=='remove_element'){
209
210 //temp container for storage.
211 cache = new Array();
212
213 for(var i = 0;node = choosen.options[i];i++){
214 if(!node.selected){
215 //push left overs :)
216 cache.push(node);
217 }
218 }
219 //clear select
220 choosen.options.length = 0;
221 for(var i = 0;node = cache[i];i++){
222 choosen.options[i]=new Option(node.text, node.value, false, false);
223 }
224 }
225 else{
226
227 }
228 }
229
230 E.addListener('id_groups','change',target_callback);
231
232 E.addListener(['add_element','remove_element'],'click',prompts_action_callback)
233
234 E.addListener('map_form','submit',function(){
235 var choosen = D.get('id_granted_permissions');
236 for (var i = 0; i < choosen.options.length; i++) {
237 choosen.options[i].selected = 'selected';
238 }
239 })
240 });
241 </script>
242 </div> 148 </div>
243 </%def> 149 </%def>