Added Reissue token and Rerun Validation action
Reissue token is an option for approved tasks, and rerun validation is an option for active tasks that have not yet been approved and invalid. Change-Id: I0147c31ffbc1a003dfb143adf09b75949eba7c58
This commit is contained in:
parent
0d8384a5f2
commit
901a0d7a2e
|
@ -229,6 +229,14 @@ def token_submit(request, token, data):
|
|||
data=json.dumps(data), headers=headers)
|
||||
|
||||
|
||||
def token_reissue(request, task_id):
|
||||
headers = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': request.user.token.id}
|
||||
data = {'task': task_id}
|
||||
return post(request, 'tokens/',
|
||||
data=json.dumps(data), headers=headers)
|
||||
|
||||
|
||||
def email_update(request, email):
|
||||
headers = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': request.user.token.id}
|
||||
|
@ -335,3 +343,13 @@ def task_update(request, task_id, new_data):
|
|||
|
||||
return put(request, "tasks/%s" % task_id,
|
||||
data=new_data, headers=headers)
|
||||
|
||||
|
||||
def task_revalidate(request, task_id):
|
||||
task = task_get(request, task_id=task_id).json()
|
||||
|
||||
data = {}
|
||||
for action_data in [action['data'] for action in task['actions']]:
|
||||
data.update(action_data)
|
||||
|
||||
return task_update(request, task_id, json.dumps(data))
|
||||
|
|
|
@ -83,11 +83,77 @@ class ApproveTask(tables.BatchAction):
|
|||
|
||||
def allowed(self, request, task=None):
|
||||
if task:
|
||||
return not(
|
||||
return task.valid and not(
|
||||
task.status == "Completed" or task.status == "Cancelled")
|
||||
return True
|
||||
|
||||
|
||||
class ReissueToken(tables.BatchAction):
|
||||
name = "reissue"
|
||||
help_text = _("This will reissue tokens for the selected tasks.")
|
||||
|
||||
@staticmethod
|
||||
def action_present(count):
|
||||
return ungettext_lazy(
|
||||
u"Reissue Token",
|
||||
u"Reissue Tokens",
|
||||
count
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def action_past(count):
|
||||
return ungettext_lazy(
|
||||
u"Reissued Token",
|
||||
u"Reissued Tokens",
|
||||
count
|
||||
)
|
||||
|
||||
def action(self, request, obj_id):
|
||||
result = adjutant.token_reissue(request, obj_id)
|
||||
if not result or result.status_code != 200:
|
||||
exception = exceptions.NotAvailable()
|
||||
exception._safe_message = False
|
||||
raise exception
|
||||
|
||||
def allowed(self, request, task=None):
|
||||
if task:
|
||||
return task.status == "Approved; Incomplete"
|
||||
return True
|
||||
|
||||
|
||||
class RevalidateTask(tables.BatchAction):
|
||||
name = "revalidate"
|
||||
help_text = _("Rerun initial validation for the task.")
|
||||
|
||||
@staticmethod
|
||||
def action_present(count):
|
||||
return ungettext_lazy(
|
||||
u"Rerun Validation",
|
||||
u"Rerun Validation",
|
||||
count
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def action_past(count):
|
||||
return ungettext_lazy(
|
||||
u"Validation run",
|
||||
u"Validation run",
|
||||
count
|
||||
)
|
||||
|
||||
def action(self, request, obj_id):
|
||||
result = adjutant.task_revalidate(request, obj_id)
|
||||
if not result or result.status_code != 200:
|
||||
exception = exceptions.NotAvailable()
|
||||
exception._safe_message = False
|
||||
raise exception
|
||||
|
||||
def allowed(self, request, task=None):
|
||||
if task:
|
||||
return task.status == 'Awaiting Approval' and not task.valid
|
||||
return True
|
||||
|
||||
|
||||
class ReapproveTask(ApproveTask):
|
||||
name = "approve"
|
||||
help_text = _("This will approve all of the selected tasks.")
|
||||
|
@ -96,7 +162,7 @@ class ReapproveTask(ApproveTask):
|
|||
def action_present(count):
|
||||
return ungettext_lazy(
|
||||
u"Reapprove Task",
|
||||
u"Repprove Tasks",
|
||||
u"Reapprove Tasks",
|
||||
count
|
||||
)
|
||||
|
||||
|
@ -143,8 +209,8 @@ class TaskTable(tables.DataTable):
|
|||
class Meta(object):
|
||||
name = 'task_table'
|
||||
verbose_name = _('Tasks')
|
||||
table_actions = (CancelTask, ApproveTask)
|
||||
row_actions = (ApproveTask, UpdateTask, CancelTask)
|
||||
table_actions = (ApproveTask, RevalidateTask, CancelTask)
|
||||
row_actions = (ApproveTask, UpdateTask, RevalidateTask, CancelTask, )
|
||||
prev_pagination_param = pagination_param = 'task_page'
|
||||
|
||||
def get_prev_marker(self):
|
||||
|
@ -163,8 +229,8 @@ class ApprovedTaskTable(TaskTable):
|
|||
class Meta(object):
|
||||
name = 'approved_table'
|
||||
verbose_name = _('Tasks')
|
||||
table_actions = (CancelTask, ReapproveTask)
|
||||
row_actions = (CancelTask, ReapproveTask)
|
||||
table_actions = (CancelTask, ReapproveTask, ReissueToken)
|
||||
row_actions = (CancelTask, ReapproveTask, ReissueToken)
|
||||
prev_pagination_param = pagination_param = 'approved_page'
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue