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 + + | 
