diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-03-13 00:40:21 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-03-13 00:40:21 +0100 |
commit | b7dccf3cbd2e60e52ff78a6c5b6f246a83aa1c4f (patch) | |
tree | 0cf077bc261194fb5d2b132057c94f11fba35e46 | |
parent | c85dc1dc35ef0c23e430cc8e830a801a7341bd9e (diff) | |
download | Ishtar-b7dccf3cbd2e60e52ff78a6c5b6f246a83aa1c4f.tar.bz2 Ishtar-b7dccf3cbd2e60e52ff78a6c5b6f246a83aa1c4f.zip |
Add and manage of parcels for operation (closes #274)
-rw-r--r-- | ishtar/furnitures/forms.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index ba3ba826b..780419593 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -650,6 +650,7 @@ account_management_wizard = AccountWizard([ class FileWizard(Wizard): model = models.File + object_parcel_type = 'associated_file' def get_form(self, request, storage, step=None, data=None, files=None): """ @@ -710,8 +711,8 @@ class FileWizard(Wizard): dct['town'] = models.Town.objects.get(pk=int(dct['town'])) except (ValueError, ObjectDoesNotExist): continue - dct['associated_file'] = obj - dct['operation'] = None + dct['associated_file'], dct['operation'] = None, None + dct[self.object_parcel_type] = obj if 'DELETE' in dct: dct.pop('DELETE') parcel = models.Parcel.objects.filter(**dct).count() @@ -1144,14 +1145,16 @@ file_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([ FinalAdministrativeActDeleteForm)], url_name='file_administrativeact_deletion',) -class OperationWizard(Wizard): +class OperationWizard(FileWizard): model = models.Operation + object_parcel_type = 'operation' def process_post_request(self, request, storage, *args, **kwargs): """ Change the town (and parcel) form to a free selection town's (parcel's) form if no archaelogical file is provided """ + #!TODO manage with condition list file_key = 'general-' + self.url_name + '-associated_file' if file_key in request.POST.keys(): town_form_key = 'towns-' + self.url_name @@ -1231,6 +1234,10 @@ class OperationWizard(Wizard): data, files) return form + def get_extra_model(self, dct, request, storage, form_list): + dct['history_modifier'] = request.user + return dct + def get_form_initial(self, request, storage, step): initial = super(OperationWizard, self).get_form_initial(request, storage, step) |