submission_date set on application submit; refactored index.py; display of expired in both home page and domain detail page

This commit is contained in:
David Kennedy 2023-12-13 16:14:44 -05:00
parent 2c28863a1c
commit acc853da68
No known key found for this signature in database
GPG key ID: 6528A5386E66B96B
4 changed files with 21 additions and 12 deletions

View file

@ -6,6 +6,7 @@ import logging
from django.apps import apps from django.apps import apps
from django.db import models from django.db import models
from django_fsm import FSMField, transition # type: ignore from django_fsm import FSMField, transition # type: ignore
from django.utils import timezone
from registrar.models.domain import Domain from registrar.models.domain import Domain
from .utility.time_stamped_model import TimeStampedModel from .utility.time_stamped_model import TimeStampedModel
@ -615,6 +616,10 @@ class DomainApplication(TimeStampedModel):
if not DraftDomain.string_could_be_domain(self.requested_domain.name): if not DraftDomain.string_could_be_domain(self.requested_domain.name):
raise ValueError("Requested domain is not a valid domain name.") raise ValueError("Requested domain is not a valid domain name.")
# Update submission_date to today
self.submission_date = timezone.now().date()
self.save()
self._send_status_update_email( self._send_status_update_email(
"submission confirmation", "submission confirmation",
"emails/submission_confirmation.txt", "emails/submission_confirmation.txt",

View file

@ -5,8 +5,9 @@
{{ block.super }} {{ block.super }}
<div class="margin-top-4 tablet:grid-col-10"> <div class="margin-top-4 tablet:grid-col-10">
<div <div
class="usa-summary-box dotgov-status-box margin-top-3 padding-left-2{% if domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED%} dotgov-status-box--action-need{% endif %}" class="usa-summary-box dotgov-status-box margin-top-3 padding-left-2{% if not domain.is_expired %}{% if domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED %} dotgov-status-box--action-need{% endif %}{% endif %}"
role="region" role="region"
aria-labelledby="summary-box-key-information" aria-labelledby="summary-box-key-information"
> >
@ -17,7 +18,9 @@
<span class="text-bold text-primary-darker"> <span class="text-bold text-primary-darker">
Status: Status:
</span> </span>
{% if domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED%} {% if domain.is_expired %}
Expired
{% elif domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED%}
DNS needed DNS needed
{% else %} {% else %}
{{ domain.state|title }} {{ domain.state|title }}
@ -26,6 +29,7 @@
</div> </div>
</div> </div>
<br> <br>
{% include "includes/domain_dates.html" %} {% include "includes/domain_dates.html" %}

View file

@ -52,7 +52,9 @@
</th> </th>
<td data-sort-value="{{ domain.expiration_date|date:"U" }}" data-label="Expires">{{ domain.expiration_date|date }}</td> <td data-sort-value="{{ domain.expiration_date|date:"U" }}" data-label="Expires">{{ domain.expiration_date|date }}</td>
<td data-label="Status"> <td data-label="Status">
{% if domain.state == "unknown" or domain.state == "dns needed"%} {% if domain.is_expired %}
Expired
{% elif domain.state == "unknown" or domain.state == "dns needed"%}
DNS needed DNS needed
{% else %} {% else %}
{{ domain.state|title }} {{ domain.state|title }}
@ -114,7 +116,7 @@
{% if application.submission_date %} {% if application.submission_date %}
{{ application.submission_date|date }} {{ application.submission_date|date }}
{% else %} {% else %}
Not submitted <span class="text-base">Not submitted</span>
{% endif %} {% endif %}
</td> </td>
<td data-label="Status">{{ application.get_status_display }}</td> <td data-label="Status">{{ application.get_status_display }}</td>

View file

@ -1,7 +1,8 @@
from django.db.models import F from django.db.models import F
from django.shortcuts import render from django.shortcuts import render
from django.utils import timezone
from registrar.models import DomainApplication from registrar.models import DomainApplication, Domain, UserDomainRole
def index(request): def index(request):
@ -14,12 +15,9 @@ def index(request):
# the active applications table # the active applications table
context["domain_applications"] = applications.exclude(status="approved") context["domain_applications"] = applications.exclude(status="approved")
domains = request.user.permissions.values( user_domain_roles = UserDomainRole.objects.filter(user=request.user)
"role", domain_ids = user_domain_roles.values_list('domain_id', flat=True)
pk=F("domain__id"), domains = Domain.objects.filter(id__in=domain_ids)
name=F("domain__name"),
created_time=F("domain__created_at"),
state=F("domain__state"),
)
context["domains"] = domains context["domains"] = domains
return render(request, "home.html", context) return render(request, "home.html", context)