diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-09-12 12:26:37 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-10-24 12:06:08 +0200 | 
| commit | 12eb00c0d60109dffc38326ddfec1bcd979de487 (patch) | |
| tree | 639bb5dd031bf78c54b1b41ef31ffcd1197d5ddd /ishtar_common/views.py | |
| parent | 6c2751a67da72de11d63058512511c0117a3ee71 (diff) | |
| download | Ishtar-12eb00c0d60109dffc38326ddfec1bcd979de487.tar.bz2 Ishtar-12eb00c0d60109dffc38326ddfec1bcd979de487.zip | |
Action to remove bookmarks (refs #4230)
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 40 | 
1 files changed, 39 insertions, 1 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 9946a9dee..8214f22d7 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1757,10 +1757,47 @@ class BookmarkList(SearchQueryMixin, JSONResponseMixin, LoginRequiredMixin,          )          return {              'bookmarks': [ -                {'label': sq.label, 'query': sq.query} for sq in q.all()] +                {'label': sq.label, 'query': sq.query, +                 'id': sq.id} for sq in q.all()]          } +class SearchQueryDelete(LoginRequiredMixin, DeleteView): +    model = models.SearchQuery +    template_name = 'ishtar/forms/bookmark_delete.html' +    page_name = _(u"Delete bookmark") + +    def dispatch(self, request, *args, **kwargs): +        if not request.user.pk: +            raise Http404() +        try: +            self.profile = models.UserProfile.objects.get( +                current=True, person__ishtaruser__user_ptr=request.user) +        except models.UserProfile.DoesNotExist: +            # no current profile +            raise Http404() +        try: +            self.search_query = models.SearchQuery.objects.get( +                profile=self.profile, +                pk=kwargs['pk'] +            ) +        except models.SearchQuery.DoesNotExist: +            raise Http404() +        return super(SearchQueryDelete, self).dispatch(request, *args, **kwargs) + +    def get_context_data(self, **kwargs): +        data = super(SearchQueryDelete, self).get_context_data(**kwargs) +        data['modal_size'] = "small" +        data['page_name'] = _(u"Bookmark - Delete") +        data['action_name'] = _(u"Delete") +        data['item'] = self.search_query.label +        data['url'] = reverse('bookmark-delete', args=[self.search_query.pk]) +        return data + +    def get_success_url(self): +        return reverse('success', args=['bookmark']) + +  class AlertList(JSONResponseMixin, LoginRequiredMixin,                  TemplateView):      def dispatch(self, request, *args, **kwargs): @@ -1873,6 +1910,7 @@ class QAItemEditForm(QAItemForm):              if 'confirm' not in self.url:                  data['url'] = self.url.split('?')[0] + "confirm/"              data['confirm'] = True +            data['action_name'] = _(u"Confirm")          return data      def form_valid(self, form): | 
