diff options
Diffstat (limited to 'ishtar/ishtar_base/forms_common.py')
-rw-r--r-- | ishtar/ishtar_base/forms_common.py | 12 |
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]) |