summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar/ishtar_base/forms_common.py12
-rw-r--r--ishtar/ishtar_base/forms_files.py5
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=[])