diff options
Diffstat (limited to 'archaeological_finds/views.py')
| -rw-r--r-- | archaeological_finds/views.py | 26 | 
1 files changed, 24 insertions, 2 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index d6924257f..ceb00d432 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -187,10 +187,25 @@ find_search_wizard = FindSearch.as_view([      condition_dict=find_search_condition_dict  ) + +def has_many_base_find(wizard): +    find = wizard.get_current_object() +    if not find: +        return False +    return find.base_finds.count() > 1 + + +def has_only_one_base_find(wizard): +    return not has_many_base_find(wizard) + +  find_modification_condition_dict = {      'selec-find_modification': check_not_warehouse_module,      'selecw-find_modification': check_warehouse_module,      'preservation-find_modification': check_preservation_module, +    'selecrecord-find_modification': has_only_one_base_find, +    'find-find_modification': has_only_one_base_find, +    'simplefind-find_modification': has_many_base_find,  }  find_modification_steps = [ @@ -198,6 +213,7 @@ find_modification_steps = [      ('selecw-find_modification', FindFormSelectionWarehouseModule),      ('selecrecord-find_modification', RecordFormSelection),      ('find-find_modification', FindForm), +    ('simplefind-find_modification', SimpleFindForm),      ('preservation-find_modification', PreservationForm),      ('dating-find_modification', DatingFormSet),      ('final-find_modification', FinalForm) @@ -218,9 +234,15 @@ def find_modify(request, pk):          key = 'selecw-find_modification'      FindModificationWizard.session_set_value(          request, key, 'pk', pk, reset=True) +    q = models.Find.objects.filter(pk=pk) +    if not q.count(): +        raise Http404() +    step = 'find-find_modification' +    find = q.all()[0] +    if find.base_finds.count() > 1: +        step = 'simplefind-find_modification'      return redirect( -        reverse('find_modification', -                kwargs={'step': 'selecrecord-find_modification'})) +        reverse('find_modification', kwargs={'step': step}))  find_deletion_condition_dict = {      'selec-find_deletion': check_not_warehouse_module,  | 
