mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-28 20:13:46 +02:00
Minor cleanup (fix comments)
This commit is contained in:
parent
5f5bc4f616
commit
a2365831ca
2 changed files with 11 additions and 23 deletions
|
@ -70,7 +70,7 @@ def format_end_date(end_date):
|
|||
class BaseExport(BaseModelAnnotation):
|
||||
"""
|
||||
A generic class for exporting data which returns a csv file for the given model.
|
||||
Base class in an inheritance tree of 3.
|
||||
3rd class in an inheritance tree of 4.
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
|
@ -157,6 +157,8 @@ class MemberExport(BaseExport):
|
|||
|
||||
@classmethod
|
||||
def get_model_annotation_dict(cls, request=None, **kwargs):
|
||||
"""Combines the permissions and invitation model annotations for
|
||||
the final returned csv export which combines both of these contexts"""
|
||||
portfolio = request.session.get("portfolio")
|
||||
if not portfolio:
|
||||
return {}
|
||||
|
@ -230,21 +232,9 @@ class MemberExport(BaseExport):
|
|||
"Member management": member_perm_display,
|
||||
"Domain management": len(user_managed_domains) > 0,
|
||||
"Number of domains": len(user_managed_domains),
|
||||
# TODO - this doesn't quote enclose with one record
|
||||
"Domains": managed_domains_as_csv,
|
||||
}
|
||||
|
||||
# "id",
|
||||
# "first_name",
|
||||
# "last_name",
|
||||
# "email_display",
|
||||
# "last_active",
|
||||
# "roles",
|
||||
# "additional_permissions_display",
|
||||
# "member_display",
|
||||
# "domain_info",
|
||||
# "source",
|
||||
|
||||
row = [FIELDS.get(column, "") for column in columns]
|
||||
return row
|
||||
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
"""
|
||||
Model annotation classes. Intended to return django querysets with computed fields for api endpoints and our csv reports.
|
||||
|
||||
Created to manage the complexity of the MembersTable and Members CSV report, as they require complex but common annotations.
|
||||
|
||||
These classes provide consistent, reusable query transformations that:
|
||||
1. Add computed fields via annotations
|
||||
2. Handle related model data
|
||||
3. Format fields for display
|
||||
4. Standardize field names across different contexts
|
||||
Model annotation classes.
|
||||
|
||||
Intended to return django querysets with computed fields for api endpoints and our csv reports.
|
||||
Used by both API endpoints (e.g. portfolio members JSON) and data exports (e.g. CSV reports).
|
||||
|
||||
Initially created to manage the complexity of the MembersTable and Members CSV report,
|
||||
as they require complex but common annotations.
|
||||
|
||||
Example:
|
||||
# For a JSON table endpoint
|
||||
permissions = UserPortfolioPermissionAnnotation.get_annotated_queryset(portfolio)
|
||||
|
@ -59,6 +55,8 @@ class BaseModelAnnotation(ABC):
|
|||
Subclasses define model-specific annotations, filters, and field formatting while inheriting
|
||||
common queryset building logic.
|
||||
Intended ensure consistent data presentation across both table UI components and CSV exports.
|
||||
|
||||
Base class in an inheritance tree of 4.
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
|
@ -253,7 +251,7 @@ class UserPortfolioPermissionModelAnnotation(BaseModelAnnotation):
|
|||
PortfolioInvitation.objects.filter(
|
||||
status=PortfolioInvitation.PortfolioInvitationStatus.RETRIEVED,
|
||||
# Double outer ref because we first go into the LogEntry query,
|
||||
# then into the
|
||||
# then into the parent UserPortfolioPermission.
|
||||
email=OuterRef(OuterRef("user__email")),
|
||||
portfolio=OuterRef(OuterRef("portfolio")),
|
||||
).values("id")[:1]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue