Allow filtering by all possible statuses
This commit is contained in:
parent
0494382d00
commit
d069897062
@ -207,3 +207,7 @@ class Requests(object):
|
|||||||
comment = RequestInternalComment(request=request, text=comment_text, user=user)
|
comment = RequestInternalComment(request=request, text=comment_text, user=user)
|
||||||
RequestsQuery.add_and_commit(comment)
|
RequestsQuery.add_and_commit(comment)
|
||||||
return request
|
return request
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def possible_statuses(cls):
|
||||||
|
return [s[1].value for s in RequestStatus.__members__.items()]
|
||||||
|
@ -237,10 +237,6 @@ class Request(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
|||||||
else None
|
else None
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
|
||||||
def simple_status(self):
|
|
||||||
return self.latest_status.simple_name
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<Request(status='{}', name='{}', creator='{}', is_approved='{}', time_created='{}', id='{}')>".format(
|
return "<Request(status='{}', name='{}', creator='{}', is_approved='{}', time_created='{}', id='{}')>".format(
|
||||||
self.status_displayname,
|
self.status_displayname,
|
||||||
|
@ -56,21 +56,6 @@ class RequestStatusEvent(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
|||||||
else:
|
else:
|
||||||
return self.displayname
|
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):
|
def __repr__(self):
|
||||||
return "<RequestStatusEvent(log_name='{}', request='{}', id='{}')>".format(
|
return "<RequestStatusEvent(log_name='{}', request='{}', id='{}')>".format(
|
||||||
self.log_name, self.request_id, self.id
|
self.log_name, self.request_id, self.id
|
||||||
|
@ -15,10 +15,15 @@ class RequestsIndex(object):
|
|||||||
Permissions.REVIEW_AND_APPROVE_JEDI_WORKSPACE_REQUEST
|
Permissions.REVIEW_AND_APPROVE_JEDI_WORKSPACE_REQUEST
|
||||||
in self.user.atat_permissions
|
in self.user.atat_permissions
|
||||||
):
|
):
|
||||||
return self._ccpo_view(self.user)
|
context = self._ccpo_view(self.user)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return self._non_ccpo_view(self.user)
|
context = self._non_ccpo_view(self.user)
|
||||||
|
|
||||||
|
return {
|
||||||
|
**context,
|
||||||
|
"possible_statuses": Requests.possible_statuses(),
|
||||||
|
}
|
||||||
|
|
||||||
def _ccpo_view(self, user):
|
def _ccpo_view(self, user):
|
||||||
requests = Requests.get_many()
|
requests = Requests.get_many()
|
||||||
@ -77,7 +82,6 @@ class RequestsIndex(object):
|
|||||||
"is_new": is_new,
|
"is_new": is_new,
|
||||||
"is_approved": request.is_approved,
|
"is_approved": request.is_approved,
|
||||||
"status": request.status_displayname,
|
"status": request.status_displayname,
|
||||||
"simple_status": request.simple_status,
|
|
||||||
"app_count": app_count,
|
"app_count": app_count,
|
||||||
"last_submission_timestamp": request.last_submission_timestamp,
|
"last_submission_timestamp": request.last_submission_timestamp,
|
||||||
"last_edited_timestamp": request.latest_revision.time_updated,
|
"last_edited_timestamp": request.latest_revision.time_updated,
|
||||||
|
@ -13,7 +13,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
initialData: {
|
requests: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: [],
|
default: [],
|
||||||
},
|
},
|
||||||
@ -21,12 +21,14 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
statuses: {
|
||||||
|
type: Array,
|
||||||
|
default: [],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
data: function () {
|
data: function () {
|
||||||
const requests = this.initialData
|
|
||||||
return {
|
return {
|
||||||
requests,
|
|
||||||
searchValue: '',
|
searchValue: '',
|
||||||
statusValue: '',
|
statusValue: '',
|
||||||
}
|
}
|
||||||
@ -52,7 +54,7 @@ export default {
|
|||||||
applyFilters: (requests, status) => {
|
applyFilters: (requests, status) => {
|
||||||
return requests.filter(
|
return requests.filter(
|
||||||
(request) => status !== '' ?
|
(request) => status !== '' ?
|
||||||
request.simple_status.toLowerCase() === status :
|
request.status === status :
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
{% from "components/empty_state.html" import EmptyState %}
|
{% from "components/empty_state.html" import EmptyState %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<requests-list inline-template v-bind:initial-data='{{ requests | tojson }}' v-bind:is-extended="{{ extended_view | boolean }}">
|
<requests-list inline-template v-bind:requests='{{ requests | tojson }}' v-bind:is-extended='{{ extended_view | tojson }}' v-bind:statuses='{{ possible_statuses | tojson }}'>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
{% call Modal(name='pendingFinancialVerification', dismissable=True) %}
|
{% call Modal(name='pendingFinancialVerification', dismissable=True) %}
|
||||||
@ -91,9 +91,7 @@
|
|||||||
<select v-model="statusValue" id="filter-status" name="filter-status">
|
<select v-model="statusValue" id="filter-status" name="filter-status">
|
||||||
<option value="" selected disabled>Filter by status</option>
|
<option value="" selected disabled>Filter by status</option>
|
||||||
<option value="">All</option>
|
<option value="">All</option>
|
||||||
<option value="active">Active</option>
|
<option v-for="status in statuses" :value="status">!{ status }</option>
|
||||||
<option value="pending">Pending</option>
|
|
||||||
<option value="denied">Denied</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user