diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index b44e07f48..4724d61b7 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -67,6 +67,7 @@ from ishtar_common.utils import clean_session_cache, CSV_OPTIONS, \ get_field_labels_from_path, get_random_item_image_link, shortify, \ dict_to_tuple, put_session_message, get_model_by_slug from ishtar_common.widgets import JQueryAutoComplete +from ishtar_common import tasks from .views_item import CURRENT_ITEM_KEYS, CURRENT_ITEM_KEYS_DICT, \ check_permission, display_item, get_item, show_item, new_qa_item @@ -78,6 +79,16 @@ def status(request): return HttpResponse('OK') +def raise_error(request): + return 1/0 + + +def raise_task_error(request): + if settings.USE_BACKGROUND_TASK: + tasks.trigger_error.delay() + return HttpResponse('OK') + + def wizard_is_available(wizard, request, model, pk): try: wizard(request) @@ -2253,6 +2264,8 @@ class QAItemForm(IshtarMixin, LoginRequiredMixin, FormView): # check availability quick_action = self.get_quick_action() + if not quick_action: + raise Http404() if not quick_action.is_available( user=request.user, session=request.session): for item in self.items: @@ -2368,3 +2381,27 @@ class QADocumentForm(QAItemEditForm): form_class = forms.QADocumentFormMulti +class QADocumentDuplicateFormView(QAItemForm): + template_name = 'ishtar/forms/qa_document_duplicate.html' + model = models.Document + page_name = _("Duplicate") + form_class = forms.QADocumentDuplicateForm + base_url = "document-qa-duplicate" + + def get_form_kwargs(self): + kwargs = super(QADocumentDuplicateFormView, + self).get_form_kwargs() + kwargs['user'] = self.request.user + return kwargs + + def form_valid(self, form): + form.save() + return HttpResponseRedirect(reverse("success")) + + def get_context_data(self, **kwargs): + data = super(QADocumentDuplicateFormView, + self).get_context_data(**kwargs) + data['action_name'] = _("Duplicate") + return data + + |