You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
5.3 KiB
HTML
127 lines
5.3 KiB
HTML
{% extends "layout/basic.html" %}
|
|
{% import "components/comments_discussion.html" as comments with context %}
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="medium-9 columns">
|
|
<div class="section">
|
|
<div class="section__body">
|
|
<ul class="supplementary list">
|
|
<li>
|
|
<a class="discussion-node-tag" href="{{ url('discussion_node', type=model.discussion.typeDisplay[vnode.parentType], name=vnode.id) }}">
|
|
{% if ddoc.parentType == model.document.TYPE_DISCUSSION_NODE %}
|
|
<span class="v-center icon icon-tag"></span>
|
|
{% elif ddoc.parentType == model.document.TYPE_CONTEST %}
|
|
<span class="v-center icon icon-award"></span>
|
|
{% else %}
|
|
<span class="v-center icon icon-flag"></span>
|
|
{% endif %}
|
|
{{ vnode['title'] }}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
{{ user.render_inline(udict[ddoc.owner]) }}
|
|
@
|
|
{{ datetimeSpan(ddoc._id)|safe }}
|
|
</li>
|
|
</ul>
|
|
<div class="typo topic__content" data-emoji-enabled data-raw-url="{{ url('discussion_raw', did=ddoc.docId) }}">
|
|
{{ ddoc['content']|markdown|safe }}
|
|
</div>
|
|
</div>
|
|
<ul class="section__footer supplementary dot list">
|
|
{% if ddoc.owner == handler.user._id or handler.hasPerm(perm.PERM_EDIT_DISCUSSION) %}
|
|
<li>
|
|
<a href="{{ url('discussion_edit', did=ddoc.docId) }}"><span class="icon icon-edit"></span> {{ _('Edit') }}</a>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
{{ _('{0} views').format(ddoc['views']) }}
|
|
</li>
|
|
{% if handler.hasPerm(perm.PERM_LOGGEDIN) %}
|
|
<li><form class="form--inline" method="post">
|
|
<input type="hidden" name="operation" value="{% if not dsdoc['star'] %}star{% else %}unstar{% endif %}">
|
|
<input type="hidden" name="csrfToken" value="{{ handler.csrfToken }}">
|
|
<button class="star{% if dsdoc['star'] %} activated{% endif %}" type="submit">
|
|
<span class="starred--hide"><span class="icon icon-star--outline"></span> {{ _('Star Topic') }}</span>
|
|
<span class="starred--show"><span class="icon icon-star"></span> {{ _('Unstar Topic') }}</span>
|
|
</button>
|
|
</form></li>
|
|
{% endif %}
|
|
<li>
|
|
<a href="{{ url('wiki', page='about', anchor='contact') }}"><span class="icon icon-warning"></span> {{ _('Report') }}</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section">
|
|
<div class="section__header">
|
|
<h1 class="section__title">{{ _('{0} comments').format(drcount) }}</h1>
|
|
</div>
|
|
<div class="section__body">
|
|
{{ comments.render(
|
|
view = 'discussion',
|
|
docs = drdocs,
|
|
udict = udict,
|
|
comment_ref = 'drid',
|
|
reply_ref = 'drrid',
|
|
comment_post_perm = perm.PERM_REPLY_DISCUSSION,
|
|
comment_edit_perm = perm.PERM_LOGGEDIN if ddoc.owner == handler.user._id else perm.PERM_EDIT_DISCUSSION_REPLY,
|
|
comment_delete_perm = perm.PERM_LOGGEDIN if ddoc.owner == handler.user._id else perm.PERM_DELETE_DISCUSSION_REPLY,
|
|
reply_post_perm = perm.PERM_REPLY_DISCUSSION,
|
|
reply_edit_perm = perm.PERM_LOGGEDIN if ddoc.owner == handler.user._id else perm.PERM_EDIT_DISCUSSION_REPLY,
|
|
reply_delete_perm = perm.PERM_LOGGEDIN if ddoc.owner == handler.user._id else perm.PERM_DELETE_DISCUSSION_REPLY
|
|
) }}
|
|
{{ paginator.render(page, pcount) }}
|
|
{% if drcount == 0 %}
|
|
{{ nothing.render('No comments so far...') }}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="medium-3 columns">
|
|
{% set udoc = udict[ddoc['owner']] %}
|
|
<div class="section side">
|
|
<div class="profile__bg user-profile-bg--1"></div>
|
|
<div class="section__body">
|
|
<div class="media sidebar-user-profile">
|
|
<div class="media__left">
|
|
<img src="{{ gravatar(udoc['gravatar']) }}" width="80" height="80" class="medium user-profile-avatar">
|
|
</div>
|
|
<div class="media__body">
|
|
<p>
|
|
{{ user.render_inline(udoc, avatar=false, modbadge=false) }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section__body">
|
|
<div class="balancer sidebar-user-stat">
|
|
<div class="balancer__body">
|
|
<div class="numbox">
|
|
<div class="numbox__num medium">{{ udict[ddoc['owner']].nAccept or 0 }}</div>
|
|
<div class="numbox__text">{{ _('Accepted') }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="balancer__body">
|
|
<div class="numbox">
|
|
<div class="numbox__num medium">{{ udict[ddoc['owner']].nLike or 0 }}</div>
|
|
<div class="numbox__text">{{ _('Solutions Liked') }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="balancer__body">
|
|
<div class="numbox">
|
|
<div class="numbox__num medium">{{ udict[ddoc['owner']].nProblems or 0 }}</div>
|
|
<div class="numbox__text">{{ _('Upload Problem') }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% if vnode.type == 'problem' %}
|
|
{% set pdoc = vnode %}
|
|
{% set owner_udoc = udict[vnode['owner']] %}
|
|
{% include "partials/problem_sidebar.html" %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|