Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
  • mo-p/osmo
1 result
Select Git revision
Loading items
Show changes

Commits on Source 12

...@@ -110,7 +110,7 @@ class TheJob: ...@@ -110,7 +110,7 @@ class TheJob:
sess = db.get_session() sess = db.get_session()
if not self.load() or self.job.state != db.JobState.ready: if not self.load() or self.job.state != db.JobState.ready:
# Někdo ho mezitím smazal nebo vyřídil # Někdo ho mezitím smazal nebo vyřídil
logger.info(f'Job: Job #{self.job.job_id} vyřizuje někdo jiný') logger.info(f'Job: Job #{self.job_id} vyřizuje někdo jiný')
sess.rollback() sess.rollback()
return return
......
...@@ -89,7 +89,8 @@ class ParticipantsFilterForm(PagerForm): ...@@ -89,7 +89,8 @@ class ParticipantsFilterForm(PagerForm):
class ParticipantsActionForm(FlaskForm): class ParticipantsActionForm(FlaskForm):
action_on = wtforms.RadioField( action_on = wtforms.RadioField(
"Provést akci na", validators=[validators.DataRequired()], "Provést akci na", validators=[validators.DataRequired()],
choices=[('all', 'všech vyfiltrovaných účastnících'), ('checked', 'označených účastnících')] choices=[('all', 'všech vyfiltrovaných účastnících'), ('checked', 'zaškrtnutých účastnících')],
default='checked',
# checkboxes are handled not through FlaskForm, see below # checkboxes are handled not through FlaskForm, see below
) )
......
...@@ -58,7 +58,7 @@ class SolPointsCell(Cell): ...@@ -58,7 +58,7 @@ class SolPointsCell(Cell):
if not self.sol: if not self.sol:
return '<td>–' return '<td>–'
elif self.sol.points is None: elif self.sol.points is None:
points = '<span class="unknown">?</span></a>' points = '<span class="unknown">?</span>'
else: else:
points = str(self.sol.points) points = str(self.sol.points)
......
{% extends "base.html" %} {% extends "base.html" %}
{% set round = contest.round %} {% set round = contest.round %}
{% set state = contest.state %}
{% set ct_state = contest.ct_state() %}
{% set site_id = site.place_id if site else None %} {% set site_id = site.place_id if site else None %}
{% block title %} {% block title %}
...@@ -16,15 +18,11 @@ ...@@ -16,15 +18,11 @@
{% if site %} {% if site %}
<tr><td>Soutěžní místo<td><a href='{{ url_for('org_place', id=site.place_id) }}'>{{ site.name }}</a> <tr><td>Soutěžní místo<td><a href='{{ url_for('org_place', id=site.place_id) }}'>{{ site.name }}</a>
{% endif %} {% endif %}
{% with state=contest.state %}
<tr><td>Stav<td><span class='rstate-{{state.name}}'>{{ state.friendly_name() }}</span> <tr><td>Stav<td><span class='rstate-{{state.name}}'>{{ state.friendly_name() }}</span>
{% if round.state != RoundState.delegate %} {% if round.state != RoundState.delegate %}
(určeno nastavením kola) (určeno nastavením kola)
{% endif %} {% endif %}
{% endwith %} <tr><td>Stav pro účastníky<td><span class='rstate-{{ct_state.name}}'>{{ ct_state.friendly_name() }}</span>
{% with state=contest.ct_state() %}
<tr><td>Stav pro účastníky<td><span class='rstate-{{state.name}}'>{{ state.friendly_name() }}</span>
{% endwith %}
<tr><td>Vaše role<td>{% if g.user.is_admin %}správce{% elif roles %}{{ roles|join(", ") }}{% else %}–{% endif %} <tr><td>Vaše role<td>{% if g.user.is_admin %}správce{% elif roles %}{{ roles|join(", ") }}{% else %}–{% endif %}
{% if group_contests|length > 1 %} {% if group_contests|length > 1 %}
<tr><td>Soutěže ve skupině kol:<td> <tr><td>Soutěže ve skupině kol:<td>
...@@ -48,21 +46,21 @@ ...@@ -48,21 +46,21 @@
<div class="btn-group"> <div class="btn-group">
<a class="btn btn-primary" href='{{ url_for('org_contest_list', id=contest.contest_id, site_id=site_id) }}'>Seznam účastníků</a> <a class="btn btn-primary" href='{{ url_for('org_contest_list', id=contest.contest_id, site_id=site_id) }}'>Seznam účastníků</a>
{% if round.state != RoundState.preparing %} {% if state != RoundState.preparing %}
<a class="btn btn-primary" href='{{ url_for('org_contest_solutions', id=contest.contest_id, site_id=site_id) }}'>Odevzdaná řešení</a> <a class="btn btn-primary" href='{{ url_for('org_contest_solutions', id=contest.contest_id, site_id=site_id) }}'>Odevzdaná řešení</a>
{% endif %} {% endif %}
{% if not site %} {% if not site %}
{% if round.state in [RoundState.grading, RoundState.closed] %} {% if state in [RoundState.grading, RoundState.closed] %}
<a class="btn btn-primary" href='{{ url_for('org_score', contest_id=contest.contest_id) }}'>Výsledky</a> <a class="btn btn-primary" href='{{ url_for('org_score', contest_id=contest.contest_id) }}'>Výsledky</a>
{% endif %} {% endif %}
{% if round.state == RoundState.preparing and round.seq > 1 %} {% if state == RoundState.preparing and round.seq > 1 %}
<a class="btn btn-primary" href='{{ url_for('org_contest_advance', contest_id=contest.contest_id) }}'>Postup z minulého kola</a> <a class="btn btn-primary" href='{{ url_for('org_contest_advance', contest_id=contest.contest_id) }}'>Postup z minulého kola</a>
{% endif %} {% endif %}
{% if can_manage %} {% if can_manage %}
<a class="btn btn-default" href='{{ url_for('org_contest_import', id=contest.contest_id) }}'>Importovat data</a> <a class="btn btn-default" href='{{ url_for('org_contest_import', id=contest.contest_id) }}'>Importovat data</a>
{% endif %} {% endif %}
{% if can_manage and not site %} {% if can_manage and not site %}
<a class="btn btn-default" href='{{ url_for('org_contest_edit', id=contest.contest_id) }}'>Editovat nastavení</a> <a class="btn btn-default" href='{{ url_for('org_contest_edit', id=contest.contest_id) }}'>Nastavení</a>
{% endif %} {% endif %}
{% if g.user.is_admin %} {% if g.user.is_admin %}
<a class="btn btn-default" href="{{ log_url('contest', contest.contest_id) }}">Historie</a> <a class="btn btn-default" href="{{ log_url('contest', contest.contest_id) }}">Historie</a>
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
<a href='{{ url_for('org_export_skoly', format='en_csv') }}'>CSV s čárkami</a>, <a href='{{ url_for('org_export_skoly', format='en_csv') }}'>CSV s čárkami</a>,
<a href='{{ url_for('org_export_skoly', format='cs_csv') }}'>CSV se středníky</a>, <a href='{{ url_for('org_export_skoly', format='cs_csv') }}'>CSV se středníky</a>,
<a href='{{ url_for('org_export_skoly', format='tsv') }}'>TSV</a> <a href='{{ url_for('org_export_skoly', format='tsv') }}'>TSV</a>
<li><a href='https://docs.google.com/document/d/1XXk7Od-ZKtfmfNa-9FpFjUqmy0Ekzf2-2q3EpSWyn1w/edit?usp=sharing'>Návod na tvorbu PDF</a>
</ul> </ul>
<h3>Rychlé hledání</h3> <h3>Rychlé hledání</h3>
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<a class="btn btn-default" href='{{ url_for('org_round_import', id=round.round_id) }}'>Importovat data</a> <a class="btn btn-default" href='{{ url_for('org_round_import', id=round.round_id) }}'>Importovat data</a>
{% endif %} {% endif %}
{% if can_manage_round %} {% if can_manage_round %}
<a class="btn btn-default" href='{{ url_for('org_round_edit', id=round.round_id) }}'>Editovat nastavení a termíny</a> <a class="btn btn-default" href='{{ url_for('org_round_edit', id=round.round_id) }}'>Nastavení a termíny</a>
{% endif %} {% endif %}
{% if round.has_messages %} {% if round.has_messages %}
<a class="btn btn-default" href='{{ url_for('org_round_messages', id=round.round_id) }}'>Zprávičky</a> <a class="btn btn-default" href='{{ url_for('org_round_messages', id=round.round_id) }}'>Zprávičky</a>
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
</label> </label>
</div><div class="col-sm-5 radio"> </div><div class="col-sm-5 radio">
<label> <label>
<input id="action_on-1" name="action_on" type="radio" value="checked" required{% if action_form.action_on.data == 'all' %} checked{% endif %}> <input id="action_on-1" name="action_on" type="radio" value="checked" required{% if action_form.action_on.data == 'checked' %} checked{% endif %}>
označených účastnících pouze zaškrtnutých účastnících
</label> </label>
</div> </div>
</div> </div>
......
...@@ -18,7 +18,7 @@ from mo.web import app ...@@ -18,7 +18,7 @@ from mo.web import app
import mo.web.util import mo.web.util
@app.route('/user') @app.route('/user/')
def user_index(): def user_index():
pcrs = load_pcrs() pcrs = load_pcrs()
if getattr(config, 'AUTO_REGISTER_TEST', False) and not any(round.category == 'T' for pion, contest, round in pcrs): if getattr(config, 'AUTO_REGISTER_TEST', False) and not any(round.category == 'T' for pion, contest, round in pcrs):
......