Mercurial > kallithea
comparison rhodecode/model/forms.py @ 1015:65129c332d37 beta
#56 added ajax removal of users groups,
fixed permission edition templates by regular non admin users
found bugfixes in forms for users groups
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 09 Feb 2011 17:41:27 +0100 |
parents | 6fdc3ff65fce |
children | 4f834b0abcd3 |
comparison
equal
deleted
inserted
replaced
1014:6fdc3ff65fce | 1015:65129c332d37 |
---|---|
244 def to_python(self, value, state): | 244 def to_python(self, value, state): |
245 perms_update = [] | 245 perms_update = [] |
246 perms_new = [] | 246 perms_new = [] |
247 #build a list of permission to update and new permission to create | 247 #build a list of permission to update and new permission to create |
248 for k, v in value.items(): | 248 for k, v in value.items(): |
249 if k.startswith('perm_'): | 249 #means new added member to permissions |
250 if k.startswith('perm_new_member'): | 250 if k.startswith('perm_new_member'): |
251 #means new added member to permissions | 251 new_perm = value.get('perm_new_member', False) |
252 new_perm = value.get('perm_new_member', False) | 252 new_member = value.get('perm_new_member_name', False) |
253 new_member = value.get('perm_new_member_name', False) | 253 new_type = value.get('perm_new_member_type') |
254 new_type = value.get('perm_new_member_type') | 254 |
255 | 255 if new_member and new_perm: |
256 if new_member and new_perm: | 256 if (new_member, new_perm, new_type) not in perms_new: |
257 if (new_member, new_perm, new_type) not in perms_new: | 257 perms_new.append((new_member, new_perm, new_type)) |
258 perms_new.append((new_member, new_perm, new_type)) | 258 elif k.startswith('u_perm_') or k.startswith('g_perm_'): |
259 else: | 259 member = k[7:] |
260 usr = k[5:] | 260 t = {'u':'user', |
261 t = 'user' | 261 'g':'users_group'}[k[0]] |
262 if usr == 'default': | 262 if member == 'default': |
263 if value['private']: | 263 if value['private']: |
264 #set none for default when updating to private repo | 264 #set none for default when updating to private repo |
265 v = 'repository.none' | 265 v = 'repository.none' |
266 perms_update.append((usr, v, t)) | 266 perms_update.append((member, v, t)) |
267 | |
267 value['perms_updates'] = perms_update | 268 value['perms_updates'] = perms_update |
268 value['perms_new'] = perms_new | 269 value['perms_new'] = perms_new |
269 | 270 |
270 #update permissions | 271 #update permissions |
271 sa = meta.Session | 272 sa = meta.Session |
350 class AttrLoginValidator(formencode.validators.FancyValidator): | 351 class AttrLoginValidator(formencode.validators.FancyValidator): |
351 | 352 |
352 def to_python(self, value, state): | 353 def to_python(self, value, state): |
353 | 354 |
354 if not value or not isinstance(value, (str, unicode)): | 355 if not value or not isinstance(value, (str, unicode)): |
355 raise formencode.Invalid(_("The LDAP Login attribute of the CN must be specified " | 356 raise formencode.Invalid(_("The LDAP Login attribute of the CN " |
356 "- this is the name of the attribute that is equivalent to 'username'"), | 357 "must be specified - this is the name " |
358 "of the attribute that is equivalent " | |
359 "to 'username'"), | |
357 value, state) | 360 value, state) |
358 | 361 |
359 return value | 362 return value |
360 | 363 |
361 #=============================================================================== | 364 #=============================================================================== |