|
1 | 1 | import logging |
2 | 2 | from django.db import transaction |
3 | 3 | from django.http import JsonResponse |
4 | | -from django.utils import timezone |
| 4 | +from datetime import datetime, timezone |
5 | 5 | from rest_framework import authentication, permissions |
6 | 6 | from rest_framework.views import APIView |
7 | 7 | from .models import ( |
|
15 | 15 |
|
16 | 16 |
|
17 | 17 | def get_now_str(): |
18 | | - return str(timezone.now()) |
| 18 | + return datetime.now(timezone.utc) |
19 | 19 |
|
| 20 | +def parse_date(date_string): |
| 21 | + dateformat = '%Y-%m-%d' |
| 22 | + return datetime.strptime(date_string[:10], dateformat).replace(tzinfo=timezone.utc) |
20 | 23 |
|
21 | 24 | # class CreatePerForm(APIView): |
22 | 25 | # authentication_classes = (authentication.TokenAuthentication,) |
@@ -337,17 +340,17 @@ def post(self, request): |
337 | 340 | else: |
338 | 341 | return bad_request('You don\'t have permission to create an Overview for the selected Country.') |
339 | 342 |
|
340 | | - # prev_overview = Overview.objects.filter(country_id=country_id).order_by('-created_at').first() |
| 343 | + prevOverview = Overview.objects.filter(country_id=country_id).order_by('-created_at').first() |
| 344 | + prevOverview_assessmentNumber = prevOverview.assessment_number + 1 if prevOverview else 1 |
341 | 345 |
|
342 | 346 | try: |
343 | 347 | overview = Overview.objects.create( |
344 | | - # assessment_number=prev_overview.assessment_number + 1 if prev_overview else 1, |
345 | | - assessment_number=assessment_number, |
| 348 | + assessment_number=assessment_number if assessment_number else prevOverview_assessmentNumber, |
346 | 349 | branches_involved=branches_involved, |
347 | 350 | country_id=country_id, |
348 | | - date_of_assessment=date_of_assessment or None, |
349 | | - date_of_mid_term_review=date_of_mid_term_review or None, |
350 | | - date_of_next_asmt=date_of_next_asmt or None, |
| 351 | + date_of_assessment=parse_date(date_of_assessment) if date_of_assessment else None, |
| 352 | + date_of_mid_term_review=parse_date(date_of_mid_term_review) if date_of_mid_term_review else None, |
| 353 | + date_of_next_asmt=parse_date(date_of_next_asmt) if date_of_next_asmt else None, |
351 | 354 | facilitator_name=facilitator_name, |
352 | 355 | facilitator_email=facilitator_email, |
353 | 356 | facilitator_phone=facilitator_phone, |
@@ -467,9 +470,9 @@ def post(self, request): |
467 | 470 | ov.assessment_number = assessment_number |
468 | 471 | ov.branches_involved = branches_involved |
469 | 472 | ov.country_id = country_id |
470 | | - ov.date_of_assessment = date_of_assessment |
471 | | - ov.date_of_mid_term_review = date_of_mid_term_review |
472 | | - ov.date_of_next_asmt = date_of_next_asmt |
| 473 | + ov.date_of_assessment = parse_date(date_of_assessment) if date_of_assessment else None |
| 474 | + ov.date_of_mid_term_review = parse_date(date_of_mid_term_review) if date_of_mid_term_review else None |
| 475 | + ov.date_of_next_asmt = parse_date(date_of_next_asmt) if date_of_next_asmt else None |
473 | 476 | ov.facilitator_name = facilitator_name |
474 | 477 | ov.facilitator_email = facilitator_email |
475 | 478 | ov.facilitator_phone = facilitator_phone |
|
0 commit comments