diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index d20b8b2af..889bd3893 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -50,6 +50,8 @@ if settings.XHTML2ODT_PATH: from menus import menu +from archaeological_operations.forms import DashboardForm as DashboardFormOpe + from ishtar_common.forms import FinalForm, FinalDeleteForm from ishtar_common import forms_common as forms from ishtar_common import wizards @@ -720,6 +722,8 @@ if 'archaeological_files' in settings.INSTALLED_APPS: from archaeological_files.forms import DashboardForm as DashboardFormFile DASHBOARD_FORMS['files'] = DashboardFormFile +DASHBOARD_FORMS['operations'] = DashboardFormOpe + def dashboard_main_detail(request, item_name): """ Specific tab of the main dashboard @@ -730,7 +734,11 @@ def dashboard_main_detail(request, item_name): 'ishtar/dashboards/dashboard_main_detail_users.html', dct, context_instance=RequestContext(request)) form = None - slicing, date_source, fltr = 'year', None, {} + slicing, date_source, fltr, show_detail = 'year', None, {}, False + if (item_name == 'files' and \ + 'archaeological_files' in settings.INSTALLED_APPS) \ + or item_name == 'operations': + slicing = 'month' if item_name in DASHBOARD_FORMS: if request.method == 'POST': form = DASHBOARD_FORMS[item_name](request.POST) @@ -739,22 +747,28 @@ def dashboard_main_detail(request, item_name): fltr = form.get_filter() if hasattr(form, 'get_date_source'): date_source = form.get_date_source() + if hasattr(form, 'get_show_detail'): + show_detail = form.get_show_detail() else: form = DASHBOARD_FORMS[item_name]() lbl, dashboard = None, None - if item_name == 'files' and \ - 'archaeological_files' in settings.INSTALLED_APPS: - from archaeological_files.models import File - dashboard_kwargs = {'slice':slicing, 'fltr':fltr,} + if (item_name == 'files' and \ + 'archaeological_files' in settings.INSTALLED_APPS) \ + 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 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, - slice=slicing, fltr=fltr)) + 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 |