Added foreign key to parent book on Book model.
[wolnelektury.git] / catalogue / forms.py
index 7472eb4..279ec71 100644 (file)
@@ -1,18 +1,20 @@
 # -*- coding: utf-8 -*-
 from django import forms
+from slughifi import slughifi
 
 from catalogue.models import Tag
 from catalogue.fields import JQueryAutoCompleteField
-from catalogue.lib.slughifi import slughifi
 
 
 class SearchForm(forms.Form):
     q = JQueryAutoCompleteField('/katalog/tags/', {'minChars': 2, 'selectFirst': True, 'cacheLength': 50})
-    tags = forms.CharField(widget=forms.HiddenInput)
+    tags = forms.CharField(widget=forms.HiddenInput, required=False)
     
     def __init__(self, *args, **kwargs):
+        tags = kwargs.pop('tags', [])
         super(SearchForm, self).__init__(*args, **kwargs)
         self.fields['q'].widget.attrs['title'] = u'tytuł utworu, motyw lub kategoria'
+        self.fields['tags'].initial = '/'.join(tag.slug for tag in Tag.get_tag_list(tags))
 
 
 class UserSetsForm(forms.Form):
@@ -23,14 +25,14 @@ class UserSetsForm(forms.Form):
         )
 
 
-class BookSetsForm(forms.Form):
-    def __init__(self, book, user, *args, **kwargs):        
-        super(BookSetsForm, self).__init__(*args, **kwargs)
+class ObjectSetsForm(forms.Form):
+    def __init__(self, obj, user, *args, **kwargs):        
+        super(ObjectSetsForm, self).__init__(*args, **kwargs)
         self.fields['set_ids'] = forms.MultipleChoiceField(
-            label=u'Zestawy',
+            label=u'Półki',
             required=False,
             choices=[(tag.id, tag.name) for tag in Tag.objects.filter(category='set', user=user)],
-            initial=[tag.id for tag in book.tags.filter(category='set', user=user)],
+            initial=[tag.id for tag in obj.tags.filter(category='set', user=user)],
             widget=forms.CheckboxSelectMultiple
         )