mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-11 16:40:40 +00:00
Simplify code for editing models via forms
This commit is contained in:
@ -47,20 +47,7 @@ class CreateCorpusFileForm(CorpusFileBaseForm):
|
||||
|
||||
|
||||
class EditCorpusFileForm(CorpusFileBaseForm):
|
||||
def prefill(self, corpus_file):
|
||||
''' Pre-fill the form with data of an exististing corpus file '''
|
||||
self.address.data = corpus_file.address
|
||||
self.author.data = corpus_file.author
|
||||
self.booktitle.data = corpus_file.booktitle
|
||||
self.chapter.data = corpus_file.chapter
|
||||
self.editor.data = corpus_file.editor
|
||||
self.institution.data = corpus_file.institution
|
||||
self.journal.data = corpus_file.journal
|
||||
self.pages.data = corpus_file.pages
|
||||
self.publisher.data = corpus_file.publisher
|
||||
self.publishing_year.data = corpus_file.publishing_year
|
||||
self.school.data = corpus_file.school
|
||||
self.title.data = corpus_file.title
|
||||
pass
|
||||
|
||||
|
||||
class ImportCorpusForm(FlaskForm):
|
||||
|
@ -176,52 +176,15 @@ def corpus_file(corpus_id, corpus_file_id):
|
||||
abort(404)
|
||||
if not (corpus_file.corpus.user == current_user or current_user.is_administrator()):
|
||||
abort(403)
|
||||
form = EditCorpusFileForm(prefix='edit-corpus-file-form')
|
||||
form = EditCorpusFileForm(obj=corpus_file, prefix='edit-corpus-file-form')
|
||||
if form.validate_on_submit():
|
||||
has_changes = False
|
||||
if corpus_file.address != form.address.data:
|
||||
corpus_file.address = form.address.data
|
||||
has_changes = True
|
||||
if corpus_file.author != form.author.data:
|
||||
corpus_file.author = form.author.data
|
||||
has_changes = True
|
||||
if corpus_file.booktitle != form.booktitle.data:
|
||||
corpus_file.booktitle = form.booktitle.data
|
||||
has_changes = True
|
||||
if corpus_file.chapter != form.chapter.data:
|
||||
corpus_file.chapter = form.chapter.data
|
||||
has_changes = True
|
||||
if corpus_file.editor != form.editor.data:
|
||||
corpus_file.editor = form.editor.data
|
||||
has_changes = True
|
||||
if corpus_file.institution != form.institution.data:
|
||||
corpus_file.institution = form.institution.data
|
||||
has_changes = True
|
||||
if corpus_file.journal != form.journal.data:
|
||||
corpus_file.journal = form.journal.data
|
||||
has_changes = True
|
||||
if corpus_file.pages != form.pages.data:
|
||||
corpus_file.pages = form.pages.data
|
||||
has_changes = True
|
||||
if corpus_file.publisher != form.publisher.data:
|
||||
corpus_file.publisher = form.publisher.data
|
||||
has_changes = True
|
||||
if corpus_file.publishing_year != form.publishing_year.data:
|
||||
corpus_file.publishing_year = form.publishing_year.data
|
||||
has_changes = True
|
||||
if corpus_file.school != form.school.data:
|
||||
corpus_file.school = form.school.data
|
||||
has_changes = True
|
||||
if corpus_file.title != form.title.data:
|
||||
corpus_file.title = form.title.data
|
||||
has_changes = True
|
||||
if has_changes:
|
||||
form.populate_obj(corpus_file)
|
||||
if db.session.is_modified(corpus_file):
|
||||
corpus_file.corpus.status = CorpusStatus.UNPREPARED
|
||||
db.session.commit()
|
||||
message = Markup(f'Corpus file "<a href="{corpus_file.url}">{corpus_file.filename}</a>" updated')
|
||||
flash(message, category='corpus')
|
||||
db.session.commit()
|
||||
message = Markup(f'Corpus file "<a href="{corpus_file.url}">{corpus_file.filename}</a>" updated')
|
||||
flash(message, category='corpus')
|
||||
return redirect(corpus_file.corpus.url)
|
||||
form.prefill(corpus_file)
|
||||
return render_template(
|
||||
'corpora/corpus_file.html.j2',
|
||||
corpus=corpus_file.corpus,
|
||||
|
Reference in New Issue
Block a user