diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2014-03-03 10:38:19 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2014-03-03 10:38:19 +0100 |
commit | 34e81ba6f71bafab58088a762cd1bc5f5f5886bd (patch) | |
tree | 696e1a59d87f930e1f4c48eaf23264e8f9c0cc97 /archaeological_operations/wizards.py | |
parent | 9906fda1420161c55a832d37f67d9b973e175eb1 (diff) | |
download | Ishtar-34e81ba6f71bafab58088a762cd1bc5f5f5886bd.tar.bz2 Ishtar-34e81ba6f71bafab58088a762cd1bc5f5f5886bd.zip |
Fix archaeological file creation (refs #1687)
Diffstat (limited to 'archaeological_operations/wizards.py')
-rw-r--r-- | archaeological_operations/wizards.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py index cacc44da1..ed568a943 100644 --- a/archaeological_operations/wizards.py +++ b/archaeological_operations/wizards.py @@ -31,6 +31,10 @@ from ishtar_common.wizards import Wizard, ClosingWizard, DeletionWizard, \ import models from forms import ParcelForm, GenerateDocForm +FILES_AVAILABLE = 'archaeological_files' in settings.INSTALLED_APPS +if FILES_AVAILABLE: + from archaeological_files.models import File + class OperationWizard(Wizard): model = models.Operation object_parcel_type = 'operation' @@ -49,6 +53,8 @@ class OperationWizard(Wizard): return templates def get_current_file(self): + if not FILES_AVAILABLE: + return step = self.steps.current if not step: return @@ -56,7 +62,7 @@ class OperationWizard(Wizard): try: idx = int(self.session_get_value(main_form_key, 'associated_file')) - current_file = models.File.objects.get(pk=idx) + current_file = File.objects.get(pk=idx) return current_file except(TypeError, ValueError, ObjectDoesNotExist): pass @@ -86,11 +92,13 @@ class OperationWizard(Wizard): Obtention des villes disponibles """ general_form_key = 'general-' + self.url_name + if FILES_AVAILABLE: + return -1 towns = [] file_id = self.session_get_value(general_form_key, "associated_file") if file_id: try: - for town in models.File.objects.get(pk=int(file_id) + for town in File.objects.get(pk=int(file_id) ).towns.all(): towns.append((town.pk, unicode(town))) except (ValueError, ObjectDoesNotExist): @@ -102,7 +110,7 @@ class OperationWizard(Wizard): def get_available_parcels(self, file_id): parcels = [] try: - for parcel in models.File.objects.get(pk=int(file_id) + for parcel in File.objects.get(pk=int(file_id) ).parcels.all(): parcels.append((parcel.pk, parcel.short_label)) except (ValueError, ObjectDoesNotExist): @@ -304,7 +312,7 @@ class OperationAdministrativeActWizard(OperationWizard): associated_item = self.get_associated_item(dct) if not associated_item: return self.render(form_list[-1]) - if isinstance(associated_item, models.File): + if isinstance(associated_item, File): dct['associated_file'] = associated_item elif isinstance(associated_item, models.Operation): dct['operation'] = associated_item |