Skip to content
Snippets Groups Projects
Commit 5b7b328b authored by Martin Mareš's avatar Martin Mareš
Browse files

Na stránku účastnického účtu přidán upgrade na organizátora

parent 6e780581
No related branches found
No related tags found
1 merge request!97Import orgů
......@@ -266,6 +266,10 @@ class ResendInviteForm(FlaskForm):
flash('Tento uživatel už má účet aktivovaný.', 'danger')
class UpgradeToOrgForm(FlaskForm):
upgrade = SubmitField()
@app.route('/org/org/<int:id>/', methods=('GET', 'POST'))
def org_org(id: int):
sess = db.get_session()
......@@ -373,6 +377,19 @@ def org_user(id: int):
resend_invite_form.do(user)
return redirect(url_for('org_user', id=id))
upgrade_form: Optional[UpgradeToOrgForm] = None
if rr.can_edit_user:
upgrade_form = UpgradeToOrgForm()
if upgrade_form.upgrade.data and upgrade_form.validate_on_submit():
try:
mo.users.change_user_to_org(user, reason='web')
sess.commit()
flash('Účet změněn na organizátorský.', 'success')
return redirect(url_for('org_org', id=user.user_id))
except mo.CheckError as e:
flash(str(e), 'danger')
return redirect(url_for('org_user', id=user.user_id))
participants = sess.query(db.Participant).filter_by(user_id=user.user_id)
participations = (
sess.query(db.Participation, db.Contest, db.Round)
......@@ -390,6 +407,7 @@ def org_user(id: int):
can_incarnate=g.user.is_admin,
participants=participants, participations=participations,
resend_invite_form=resend_invite_form,
upgrade_form=upgrade_form,
)
......
......@@ -28,6 +28,14 @@
</button>
</form>
{% endif %}
{% if upgrade_form %}
<form method=POST class='btn-group' onsubmit='return confirm("Změnit účastnický účet na organizátorský?");'>
{{ upgrade_form.csrf_token }}
<button class="btn btn-default" type='submit' name='upgrade' value='yes'>
Změnit na organizátora
</button>
</form>
{% endif %}
{% if g.user.is_admin %}
<a class="btn btn-default" href="{{ log_url('user', user.user_id) }}">Historie</a>
{% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment