ui: new contest edit page and form_checkbox

This commit is contained in:
panda committed 2022-12-12 17:43:52 +00:00
1 parent 4f66c127da
commit 84d7094b22
6 files changed
+147 -61

No files matched your search

+112 -39
View File
@@ -3,8 +3,11 @@
<div class="row">
<div class="medium-9 columns">
<div class="section">
<div class="section__body">
<form method="post">
<form method="post">
<div class="section__header">
<h2 class="section__title">{{ _('Basic Settings') }}</h2>
</div>
<div class="section__body">
<div class="row">
{{ form.form_select({
columns:3,
@@ -15,7 +18,7 @@
row:false
}) }}
{{ form.form_text({
columns:4,
columns:9,
label:'Title',
name:'title',
placeholder:_('title'),
@@ -23,22 +26,6 @@
autofocus:true,
row:false
}) }}
{{ form.form_text({
columns:3,
label:'Invitation Code',
name:'code',
placeholder:_('(leave blank if none)'),
value:tdoc._code|default(''),
row:false
}) }}
{{ form.form_checkbox({
columns:2,
label:'Rated',
name:'rated',
placeholder:_('Is rated'),
value:tdoc.rated|default(true),
row:false
}) }}
</div>
<div class="row">
{{ form.form_text({
@@ -68,35 +55,22 @@
}) }}
{{ form.form_text({
columns:4,
label:'Assign',
name:'assign',
placeholder:_('Group / UID'),
value:tdoc.assign|default(''),
label:'End Time',
name:'endAt',
placeholder:'YYYY-mm-dd HH:MM',
value:beginAt.add(duration, 'hours').format('YYYY-M-D HH:mm'),
disabled:true,
row:false
}) }}
</div>
<div class="row">
{{ form.form_text({
columns:9,
columns:12,
label:'Problems',
name:'pids',
value:pids,
placeholder:_("Seperated with ','"),
row:false
row:true
}) }}
{{ form.form_checkbox({
columns:3,
label:'Auto hide-and show',
name:'autoHide',
placeholder:'',
value:handler.user.hasPerm(perm.PERM_EDIT_PROBLEM) and (tdoc.autoHide|default(true)),
disabled:not handler.user.hasPerm(perm.PERM_EDIT_PROBLEM),
row:false
}) }}
{% if tdoc.lockAt %}
<input type="hidden" name="lock" value="{{ ((tdoc.endAt - tdoc.lockAt)/60000)|int }}">
{% endif %}
</div>
{{ form.form_textarea({
columns:null,
label:'Content',
@@ -104,6 +78,105 @@
value:tdoc['content']|default(''),
markdown:true
}) }}
</div>
<div style="padding-top: 0" class="section__header">
<h2 class="section__title">{{ _('Authorize Settings') }}</h2>
</div>
<div class="section__body">
<div class="row">
{{ form.form_select({
columns:3,
label:'Authorize Control',
name:'authorize',
options:{
'public': _('Public'),
'invite': _('Need Invitation Code'),
'assign': _('Assign User/Group')
},
value: ("public" if not tdoc._code else "invite") if not tdoc.assign else "assign",
disabled:true,
row:false
}) }}
<div style="display: none" class="authorize-settings authorize--assign">
{{ form.form_text({
columns:9,
label:'Assign',
name:'assign',
placeholder:_('Group / UID'),
value:tdoc.assign|default(''),
row:false
}) }}
</div>
<div style="display: none" class="authorize-settings authorize--invite">
{{ form.form_text({
columns:9,
label:'Invitation Code',
name:'code',
placeholder:_('(leave blank if none)'),
value:tdoc._code|default(''),
row:false
}) }}
</div>
</div>
{{ form.form_text({
columns:12,
label:'Maintainer',
name:'maintainer',
help_text:_('Allow to Maintain Contest'),
value:tdoc.maintainer|default('')
}) }}
</div>
<div style="padding-top: 0" class="section__header">
<h2 class="section__title">{{ _('Contest Settings') }}</h2>
</div>
<div class="section__body">
<div class="row">
{{ form.form_checkbox({
columns:2,
label:'Rated',
name:'rated',
placeholder:_('Is rated'),
value:tdoc.rated|default(true),
row:false
}) }}
{{ form.form_checkbox({
columns:3,
label:'Auto hide-and show',
name:'autoHide',
placeholder:_('Auto hide problems between contest'),
value:handler.user.hasPerm(perm.PERM_EDIT_PROBLEM) and (tdoc.autoHide|default(true)),
disabled:not handler.user.hasPerm(perm.PERM_EDIT_PROBLEM),
row:false
}) }}
{{ form.form_checkbox({
columns:3,
label:'Allow View Code',
name:'allowViewCode',
placeholder:_('Allow user view others code after contest'),
value:tdoc.allowViewCode|default(true),
row:false
}) }}
<div style="display: none" class="contest-rule-settings contest-rule--acm">
{{ form.form_text({
columns:4,
label:'Lock (minutes)',
name:'lock',
value:(((tdoc.endAt - tdoc.lockAt)/60000)|int)|default(''),
help_text:_('Lock scoreboard on last N minutes'),
row:false
}) }}
</div>
<div style="display: none" class="contest-rule-settings contest-rule--oi">
{{ form.form_text({
columns:4,
label:'Flexable Duration',
name:'contestDuration',
value:tdoc.duration|default(''),
help_text:_('Limit user in N hours finish contest'),
row:false
}) }}
</div>
</div>
<div class="row">
<div class="columns">
<input type="hidden" name="csrfToken" value="{{ handler.csrfToken }}">