diff 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
line wrap: on
line diff
--- a/rhodecode/model/validators.py	Thu Mar 28 02:11:26 2013 +0100
+++ b/rhodecode/model/validators.py	Thu Mar 28 02:57:05 2013 +0100
@@ -16,7 +16,7 @@
 from rhodecode.lib.compat import OrderedSet
 from rhodecode.lib import ipaddr
 from rhodecode.lib.utils import repo_name_slug
-from rhodecode.lib.utils2 import safe_int
+from rhodecode.lib.utils2 import safe_int, str2bool
 from rhodecode.model.db import RepoGroup, Repository, UserGroup, User,\
     ChangesetStatus
 from rhodecode.lib.exceptions import LdapImportError
@@ -591,14 +591,11 @@
                          'g': 'users_group'
                     }[k[0]]
                     if member == 'default':
-                        if value.get('repo_private'):
+                        if str2bool(value.get('repo_private')):
                             # set none for default when updating to
-                            # private repo
+                            # private repo protects agains form manipulation
                             v = EMPTY_PERM
                     perms_update.add((member, v, t))
-            #always set NONE when private flag is set
-            if value.get('repo_private'):
-                perms_update.add(('default', EMPTY_PERM, 'user'))
 
             value['perms_updates'] = list(perms_update)
             value['perms_new'] = list(perms_new)