diff options
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r-- | archaeological_finds/views.py | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 084f15d13..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 @@ -58,6 +58,7 @@ get_find_for_treatment = get_item( own_table_cols=models.Find.TABLE_COLS_FOR_OPE, base_request={}) show_treatment = show_item(models.Treatment, 'treatment') +revert_treatment = revert_item(models.Treatment) get_treatment = get_item(models.Treatment, 'get_treatment', 'treatment') get_administrativeacttreatment = get_item( @@ -66,6 +67,7 @@ get_administrativeacttreatment = get_item( base_request={"treatment__pk__isnull": False}) show_treatmentfile = show_item(models.TreatmentFile, 'treatmentfile') +revert_treatmentfile = revert_item(models.TreatmentFile) get_treatmentfile = get_item(models.TreatmentFile, 'get_treatmentfile', 'treatmentfile') @@ -108,10 +110,21 @@ show_findsource = show_item(models.FindSource, 'findsource') get_findsource = get_item(models.FindSource, 'get_findsource', 'findsource') show_find = show_item(models.Find, 'find') -display_find = display_item(models.Find, 'find') +display_find = display_item(models.Find) revert_find = revert_item(models.Find) 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), @@ -125,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',) @@ -148,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',) @@ -252,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}) |