Job relaunch refactor to accomidate new credential system

* make user_capability for 'start' more simple
* provide error messages if relaunch not possible
* check for prompted extra_credentials
* add extra_credentials permission checks in orphan mode
This commit is contained in:
AlanCoding
2017-05-12 10:49:29 -04:00
parent 5b86fc299f
commit 048804f48e
6 changed files with 117 additions and 44 deletions

View File

@@ -3711,6 +3711,13 @@ class JobRelaunch(RetrieveAPIView, GenericAPIView):
def dispatch(self, *args, **kwargs):
return super(JobRelaunch, self).dispatch(*args, **kwargs)
def check_object_permissions(self, request, obj):
if request.method == 'POST' and obj:
relaunch_perm, messages = request.user.can_access_with_errors(self.model, 'start', obj)
if not relaunch_perm and 'detail' in messages:
self.permission_denied(request, message=messages['detail'])
return super(JobRelaunch, self).check_object_permissions(request, obj)
def post(self, request, *args, **kwargs):
obj = self.get_object()