Skip to content

Commit

Permalink
Merge pull request #195 from azavea/ms/use-django-utils-timezone-for-…
Browse files Browse the repository at this point in the history
…dates

Fix Submit Boundary
  • Loading branch information
mstone121 authored Nov 11, 2022
2 parents fcf0534 + 927789b commit 8fce993
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 36 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fix add polygon [#169](https://github.com/azavea/iow-boundary-tool/pull/169)
- Fix user authentication [#170](https://github.com/azavea/iow-boundary-tool/pull/170)
- Fix view submission details link destination [#174](https://github.com/azavea/iow-boundary-tool/pull/174)
- Fix submit boundary [#195](https://github.com/azavea/iow-boundary-tool/pull/195)

### Deprecated

Expand Down
23 changes: 15 additions & 8 deletions src/app/src/components/DrawTools/DrawTools.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ export default function DrawTools() {
const { status } = useDrawBoundary();
const { canWrite, canReview } = useDrawPermissions();

const afterSubmitDialogController = useDialogController(false);

const draftMode = status === BOUNDARY_STATUS.DRAFT && canWrite;
const reviewMode = status === BOUNDARY_STATUS.IN_REVIEW && canReview;

Expand All @@ -36,17 +38,26 @@ export default function DrawTools() {
<EditToolbar />
<MapControlButtons />

{draftMode && <DraftTools />}
{draftMode && (
<DraftTools onSuccess={afterSubmitDialogController.open} />
)}

{reviewMode && <ReviewTools />}

{status === BOUNDARY_STATUS.SUBMITTED && (
<AfterSubmitModal
isOpen={afterSubmitDialogController.isOpen}
onClose={afterSubmitDialogController.close}
/>
)}

<AnnotationMarkers />
</>
);
}

function DraftTools() {
function DraftTools({ onSuccess }) {
const submitDialogController = useDialogController(false);
const afterSubmitDialogController = useDialogController(false);

return (
<>
Expand All @@ -55,11 +66,7 @@ function DraftTools() {
<SubmitModal
isOpen={submitDialogController.isOpen}
onClose={submitDialogController.close}
onSuccess={afterSubmitDialogController.open}
/>
<AfterSubmitModal
isOpen={afterSubmitDialogController.isOpen}
onClose={afterSubmitDialogController.close}
onSuccess={onSuccess}
/>

<ReviewAndSaveButton
Expand Down
9 changes: 4 additions & 5 deletions src/django/api/models/submission.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from datetime import datetime, timezone

from django.db import models
from django.core.exceptions import ValidationError
from django.contrib.gis.db import models as gis_models
from django.utils.functional import cached_property
from django.utils import timezone

from .boundary import Boundary
from .user import User, Roles
Expand Down Expand Up @@ -84,7 +83,7 @@ def clean(self):
super().clean()

def finish(self, reviewed_by):
self.reviewed_at = datetime.now(tz=timezone.utc)
self.reviewed_at = timezone.now()
self.reviewed_by = reviewed_by


Expand Down Expand Up @@ -122,7 +121,7 @@ def revoked(self):
return self.unapproved_at is not None

def unapprove(self, unapproved_by):
self.unapproved_at = datetime.now(tz=timezone.utc)
self.unapproved_at = timezone.now()
self.unapproved_by = unapproved_by


Expand All @@ -143,4 +142,4 @@ def resolved(self):
return self.resolved_at is not None

def resolve(self):
self.resolved_at = datetime.now(tz=timezone.utc)
self.resolved_at = timezone.now()
37 changes: 18 additions & 19 deletions src/django/api/tests/base.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from datetime import datetime, timezone

from django.test import TestCase
from django.utils import timezone

from rest_framework.test import APIClient

Expand Down Expand Up @@ -147,31 +146,31 @@ def setUpTestData(cls):

# submitted
Submission.objects.filter(pk=submission_2.pk).update(
submitted_at=datetime.now(tz=timezone.utc),
submitted_at=timezone.now(),
submitted_by=cls.contributor,
notes="Notes for the test submission.",
)

Submission.objects.filter(pk=submission_3.pk).update(
submitted_at=datetime.now(tz=timezone.utc),
submitted_at=timezone.now(),
submitted_by=cls.contributor,
notes="Notes for the test submission.",
)

Submission.objects.filter(pk=submission_4.pk).update(
submitted_at=datetime.now(tz=timezone.utc),
submitted_at=timezone.now(),
submitted_by=cls.contributor,
notes="Notes for the test submission.",
)

Submission.objects.filter(pk=submission_5.pk).update(
submitted_at=datetime.now(tz=timezone.utc),
submitted_at=timezone.now(),
submitted_by=cls.contributor,
notes="Notes for the test submission.",
)

Submission.objects.filter(pk=submission_6.pk).update(
submitted_at=datetime.now(tz=timezone.utc),
submitted_at=timezone.now(),
submitted_by=cls.contributor,
notes="Notes for the test submission.",
)
Expand All @@ -181,53 +180,53 @@ def setUpTestData(cls):
submission=submission_3,
reviewed_by=cls.validator,
notes="Notes for the review.",
created_at=datetime.now(tz=timezone.utc),
created_at=timezone.now(),
)

review_submission_4 = Review.objects.create(
submission=submission_4,
reviewed_by=cls.validator,
notes="Notes for the review.",
created_at=datetime.now(tz=timezone.utc),
created_at=timezone.now(),
)

review_submission_6 = Review.objects.create(
submission=submission_6,
reviewed_by=cls.validator,
notes="Notes for the review.",
created_at=datetime.now(tz=timezone.utc),
created_at=timezone.now(),
)

Annotation.objects.create(
review=review_submission_3,
location=POINT_IN_RALEIGH_FAKE_TRIANGLE,
comment="Comment on review",
created_at=datetime.now(tz=timezone.utc),
created_at=timezone.now(),
)

Annotation.objects.create(
review=review_submission_4,
location=POINT_IN_RALEIGH_FAKE_TRIANGLE,
comment="Comment on review",
created_at=datetime.now(tz=timezone.utc),
created_at=timezone.now(),
)

Annotation.objects.create(
review=review_submission_6,
location=POINT_IN_RALEIGH_FAKE_TRIANGLE,
comment="Comment on review",
created_at=datetime.now(tz=timezone.utc),
created_at=timezone.now(),
)

# needs revision
Review.objects.filter(pk=review_submission_4.pk).update(
reviewed_at=datetime.now(tz=timezone.utc),
reviewed_at=timezone.now(),
reviewed_by=cls.validator,
notes="Final notes for the review.",
)

Review.objects.filter(pk=review_submission_6.pk).update(
reviewed_at=datetime.now(tz=timezone.utc),
reviewed_at=timezone.now(),
reviewed_by=cls.validator,
notes="Final notes for the review.",
)
Expand All @@ -243,25 +242,25 @@ def setUpTestData(cls):
# re-submit for review

Submission.objects.filter(pk=resubmission_6.pk).update(
submitted_at=datetime.now(tz=timezone.utc),
submitted_at=timezone.now(),
submitted_by=cls.contributor,
notes="Notes for the test submission.",
)

# approved
approval_6 = Approval.objects.create(
submission=resubmission_6,
approved_at=datetime.now(tz=timezone.utc),
approved_at=timezone.now(),
approved_by=cls.validator,
)

approval_6.unapproved_by = cls.validator
approval_6.unapproved_at = datetime.now(tz=timezone.utc)
approval_6.unapproved_at = timezone.now()
approval_6.save()

Approval.objects.create(
submission=submission_5,
approved_at=datetime.now(tz=timezone.utc),
approved_at=timezone.now(),
approved_by=cls.validator,
)

Expand Down
6 changes: 2 additions & 4 deletions src/django/api/views/boundary.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import json

from datetime import datetime, timezone

from django.conf import settings
from django.db.models import Prefetch, functions
from django.shortcuts import get_object_or_404
from django.utils import timezone

from rest_framework.response import Response
from rest_framework.views import APIView
Expand Down Expand Up @@ -146,7 +144,7 @@ def patch(self, request, id, format=None):
"Cannot submit boundary with status: {}".format(boundary.status.value),
)

now = datetime.now(tz=timezone(settings.TIME_ZONE))
now = timezone.now()
yyyy_mm_dd = now.isoformat()[:10]
fp = f"{boundary.utility.pwsid}_{boundary.utility.address_city}_{yyyy_mm_dd}"

Expand Down

0 comments on commit 8fce993

Please sign in to comment.