Mercurial > public > src > rhodecode
diff pylons_app/lib/auth.py @ 361:5d517bbf0a0d
some extra checks for auth lib
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 06 Jul 2010 23:57:57 +0200 |
parents | f5f290d68646 |
children | 6484963056cd |
line wrap: on
line diff
--- a/pylons_app/lib/auth.py Tue Jul 06 23:50:53 2010 +0200 +++ b/pylons_app/lib/auth.py Tue Jul 06 23:57:57 2010 +0200 @@ -218,7 +218,7 @@ """ def check_permissions(self): - if self.required_perms.issubset(self.user_perms['global']): + if self.required_perms.issubset(self.user_perms.get('global')): return True return False @@ -230,7 +230,7 @@ """ def check_permissions(self): - if self.required_perms.intersection(self.user_perms['global']): + if self.required_perms.intersection(self.user_perms.get('global')): return True return False @@ -242,7 +242,10 @@ def check_permissions(self): repo_name = get_repo_slug(request) - user_perms = set([self.user_perms['repositories'][repo_name]]) + try: + user_perms = set([self.user_perms['repositories'][repo_name]]) + except KeyError: + return False if self.required_perms.issubset(user_perms): return True return False @@ -257,7 +260,10 @@ def check_permissions(self): repo_name = get_repo_slug(request) - user_perms = set([self.user_perms['repositories'][repo_name]]) + try: + user_perms = set([self.user_perms['repositories'][repo_name]]) + except KeyError: + return False if self.required_perms.intersection(user_perms): return True return False @@ -307,13 +313,13 @@ class HasPermissionAll(PermsFunction): def check_permissions(self): - if self.required_perms.issubset(self.user_perms['global']): + if self.required_perms.issubset(self.user_perms.get('global')): return True return False class HasPermissionAny(PermsFunction): def check_permissions(self): - if self.required_perms.intersection(self.user_perms['global']): + if self.required_perms.intersection(self.user_perms.get('global')): return True return False @@ -327,8 +333,11 @@ if not self.repo_name: self.repo_name = get_repo_slug(request) - self.user_perms = set([self.user_perms['repositories']\ - .get(self.repo_name)]) + try: + self.user_perms = set([self.user_perms['repositories']\ + [self.repo_name]]) + except KeyError: + return False self.granted_for = self.repo_name if self.required_perms.issubset(self.user_perms): return True @@ -345,8 +354,11 @@ if not self.repo_name: self.repo_name = get_repo_slug(request) - self.user_perms = set([self.user_perms['repositories']\ - .get(self.repo_name)]) + try: + self.user_perms = set([self.user_perms['repositories']\ + [self.repo_name]]) + except KeyError: + return False self.granted_for = self.repo_name if self.required_perms.intersection(self.user_perms): return True