Clean logic

This commit is contained in:
zandercymatics 2024-08-19 10:47:13 -06:00
parent 28a7d7bee2
commit 289099dd92
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
2 changed files with 15 additions and 4 deletions

View file

@ -212,11 +212,11 @@ class User(AbstractUser):
"""Extends clean method to perform additional validation, which can raise errors in django admin."""
super().clean()
portfolio_perms = self.portfolio_permissions.filter(portfolio=self.last_selected_portfolio).first()
if self.last_selected_portfolio is None and portfolio_perms._get_portfolio_permissions():
portfolio_perm = self.portfolio_permissions.filter(portfolio=self.last_selected_portfolio, user=self).first()
if self.last_selected_portfolio is None and portfolio_perm._get_portfolio_permissions():
raise ValidationError("When portfolio roles or additional permissions are assigned, portfolio is required.")
if self.last_selected_portfolio is not None and not portfolio_perms._get_portfolio_permissions():
if self.last_selected_portfolio is not None and not portfolio_perm._get_portfolio_permissions():
raise ValidationError("When portfolio is assigned, portfolio roles or additional permissions are required.")
def _has_portfolio_permission(self, portfolio_permission):
@ -225,7 +225,7 @@ class User(AbstractUser):
if not self.last_selected_portfolio:
return False
portfolio_perms = self.portfolio_permissions.filter(portfolio=self.last_selected_portfolio).first()
portfolio_perms = self.portfolio_permissions.filter(portfolio=self.last_selected_portfolio, user=self).first()
if not portfolio_perms:
return False