X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/032889045439986dc8506267cbb68643473970ff..7f246737dbb0697581d59e4ed673f516b4f90240:/apps/catalogue/forms.py diff --git a/apps/catalogue/forms.py b/apps/catalogue/forms.py index 60a99cdf8..fd751965a 100644 --- a/apps/catalogue/forms.py +++ b/apps/catalogue/forms.py @@ -14,20 +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['q'].widget.attrs['style'] = 'float: left; width: 200px; border: medium none; height: 15px; margin-top: 2px;' - 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): @@ -39,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 @@ -73,12 +73,13 @@ FORMATS = ( ('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)