byceps/blueprints/site/board/templates/site/board/topic_moderate_form.html
{% extends 'layout/base.html' %}
{% from 'macros/icons.html' import render_icon %}
{% from 'macros/subnav.html' import render_subnav_for_menu_id %}
{% from 'macros/user.html' import render_user_screen_name, render_user_link %}
{% set simple_layout = true %}
{% set current_page = 'board' %}
{% set page_title = _('Moderate topic') %}
{% block subnav %}
{%- if subnav_menu_id|default %}
{{ render_subnav_for_menu_id(subnav_menu_id, current_page) }}
{%- endif %}
{% endblock %}
{% block body %}
<nav class="breadcrumbs">
<ol>
<li><a href="{{ url_for('.category_index') }}">{{ _('Board') }}</a></li>
<li><a href="{{ url_for('.category_view', slug=topic.category.slug) }}">{{ topic.category.title }}</a></li>
<li><a href="{{ url_for('.topic_view', topic_id=topic.id) }}">{{ topic.title }}</a></li>
</ol>
</nav>
<h1 class="title">{{ render_icon('moderate') }} {{ page_title }}</h1>
<p>{{ _('Topic "%(topic)s" by %(creator)s', topic=topic.title, creator=render_user_link(topic.creator)) }}
{%- if has_current_user_permission('board.hide') %}
<h2>{{ render_icon('view') }} {{ _('Visibility') }}</h2>
<div class="main-body-box">
<div class="block">
{%- if topic.hidden %}
{{ _('The topic is <strong>hidden</strong> (%(timestamp)s by %(moderator)s).', timestamp=topic.hidden_at|datetimeformat, moderator=render_user_screen_name(topic.hidden_by)) }}
{%- else %}
{{ _('The topic is <strong>visible</strong>.') }}
{%- endif %}
</div>
<div class="button-row is-compact mt">
{%- if topic.hidden %}
<span class="button button--disabled">{{ render_icon('hidden') }} <span>{{ _('Hide') }}</span></span>
<a class="button" data-action="topic-unhide" href="{{ url_for('.topic_unhide', topic_id=topic.id) }}">{{ render_icon('view') }} <span>{{ _('Make visible') }}</span></a>
{%- else %}
<a class="button" data-action="topic-hide" href="{{ url_for('.topic_hide', topic_id=topic.id) }}">{{ render_icon('hidden') }} <span>{{ _('Hide') }}</span></a>
<span class="button button--disabled">{{ render_icon('view') }} <span>{{ _('Make visible') }}</span></span>
{%- endif %}
</div>
</div>
{%- endif %}
{%- if has_current_user_permission('board_topic.lock') %}
<h2>{{ render_icon('lock') }} {{ _('Write lock') }}</h2>
<div class="main-body-box">
<div class="block">
{%- if topic.locked %}
{{ _('The topic is <strong>locked</strong> (%(timestamp)s by %(moderator)s).', timestamp=topic.locked_at|datetimeformat, moderator=render_user_screen_name(topic.locked_by)) }}
{%- else %}
{{ _('The topic is <strong>not locked</strong>.') }}
{%- endif %}
</div>
<div class="button-row is-compact mt">
{%- if topic.locked %}
<span class="button button--disabled">{{ render_icon('lock') }} <span>{{ _('Lock') }}</span></span>
<a class="button" data-action="topic-unlock" href="{{ url_for('.topic_unlock', topic_id=topic.id) }}">{{ render_icon('unlock') }} <span>{{ _('Unlock') }}</span></a>
{%- else %}
<a class="button" data-action="topic-lock" href="{{ url_for('.topic_lock', topic_id=topic.id) }}">{{ render_icon('lock') }} <span>{{ _('Lock') }}</span></a>
<span class="button button--disabled">{{ render_icon('unlock') }} <span>{{ _('Unlock') }}</span></span>
{%- endif %}
</div>
</div>
{%- endif %}
{%- if has_current_user_permission('board_topic.pin') %}
<h2>{{ render_icon('pin') }} {{ _('Pinning') }}</h2>
<div class="main-body-box">
<div class="block">
{%- if topic.pinned %}
{{ _('The topic is <strong>pinned</strong> (%(timestamp)s by %(moderator)s).', timestamp=topic.pinned_at|datetimeformat, moderator=render_user_screen_name(topic.pinned_by)) }}
{%- else %}
{{ _('The topic is <strong>not pinned</strong>.') }}
{%- endif %}
</div>
<div class="button-row is-compact mt">
{%- if topic.pinned %}
<span class="button button--disabled">{{ render_icon('pin') }} <span>{{ _('Pin') }}</span></span>
<a class="button" data-action="topic-unpin" href="{{ url_for('.topic_unpin', topic_id=topic.id) }}">{{ render_icon('sorted') }} <span>{{ _('Unpin') }}</span></a>
{%- else %}
<a class="button" data-action="topic-pin" href="{{ url_for('.topic_pin', topic_id=topic.id) }}">{{ render_icon('pin') }} <span>{{ _('Pin') }}</span></a>
<span class="button button--disabled">{{ render_icon('sorted') }} <span>{{ _('Unpin') }}</span></span>
{%- endif %}
</div>
</div>
{%- endif %}
{%- if has_current_user_permission('board_topic.move') %}
<h2>{{ render_icon('move') }} {{ _('Move') }}</h2>
<div class="main-body-box">
<div class="block">{{ _('This topic is in category "%(category)s".', category=topic.category.title) }}</div>
{%- if categories %}
<div class="button-row is-compact mt">
<form action="{{ url_for('.topic_move', topic_id=topic.id) }}" method="post">
{{ _('New category') }}:
<select name="category_id" class="form-control" style="display: inline-block;">
{%- for category in categories %}
<option value="{{ category.id }}">{{ category.title }}</option>
{%- endfor %}
</select>
<button type="submit" class="button">{{ render_icon('move') }} <span>{{ _('Move') }}</span></button>
</form>
</div>
{%- else %}
<small>
<div>{{ _('There are no other categories in this board. Thus, this topic cannot be moved.') }}</div>
</small>
{%- endif %}
</div>
{%- endif %}
{%- if has_current_user_permission('board.announce') %}
<h2>{{ render_icon('announce') }} {{ _('Announcements') }}</h2>
<div class="main-body-box">
<div class="block">
{%- if not topic.posting_limited_to_moderators %}
{{ _('The topic is <strong>not limited</strong> to announcements by moderators.') }}
{%- else %}
{{ _('The topic is <strong>limited to announcements</strong> by moderators.') }}
{%- endif %}
</div>
<div class="button-row is-compact mt">
{%- if topic.posting_limited_to_moderators %}
<span class="button button--disabled">{{ render_icon('announce') }} <span>{{ _('Limit to announcements') }}</span></span>
<a class="button" data-action="topic-remove-limit-to-announcements" href="{{ url_for('.topic_remove_limit_to_announcements', topic_id=topic.id) }}">{{ render_icon('board') }} <span>{{ _('Open for all postings') }}</span></a>
{%- else %}
<a class="button" data-action="topic-limit-to-announcements" href="{{ url_for('.topic_limit_to_announcements', topic_id=topic.id) }}">{{ render_icon('announce') }} <span>{{ _('Limit to announcements') }}</span></a>
<span class="button button--disabled">{{ render_icon('board') }} <span>{{ _('Open for all postings') }}</span></span>
{%- endif %}
</div>
</div>
{%- endif %}
{%- endblock %}
{% block scripts %}
<script src="{{ url_for('static', filename='behavior/board.js') }}"></script>
<script>
onDomReady(() => {
confirmed_post_on_click('[data-action="topic-hide"]', '{{ _('Hide topic?') }}');
confirmed_delete_on_click('[data-action="topic-unhide"]', '{{ _('Make topic visible?') }}');
confirmed_post_on_click('[data-action="topic-lock"]', '{{ _('Lock topic?') }}');
confirmed_delete_on_click('[data-action="topic-unlock"]', '{{ _('Unlock topic?') }}');
confirmed_post_on_click('[data-action="topic-pin"]', '{{ _('Pin topic?') }}');
confirmed_delete_on_click('[data-action="topic-unpin"]', '{{ _('Unpin topic?') }}');
confirmed_post_on_click('[data-action="topic-limit-to-announcements"]', '{{ _('Limit topic to announcements by moderators?') }}');
confirmed_delete_on_click('[data-action="topic-remove-limit-to-announcements"]', '{{ _('No longer limit topic to announcements by moderators?') }}');
});
</script>
{%- endblock %}