Commits

Kai Diefenbach committed 2f8787f

Fixed get_group, get_user, get_role

Comments (0)

Files changed (1)

permissions/utils.py

     """
     try:
         return Group.objects.get(pk=id_or_name)
-    except Group.DoesNotExist:
-        return None
-    try:
-        return Group.objects.get(name=id_or_name)
-    except Group.DoesNotExist:
-        return None
+    except (Group.DoesNotExist, ValueError):
+        try:
+            return Group.objects.get(name=id_or_name)
+        except Group.DoesNotExist:
+            return None
 
 def get_role(id_or_name):
     """Returns the role with passed id or name. If it not exists it returns 
     """
     try:
         return Role.objects.get(pk=id_or_name)
-    except Role.DoesNotExist:
-        return None
-    try:
-        return Role.objects.get(name=id_or_name)
-    except Role.DoesNotExist:
-        return None
+    except (Role.DoesNotExist, ValueError):
+        try:
+            return Role.objects.get(name=id_or_name)
+        except Role.DoesNotExist:
+            return None
 
 def get_user(id_or_username):
     """Returns the user with passed id or username. If it not exists it returns
     """
     try:
         return User.objects.get(pk=id_or_username)
-    except User.DoesNotExist:
-        return None
-    try:
-        return User.objects.get(username=id_or_username)
-    except User.DoesNotExist:
-        return None
+    except (User.DoesNotExist, ValueError):
+        try:
+            return User.objects.get(username=id_or_username)
+        except User.DoesNotExist:
+            return None
 
 def has_group(user, group):
     """Returns True if passed user has passed group.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.