X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e0de41ae1e67c230ad1e67f34f6f4f76e53d7234..e4e3b8bd323e57df11b10e06e2a1fbf1b134ca54:/apps/catalogue/forms.py?ds=sidebyside diff --git a/apps/catalogue/forms.py b/apps/catalogue/forms.py index 076282bf4..fd751965a 100644 --- a/apps/catalogue/forms.py +++ b/apps/catalogue/forms.py @@ -14,19 +14,20 @@ from catalogue import utils class BookImportForm(forms.Form): book_xml_file = forms.FileField() - def save(self, commit=True): - return Book.from_xml_file(self.cleaned_data['book_xml_file'], overwrite=True) + def save(self, commit=True, **kwargs): + return Book.from_xml_file(self.cleaned_data['book_xml_file'], overwrite=True, **kwargs) class SearchForm(forms.Form): q = JQueryAutoCompleteField('/katalog/tags/', {'minChars': 2, 'selectFirst': True, 'cacheLength': 50, 'matchContains': "word"}) 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'] = _('title, author, theme/topic, epoch, kind, genre') - self.fields['tags'].initial = '/'.join(tag.slug for tag in Tag.get_tag_list(tags)) + #self.fields['q'].widget.attrs['style'] = '' + self.fields['tags'].initial = '/'.join(tag.url_chunk for tag in Tag.get_tag_list(tags)) class UserSetsForm(forms.Form): @@ -38,29 +39,29 @@ class UserSetsForm(forms.Form): class ObjectSetsForm(forms.Form): - def __init__(self, obj, user, *args, **kwargs): + def __init__(self, obj, user, *args, **kwargs): super(ObjectSetsForm, self).__init__(*args, **kwargs) self.fields['set_ids'] = forms.MultipleChoiceField( label=_('Shelves'), required=False, - choices=[(tag.id, "%s (%s)" % (tag.name, tag.book_count)) for tag in Tag.objects.filter(category='set', user=user)], + choices=[(tag.id, "%s (%s)" % (tag.name, tag.get_count())) for tag in Tag.objects.filter(category='set', user=user)], initial=[tag.id for tag in obj.tags.filter(category='set', user=user)], widget=forms.CheckboxSelectMultiple ) - + class NewSetForm(forms.Form): name = forms.CharField(max_length=50, required=True) - + def __init__(self, *args, **kwargs): super(NewSetForm, self).__init__(*args, **kwargs) self.fields['name'].widget.attrs['title'] = _('Name of the new shelf') - + def save(self, user, commit=True): name = self.cleaned_data['name'] - new_set = Tag(name=name, slug=utils.get_random_hash(name), sort_key=slughifi(name), + new_set = Tag(name=name, slug=utils.get_random_hash(name), sort_key=name.lower(), category='set', user=user) - + new_set.save() return new_set @@ -71,12 +72,14 @@ FORMATS = ( ('pdf', 'PDF'), ('odt', 'ODT'), ('txt', 'TXT'), + ('epub', 'EPUB'), + ('daisy', 'DAISY'), ) class DownloadFormatsForm(forms.Form): formats = forms.MultipleChoiceField(required=False, choices=FORMATS, widget=forms.CheckboxSelectMultiple) - + def __init__(self, *args, **kwargs): super(DownloadFormatsForm, self).__init__(*args, **kwargs)