summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
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
commitef120a060b2eee4d67df7a065c3dd4b67b93f7ba (patch)
tree639bb5dd031bf78c54b1b41ef31ffcd1197d5ddd /ishtar_common/views.py
parentdd3a897326fca68c15d86872062b1fcaccb8c683 (diff)
downloadIshtar-ef120a060b2eee4d67df7a065c3dd4b67b93f7ba.tar.bz2
Ishtar-ef120a060b2eee4d67df7a065c3dd4b67b93f7ba.zip
Action to remove bookmarks (refs #4230)
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py40
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):