def post(self, request, **kwargs): """POST request handler for Update operation""" operation = self.__class__.__name__ redirect_to_update = False instance = get_model_instance(**kwargs) app_title = get_request_params('app_name', **kwargs) form = get_form(**kwargs)(request.POST, instance=instance) formsets = get_formsets(operation, **kwargs) (result, context) = FormHandler(operation, request, form, formsets, instance).handle(**kwargs) if not result: return render(request, 'core/update.html', context) if 'save' in request.POST: redirect_to_update = True instance.update() elif 'finish' in request.POST: instance.finish() else: next_activity = request.POST['submit'] if not instance.validate_rule(next_activity): redirect_to_update = True else: instance.task.submit(app_title, self.request.user, next_activity) return HttpResponseRedirect( reverse('update', args=( app_title, instance.title, instance.id))) if redirect_to_update else HttpResponseRedirect( reverse('workflow-detail', args=[app_title]))
def post(self, request, **kwargs): """POST request handler for Update operation""" instance = get_model_instance(**kwargs) app_title = get_request_params('app_name', **kwargs) form = get_form_instance( **kwargs)(request.POST, instance=instance) if form.is_valid(): form.save() if 'save' in request.POST: instance.update() return HttpResponseRedirect( reverse('update', args=( app_title, instance.title, instance.id))) elif 'finish' in request.POST: instance.finish() else: instance.task.submit( app_title, self.request.user, request.POST['submit']) return HttpResponseRedirect( reverse('workflow-detail', args=[app_title])) else: context = { 'form': form, 'object': instance, 'next': instance.next_activity(), 'error_message': get_errors(form.errors) } return render(request, 'core/update.html', context)
def get(self, request, **kwargs): """GET request handler for Update operation""" instance = get_model_instance(**kwargs) form = get_form_instance(**kwargs) context = { 'form': form(instance=instance), 'object': instance, 'next': instance.next_activity() } denied = self.check(request, **kwargs) return denied if denied else render(request, 'core/update.html', context)
def get(self, request, **kwargs): """GET request handler for Update operation""" instance = get_model_instance(**kwargs) form = get_form_instance(**kwargs) context = { 'form': form(instance=instance), 'object': instance, 'next': instance.next_activity() } denied = self.check(request, **kwargs) return denied if denied else render( request, 'core/update.html', context)
def get(self, request, **kwargs): """GET request handler for Update operation""" instance = get_model_instance(**kwargs) form = get_form(**kwargs) formsets = get_formsets(self.__class__.__name__, extra=1, **kwargs) context = { 'form': form(instance=instance), 'formsets': [ formset(instance=instance, prefix=formset.form.__name__) for formset in formsets ], 'object': instance, 'next': instance.next_activity() } denied = self.check(request, **kwargs) return denied if denied else render(request, 'core/update.html', context)
def post(self, request, **kwargs): """POST request handler for Update operation""" redirect_to_update = False instance = get_model_instance(**kwargs) app_title = get_request_params('app_name', **kwargs) form = get_form_instance(**kwargs)(request.POST, instance=instance) if form.is_valid(): form.save() if 'save' in request.POST: redirect_to_update = True instance.update() elif 'finish' in request.POST: instance.finish() else: next_activity = request.POST['submit'] if not instance.validate_rule(next_activity): redirect_to_update = True else: instance.task.submit(app_title, self.request.user, next_activity) return HttpResponseRedirect( reverse( 'update', args=(app_title, instance.title, instance.id ))) if redirect_to_update else HttpResponseRedirect( reverse('workflow-detail', args=[app_title])) else: context = { 'form': form, 'object': instance, 'next': instance.next_activity(), 'error_message': get_errors(form.errors) } return render(request, 'core/update.html', context)