diff --git a/InvenTree/InvenTree/permissions.py b/InvenTree/InvenTree/permissions.py index 1c3c6ee5db..973395a2a0 100644 --- a/InvenTree/InvenTree/permissions.py +++ b/InvenTree/InvenTree/permissions.py @@ -58,8 +58,10 @@ class RolePermission(permissions.BasePermission): # Extract the model name associated with this request model = view.serializer_class.Meta.model - # And the specific database table - table = model._meta.db_table + app_label = model._meta.app_label + model_name = model._meta.model_name + + table = f"{app_label}_{model_name}" except AttributeError: # We will assume that if the serializer class does *not* have a Meta, # then we don't need a permission diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index a95fa6beeb..903bc10dfa 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -66,9 +66,9 @@ class RuleSet(models.Model): 'part_parttesttemplate', 'part_partparametertemplate', 'part_partparameter', - 'part_supplierpart', 'part_partrelated', 'part_partstar', + 'company_supplierpart', ], 'stock_location': [ 'stock_stocklocation', @@ -95,11 +95,11 @@ class RuleSet(models.Model): ], 'purchase_order': [ 'company_company', - 'part_supplierpart', 'company_supplierpricebreak', 'order_purchaseorder', 'order_purchaseorderattachment', 'order_purchaseorderlineitem', + 'company_supplierpart', ], 'sales_order': [ 'company_company', @@ -343,7 +343,7 @@ def update_group_roles(group, debug=False): content_type = ContentType.objects.get(app_label=app, model=model) permission = Permission.objects.get(content_type=content_type, codename=perm) except ContentType.DoesNotExist: - print(f"Error: Could not find permission matching '{permission_string}'") + raise ValueError(f"Error: Could not find permission matching '{permission_string}'") permission = None return permission