diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 39 |
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)) |