--- a/src/p4l/forms.py Wed Aug 28 11:16:03 2013 +0200
+++ b/src/p4l/forms.py Wed Aug 28 13:36:31 2013 +0200
@@ -9,8 +9,10 @@
from django.contrib.auth.forms import (UserChangeForm as AuthUserChangeForm,
UserCreationForm as AuthUserCreationForm)
from django.core.exceptions import ValidationError
-from django.forms.fields import ChoiceField
+from django.forms import Form
+from django.forms.fields import ChoiceField, CharField
from django.utils.translation import ugettext as _
+from .models import Record
User = get_user_model()
@@ -34,3 +36,15 @@
language = ChoiceField(label=_("language"), choices=[(k,_(v)) for k,v in settings.LANGUAGES], initial=settings.LANGUAGE_CODE[:2])
class Meta:
model = User
+
+
+class RecordFilterForm(Form):
+ title = CharField(required=True, min_length=1)
+ def get_filter_qs(self, qs=None):
+ if qs is None:
+ qs = Record.objects.select_related("language").prefetch_related('titles') # @UndefinedVariable
+ t = self.cleaned_data.get('title',None)
+ if t:
+ qs = qs.filter(titles__title__icontains=t)
+ return qs
+