summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py39
1 files changed, 19 insertions, 20 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 6f95e070a..5ea53374d 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -51,7 +51,12 @@ from xhtml2odt import xhtml2odt
from menus import menu
+from archaeological_files.models import File
+from archaeological_context_records.models import ContextRecord
+from archaeological_finds.models import Find
+
from archaeological_operations.forms import DashboardForm as DashboardFormOpe
+from archaeological_files.forms import DashboardForm as DashboardFormFile
from ishtar_common.forms import FinalForm, FinalDeleteForm
from ishtar_common import forms_common as forms
@@ -724,6 +729,7 @@ def show_item(model, name, extra_dct=None):
dct.update(extra_dct(request, item))
context_instance = RequestContext(request)
context_instance.update(dct)
+ context_instance['output'] = 'html'
filename = ""
if hasattr(item, 'history_object'):
filename = item.history_object.associated_filename
@@ -731,6 +737,7 @@ def show_item(model, name, extra_dct=None):
filename = item.associated_filename
if doc_type == "odt" and settings.ODT_TEMPLATE:
tpl = loader.get_template('ishtar/sheet_%s.html' % name)
+ context_instance['output'] = 'ODT'
content = tpl.render(context_instance)
try:
tidy_options = {'output-xhtml': 1, 'indent': 1,
@@ -770,6 +777,7 @@ def show_item(model, name, extra_dct=None):
return response
elif doc_type == 'pdf':
tpl = loader.get_template('ishtar/sheet_%s_pdf.html' % name)
+ context_instance['output'] = 'PDF'
content = tpl.render(context_instance)
result = StringIO.StringIO()
html = content.encode('utf-8')
@@ -927,22 +935,20 @@ def dashboard_main(request, dct, obj_id=None, *args, **kwargs):
Main dashboard
"""
app_list = []
- if 'archaeological_files' in settings.INSTALLED_APPS:
+ profile = models.get_current_profile()
+ if profile.files:
app_list.append((_(u"Archaeological files"), 'files'))
app_list.append((_(u"Operations"), 'operations'))
- if 'archaeological_context_records' in settings.INSTALLED_APPS:
+ if profile.context_record:
app_list.append((_(u"Context records"), 'contextrecords'))
- if 'archaeological_finds' in settings.INSTALLED_APPS:
+ if profile.find:
app_list.append((_(u"Finds"), 'finds'))
dct = {'app_list': app_list}
return render_to_response('ishtar/dashboards/dashboard_main.html', dct,
context_instance=RequestContext(request))
DASHBOARD_FORMS = {}
-if 'archaeological_files' in settings.INSTALLED_APPS:
- from archaeological_files.forms import DashboardForm as DashboardFormFile
- DASHBOARD_FORMS['files'] = DashboardFormFile
-
+DASHBOARD_FORMS['files'] = DashboardFormFile
DASHBOARD_FORMS['operations'] = DashboardFormOpe
@@ -957,8 +963,8 @@ def dashboard_main_detail(request, item_name):
dct, context_instance=RequestContext(request))
form = None
slicing, date_source, fltr, show_detail = 'year', None, {}, False
- if (item_name == 'files' and
- 'archaeological_files' in settings.INSTALLED_APPS) \
+ profile = models.get_current_profile()
+ if (item_name == 'files' and profile.files) \
or item_name == 'operations':
slicing = 'month'
if item_name in DASHBOARD_FORMS:
@@ -974,32 +980,25 @@ def dashboard_main_detail(request, item_name):
else:
form = DASHBOARD_FORMS[item_name]()
lbl, dashboard = None, None
- if (item_name == 'files' and
- 'archaeological_files' in settings.INSTALLED_APPS) \
+ if (item_name == 'files' and profile.files) \
or item_name == 'operations':
dashboard_kwargs = {'slice': slicing, 'fltr': fltr,
'show_detail': show_detail}
# date_source is only relevant when the form has set one
if date_source:
dashboard_kwargs['date_source'] = date_source
- if item_name == 'files' and \
- 'archaeological_files' in settings.INSTALLED_APPS:
- from archaeological_files.models import File
+ if item_name == 'files' and profile.files:
lbl, dashboard = (_(u"Archaeological files"),
models.Dashboard(File, **dashboard_kwargs))
if item_name == 'operations':
from archaeological_operations.models import Operation
lbl, dashboard = (_(u"Operations"),
models.Dashboard(Operation, **dashboard_kwargs))
- if item_name == 'contextrecords' and \
- 'archaeological_context_records' in settings.INSTALLED_APPS:
- from archaeological_context_records.models import ContextRecord
+ if item_name == 'contextrecords' and profile.context_record:
lbl, dashboard = (
_(u"Context records"),
models.Dashboard(ContextRecord, slice=slicing, fltr=fltr))
- if item_name == 'finds' and \
- 'archaeological_finds' in settings.INSTALLED_APPS:
- from archaeological_finds.models import Find
+ if item_name == 'finds' and profile.find:
lbl, dashboard = (_(u"Finds"), models.Dashboard(Find,
slice=slicing,
fltr=fltr))