diff --git a/app/corpora/forms.py b/app/corpora/forms.py index 7e1e98d8f626f37c1de9a09ef9b5fda559ed7bc8..8c2145952399678d1d353adb771b0e78de340ca8 100644 --- a/app/corpora/forms.py +++ b/app/corpora/forms.py @@ -16,7 +16,7 @@ class AddCorpusFileForm(FlaskForm): ''' # Required fields author = StringField('Author', validators=[InputRequired(), Length(min=1, max=255)]) - publishing_year = IntegerField('Publishing year', validators=[InputRequired(), Length(min=1, max=255)]) + publishing_year = IntegerField('Publishing year', validators=[InputRequired()]) title = StringField('Title', validators=[InputRequired(), Length(min=1, max=255)]) vrt = FileField('File', validators=[FileRequired()]) # Optional fields diff --git a/app/corpora/routes.py b/app/corpora/routes.py index 681789d9f3e05b711b7731a12ecd951d098fa007..44405e7d0f5ea3a22da5f91a48a0109b730e3ec4 100644 --- a/app/corpora/routes.py +++ b/app/corpora/routes.py @@ -195,7 +195,6 @@ def add_corpus_file(corpus_id): if not form.validate(): return make_response(form.errors, 400) # Save the file - filename = secure_filename(form.file.data.filename) corpus_file = CorpusFile( address=form.address.data, author=form.author.data, @@ -203,7 +202,7 @@ def add_corpus_file(corpus_id): chapter=form.chapter.data, corpus=corpus, editor=form.editor.data, - filename=filename, + filename=form.vrt.data.filename, institution=form.institution.data, journal=form.journal.data, mimetype='application/vrt+xml', @@ -217,7 +216,7 @@ def add_corpus_file(corpus_id): db.session.flush(objects=[corpus_file]) db.session.refresh(corpus_file) try: - form.file.data.save(corpus_file.path) + form.vrt.data.save(corpus_file.path) except OSError as e: current_app.logger.error(e) db.session.rollback() diff --git a/app/templates/corpora/add_corpus_file.html.j2 b/app/templates/corpora/add_corpus_file.html.j2 index 034fb5c2107e32b7e03c03a1becd41ac3a0ffba0..725ee0cbd949d72956a313b61524c81684a59211 100644 --- a/app/templates/corpora/add_corpus_file.html.j2 +++ b/app/templates/corpora/add_corpus_file.html.j2 @@ -46,7 +46,7 @@ <div class="collapsible-header"><i class="material-icons">add</i>Add additional metadata</div> <div class="collapsible-body"> {% for field in form - if field.short_name not in ['author', 'csrf_token', 'file', 'publishing_year', 'submit', 'title'] %} + if field.short_name not in ['author', 'csrf_token', 'vrt', 'publishing_year', 'submit', 'title'] %} {{ wtf.render_field(field, material_icon=field.label.text[0:1]) }} {% endfor %} </div>