+ ^{tokenExplanation}
+
+ _{MsgTokensLastReset}:
+ $maybe tResetTime' <- tResetTime
+ \ #{tResetTime'}
+ $nothing
+ \ _{MsgNever}
+
+ ^{tokenForm}
diff --git a/templates/profile.julius b/templates/profile/profile.julius
similarity index 100%
rename from templates/profile.julius
rename to templates/profile/profile.julius
diff --git a/templates/profile/tokenExplanation/de.hamlet b/templates/profile/tokenExplanation/de.hamlet
new file mode 100644
index 000000000..2237bddee
--- /dev/null
+++ b/templates/profile/tokenExplanation/de.hamlet
@@ -0,0 +1,13 @@
+
+ Das System stellt gelegentlich Benutzer-bezogene Authorisierungs-Tokens aus.
+ Diese Tokens erlauben es jedem, der in Besitz dieses Tokens ist, bestimmte Ihrer Benutzer-Rechte anzunehmen.
+
+
+ Dies ist insbesondere notwendig um verschickten Emails einen Link beifügen zu können, der das Deabonnieren von Benachrichtigungen erlaubt.
+
+
+ Mit dem untigen Knopf können Sie alle Authorisierungs-Tokens, die bisher für Sie ausgestellt wurden, als ungültig markieren.
+ Dies ist zum Beispiel dann notwendig, wenn Sie Grund haben zu vermuten, dass Dritte Zugriff auf eines Ihrer Tokens gehabt haben könnten.
+
+
+ Für die sichere Verwahrung Ihnen ausgehändigter Tokens sind immer Sie selbst verantwortlich.
diff --git a/templates/sheetCorrInvite.hamlet b/templates/sheetCorrInvite.hamlet
new file mode 100644
index 000000000..8e51c7358
--- /dev/null
+++ b/templates/sheetCorrInvite.hamlet
@@ -0,0 +1,3 @@
+
+ _{MsgSheetCorrInviteExplanation}
+^{btnWidget}
diff --git a/templates/sheetCorrectors/add.hamlet b/templates/sheetCorrectors/add.hamlet
new file mode 100644
index 000000000..3ad3f5fa8
--- /dev/null
+++ b/templates/sheetCorrectors/add.hamlet
@@ -0,0 +1,6 @@
+$newline never
+
+ #{csrf}
+ ^{fvInput addView}
+ |
+ ^{fvInput submitView}
diff --git a/templates/sheetCorrectors/cell.hamlet b/templates/sheetCorrectors/cell.hamlet
new file mode 100644
index 000000000..8a497e436
--- /dev/null
+++ b/templates/sheetCorrectors/cell.hamlet
@@ -0,0 +1,20 @@
+$newline never
+$case userIdent
+ $of Left _
+ |
+ ^{identWidget}
+ |
+
+
+
+ _{MsgEmailInvitationWarning}
+ $of Right _
+
+ ^{identWidget}
+ |
+ #{csrf}
+ ^{fvInput stateView}
+ |
+ ^{fvInput byTutView}
+ |
+ ^{fvInput propView}
diff --git a/templates/sheetCorrectors/layout.hamlet b/templates/sheetCorrectors/layout.hamlet
new file mode 100644
index 000000000..3f6bb4f87
--- /dev/null
+++ b/templates/sheetCorrectors/layout.hamlet
@@ -0,0 +1,18 @@
+$newline never
+
+
+
+ | _{MsgCorrector}
+ | _{MsgCorState}
+ | _{MsgCorByTut}
+ | _{MsgCorProportion}
+ |
+ |
+ $forall coord <- review liveCoords lLength
+
+ ^{cellWdgts ! coord}
+ |
+ ^{fvInput (delButtons ! coord)}
+ |
+
+ ^{addWdgts ! (0, 0)}
diff --git a/templates/sheetShow.hamlet b/templates/sheetShow.hamlet
index 2cd90602b..994fbe52e 100644
--- a/templates/sheetShow.hamlet
+++ b/templates/sheetShow.hamlet
@@ -18,15 +18,15 @@ $maybe descr <- sheetDescription sheet
_{MsgSheetSolutionFrom}
#{solution}
_{MsgSheetSubmissionMode}
- _{sheetSubmissionMode sheet}
+ _{classifySubmissionMode (sheetSubmissionMode sheet)}
$case sheetSubmissionMode sheet
- $of CorrectorSubmissions
+ $of SubmissionMode True _
_{MsgSheetCorrectorSubmissionsTip}
$of _
$case sheetSubmissionMode sheet
- $of CorrectorSubmissions
+ $of SubmissionMode True _
_{MsgSheetPseudonym}
$maybe pseudonym <- mPseudonym
diff --git a/templates/submission.hamlet b/templates/submission.hamlet
index 913322f79..b64a9a41c 100644
--- a/templates/submission.hamlet
+++ b/templates/submission.hamlet
@@ -1,7 +1,10 @@
$maybe cID <- mcid
- $case sheetUploadMode
- $of Upload _
+ $case sheetSubmissionMode
+ $of SubmissionMode False Nothing
+
+ _{MsgSubmissionNoUploadExpected}
+ $of _
Archiv
(Original)
@@ -9,9 +12,6 @@ $maybe cID <- mcid
$maybe fileTable <- mFileTable
_{MsgSubmissionFiles}
^{fileTable}
- $of _
-
- _{MsgSubmissionNoUploadExpected}
$if maySubmit && not (null lastEdits)
_{MsgLastEdits}
diff --git a/templates/widgets/aform/aform.hamlet b/templates/widgets/aform/aform.hamlet
index 91ebc2b93..460ca1ba7 100644
--- a/templates/widgets/aform/aform.hamlet
+++ b/templates/widgets/aform/aform.hamlet
@@ -11,7 +11,7 @@ $case formLayout
^{fvLabel view}
$else
-
+
$if not (Blaze.null $ fvLabel view)
| |