mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-12 14:08:28 +02:00
stub
This commit is contained in:
parent
df4a02f8ce
commit
4243d19293
5 changed files with 174 additions and 4 deletions
|
@ -2,6 +2,8 @@ from django.db import models
|
|||
|
||||
from registrar.models.domain_request import DomainRequest
|
||||
from registrar.models.federal_agency import FederalAgency
|
||||
from registrar.models.utility.portfolio_helper import UserPortfolioRoleChoices
|
||||
from registrar.utility.constants import BranchChoices
|
||||
|
||||
from .utility.time_stamped_model import TimeStampedModel
|
||||
|
||||
|
@ -39,6 +41,13 @@ class Portfolio(TimeStampedModel):
|
|||
default=FederalAgency.get_non_federal_agency,
|
||||
)
|
||||
|
||||
federal_type = models.CharField(
|
||||
max_length=50,
|
||||
choices=BranchChoices.choices,
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
senior_official = models.ForeignKey(
|
||||
"registrar.SeniorOfficial",
|
||||
on_delete=models.PROTECT,
|
||||
|
@ -110,3 +119,46 @@ class Portfolio(TimeStampedModel):
|
|||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.organization_name}"
|
||||
|
||||
# == Getters for domains == #
|
||||
def get_domains(self):
|
||||
"""Returns all DomainInformations associated with this portfolio"""
|
||||
return self.information_portfolio.all()
|
||||
|
||||
def get_domain_requests(self):
|
||||
"""Returns all DomainRequests associated with this portfolio"""
|
||||
return self.DomainRequest_portfolio.all()
|
||||
|
||||
# == Getters for suborganization == #
|
||||
def get_suborganizations(self):
|
||||
"""Returns all suborganizations associated with this portfolio"""
|
||||
return self.portfolio_suborganizations.all()
|
||||
|
||||
# == Getters for users == #
|
||||
def get_users(self):
|
||||
"""Returns all users associated with this portfolio"""
|
||||
return self.portfolio_users.all()
|
||||
|
||||
def get_administrators(self):
|
||||
"""Returns all administrators associated with this portfolio"""
|
||||
return self.portfolio_users.filter(
|
||||
portfolio_roles__overlap=[
|
||||
UserPortfolioRoleChoices.ORGANIZATION_ADMIN,
|
||||
]
|
||||
)
|
||||
|
||||
def get_readonly_administrators(self):
|
||||
"""Returns all readonly_administrators associated with this portfolio"""
|
||||
return self.portfolio_users.filter(
|
||||
portfolio_roles__overlap=[
|
||||
UserPortfolioRoleChoices.ORGANIZATION_ADMIN_READ_ONLY,
|
||||
]
|
||||
)
|
||||
|
||||
def get_members(self):
|
||||
"""Returns all members associated with this portfolio"""
|
||||
return self.portfolio_users.filter(
|
||||
portfolio_roles__overlap=[
|
||||
UserPortfolioRoleChoices.ORGANIZATION_MEMBER,
|
||||
]
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue