Mercurial > kallithea
diff 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 |
line wrap: on
line diff
--- a/rhodecode/model/forms.py Wed Feb 09 15:16:28 2011 +0100 +++ b/rhodecode/model/forms.py Wed Feb 09 17:41:27 2011 +0100 @@ -246,24 +246,25 @@ perms_new = [] #build a list of permission to update and new permission to create for k, v in value.items(): - if k.startswith('perm_'): - if k.startswith('perm_new_member'): - #means new added member to permissions - new_perm = value.get('perm_new_member', False) - new_member = value.get('perm_new_member_name', False) - new_type = value.get('perm_new_member_type') + #means new added member to permissions + if k.startswith('perm_new_member'): + new_perm = value.get('perm_new_member', False) + new_member = value.get('perm_new_member_name', False) + new_type = value.get('perm_new_member_type') - if new_member and new_perm: - if (new_member, new_perm, new_type) not in perms_new: - perms_new.append((new_member, new_perm, new_type)) - else: - usr = k[5:] - t = 'user' - if usr == 'default': - if value['private']: - #set none for default when updating to private repo - v = 'repository.none' - perms_update.append((usr, v, t)) + if new_member and new_perm: + if (new_member, new_perm, new_type) not in perms_new: + perms_new.append((new_member, new_perm, new_type)) + elif k.startswith('u_perm_') or k.startswith('g_perm_'): + member = k[7:] + t = {'u':'user', + 'g':'users_group'}[k[0]] + if member == 'default': + if value['private']: + #set none for default when updating to private repo + v = 'repository.none' + perms_update.append((member, v, t)) + value['perms_updates'] = perms_update value['perms_new'] = perms_new @@ -352,8 +353,10 @@ def to_python(self, value, state): if not value or not isinstance(value, (str, unicode)): - raise formencode.Invalid(_("The LDAP Login attribute of the CN must be specified " - "- this is the name of the attribute that is equivalent to 'username'"), + raise formencode.Invalid(_("The LDAP Login attribute of the CN " + "must be specified - this is the name " + "of the attribute that is equivalent " + "to 'username'"), value, state) return value