def cancel_invoices(self, request, queryset): if "cancel" in request.POST: user_message = _("Action canceled by the user.") user_message_level = messages.INFO self.message_user(request, user_message, user_message_level) return None permanence = queryset.order_by("?").first() if permanence is None or permanence.status != PERMANENCE_DONE: user_message = _("Action canceled by the system.") user_message_level = messages.ERROR self.message_user(request, user_message, user_message_level) return None if "apply" in request.POST: user_message, user_message_level = task_invoice.admin_cancel(queryset) self.message_user(request, user_message, user_message_level) return None return render( request, "repanier/confirm_admin_action.html", { "sub_title": _("Please, confirm the action : cancel the invoices"), "action": "cancel_invoices", "permanence": permanence, "action_checkbox_name": admin.ACTION_CHECKBOX_NAME, }, )
def cancel_archive(self, request, queryset): permanence = queryset.order_by("?").first() if permanence is None or permanence.status != PERMANENCE_ARCHIVED: user_message = _("Action canceled by the system.") user_message_level = messages.ERROR self.message_user(request, user_message, user_message_level) return None user_message, user_message_level = task_invoice.admin_cancel(queryset) self.message_user(request, user_message, user_message_level) return None
def cancel_invoice_or_archive_or_cancelled(self, request, permanence_qs, action): if 'cancel' in request.POST: user_message = _("Action canceled by the user.") user_message_level = messages.INFO self.message_user(request, user_message, user_message_level) return permanence = permanence_qs.first() if permanence is None or permanence.status not in [ PERMANENCE_INVOICED, PERMANENCE_ARCHIVED, PERMANENCE_CANCELLED ]: user_message = _("Action canceled by the system.") user_message_level = messages.ERROR self.message_user(request, user_message, user_message_level) return if 'apply' in request.POST: user_message, user_message_level = task_invoice.admin_cancel( permanence) self.message_user(request, user_message, user_message_level) return return render( request, 'repanier/confirm_admin_action.html', { 'sub_title': _("Please, confirm the action : cancel the invoices") if permanence.status == PERMANENCE_INVOICED else _("Please, confirm the action : cancel the archiving") if permanence.status == PERMANENCE_ARCHIVED else _("Please, confirm the action : restore the delivery"), 'action': action, 'permanence': permanence, 'action_checkbox_name': admin.ACTION_CHECKBOX_NAME, })