2
2
3
3
from django .core .management .base import BaseCommand , CommandError
4
4
from django .contrib .auth .models import User
5
- from django .contrib .contenttypes .models import ContentType
6
5
from django .utils .translation import gettext as _
7
6
from django .conf import settings
8
7
from onadata .apps .api .models import Team
@@ -60,8 +59,6 @@ def reassign_perms(self, user, app, model, new_perm):
60
59
:param new_perm:
61
60
:return:
62
61
"""
63
- cont_type = ContentType .objects .get (app_label = app ,
64
- model = model )
65
62
66
63
# Get the unique permission model objects filtered by content type
67
64
# for the user
@@ -73,9 +70,10 @@ def reassign_perms(self, user, app, model, new_perm):
73
70
objects = user .xformgroupobjectpermission_set .filter (
74
71
group_id = user .pk ).distinct ('content_object_id' )
75
72
else :
76
- objects = \
77
- user .userobjectpermission_set .filter (content_type = cont_type )\
78
- .distinct ('object_pk' )
73
+ if model == 'project' :
74
+ objects = user .projectuserobjectpermission_set .all ()
75
+ else :
76
+ objects = user .xformuserobjectpermission_set .all ()
79
77
80
78
for perm_obj in objects :
81
79
obj = perm_obj .content_object
@@ -95,10 +93,6 @@ def reassign_perms(self, user, app, model, new_perm):
95
93
if self .check_role (role_class , user , obj , new_perm ):
96
94
# If true
97
95
role_class .add (user , obj )
98
-
99
- if isinstance (user , Team ):
100
- for user in user .user_set .all ():
101
- role_class .add (user , obj )
102
96
break
103
97
104
98
def check_role (self , role_class , user , obj , new_perm = []):
0 commit comments