From ae197ab3ed3f3aee7d75cbfb48707f4c70d405e5 Mon Sep 17 00:00:00 2001 From: CocoByte Date: Mon, 7 Oct 2024 21:40:58 -0600 Subject: [PATCH] Cleanup & slight fix for other permission checks --- .../models/user_portfolio_permission.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/registrar/models/user_portfolio_permission.py b/src/registrar/models/user_portfolio_permission.py index 2e4c8b704..1ea54acc7 100644 --- a/src/registrar/models/user_portfolio_permission.py +++ b/src/registrar/models/user_portfolio_permission.py @@ -97,8 +97,15 @@ class UserPortfolioPermission(TimeStampedModel): def clean(self): """Extends clean method to perform additional validation, which can raise errors in django admin.""" super().clean() - TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"**** CLEANING ****") + # Check if portfolio is set without accessing the related object. + has_portfolio = bool(self.portfolio_id) + if not has_portfolio and self._get_portfolio_permissions(): + raise ValidationError("When portfolio roles or additional permissions are assigned, portfolio is required.") + + if has_portfolio and not self._get_portfolio_permissions(): + raise ValidationError("When portfolio is assigned, portfolio roles or additional permissions are required.") + # Check if a user is set without accessing the related object. has_user = bool(self.user_id) if has_user: @@ -108,11 +115,3 @@ class UserPortfolioPermission(TimeStampedModel): "This user is already assigned to a portfolio. " "Based on current waffle flag settings, users cannot be assigned to multiple portfolios." ) - - # Check if portfolio is set without accessing the related object. - has_portfolio = bool(self.portfolio_id) - if not has_portfolio and self._get_portfolio_permissions(): - raise ValidationError("When portfolio roles or additional permissions are assigned, portfolio is required.") - - if has_portfolio and not self._get_portfolio_permissions(): - raise ValidationError("When portfolio is assigned, portfolio roles or additional permissions are required.")