Skip to content
Snippets Groups Projects

Sazba diplomů

1 file
+ 8
5
Compare changes
  • Side-by-side
  • Inline
+ 8
5
@@ -18,11 +18,11 @@ import wtforms
import mo
import mo.db as db
import mo.email
import mo.jobs.certs
from mo.jobs.certs import schedule_create_certs, DesignParams
from mo.rights import Right
import mo.submit
import mo.util
from mo.util import logger
from mo.util import logger, merge_objects
from mo.web import app
from mo.web.org_contest import get_context
import mo.web.fields as mo_fields
@@ -125,13 +125,14 @@ def org_certificates(ct_id: int):
new_cset = True
cset = db.CertSet(
contest_id=ct_id,
issue_date=mo.now.strftime('%d. %B %Y'),
)
dparams = DesignParams(issue_date=mo.now.strftime('%d. %B %Y'))
else:
new_cset = False
dparams = DesignParams.from_json(cset.design_params)
if can_change:
form = CertSetForm(obj=cset)
form = CertSetForm(obj=merge_objects(cset, dparams))
form.tex_hacks.description = Markup("Speciální nastavení sazby diplomů (viz <a href='" + url_for('doc_admin') + "'>návod</a>)")
if not ctx.rights.have_right(Right.edit_tex_hacks):
del form.tex_hacks
@@ -156,6 +157,8 @@ def org_certificates(ct_id: int):
return redirect(ctx.url_for('org_certificates'))
elif form.generate.data or form.save.data:
form.populate_obj(cset)
form.populate_obj(dparams)
cset.design_params = dparams.to_json()
if form.upload_background.data:
old_background = cset.background_file
out_dir = os.path.join(ctx.master_round.round_code_short(), str(contest.contest_id))
@@ -197,7 +200,7 @@ def org_certificates(ct_id: int):
if cset.job is not None and cset.job.is_active():
flash('Počkejte, až doběhne předchozí dávka na tvorbu diplomů.', 'danger')
else:
cset.job_id = mo.jobs.certs.schedule_create_certs(contest, g.user)
cset.job_id = schedule_create_certs(contest, g.user)
sess.commit()
return redirect(url_for('org_job_wait', id=cset.job_id, back=ctx.url_for('org_certificates')))
else:
Loading