Vue-ify requests listing page

This commit is contained in:
richard-dds
2018-10-30 14:09:08 -04:00
parent 401a9e93a7
commit c5800a8c98
7 changed files with 103 additions and 24 deletions

View File

@@ -77,6 +77,10 @@ def dateFromString(value, formatter="%m/%Y"):
return datetime.datetime.strptime(value, formatter)
def boolean(value):
return "true" if value else "false"
def register_filters(app):
app.jinja_env.filters["iconSvg"] = iconSvg
app.jinja_env.filters["dollars"] = dollars
@@ -88,3 +92,4 @@ def register_filters(app):
app.jinja_env.filters["renderList"] = renderList
app.jinja_env.filters["formattedDate"] = formattedDate
app.jinja_env.filters["dateFromString"] = dateFromString
app.jinja_env.filters["boolean"] = boolean

View File

@@ -237,6 +237,10 @@ class Request(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
else None
)
@property
def simple_status(self):
return self.latest_status.simple_name
def __repr__(self):
return "<Request(status='{}', name='{}', creator='{}', is_approved='{}', time_created='{}', id='{}')>".format(
self.status_displayname,

View File

@@ -56,6 +56,15 @@ class RequestStatusEvent(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
else:
return self.displayname
@property
def simple_name(self):
if self.new_status in [RequestStatus.CHANGES_REQUESTED, RequestStatus.CHANGES_REQUESTED_TO_FINVER]:
return "denied"
elif self.new_status == [RequestStatus.PENDING_FINANCIAL_VERIFICATION, RequestStatus.APPROVED]:
return "accepted"
else:
return "pending"
def __repr__(self):
return "<RequestStatusEvent(log_name='{}', request='{}', id='{}')>".format(
self.log_name, self.request_id, self.id

View File

@@ -55,6 +55,12 @@ class RequestsIndex(object):
"extended_view": False,
}
def _workspace_link_for_request(self, request):
if request.is_approved:
return url_for("workspaces.workspace_projects", workspace_id=request.workspace_id)
else:
return None
def _map_request(self, request, viewing_role):
time_created = pendulum.instance(request.time_created)
is_new = time_created.add(days=1) > pendulum.now()
@@ -67,7 +73,9 @@ class RequestsIndex(object):
"workspace_id": request.workspace.id if request.workspace else None,
"name": request.displayname,
"is_new": is_new,
"is_approved": request.is_approved,
"status": request.status_displayname,
"simple_status": request.simple_status,
"app_count": app_count,
"last_submission_timestamp": request.last_submission_timestamp,
"last_edited_timestamp": request.latest_revision.time_updated,
@@ -76,6 +84,7 @@ class RequestsIndex(object):
"edit_link": url_for("requests.edit", request_id=request.id),
"action_required": request.action_required_by == viewing_role,
"dod_component": request.latest_revision.dod_component,
"workspace_link": self._workspace_link_for_request(request)
}