From b63bc9f9f493c60d50ebc00ebc21dac6d2eb663c Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sun, 30 Jan 2011 20:03:29 +0100 Subject: Filter of administrative act for operations and archaelogical files (closes #150) --- ishtar/furnitures/forms.py | 15 ++++++++++----- ishtar/furnitures/models.py | 5 +++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index 41c6de439..abf76d781 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -1023,7 +1023,7 @@ class FileAdministrativeActWizard(FileWizard): class AdministrativeActForm(forms.Form): form_label = _("Administrative act") act_type = forms.ChoiceField(label=_("Act type"), - choices=models.ActType.get_types()) + choices=models.ActType.get_types(dct={'intented_to':'F'})) signatory = forms.IntegerField(label=_("Signatory"), widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person'), associated_model=models.Person), @@ -1314,8 +1314,13 @@ operation_deletion_wizard = OperationDeletionWizard([ class OperationAdministrativeActWizard(FileAdministrativeActWizard): model = models.Operation +class OpeAdministrativeActForm(AdministrativeActForm): + form_label = _("Administrative act") + 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', AdministrativeActForm), - ('final-operation_administrativeact', FinalForm)], - url_name='operation_administrativeact',) + ('selec-operation_administrativeact', OperationFormSelection), + ('administrativeact-operation_administrativeact', OpeAdministrativeActForm), + ('final-operation_administrativeact', FinalForm)], + url_name='operation_administrativeact',) diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py index ffca27df0..4572d3510 100644 --- a/ishtar/furnitures/models.py +++ b/ishtar/furnitures/models.py @@ -118,9 +118,10 @@ class GeneralType(models.Model): return self.label @classmethod - def get_types(cls): + def get_types(cls, dct={}): + dct['available'] = True yield ('', '--') - for item in cls.objects.filter(available=True).all(): + for item in cls.objects.filter(**dct).all(): yield (item.id, _(item.label)) class BaseHistorizedItem(models.Model): -- cgit v1.2.3