summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-12-06 22:46:30 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-12-06 22:46:30 +0100
commit5607545254aac2c470627f601627726034815075 (patch)
tree74a011dc8dac4027def9c97b0b56acf0605f8c7a /ishtar_common/views.py
parent2994e6994505bc91a9abc365054a33be5098520a (diff)
downloadIshtar-5607545254aac2c470627f601627726034815075.tar.bz2
Ishtar-5607545254aac2c470627f601627726034815075.zip
Gen doc: refactoring
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index f23116d21..a4b979bd9 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -1777,6 +1777,33 @@ def get_bookmark(request, pk):
)
+def gen_generate_doc(model):
+
+ def func(request, pk, template_pk=None):
+ if not request.user.has_perm('view_' + model.SLUG, model):
+ return HttpResponse(content_type='text/plain')
+ try:
+ item = model.objects.get(pk=pk)
+ doc = item.publish(template_pk)
+ except model.DoesNotExist:
+ doc = None
+ if doc:
+ MIMES = {'odt': 'application/vnd.oasis.opendocument.text',
+ 'ods': 'application/vnd.oasis.opendocument.spreadsheet'}
+ ext = doc.split('.')[-1]
+ doc_name = item.get_filename() + "." + ext
+ mimetype = 'text/csv'
+ if ext in MIMES:
+ mimetype = MIMES[ext]
+ response = HttpResponse(open(doc), content_type=mimetype)
+ response['Content-Disposition'] = 'attachment; filename=%s' % \
+ doc_name
+ return response
+ return HttpResponse(content_type='text/plain')
+ return func
+
+
+
class SearchQueryMixin(object):
"""
Manage content type and profile init