use python dates for request revisions, plus some cleanup
This commit is contained in:
parent
cc7ddd9468
commit
326d330a40
@ -2,9 +2,8 @@ from enum import Enum
|
|||||||
from sqlalchemy import exists, and_, exc
|
from sqlalchemy import exists, and_, exc
|
||||||
from sqlalchemy.sql import text
|
from sqlalchemy.sql import text
|
||||||
from sqlalchemy.orm.exc import NoResultFound
|
from sqlalchemy.orm.exc import NoResultFound
|
||||||
from sqlalchemy.orm.attributes import flag_modified
|
|
||||||
from werkzeug.datastructures import FileStorage
|
from werkzeug.datastructures import FileStorage
|
||||||
import pendulum
|
import dateutil
|
||||||
|
|
||||||
from atst.database import db
|
from atst.database import db
|
||||||
from atst.domain.authz import Authorization
|
from atst.domain.authz import Authorization
|
||||||
@ -20,11 +19,11 @@ from .exceptions import NotFoundError, UnauthorizedError
|
|||||||
|
|
||||||
def create_revision_from_request_body(body):
|
def create_revision_from_request_body(body):
|
||||||
body = {k: v for p in body.values() for k, v in p.items()}
|
body = {k: v for p in body.values() for k, v in p.items()}
|
||||||
TIMESTAMPS = ["start_date", "date_latest_training"]
|
DATES = ["start_date", "date_latest_training"]
|
||||||
coerced_timestamps = {
|
coerced_timestamps = {
|
||||||
k: pendulum.parse(v)
|
k: dateutil.parser.parse(v)
|
||||||
for k, v in body.items()
|
for k, v in body.items()
|
||||||
if k in TIMESTAMPS and isinstance(v, str)
|
if k in DATES and isinstance(v, str)
|
||||||
}
|
}
|
||||||
body = {**body, **coerced_timestamps}
|
body = {**body, **coerced_timestamps}
|
||||||
return RequestRevision(**body)
|
return RequestRevision(**body)
|
||||||
|
@ -8,6 +8,7 @@ from atst.models import Base
|
|||||||
from atst.models.types import Id
|
from atst.models.types import Id
|
||||||
from atst.models.request_status_event import RequestStatus
|
from atst.models.request_status_event import RequestStatus
|
||||||
from atst.utils import deep_merge, first_or_none
|
from atst.utils import deep_merge, first_or_none
|
||||||
|
from atst.models.request_revision import RequestRevision
|
||||||
|
|
||||||
|
|
||||||
def map_properties_to_dict(properties, instance):
|
def map_properties_to_dict(properties, instance):
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
import pendulum
|
|
||||||
from sqlalchemy import (
|
from sqlalchemy import (
|
||||||
Column,
|
Column,
|
||||||
func,
|
|
||||||
ForeignKey,
|
ForeignKey,
|
||||||
String,
|
String,
|
||||||
Boolean,
|
Boolean,
|
||||||
@ -10,8 +8,6 @@ from sqlalchemy import (
|
|||||||
BigInteger,
|
BigInteger,
|
||||||
Sequence,
|
Sequence,
|
||||||
)
|
)
|
||||||
from sqlalchemy.types import DateTime
|
|
||||||
from sqlalchemy.dialects.postgresql import JSONB
|
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
from atst.models import Base
|
from atst.models import Base
|
||||||
|
@ -77,7 +77,7 @@ class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
|
|||||||
fname_poc=user.first_name,
|
fname_poc=user.first_name,
|
||||||
lname_poc=user.last_name,
|
lname_poc=user.last_name,
|
||||||
jedi_usage="adf",
|
jedi_usage="adf",
|
||||||
start_date=datetime.datetime(2018, 8, 8, tzinfo=datetime.timezone.utc),
|
start_date=datetime.date(2018, 8, 8),
|
||||||
cloud_native="yes",
|
cloud_native="yes",
|
||||||
dollar_value=dollar_value,
|
dollar_value=dollar_value,
|
||||||
dod_component=SERVICE_BRANCHES[2][1],
|
dod_component=SERVICE_BRANCHES[2][1],
|
||||||
@ -100,9 +100,7 @@ class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
|
|||||||
fname_request=user.first_name,
|
fname_request=user.first_name,
|
||||||
lname_request=user.last_name,
|
lname_request=user.last_name,
|
||||||
service_branch=SERVICE_BRANCHES[1][1],
|
service_branch=SERVICE_BRANCHES[1][1],
|
||||||
date_latest_training=datetime.datetime(
|
date_latest_training=datetime.date(2018, 8, 6),
|
||||||
2018, 8, 6, tzinfo=datetime.timezone.utc
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
data = (
|
data = (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user