Mercurial > kallithea
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 |