Skip to content
Snippets Groups Projects
Commit db8231d3 authored by Jiří Kalvoda's avatar Jiří Kalvoda
Browse files

Reforma importů: Stránky importů

parent 62fefc82
No related branches found
No related tags found
1 merge request!97Import orgů
...@@ -439,6 +439,7 @@ def org_import_user(round_id: Optional[int] = None, hier_id: Optional[int] = Non ...@@ -439,6 +439,7 @@ def org_import_user(round_id: Optional[int] = None, hier_id: Optional[int] = Non
) )
return generic_import_page( return generic_import_page(
form, imp, ctx.url_home(), form, imp, ctx.url_home(),
template='org_users_import.html',
ctx=ctx, ctx=ctx,
contest=contest, contest=contest,
round=round, round=round,
...@@ -472,6 +473,7 @@ def org_import_org(round_id: Optional[int] = None, hier_id: Optional[int] = None ...@@ -472,6 +473,7 @@ def org_import_org(round_id: Optional[int] = None, hier_id: Optional[int] = None
) )
return generic_import_page( return generic_import_page(
form, imp, ctx.url_home(), form, imp, ctx.url_home(),
template='org_orgs_import.html',
ctx=ctx, ctx=ctx,
contest=contest, contest=contest,
round=round, round=round,
......
...@@ -592,10 +592,25 @@ def org_user_participant_edit(user_id: int, year: int): ...@@ -592,10 +592,25 @@ def org_user_participant_edit(user_id: int, year: int):
return render_template('org_user_participant_edit.html', user=user, year=year, form=form) return render_template('org_user_participant_edit.html', user=user, year=year, form=form)
class GlobalOrgsImportForm(ImportForm):
allow_change_user_to_org = wtforms.BooleanField("Povolit převádění účastníků na organizátory")
default_place = mo_fields.Place("Výchozí oblast")
default_cat = wtforms.StringField("Výchozí kategorie")
default_seq = wtforms.StringField("Výchozí kolo")
only_this_year = wtforms.BooleanField("Omezovat práva na aktuální ročník", default=True)
@app.route('/org/org/import', methods=('GET', 'POST')) @app.route('/org/org/import', methods=('GET', 'POST'))
def org_orgs_import(): def org_orgs_import():
form = ImportForm() form = GlobalOrgsImportForm()
imp = None imp = None
if form.validate_on_submit(): if form.validate_on_submit():
imp = GlobalOrgsImport(g.user) imp = GlobalOrgsImport(
return generic_import_page(form, imp, url_for('org_orgs_import')) g.user,
default_place=form.default_place.place,
default_cat=form.default_cat.data,
default_seq=form.default_seq.data,
year=mo.config.CURRENT_YEAR if form.only_this_year.data else None
)
return generic_import_page(form, imp, url_for('org_orgs_import'), template='org_global_orgs_import.html')
...@@ -4,11 +4,9 @@ ...@@ -4,11 +4,9 @@
{% block title %} {% block title %}
Import dat {% if contest or round %}do {% if contest %}soutěže {{ contest.place.name_locative() }}{% else %}kola {{ round.round_code() }}{% endif %}{% endif %} Import dat {% if contest or round %}do {% if contest %}soutěže {{ contest.place.name_locative() }}{% else %}kola {{ round.round_code() }}{% endif %}{% endif %}
{% endblock %} {% endblock %}
{% block breadcrumbs %}
{% if ctx %}{{ ctx.breadcrumbs(action="Import dat") }}{% else %}TODO{% endif %}
{% endblock %}
{% block body %} {% block body %}
{% block import_errs %}
{% if warnings %} {% if warnings %}
<h3>Varování při importu</h3> <h3>Varování při importu</h3>
...@@ -28,19 +26,24 @@ Import dat {% if contest or round %}do {% if contest %}soutěže {{ contest.plac ...@@ -28,19 +26,24 @@ Import dat {% if contest or round %}do {% if contest %}soutěže {{ contest.plac
{% endfor %} {% endfor %}
</div> </div>
{% endif %} {% endif %}
{% endblock %}
<p>Zde je možné importovat účastníky soutěže, dozor na soutěžních místech a opravovatele. {% block import_info %}{% endblock %}
Detaily fungování importu najdete v <a href='{{ url_for('doc_import') }}'>dokumentaci</a>.
{% if not contest %} {% block import_help %}
<p><em>Pozor, zde se importuje do více soutěží najednou, takže je nutné uvádět Detaily fungování importu najdete v <a href='{{ url_for('doc_import') }}'>dokumentaci</a>.
kód oblasti. Nechcete raději importovat do konkrétní oblasti?</em> {% endblock %}
{% endif %}
{% if default_place %} <form action="" method="post" class="form" enctype="multipart/form-data" role="form">
<p>Výchozí oblastí tohoto importu je: <a href='{{ url_for('org_place', id=default_place.place_id) }}'>{{ default_place.name }}</a>.</p> {{ form.csrf_token }}
{% endif %} {{ wtf.form_field(form.file) }}
{{ wtf.form_field(form.fmt) }}
{% block import_form %}{% endblock %}
<div class="btn-group">
{{ wtf.form_field(form.submit, class='btn btn-primary') }}
{{ wtf.form_field(form.get_template, class='btn btn-default') }}
</div>
</form>
{{ wtf.quick_form(form, form_type='simple', button_map={'submit': 'primary'}) }}
{% endblock %} {% endblock %}
{% extends "org_generic_import.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}
Import organizátorů
{% endblock %}
{% block import_info %}
Toto je obecný import organzátorů. Možná raději chcete importovat přímo do nějakého kola, soutěže nebo soutěžního místa pomocí tlačítka ze stránek soutěže.
{% endblock %}
{% block import_form %}
{{ wtf.form_field(form.default_place) }}
{{ wtf.form_field(form.default_cat) }}
{{ wtf.form_field(form.default_seq) }}
{{ wtf.form_field(form.only_this_year) }}
{% if imp.cnt_change_user_to_org %}
{{ wtf.form_field(form.allow_change_user_to_org) }}
{% endif %}
{% endblock %}
{% extends "org_generic_import.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}
Import organizátorů {% if contest or round %}do {% if contest %}soutěže {{ contest.place.name_locative() }}{% else %}kola {{ round.round_code() }}{% endif %}{% endif %}
{% endblock %}
{% block breadcrumbs %}
{{ ctx.breadcrumbs(action="Import organizátorů") }}
{% endblock %}
{% block import_info %}
{% if not contest %}
<p><em>Pozor, zde se importuje do více soutěží najednou, takže je nutné uvádět
kód oblasti. Nechcete raději importovat do konkrétní oblasti?</em></p>
{% endif %}
{% if default_place %}
<p>Výchozí oblastí tohoto importu je: <a href='{{ url_for('org_place', id=default_place.place_id) }}'>{{ default_place.name }}</a>.</p>
{% endif %}
{% endblock %}
{% block import_form %}
{% if imp.cnt_change_user_to_org %}
{{ wtf.form_field(form.allow_change_user_to_org) }}
{% endif %}
{% endblock %}
{% extends "org_generic_import.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}
Import soutěžících {% if contest or round %}do {% if contest %}soutěže {{ contest.place.name_locative() }}{% else %}kola {{ round.round_code() }}{% endif %}{% endif %}
{% endblock %}
{% block breadcrumbs %}
{{ ctx.breadcrumbs(action="Import soutěžících") }}
{% endblock %}
{% block import_info %}
{% if not contest %}
<p><em>Pozor, zde se importuje do více soutěží najednou, takže je nutné uvádět
kód oblasti. Nechcete raději importovat do konkrétní oblasti?</em></p>
{% endif %}
{% if default_place %}
<p>Výchozí oblastí tohoto importu je: <a href='{{ url_for('org_place', id=default_place.place_id) }}'>{{ default_place.name }}</a>.</p>
{% endif %}
{% endblock %}
{% block import_form %}
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment