def publisher_edit(publisher_id=None): p = Publisher.pull(publisher_id) form = PublisherLicenseForm(request.form, p) if request.method == 'POST' and form.validate(): if not p: p = Publisher() p.publisher_name = form.publisher_name.data p.journal_urls = form.journal_urls.data p.licenses = form.licenses.data for l in p.licenses: new_ls = LicenseStatement(**l) new_ls.save() p.save() return redirect(url_for('.publisher_edit', publisher_id=p.id)) return render_template('publisher.html', form=form)
def statement_edit(statement_id=None): ls = LicenseStatement.pull(statement_id) form = LicenseForm(request.form, ls) if request.method == "POST" and form.validate(): if not ls: ls = LicenseStatement() ls.license_statement = form.license_statement.data ls.license_type = form.license_type.data if form.version.data: ls.version = form.version.data if form.example_doi.data: ls.example_doi = form.example_doi.data ls.save() sleep(1.5) # ugly hack, make sure statement is saved before showing to user return redirect(url_for(".list_statements", _anchor=ls.edit_id)) return render_template("statement.html", form=form)