Source code for pagetools.search.forms

from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit
from django import forms
from django.utils.translation import gettext_lazy as _

from pagetools.utils import get_classname

from . import search_mods


[docs]class AdvSearchForm(forms.Form): contains_all = forms.CharField(label=_("contains all"), required=False) contains_any = forms.CharField(label=_("contains any"), required=False) contains_exact = forms.CharField(label=_("contains exact"), required=False) contains_not = forms.CharField(label=_("contains not"), required=False) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_method = "get" self.helper.add_input(Submit("submit", "Submit")) _models = [] for mod in search_mods: key, _val = mod[:2] _models.append(key) choices = [("%s" % i, get_classname(k)) for i, k in enumerate(_models)] self.fields["models"] = forms.MultipleChoiceField(choices=choices, required=False)