Commit d107f318 authored by Robert Czechowski's avatar Robert Czechowski
Browse files

Add 'default' templates

parent b1aafdfc
Pipeline #131 failed with stage
in 2 minutes and 57 seconds
<h1>{{contest.name}}</h1>
<p><a href="./">Zur Wettbewerbsübersicht</a> | <a href="/">Zur Startseite</a></p>
{{#if teacher}}
<p><a href="/contest/{{ contest.id }}/result/">Ergebnisse meiner Gruppen anzeigen.</a></p>
{{/if}}
<p>Dauer: {{contest.duration}} Minuten</p>
{{#if participation_start_date}}
<p>Gestartet vor {{participation_start_date}} Sekunden.</p>
<p>
{{#if time_left}}
Verbleibenden Zeit: {{time_left}}
{{else}}
Die Zeit ist abgelaufen!
{{/if}}
</p>
{{#each contest.tasks}}
<p>
{{name}}:
{{#each subtasks}}
<li><a href="/task/{{id}}">{{linktext}}</a></li>
{{/each}}
</p>
{{/each}}
{{else}}
{{#if can_start}}
<p>
<form action="" method="post">
<input type="hidden" name="csrftoken" value="{{csrftoken}}">
<input type="submit" value="Jetzt starten!">
</form>
</p>
<p>Der Wettbewerb kann nach dem Starten nicht mehr pausiert werden.</p>
{{/if}}
{{/if}}
{{#if teacher}}
<p><a href="/contest/{{ contest.id }}/result/">Ergebnisse meiner Gruppen anzeigen.</a></p>
{{/if}}
<p><a href="./">Zur Wettbewerbsübersicht</a> | <a href="/">Zur Startseite</a></p>
\ No newline at end of file
<h1>{{contest.name}}</h1>
<p><a href="..">Zum Wettbewerb</a> | <a href="../..">Zur Wettbewerbsübersicht</a> | <a href="/">Zur Startseite</a></p>
<h2>Ergebnisse</h2>
<style>
td { padding-left: 15px;}
</style>
{{#if result}}
<table>
<tr>
<td>Gruppe</td>
<td>Teilnehmer</td>
<td>Punkte</td>
<tr>
<td></td>
<td></td>
<td>Summe</td>
{{#each taskname}}
<td>{{this}}</td>
{{/each}}
</tr>
{{#each result}}
<tr><td>{{this.0}}</td></tr>
{{#each this.1}}
<tr><td></td>
<td>{{this.0}}</td>
{{#each this.1}}
<td>{{this}}</td>
{{/each}}
{{/each}}
</tr>
{{/each}}
</table>
{{else}}
<em>Für diesen Wettbewerb sind noch keine Ergebnisse ihrer Gruppen verzeichnet.</em>
{{/if}}
<p><a href="..">Zum Wettbewerb</a> | <a href="../..">Zur Wettbewerbsübersicht</a> | <a href="/">Zur Startseite</a></p>
\ No newline at end of file
<h1>Wettbewerbe</h1>
<p><a href="/">Zur Startseite</a></p>
<ul>
{{#each contest}}
<li><a href="/contest/{{id}}">{{name}}</a></li>
{{/each}}
</ul>
<p><a href="/">Zur Startseite</a></p>
\ No newline at end of file
<h1>403: Forbidden</h1>
<p>Diese Aktion ist nicht erlaubt!
\ No newline at end of file
<h1>Keine Cookies</h1>
<p>
Leider konnte diese Seite kein Cookie in deinem Browser setzen.
<p>
Möglicherweise hast du Cookies in deinem Browser allgemein oder für diese Seite deaktiviert. In diesem Fall aktiviere bitte Cookies für diese Seite.
Vielleicht unterstützt dein Browser auch keine Cookies. Dann kannst du Teile dieser Seite leider nicht nutzen.
<p>
Wenn du Cookies jetzt in deinem Browser aktiviert hast, kannst du auf diesen Button drücken, um die angeforderte Seite noch einmal zu laden.<br>
<button onclick="location.href='/'" type="button">Ich habe Cookies aktiviert, noch einmal probieren</button>
<p>
Ansonsten kommst du mit diesen Buttons zurück oder zur Startseite.<br>
<button onclick="window.history.back()">Zurück</button><br>
<button onclick="location.href='/'" type="button">Zur Startseite</button>
<h3>Wozu benötigt diese Seite Cookies</h3>
<p>
Die Cookies werden von dieser Seite benötigt, um eine Session zwischen deinem Browser und dem Server aufzubauen.
Ansonsten könnte der Server beim nächsten Seitenaufruf nicht mehr wissen, welcher Computer die Seite anfragt.
Das brauchen wir einerseits, damit du dich auf der Seite einloggen kannst (sonst wüssten wir nicht, wer sich eingeloggt hat) und andereseits, um deine Aufgabenlösungen zu speichern.
<p>
Die Cookies werden nicht zu Werbezwecken verwendet oder gar an Dritte weitergegeben.
\ No newline at end of file
{{#if known_session}}<p>Session in Datenbank vorhanden {{/if}}
{{#if alive_session}}<p>Session lebt {{/if}}
<p>Now: {{ now_timestamp }}
<p>Last: {{ session_timestamp }}
<p>Diff: {{ timediff }}
{{#if logged_in}}
<p> Eingeloggt als <em>{{ username }}</em>
{{#if firstname}}{{#if lastname}}
<p>({{firstname}} {{lastname}})
{{/if}}{{/if}}
{{#if teacher}}
<p>[Lehrer]
{{/if}}
{{#if admin}}
<p>[Admin]
{{/if}}
<p><a href="/debug/logout">Logout</a>
{{/if}}
<p>Session-Token: {{session}}
<p><a href="/debug/reset">Neues Token</a>
<p><a href="/debug/create">Erzeuge Session in DB</a>
<h1>Jugendwettbewerb Informatik</h1>
<p><a href="/login">Login</a>
<p><a href="/logout">Logout</a>
<p><a href="/contest">Wettbewerb</a>
<p><a href="/group">Gruppenverwaltung</a>
<p><a href="/profile">Profil</a>
\ No newline at end of file
<h1>Gruppe: {{group.name}}</h1>
<p>Gruppencode: {{group.code}}<br>
Mitglieder: –<br>
Marker: {{group.tag}}</p>
<p><a href="./">Zur Gruppenübersicht</a> | <a href="/">Zur Startseite</a></p>
<h2>Mitglieder</h2>
<table>
<tr>
<th>Name</th>
<th>Logincode</th>
<th>Jahrgangstufe</th>
</tr>
{{#each member}}
<tr>
<td><a href="/user/{{id}}">{{firstname}} {{lastname}}</a></td>
<td>{{logincode}}</td>
<td>{{grade}}</td>
<td><a href="/user/{{id}}">bearbeiten …</a></td>
</tr>
{{/each}}
</table>
<p><a href="./">Zur Gruppenübersicht</a> | <a href="/">Zur Startseite</a></p>
<h1>Gruppen</h1>
<p><a href="/">Zur Startseite</a></p>
<h2>Gruppe anlegen</h2>
<p>
<form action="/group/" method="post">
Gruppename:
<input name="name">
Marker:
<input name="tag" placeholder="optional">
<input type="hidden" name="csrf" value="{{csrftoken}}">
<input type="submit" value="Neue Gruppe anlegen">
</form>
</p>
<p>Der Marker wird beim Druck von Urkunden mitgedruckt und dient für Sie zur Zuordnung</p>
<h2>Meine bestehenden Gruppen</h2>
<p><a href="/contest/">Wettbewerbsergebnisse meiner Gruppen</a></p>
<p>
{{#if group}}
<table>
<tr>
<th>Name</th>
<th>Gruppencode</th>
<th>Mitglieder</th>
<th>Marker</th>
</tr>
{{#each group}}
<tr>
<td><a href="/group/{{id}}">{{name}}</a></td>
<td>{{code}}</td>
<td></td>
<td>{{tag}}</td>
<td><a href="/group/{{id}}">bearbeiten …</a></td>
</tr>
{{/each}}
</table>
{{else}}
<em>
Noch keine Gruppe vorhanden.
Legen Sie oben eine neue Gruppe an, um Ihren Schülerinnen und Schülern
die Teilnahme an Wettbewerben zu ermöglichen
</em>
{{/if}}
<p>
<p><a href="/">Zur Startseite</a></p>
<div style="display:inline;float:right;text-align:right;">
{{#if logged_in}}
Eingeloggt als <em>{{ username }}</em>
{{#if firstname}}{{#if lastname}}
({{firstname}} {{lastname}})
{{/if}}{{/if}}
{{#if teacher}}
[Lehrer]
{{/if}}
<a href="/logout">Logout</a>
{{else}}
<form action="login" method="post">
Benutzername:
<input type="text" name="username" value="{{ username }}" autofocus size="8">
Passwort:
<input type="password" name="password" value="" size="8">
<input type="submit" value="log in">
</form>
<form action="clogin" method="post">
Gruppencode / Teilnahmecode:
<input type="text" name="code" value="{{ code }}" size="8">
<input type="submit" value="log in">
</form>
{{#if self_url}}
{{#each oauth_links}}
<a href="{{ this.2 }}{{ self_url }}/oauth/{{ this.0 }}">{{ this.1 }}</a>
{{/each}}
{{/if}}
{{/if}}
</div>
<h1>Jugendwettbewerb Informatik</h1>
<p><a href="/contest">Wettbewerb</a></p>
{{#if teacher}}
<p><a href="/group">Gruppenverwaltung</a></p>
{{/if}}
{{#if logged_in}}
<p><a href="/profile">Profil</a></p>
{{/if}}
<h1>Login</h1>
<p>
{{ reason }}
<p>
<form action="login" method="post">
Username:<br>
<input type="text" name="username" value="{{ username }}" autofocus>
<br>
Password:<br>
<input type="password" name="password" value="">
<br><br>
<input type="submit" value="log in">
</form>
<form action="clogin" method="post">
Gruppencode / Teilnahmecode:<br>
<input type="text" name="code" value="{{ code }}">
<br><br>
<input type="submit" value="log in">
</form>
{{#if oauth_url}}
{{#if self_url}}
<p><a href="{{ oauth_url }}{{ self_url }}/oauth">PMS-Login</a>
{{/if}}
{{/if}}
{{#if ownprofile}}
<h1>Mein Profil: {{firstname}} {{lastname}}</h1>
{{else}}
<h1>Benutzerdaten bearbeiten: {{firstname}} {{lastname}}</h1>
{{/if}}
{{#if username}}
<p>Benutzername: {{username}}</p>
{{/if}}
{{#if logincode}}
<p>Login-Code: {{logincode}}</p>
{{/if}}
<form action="" method="post">
<table>
<tr>
<td>Vorname:</td><td><input name="firstname" value="{{ firstname }}"></td>
</tr>
<tr>
<td>Nachname:</td><td><input name="lastname" value="{{ lastname }}"></td>
</tr>
<tr>
<td>Jahrgangsstufe:</td><td>
<select name="grade">
<option value="0" {{ sel0 }}>Noch kein Schüler</option>
<option value="1" {{ sel1 }}>1</option>
<option value="2" {{ sel2 }}>2</option>
<option value="3" {{ sel3 }}>3</option>
<option value="4" {{ sel4 }}>4</option>
<option value="5" {{ sel5 }}>5</option>
<option value="6" {{ sel6 }}>6</option>
<option value="7" {{ sel7 }}>7</option>
<option value="8" {{ sel8 }}>8</option>
<option value="9" {{ sel9 }}>9</option>
<option value="10" {{ sel10 }}>10</option>
<option value="11" {{ sel11 }}>11 (G8)</option>
<option value="12" {{ sel12 }}>12 (G8)</option>
<option value="111" {{ sel111 }}>11 (G9)</option>
<option value="112" {{ sel112 }}>12 (G9)</option>
<option value="113" {{ sel113 }}>13 (G9)</option>
<option value="114" {{ sel114 }}>Berufsschule</option>
<option value="255" {{ sel255 }}>Kein Schüler mehr</option>
</select>
</td>
</tr>
<tr>
<td>Neues Passwort:</td><td><input type="password" name="password" value=""></td>
</tr>
<tr>
<td>Neues Passwort (wdh):</td><td><input type="password" name="password_repeat" value=""></td>
</tr>
<tr>
<td></td><td><input type="hidden" name="csrftoken" value="{{ csrftoken }}"><input type="submit" value="Speichern"></td>
</tr>
</table>
</form>
<div style="color:green; font-weight:bold">
{{#if nothing_changed}}
<p>Keine Änderungen.</p>
{{/if}}
{{#if data_changed}}
<p>Daten wurden erfolgreich geändert.</p>
{{/if}}
{{#if password_changed}}
<p>Passwort wurde erfolgreich geändert.</p>
{{/if}}
{{#if password_missmatch}}
<p style="color:red;">Die eingegebenen Paswörter stimmen nicht überein. Passwort wurde nicht geändert.</p>
{{/if}}
<div>
<a href="/">Zur Startseite</a>
<!--a href="javascript:window.history.back();">Zurück</a-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<style>
body{
margin: 0px;
font-family:sans-serif;
}
#bar, #bar>div {
display:inline-block;
padding: 8px;
margin:0px;
background: #84bd00;
color:white;
font-size:14pt;
height: 40px;
overflow-y:hidden;
}
#bar {
display:block;
padding:0px;
}
#bar>.nav {
float:right;
}
#bar>#time {
float:right;
padding:0px 8px;
text-align:right;
}
#timetext{
padding:0px;
margin:0px;
font-size:10pt;
}
#timetime{
padding:0px;
margin:0px;
margin-top:-2px;
font-size:18pt;
}
#ttsec {
font-size:10pt;
}
#bar>#hamburger, #bar>#menu, #bar>#time {
background: #608a00;
font-weight:bold;
}
#bar>div.highlight {
background: #f4f9e8;
color:black;
}
iframe {
width: 100vw;border: 0px;height: calc(100vh - 45px);
}
a {
color: #ddd;
text-decoration: none;
}
</style>
</head><body style="">
<div id="bar">
<div id="menu">
<a href="/contest/{{contestid}}">{{contestname}}</a>
</div>
<div>
{{name}}
</div>
{{#each subtasks}}
{{#if active}}
<div class="highlight">
{{linktext}}
</div>
{{else}}
<div>
<a href="/task/{{id}}">{{linktext}}</a>
</div>
{{/if}}
{{/each}}
{{#if duration}}
<div id="time">
<div id="timetext">
Verbleibende Zeit
</div>
<div id="timetime">
{{time_left}}<span id="ttsec">{{time_left_sec}}</span>
</div>
<script>
var seconds_left_at_start = {{seconds_left}};
var timerStart = Date.now();
function lz(a) {
var b = a.toString();
if (b.length < 2) {
return "0" + b;
}
return b;
}
function updateTimer() {
var seconds_passed = (Date.now() - timerStart) / 1000;
var seconds_left = seconds_left_at_start - seconds_passed;
var hour = seconds_left / 3600 | 0;
var min = seconds_left / 60 | 0 % 60 | 0;
var sec = seconds_left % 60 | 0;
text = hour.toString() + ":" + lz(min) + "<span id=\"ttsec\">:" + lz(sec) + "</span>";
document.getElementById("timetime").innerHTML = text;
}
setInterval(updateTimer, 300);
</script>
</div>
{{/if}}
<div class="nav">
<a href="/contest/{{contestid}}">🡅 Übersicht</a>
</div>
{{#if nexttask}}
<div class="nav">
<a href="{{ nexttask }}">🡆</a>
</div>
{{/if}}
{{#if prevtask}}}
<div class="nav">
<a href="{{ prevtask }}">🡄</a>
</div>
{{/if}}
<script>
function enterFullscreen(element) {
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
}
}
function exitFullscreen() {
if(document.exitFullscreen) {
document.exitFullscreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
var fullscreen = false;
function toggleFullscreen(element) {
if (fullscreen) {
exitFullscreen();
fullscreen = false;
document.getElementById("tgfs").innerText = "";
}
else {
enterFullscreen(element);
fullscreen = true;
document.getElementById("tgfs").innerText = "";
}
}
</script>
<div class="nav" onclick="toggleFullscreen(document.documentElement);">
<a href="javascript:;"><span id="tgfs"></span> Vollbild</a>
</div>
</div>
</div>
<iframe src="/{{taskpath}}#taskid={{taskid}}&csrftoken={{csrftoken}}" name="taskframe">Leider unterstützt ihr Browser keine Frames. Sie können die Aufgabe auch manuell aufrufen: <a href="/{{taskpath}}#taskid={{taskid}}&csrftoken={{csrftoken}}">Aufgabe manuell bearbeiten</a>.</iframe>
</body></html>
<