X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/74dca79d402e43baaa69b760698429f223f98e3c..ada0c32d0b9ce1f12c5c026b4825bbfd9891ba45:/apps/explorer/forms.py diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py index e648aa5f..af1534e9 100644 --- a/apps/explorer/forms.py +++ b/apps/explorer/forms.py @@ -3,13 +3,16 @@ from django import forms from lxml import etree from librarian import dcparser + from explorer import models class BookForm(forms.Form): - text = forms.CharField(widget=forms.Textarea) - commit_message = forms.CharField() - user = forms.CharField() + content = forms.CharField(widget=forms.Textarea) + commit_message = forms.CharField(required=False) + +class BookUploadForm(forms.Form): + file = forms.FileField() class ImageFoldersForm(forms.Form): folders = forms.ChoiceField(required=False) @@ -38,6 +41,8 @@ class DublinCoreForm(forms.Form): license = forms.CharField(required=False) license_description = forms.CharField(widget=forms.Textarea, required=False) + commit_message = forms.CharField(required=False) + def __init__(self, *args, **kwargs): text = None if 'text' in kwargs: @@ -48,20 +53,4 @@ class DublinCoreForm(forms.Form): if text is not None: book_info = dcparser.BookInfo.from_string(text) for name, value in book_info.to_dict().items(): - self.fields[name].initial = value - - def save(self, repository, path): - file_contents = repository.get_file(path).data() - doc = etree.fromstring(file_contents) - - book_info = dcparser.BookInfo() - for name, value in self.cleaned_data.items(): - if value is not None and value != '': - setattr(book_info, name, value) - rdf = etree.XML(book_info.to_xml()) - - old_rdf = doc.getroottree().find('//{http://www.w3.org/1999/02/22-rdf-syntax-ns#}RDF') - old_rdf.getparent().remove(old_rdf) - doc.insert(0, rdf) - repository.add_file(path, unicode(etree.tostring(doc), 'utf-8')) - + self.fields[name].initial = value \ No newline at end of file