diff --git a/src/backend/InvenTree/users/apps.py b/src/backend/InvenTree/users/apps.py index 743b2612ed..f49e4ab3c7 100644 --- a/src/backend/InvenTree/users/apps.py +++ b/src/backend/InvenTree/users/apps.py @@ -33,16 +33,16 @@ class UsersConfig(AppConfig): from users.tasks import rebuild_all_permissions rebuild_all_permissions() - except (OperationalError, ProgrammingError): + except (OperationalError, ProgrammingError): # pragma: no cover pass - except Exception as e: + except Exception as e: # pragma: no cover logger.exception('Failed to rebuild permissions: %s', e) try: self.update_owners() - except (OperationalError, ProgrammingError): + except (OperationalError, ProgrammingError): # pragma: no cover pass - except Exception as e: + except Exception as e: # pragma: no cover logger.exception('Failed to update owners: %s', e) def update_owners(self): diff --git a/src/backend/InvenTree/users/models.py b/src/backend/InvenTree/users/models.py index 1560bba559..3c59449cd1 100644 --- a/src/backend/InvenTree/users/models.py +++ b/src/backend/InvenTree/users/models.py @@ -75,17 +75,6 @@ def default_token_expiry(): return InvenTree.helpers.current_date() + datetime.timedelta(days=365) -def default_create_token(token_model, user, serializer): - """Generate a default value for the token.""" - token = token_model.objects.filter(user=user, name='', revoked=False) - - if token.exists(): - return token.first() - - else: - return token_model.objects.create(user=user, name='') - - class ApiToken(AuthToken, InvenTree.models.MetadataMixin): """Extends the default token model provided by djangorestframework.authtoken. diff --git a/src/backend/InvenTree/users/permissions.py b/src/backend/InvenTree/users/permissions.py index 552de173c2..fd3d68a3ad 100644 --- a/src/backend/InvenTree/users/permissions.py +++ b/src/backend/InvenTree/users/permissions.py @@ -55,19 +55,6 @@ def split_permission(app: str, perm: str) -> tuple[str, str]: return perm, model -def model_permission_string(model: models.Model, permission: str) -> str: - """Generate a permission string for a given model and permission type. - - Arguments: - model: The model class to check (e.g. 'part') - permission: The permission to check (e.g. 'view' / 'delete') - - Returns: - str: The permission string (e.g. 'part.view_part') - """ - return f'{model._meta.app_label}.{permission}_{model._meta.model_name}' - - def check_user_role( user: User, role: str, permission: str, allow_inactive: bool = False ) -> bool: diff --git a/src/backend/InvenTree/users/serializers.py b/src/backend/InvenTree/users/serializers.py index 24fd2c3bab..546177f474 100644 --- a/src/backend/InvenTree/users/serializers.py +++ b/src/backend/InvenTree/users/serializers.py @@ -117,23 +117,6 @@ def generate_permission_dict(permissions) -> dict: return perms -def generate_roles_dict(roles) -> dict: - """Generate a dictionary of roles for a given set of roles.""" - # Build out an (initially empty) dictionary of roles - role_dict = {name: [] for name, _ in RULESET_CHOICES} - - for role in roles: - permissions = [] - - for permission in ['view', 'add', 'change', 'delete']: - if getattr(role, f'can_{permission}', False): - permissions.append(permission) - - role_dict[role.name] = permissions - - return role_dict - - class GetAuthTokenSerializer(serializers.Serializer): """Serializer for the GetAuthToken API endpoint.""" @@ -277,7 +260,7 @@ class GroupSerializer(InvenTreeModelSerializer): if not user_detail: self.fields.pop('users', None) - except AppRegistryNotReady: + except AppRegistryNotReady: # pragma: no cover pass permissions = serializers.SerializerMethodField(allow_null=True, read_only=True) @@ -421,13 +404,8 @@ class UserCreateSerializer(ExtendedUserSerializer): user = self.context['request'].user # Check that the user trying to create a new user is a superuser - if not user.is_staff: - raise serializers.ValidationError( - _('Only staff users can create new users') - ) - - if not check_user_role(user, RuleSetEnum.ADMIN, 'add'): - raise serializers.ValidationError( + if not user.is_staff or not check_user_role(user, RuleSetEnum.ADMIN, 'add'): + raise serializers.ValidationError( # pragma: no cover # Handled by permissions already _('You do not have permission to create users') )