summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base/forms_common.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/ishtar_base/forms_common.py')
-rw-r--r--ishtar/ishtar_base/forms_common.py12
1 files changed, 12 insertions, 0 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])