diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-05 16:22:54 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-05 16:22:54 +0200 |
commit | c8417bd7fcdfa86cd6da582009759a7d65891ee4 (patch) | |
tree | 2fe033461db71fe6839d3ea3f70410a29b3fba68 | |
parent | 9db2bb604880e4b568f14fd6b15d299654401d0b (diff) | |
download | Ishtar-c8417bd7fcdfa86cd6da582009759a7d65891ee4.tar.bz2 Ishtar-c8417bd7fcdfa86cd6da582009759a7d65891ee4.zip |
Search Archaelogical files by person in charge (closes #426)
-rw-r--r-- | ishtar/ishtar_base/forms_common.py | 12 | ||||
-rw-r--r-- | ishtar/ishtar_base/forms_files.py | 5 |
2 files changed, 16 insertions, 1 deletions
diff --git a/ishtar/ishtar_base/forms_common.py b/ishtar/ishtar_base/forms_common.py index dae692b05..41c91df6d 100644 --- a/ishtar/ishtar_base/forms_common.py +++ b/ishtar/ishtar_base/forms_common.py @@ -54,6 +54,18 @@ def get_town_field(label=_(u"Town"), required=True): validators=[models.valid_id(models.Town)], label=label, help_text=mark_safe(help_text), required=required) +def get_person_field(label=_(u"Person"), required=True, person_type=None): + # !FIXME hard_link, reverse_lazy doen't seem to work with formsets + widget = None + url = "/" + settings.URL_PATH + 'autocomplete-person' + if person_type: + if isinstance(person_type, unicode) or isinstance(person_type, str): + person_type = models.PersonType.objects.get(txt_idx=person_type) + url += u"/" + unicode(person_type.pk) + widget = widgets.JQueryAutoComplete(url, associated_model=models.Person) + return forms.IntegerField(widget=widget, label=label, required=required, + validators=[models.valid_id(models.Person)]) + class WarehouseForm(forms.Form): name = forms.CharField(label=_(u"Name"), max_length=40, validators=[name_validator]) diff --git a/ishtar/ishtar_base/forms_files.py b/ishtar/ishtar_base/forms_files.py index 9b45f0afc..22c052908 100644 --- a/ishtar/ishtar_base/forms_files.py +++ b/ishtar/ishtar_base/forms_files.py @@ -36,7 +36,8 @@ import models import widgets from forms import Wizard, FinalForm, FormSet, ClosingWizard, SearchWizard, \ formset_factory, get_now, reverse_lazy -from forms_common import TownFormSet, ParcelFormSet, get_town_field +from forms_common import TownFormSet, ParcelFormSet, \ + get_town_field, get_person_field from forms_operations import OperationAdministrativeActWizard, \ AdministrativeActOpeForm, AdministrativeActOpeFormSelection, \ AdministrativeActDeletionWizard, FinalAdministrativeActDeleteForm, is_preventive @@ -126,6 +127,8 @@ class FileWizard(Wizard): class FileSelect(forms.Form): towns = get_town_field() + in_charge = get_person_field(label=_(u"Person in charge"), + person_type='sra_agent') file_type = forms.ChoiceField(label=_("File type"), choices=models.FileType.get_types()) saisine_type = forms.ChoiceField(label=_("Saisine type"), choices=[]) |