mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-25 12:08:40 +02:00
Rebase logic
This commit is contained in:
parent
a0bfdbf2b1
commit
117c7e0c42
4 changed files with 12 additions and 18 deletions
|
@ -4,6 +4,7 @@ from django.contrib.auth.models import AbstractUser
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
|
||||||
|
from registrar.models.domain_information import DomainInformation
|
||||||
from registrar.models.user_domain_role import UserDomainRole
|
from registrar.models.user_domain_role import UserDomainRole
|
||||||
|
|
||||||
from .domain_invitation import DomainInvitation
|
from .domain_invitation import DomainInvitation
|
||||||
|
@ -428,8 +429,10 @@ class User(AbstractUser):
|
||||||
def is_org_user(self, request):
|
def is_org_user(self, request):
|
||||||
has_organization_feature_flag = flag_is_active(request, "organization_feature")
|
has_organization_feature_flag = flag_is_active(request, "organization_feature")
|
||||||
return has_organization_feature_flag and self.has_base_portfolio_permission()
|
return has_organization_feature_flag and self.has_base_portfolio_permission()
|
||||||
|
|
||||||
def user_domain_count(self):
|
def get_user_domain_ids(self):
|
||||||
"""Returns the number of domains associated with this user through UserDomainRole"""
|
"""Returns either the domains ids associated with this user on UserDomainRole or Portfolio"""
|
||||||
available_domains = UserDomainRole.objects.filter(user=self, domain__isnull=False)
|
if self.has_base_portfolio_permission() and self.has_view_all_domains_permission():
|
||||||
return available_domains.count()
|
return DomainInformation.objects.filter(portfolio=self.portfolio).values_list("domain_id", flat=True)
|
||||||
|
else:
|
||||||
|
return UserDomainRole.objects.filter(user=self).values_list("domain_id", flat=True)
|
||||||
|
|
|
@ -577,18 +577,9 @@ class DomainDataTypeUser(DomainDataType):
|
||||||
if request is None or not hasattr(request, "user") or not request.user:
|
if request is None or not hasattr(request, "user") or not request.user:
|
||||||
# Return nothing
|
# Return nothing
|
||||||
return Q(id__in=[])
|
return Q(id__in=[])
|
||||||
|
|
||||||
if (
|
|
||||||
request.user.has_base_portfolio_permission() and
|
|
||||||
request.user.has_view_all_domains_permission()
|
|
||||||
):
|
|
||||||
# Question: should we also include all domains in UserDomainRole as well?
|
|
||||||
models = DomainInformation.objects.filter(portfolio=request.user.portfolio)
|
|
||||||
else:
|
else:
|
||||||
models = UserDomainRole.objects.filter(user=request.user)
|
# Get all domains the user is associated with
|
||||||
|
return Q(domain__id__in=request.user.get_user_domain_ids())
|
||||||
domain_ids = models.values_list("domain_id", flat=True)
|
|
||||||
return Q(domain__id__in=domain_ids)
|
|
||||||
|
|
||||||
|
|
||||||
class DomainDataFull(DomainExport):
|
class DomainDataFull(DomainExport):
|
||||||
|
|
|
@ -8,6 +8,6 @@ def index(request):
|
||||||
if request.user.is_authenticated:
|
if request.user.is_authenticated:
|
||||||
# This controls the creation of a new domain request in the wizard
|
# This controls the creation of a new domain request in the wizard
|
||||||
request.session["new_request"] = True
|
request.session["new_request"] = True
|
||||||
context["user_domain_count"] = request.user.user_domain_count()
|
context["user_domain_count"] = request.user.get_user_domain_ids().count()
|
||||||
|
|
||||||
return render(request, "home.html", context)
|
return render(request, "home.html", context)
|
||||||
|
|
|
@ -29,7 +29,7 @@ class PortfolioDomainsView(PortfolioDomainsPermissionView, View):
|
||||||
context["has_organization_feature_flag"] = flag_is_active(request, "organization_feature")
|
context["has_organization_feature_flag"] = flag_is_active(request, "organization_feature")
|
||||||
portfolio = get_object_or_404(Portfolio, id=portfolio_id)
|
portfolio = get_object_or_404(Portfolio, id=portfolio_id)
|
||||||
context["portfolio"] = portfolio
|
context["portfolio"] = portfolio
|
||||||
context["user_domain_count"] = self.request.user.user_domain_count()
|
context["user_domain_count"] = self.request.user.get_user_domain_ids().count()
|
||||||
|
|
||||||
return render(request, "portfolio_domains.html", context)
|
return render(request, "portfolio_domains.html", context)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue