Add settings page and basic settings #20
|
@ -45,47 +45,21 @@
|
|||
|
||||
<h3>General</h3>
|
||||
<p>
|
||||
{{ form.title.label }}:<br>
|
||||
{{ form.title(autocomplete="off", size=32, style="width:100%") }}<br>
|
||||
{{ form.editor.label }}: {{ form.editor(autocomplete="off") }}<br>
|
||||
{% for error in form.editor.errors %}
|
||||
<span style="color: #ff0000">{{ error }}</span><br>
|
||||
{% endfor %}
|
||||
{{ form.prompt.label }}: {{ form.prompt(class_="fullwidth") }}
|
||||
{% for error in form.prompt.errors %}
|
||||
<span style="color: #ff0000">{{ error }}</span><br>
|
||||
{% endfor %}
|
||||
</p>
|
||||
|
||||
<h3>Game Progress</h3>
|
||||
<p>
|
||||
{{ number_setting(form.turnCurrent) }}
|
||||
{{ number_setting(form.turnMax) }}
|
||||
{{ form.articleIndexList.label }}:<br>
|
||||
{{ form.articleIndexList(class_="fullwidth", rows=10) }}
|
||||
{% for error in form.articleIndexList.errors %}
|
||||
<span style="color: #ff0000">{{ error }}</span><br>
|
||||
{% endfor %}
|
||||
{{ number_setting(form.articleIndexCapacity) }}
|
||||
{{ form.turnAssignment.label }}:<br>
|
||||
{{ form.turnAssignment(class_="fullwidth", rows=10) }}
|
||||
</p>
|
||||
|
||||
<h3>Visibility and Joining</h3>
|
||||
<p>
|
||||
{{ flag_setting(form.joinPublic) }}
|
||||
{{ flag_setting(form.joinOpen) }}
|
||||
{{ form.joinPassword(autocomplete="off") }}
|
||||
{{ form.joinPassword.label }}<br>
|
||||
{{ number_setting(form.joinMaxPlayers) }}
|
||||
{{ number_setting(form.joinCharsPerPlayer) }}
|
||||
</p>
|
||||
|
||||
<h3>Turn Publishing</h3>
|
||||
<p>
|
||||
{{ flag_setting(form.publishNotifyEditorOnReady) }}
|
||||
{{ flag_setting(form.publishNotifyPlayerOnReject) }}
|
||||
{{ flag_setting(form.publishNotifyPlayerOnAccept) }}
|
||||
{{ form.publishDeadlines(autocomplete="off") }}
|
||||
{{ form.publishDeadlines.label }}<br>
|
||||
{{ flag_setting(form.publishAsap) }}
|
||||
|
|
|
@ -158,65 +158,20 @@ class Settings():
|
|||
if name.startswith('s_'):
|
||||
yield name, setting
|
||||
|
||||
s_title = Setting('title',
|
||||
StringField('Title override', validators=[Optional()]))
|
||||
|
||||
s_editor = Setting('editor',
|
||||
SelectField('Editor', validators=[DataRequired(), User(True)]),
|
||||
translator=UsernameTranslator())
|
||||
|
||||
s_prompt = Setting('prompt',
|
||||
TextAreaField('Prompt', validators=[DataRequired()]))
|
||||
|
||||
s_turnCurrent = Setting('turn.current',
|
||||
IntegerField(
|
||||
'Current turn',
|
||||
widget=NumberInput(),
|
||||
validators=[Optional()]))
|
||||
|
||||
s_turnMax = Setting('turn.max',
|
||||
IntegerField(
|
||||
'Number of turns',
|
||||
widget=NumberInput(),
|
||||
validators=[DataRequired()]))
|
||||
|
||||
s_turnAssignment = Setting('turn.assignment',
|
||||
TextAreaField('index assignment raw'),
|
||||
translator=TmpAsgnTranslator())
|
||||
|
||||
s_joinPublic = Setting('join.public',
|
||||
BooleanField('Show game on public pages'))
|
||||
|
||||
s_joinOpen = Setting('join.open',
|
||||
BooleanField('Allow players to join game'))
|
||||
|
||||
s_joinPassword = Setting('join.password',
|
||||
StringField('Password to join game', validators=[Optional()]))
|
||||
|
||||
s_joinMaxPlayers = Setting('join.max_players',
|
||||
IntegerField(
|
||||
'Maximum number of players',
|
||||
widget=NumberInput(),
|
||||
validators=[DataRequired()]))
|
||||
|
||||
s_joinCharsPerPlayer = Setting('join.chars_per_player',
|
||||
IntegerField(
|
||||
'Characters per player',
|
||||
widget=NumberInput(),
|
||||
validators=[DataRequired()]))
|
||||
|
||||
s_publishNotifyEditorOnReady = Setting('publish.notify_editor_on_ready',
|
||||
BooleanField(
|
||||
'Notify the editor when a player marks an article as ready'))
|
||||
|
||||
s_publishNotifyPlayerOnReject = Setting('publish.notify_player_on_reject',
|
||||
BooleanField(
|
||||
'Notify a player when their article is rejected by the editor'))
|
||||
|
||||
s_publishNotifyPlayerOnAccept = Setting('publish.notify_player_on_accept',
|
||||
BooleanField(
|
||||
'Notify a player when their article is accepted by the editor'))
|
||||
|
||||
s_publishDeadlines = Setting('publish.deadlines',
|
||||
StringField(
|
||||
'Turn deadline, as a crontab specification',
|
||||
|
@ -236,18 +191,6 @@ class Settings():
|
|||
BooleanField(
|
||||
'Block turn publish if any articles are awaiting editor review'))
|
||||
|
||||
s_articleIndexList = Setting('article.index.list',
|
||||
TextAreaField(
|
||||
'Index specifications',
|
||||
validators=[IndexList]),
|
||||
translator=IndexListTranslator())
|
||||
|
||||
s_articleIndexCapacity = Setting('article.index.capacity',
|
||||
IntegerField(
|
||||
'Index capacity override',
|
||||
widget=NumberInput(),
|
||||
validators=[Optional()]))
|
||||
|
||||
s_articleCitationAllowSelf = Setting('article.citation.allow_self',
|
||||
BooleanField('Allow players to cite themselves'))
|
||||
|
||||
|
|
Loading…
Reference in New Issue