コード例 #1
0
ファイル: views.py プロジェクト: faxad/ActivFlow
    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]))
コード例 #2
0
ファイル: views.py プロジェクト: alfiesyukur/ActivFlow
    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)
コード例 #3
0
ファイル: views.py プロジェクト: xixiuw/ActivFlow
    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)
コード例 #4
0
ファイル: views.py プロジェクト: Vloertegel/ActivFlow
    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)
コード例 #5
0
ファイル: views.py プロジェクト: faxad/ActivFlow
    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)
コード例 #6
0
ファイル: views.py プロジェクト: xixiuw/ActivFlow
    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)