comparison rhodecode/model/validators.py @ 3629:802c94bdfc85 beta

#749 and #516 Removed dupliciting of repo settings for rhodecode admins and repo admins - repo admin now is allowed the same set of operations as the rhodecode admin - single logic for forms/validations/permissions - fixes #805 update external repo via webinterface -
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 28 Mar 2013 02:57:05 +0100
parents 260a7a01b054
children ff2ea58debb5
comparison
equal deleted inserted replaced
3628:c734686b3cf2 3629:802c94bdfc85
14 NotEmpty, IPAddress, CIDR 14 NotEmpty, IPAddress, CIDR
15 ) 15 )
16 from rhodecode.lib.compat import OrderedSet 16 from rhodecode.lib.compat import OrderedSet
17 from rhodecode.lib import ipaddr 17 from rhodecode.lib import ipaddr
18 from rhodecode.lib.utils import repo_name_slug 18 from rhodecode.lib.utils import repo_name_slug
19 from rhodecode.lib.utils2 import safe_int 19 from rhodecode.lib.utils2 import safe_int, str2bool
20 from rhodecode.model.db import RepoGroup, Repository, UserGroup, User,\ 20 from rhodecode.model.db import RepoGroup, Repository, UserGroup, User,\
21 ChangesetStatus 21 ChangesetStatus
22 from rhodecode.lib.exceptions import LdapImportError 22 from rhodecode.lib.exceptions import LdapImportError
23 from rhodecode.config.routing import ADMIN_PREFIX 23 from rhodecode.config.routing import ADMIN_PREFIX
24 from rhodecode.lib.auth import HasReposGroupPermissionAny, HasPermissionAny 24 from rhodecode.lib.auth import HasReposGroupPermissionAny, HasPermissionAny
589 member = k[7:] 589 member = k[7:]
590 t = {'u': 'user', 590 t = {'u': 'user',
591 'g': 'users_group' 591 'g': 'users_group'
592 }[k[0]] 592 }[k[0]]
593 if member == 'default': 593 if member == 'default':
594 if value.get('repo_private'): 594 if str2bool(value.get('repo_private')):
595 # set none for default when updating to 595 # set none for default when updating to
596 # private repo 596 # private repo protects agains form manipulation
597 v = EMPTY_PERM 597 v = EMPTY_PERM
598 perms_update.add((member, v, t)) 598 perms_update.add((member, v, t))
599 #always set NONE when private flag is set
600 if value.get('repo_private'):
601 perms_update.add(('default', EMPTY_PERM, 'user'))
602 599
603 value['perms_updates'] = list(perms_update) 600 value['perms_updates'] = list(perms_update)
604 value['perms_new'] = list(perms_new) 601 value['perms_new'] = list(perms_new)
605 602
606 # update permissions 603 # update permissions