diff options
Diffstat (limited to 'archaeological_finds/views.py')
| -rw-r--r-- | archaeological_finds/views.py | 42 | 
1 files changed, 38 insertions, 4 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 0b9cb8952..03094cbb0 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -28,7 +28,7 @@ from django.utils.translation import ugettext_lazy as _  from django.views.generic import TemplateView  from django.views.generic.edit import CreateView, FormView -from ishtar_common.models import IshtarUser +from ishtar_common.models import IshtarUser, get_current_profile  from archaeological_operations.models import AdministrativeAct  from ishtar_common.forms import FinalForm @@ -117,6 +117,15 @@ show_findbasket = show_item(models.FindBasket, 'findbasket')  display_findbasket = display_item(models.FindBasket,                                    show_url='show-find/basket-') + +def check_warehouse_module(self): +    return get_current_profile().warehouse + + +def check_not_warehouse_module(self): +    return not check_warehouse_module(self) + +  find_creation_steps = [      ('selecrecord-find_creation', RecordFormSelectionTable),      ('find-find_creation', FindForm), @@ -129,17 +138,32 @@ find_creation_wizard = FindWizard.as_view(      label=_(u"New find"),      url_name='find_creation',) +find_search_condition_dict = { +    'general-find_search': check_not_warehouse_module, +    'generalwarehouse-find_search': check_warehouse_module, +} +  find_search_wizard = SearchWizard.as_view([ -    ('general-find_search', FindFormSelection)], +    ('general-find_search', FindFormSelection), +    ('generalwarehouse-find_search', FindFormSelectionWarehouseModule)],      label=_(u"Find search"), -    url_name='find_search',) +    url_name='find_search', +    condition_dict=find_search_condition_dict +) + +find_modification_condition_dict = { +    'selec-find_modification': check_not_warehouse_module, +    'selecw-find_modification': check_warehouse_module, +}  find_modification_wizard = FindModificationWizard.as_view([      ('selec-find_modification', FindFormSelection), +    ('selecw-find_modification', FindFormSelectionWarehouseModule),      ('selecrecord-find_modification', RecordFormSelection),      ('find-find_modification', FindForm),      ('dating-find_modification', DatingFormSet),      ('final-find_modification', FinalForm)], +    condition_dict=find_modification_condition_dict,      label=_(u"Find modification"),      url_name='find_modification',) @@ -152,9 +176,16 @@ def find_modify(request, pk):          reverse('find_modification',                  kwargs={'step': 'selecrecord-find_modification'})) +find_deletion_condition_dict = { +    'selec-find_deletion': check_not_warehouse_module, +    'selecw-find_deletion': check_warehouse_module, +} +  find_deletion_wizard = FindDeletionWizard.as_view([      ('selec-find_deletion', FindFormSelection), +    ('selecw-find_deletion', FindFormSelectionWarehouseModule),      ('final-find_deletion', FindDeletionForm)], +    condition_dict=find_deletion_condition_dict,      label=_(u"Find deletion"),      url_name='find_deletion',) @@ -256,7 +287,10 @@ class SelectItemsInBasket(IshtarMixin, LoginRequiredMixin, TemplateView):          except models.FindBasket.DoesNotExist:              raise PermissionDenied          context['basket'] = self.basket -        context['form'] = MultipleFindFormSelection() +        if get_current_profile().warehouse: +            context['form'] = MultipleFindFormSelectionWarehouseModule() +        else: +            context['form'] = MultipleFindFormSelection()          context['add_url'] = reverse('add_iteminbasket')          context['list_url'] = reverse('list_iteminbasket',                                        kwargs={'pk': self.basket.pk})  | 
