99)
1010from dojo .authorization .roles_permissions import Permissions
1111from dojo .group .queries import get_authorized_groups
12- from dojo .models import Product_Type , Product_Type_Group , Product_Type_Member
12+ from dojo .models import Global_Role , Product_Type , Product_Type_Group , Product_Type_Member
1313
1414
1515def get_authorized_product_types (permission ):
@@ -45,8 +45,15 @@ def get_authorized_members_for_product_type(product_type, permission):
4545
4646 if user .is_superuser or user_has_permission (user , product_type , permission ):
4747 return Product_Type_Member .objects .filter (product_type = product_type ).order_by ("user__first_name" , "user__last_name" ).select_related ("role" , "product_type" , "user" )
48- else :
49- return None
48+ return Product_Type_Member .objects .none ()
49+
50+
51+ def get_authorized_global_members_for_product_type (product_type , permission ):
52+ user = get_current_user ()
53+
54+ if user .is_superuser or user_has_permission (user , product_type , permission ):
55+ return Global_Role .objects .filter (group = None , role__isnull = False ).order_by ("user__first_name" , "user__last_name" ).select_related ("role" , "user" )
56+ return Global_Role .objects .none ()
5057
5158
5259def get_authorized_groups_for_product_type (product_type , permission ):
@@ -55,8 +62,15 @@ def get_authorized_groups_for_product_type(product_type, permission):
5562 if user .is_superuser or user_has_permission (user , product_type , permission ):
5663 authorized_groups = get_authorized_groups (Permissions .Group_View )
5764 return Product_Type_Group .objects .filter (product_type = product_type , group__in = authorized_groups ).order_by ("group__name" ).select_related ("role" , "group" )
58- else :
59- return None
65+ return Product_Type_Group .objects .none ()
66+
67+
68+ def get_authorized_global_groups_for_product_type (product_type , permission ):
69+ user = get_current_user ()
70+
71+ if user .is_superuser or user_has_permission (user , product_type , permission ):
72+ return Global_Role .objects .filter (user = None , role__isnull = False ).order_by ("group__name" ).select_related ("role" , "group" )
73+ return Global_Role .objects .none ()
6074
6175
6276def get_authorized_product_type_members (permission ):
0 commit comments