diff options
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): |