Beispiel #1
0
    def cancel_retirement(self, request, retirement_id):
        """
        Executed when the admin clicks the "Cancel" button on a UserRetirementStatus row,
        this handles the confirmation view form, top level error handling, and permissions.
        """
        if not request.user.has_perm('user_api.change_userretirementstatus'):
            return HttpResponseForbidden(_("Permission Denied"))

        retirement = self.get_object(request, retirement_id)

        redirect_url = reverse(
            'admin:user_api_userretirementstatus_changelist',
            current_app=self.admin_site.name,
        )

        if retirement is None:
            self.message_user(request, _('Retirement does not exist!'), level=messages.ERROR)
            return HttpResponseRedirect(redirect_url)

        if request.method != 'POST':
            form = RetirementQueueDeletionForm()
        else:
            form = RetirementQueueDeletionForm(request.POST)
            if form.is_valid():
                try:
                    form.save(retirement)
                    self.message_user(request, _('Success'))
                    return HttpResponseRedirect(redirect_url)
                except ValidationError:
                    # An exception in form.save will display errors on the form page
                    pass

        context = self.admin_site.each_context(request)
        context['opts'] = self.model._meta
        context['form'] = form
        context['retirement'] = retirement

        return TemplateResponse(
            request,
            'admin/user_api/accounts/cancel_retirement_action.html',
            context,
        )
Beispiel #2
0
    def cancel_retirement(self, request, retirement_id):
        """
        Executed when the admin clicks the "Cancel" button on a UserRetirementStatus row,
        this handles the confirmation view form, top level error handling, and permissions.
        """
        if not request.user.has_perm('user_api.change_userretirementstatus'):
            return HttpResponseForbidden(_("Permission Denied"))

        retirement = self.get_object(request, retirement_id)

        redirect_url = reverse(
            'admin:user_api_userretirementstatus_changelist',
            current_app=self.admin_site.name,
        )

        if retirement is None:
            self.message_user(request,
                              _('Retirement does not exist!'),
                              level=messages.ERROR)
            return HttpResponseRedirect(redirect_url)

        if request.method != 'POST':
            form = RetirementQueueDeletionForm()
        else:
            form = RetirementQueueDeletionForm(request.POST)
            if form.is_valid():
                try:
                    form.save(retirement)
                    self.message_user(request, _('Success'))
                    return HttpResponseRedirect(redirect_url)
                except ValidationError:
                    # An exception in form.save will display errors on the form page
                    pass

        context = self.admin_site.each_context(request)
        context['opts'] = self.model._meta
        context['form'] = form
        context['retirement'] = retirement

        return TemplateResponse(
            request,
            'admin/user_api/accounts/cancel_retirement_action.html',
            context,
        )