summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-02-11 16:23:17 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-02-11 16:23:17 +0100
commite33edf08f9310a0cfe9841a5db8ee7ab35a1190e (patch)
tree2a3c3b1f5e726e2cab5b7332ef5251a92098c3f5 /ishtar/furnitures/forms.py
parentb68a5c24fa8e590255fb64fd649b506ce59ff2c9 (diff)
downloadIshtar-e33edf08f9310a0cfe9841a5db8ee7ab35a1190e.tar.bz2
Ishtar-e33edf08f9310a0cfe9841a5db8ee7ab35a1190e.zip
Modification of operation's admin act (refs #141)
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r--ishtar/furnitures/forms.py52
1 files changed, 42 insertions, 10 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index 1e23c9877..672f2e67a 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -1018,7 +1018,7 @@ file_closing_wizard = FileWizard([
class FileAdministrativeActWizard(FileWizard):
edit = False
- def get_associated_file(self, request, storage, dct):
+ def get_associated_item(self, request, storage, dct):
return self.get_current_object(request, storage)
def done(self, request, storage, form_list, **kwargs):
@@ -1039,19 +1039,22 @@ class FileAdministrativeActWizard(FileWizard):
if key in associated_models and value:
value = associated_models[key].objects.get(pk=value)
dct[key] = value
- associated_file = self.get_associated_file(request, storage, dct)
- if not associated_file:
+ associated_item = self.get_associated_item(request, storage, dct)
+ if not associated_item:
return self.render(request, storage, form)
- dct['associated_file'] = associated_file
+ if isinstance(associated_item, models.File):
+ dct['associated_file'] = associated_item
+ elif isinstance(associated_item, models.Operation):
+ dct['operation'] = associated_item
dct['history_modifier'] = request.user
if self.edit:
admact = self.get_current_object(request, storage)
for k in dct:
if hasattr(admact, k):
setattr(admact, k, dct[k])
- admact.save()
else:
admact = models.AdministrativeAct(**dct)
+ admact.save()
res = render_to_response('wizard_done.html', {},
context_instance=RequestContext(request))
return res
@@ -1059,11 +1062,11 @@ class FileAdministrativeActWizard(FileWizard):
class FileEditAdministrativeActWizard(FileAdministrativeActWizard):
model = models.AdministrativeAct
edit = True
- def get_associated_file(self, request, storage, dct):
+ def get_associated_item(self, request, storage, dct):
return self.get_current_object(request, storage).associated_file
class AdministrativeActForm(forms.Form):
- form_label = _("Administrative act")
+ form_label = _("General")
associated_models = {'act_type':models.ActType,
'signatory':models.Person}
act_type = forms.ChoiceField(label=_("Act type"),
@@ -1510,13 +1513,42 @@ operation_deletion_wizard = OperationDeletionWizard([
class OperationAdministrativeActWizard(FileAdministrativeActWizard):
model = models.Operation
-class OpeAdministrativeActForm(AdministrativeActForm):
- form_label = _("Administrative act")
+class OperationEditAdministrativeActWizard(FileAdministrativeActWizard):
+ model = models.AdministrativeAct
+ edit = True
+ def get_associated_item(self, request, storage, dct):
+ return self.get_current_object(request, storage).operation
+
+class AdministrativeActOpeSelect(forms.Form):
+ operation__towns = forms.IntegerField(label=_(u"Town"),
+ widget=widgets.JQueryAutoComplete("/" + settings.URL_PATH + \
+ 'autocomplete-town', associated_model=models.Town),
+ validators=[models.valid_id(models.Town)])
+ act_type = forms.ChoiceField(label=_("Act type"),
+ choices=models.ActType.get_types(dct={'intented_to':'O'}))
+
+class AdministrativeActOpeFormSelection(AdministrativeActFileFormSelection):
+ pk = forms.IntegerField(label="", required=False,
+ widget=widgets.JQueryJqGrid(reverse_lazy('get-administrativeact'),
+ AdministrativeActOpeSelect(), models.AdministrativeAct),
+ validators=[models.valid_id(models.AdministrativeAct)])
+
+class AdministrativeActOpeForm(AdministrativeActForm):
+ form_label = _("General")
act_type = forms.ChoiceField(label=_("Act type"),
choices=models.ActType.get_types(dct={'intented_to':'O'}))
operation_administrativeact_wizard = OperationAdministrativeActWizard([
('selec-operation_administrativeact', OperationFormSelection),
- ('administrativeact-operation_administrativeact', OpeAdministrativeActForm),
+ ('administrativeact-operation_administrativeact', AdministrativeActOpeForm),
('final-operation_administrativeact', FinalForm)],
url_name='operation_administrativeact',)
+
+operation_administrativeact_modification_wizard = \
+ OperationEditAdministrativeActWizard([
+ ('selec-operation_administrativeact_modification',
+ AdministrativeActOpeFormSelection),
+ ('administrativeact-operation_administrativeact_modification',
+ AdministrativeActOpeForm),
+ ('final-operation_administrativeact_modification', FinalForm)],
+ url_name='operation_administrativeact_modification',)