Added handling of tags: "mat", "didask_tekst", "slowo_obce", "tytul_dziela", "wyrozni...
[wolnelektury.git] / catalogue / forms.py
index b383f99..279ec71 100644 (file)
@@ -1,27 +1,38 @@
 # -*- coding: utf-8 -*-
 from django import forms
 # -*- coding: utf-8 -*-
 from django import forms
+from slughifi import slughifi
 
 from catalogue.models import Tag
 from catalogue.fields import JQueryAutoCompleteField
 
 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})
 
 
 class SearchForm(forms.Form):
     q = JQueryAutoCompleteField('/katalog/tags/', {'minChars': 2, 'selectFirst': True, 'cacheLength': 50})
-
+    tags = forms.CharField(widget=forms.HiddenInput, required=False)
+    
     def __init__(self, *args, **kwargs):
     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'
         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):
+    def __init__(self, book, user, *args, **kwargs):
+        super(UserSetsForm, self).__init__(*args, **kwargs)
+        self.fields['set_ids'] = forms.ChoiceField(
+            choices=[(tag.id, tag.name) for tag in Tag.objects.filter(category='set', user=user)],
+        )
 
 
 
 
-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(
         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)],
             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
         )
         
             widget=forms.CheckboxSelectMultiple
         )