5
5
{% load wiki_extras %}
6
6
{% load wlprofile_extras %}
7
7
{% load custom_date %}
8
{% load pagination_tags %}
12
10
{{ topic.name }} - {{ topic.forum.name }} - {{ block.super }}
13
11
{% endblock title %}
15
13
{% block extra_head %}
16
<link rel="alternate" type="application/atom+xml" title="Latest Posts on forum '{{ topic.forum.name }}'" href="{% url 'pybb_feed_posts' %}{{topic.forum.id}}/" />
17
<link rel="alternate" type="application/atom+xml" title="Latest Topics on forum '{{ topic.forum.name }}'" href="{% url 'pybb_feed_topics' %}{{topic.forum.id}}/" />
14
<link rel="alternate" type="application/atom+xml" title="Latest Posts on forum '{{ topic.forum.name }}'" href="{% url 'pybb_feed' "posts" %}{{topic.forum.id}}/" />
15
<link rel="alternate" type="application/atom+xml" title="Latest Topics on forum '{{ topic.forum.name }}'" href="{% url 'pybb_feed' "topics"%}{{topic.forum.id}}/" />
21
{% block content_header %}
22
<h1>Topic: {{ topic }} </h1>
25
{% block content_main %}
20
<h1>Topic: {{ topic }}</h1>
26
21
<div class="blogEntry">
27
<div class="breadCrumb">
28
<a href="{% url 'pybb_index' %}">Forums</a> »
29
{% pybb_link topic.forum.category %} »
30
<a href="{{ topic.forum.get_absolute_url }}">{{ topic.forum.name }}</a> »
33
{% if topic.is_hidden %}
34
<p>This topic is hidden. It is either waiting for a review or was hidden by a moderator.</p>
35
{% if posts.0.is_spam and moderator %}
36
<p>This topic's first post is possible spam. Toggle the visibility to show the post. If it is indeed spam, consider deleting the user:</p>
37
<p>To delete the user, go to the <a href="/admin/auth/user/{{posts.0.user.pk}}/change/">admin user-page for the post's author</a></p>
39
<div class="posRight">
41
<a class="button" href="{% url 'pybb_toggle_hid_topic' topic.id %}">
42
<img src="{% static 'forum/img/topic_show.png' %}" alt ="" class="middle" />
43
<span class="middle">{% trans "Toggle Visibility" %}</span>
47
<div class="posRight">
49
<a class="button" href="{% url 'pybb_toggle_hid_topic' topic.id %}">
50
<img src="{% static 'forum/img/topic_hide.png' %}" alt ="" class="middle" />
51
<span class="middle">{% trans "Toggle Visibility" %}</span>
54
<a class="button" href="{% url 'pybb_unstick_topic' topic.id %}">
55
<img src="{% static 'forum/img/unstick.png' %}" alt ="" class="middle" />
56
<span class="middle">{% trans "Unstick Topic" %}</span>
59
<a class="button" href="{% url 'pybb_stick_topic' topic.id %}">
60
<img src="{% static 'forum/img/sticky.png' %}" alt ="" class="middle" />
61
<span class="middle">{% trans "Stick Topic" %}</span>
65
<a class="button" href="{% url 'pybb_open_topic' topic.id %}">
66
<img src="{% static 'forum/img/open.png' %}" alt ="" class="middle" />
67
<span class="middle">{% trans "Open Topic" %}</span>
70
<a class="button" href="{% url 'pybb_close_topic' topic.id %}">
71
<img src="{% static 'forum/img/closed.png' %}" alt ="" class="middle" />
72
<span class="middle">{% trans "Close Topic" %}</span>
76
{% if user.is_authenticated %}
78
<a class="button" href="{% url 'pybb_delete_subscription' topic.id %}?from_topic">
79
<img src="{% static 'forum/img/unsubscribe.png' %}" alt ="" class="middle" />
80
<span class="middle">{% trans "Unsubscribe" %}</span>
83
<a class="button" href="{% url 'pybb_add_subscription' topic.id %}">
84
<img src="{% static 'forum/img/subscribe.png' %}" alt ="" class="middle" />
85
<span class="middle">{% trans "Subscribe" %}</span>
88
<a class="button" href="{% url 'pybb_add_post' topic.id %}">
89
<img src="{% static 'forum/img/send.png' %}" alt ="" class="middle" />
90
<span class="middle">{% trans "New Reply" %}</span>
94
{% autopaginate posts page_size as object_list %}
95
{% paginate using "pagination/pagination_mod.html" %}
98
{% ifnotequal first_post posts.0 %}
99
{% with first_post as post %}
100
{% trans "First Post" %}:
101
<table class="forum">
105
{{ post.user|user_link }}<br />
106
{% if post.user.wlprofile_extras.avatar %}
107
<a href="{% url 'profile_view' post.user %}">
108
<img src="{{ post.user.wlprofile.avatar.url }}" alt="Avatar" />
111
<div class="authorStats">
112
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
113
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
114
<img src="{% static 'img/' %}{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
115
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
116
{% if post.user.wlprofile.location %}
117
<strong>Location:</strong> {{ post.user.wlprofile.location }}<br />
122
<a id="post-{{ post.id }}" href="{{post.get_absolute_url}}" title="{% trans "Permalink" %}" class="posRight small permalink"> </a>
123
<span class="small">Posted at: {{ post.created|custom_date:user}}</span>
126
{{ post.body_html|safe }}
129
{% if post.attachment_cache %}
130
{% for attach in post.attachment_cache %}
131
{% trans "Attachment" %}: <a href="{{ attach.get_absolute_url }}">{{ attach.name }}</a> ({{ attach.size_display }})
135
{% if post.updated %}
136
<span class="small">{% trans "Edited" %}: {{ post.updated|custom_date:user|title}}</span>
139
{% if user.is_authenticated %}
140
{% ifequal user.wlprofile.show_signatures 1 %}
141
{% if post.user.wlprofile.signature %}
142
{{ post.user.wlprofile.signature|urlize|linebreaks }}
146
{% if post.user.wlprofile.signature %}
147
{{ post.user.wlprofile.signature|urlize|linebreaks }}
151
<button onclick="window.location.href='#top';" class="posRight">
152
<img src="{% static 'forum/img/top.png' %}" alt ="" class="middle" />
153
<span class="middle">{% trans "Top" %}</span>
156
<button onclick="window.location.href='{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}';">
157
<img src="{% static 'forum/img/quote.png' %}" alt ="" class="middle" />
158
<span class="middle">{% trans "Quote" %}</span>
160
{% if moderator or post|pybb_posted_by:user %}
161
<button onclick="window.location.href='{% url 'pybb_edit_post' post.id %}';">
162
<img src="{% static 'forum/img/edit.png' %}" alt ="" class="middle" />
163
<span class="middle">{% trans "Edit" %}</span>
165
{% if moderator or post|pybb_equal_to:last_post %}
166
<button onclick="window.location.href='{% url 'pybb_delete_post' post.id %}';">
167
<img src="{% static 'forum/img/delete.png' %}" alt ="" class="middle" />
168
<span class="middle">{% trans "Delete" %}</span>
181
<table class="forum">
183
{% for post in object_list %}
186
{% include 'pybb/inlines/post.html' %}
188
<tr class="{% cycle 'odd' 'even' %}" {% if post.is_spam %} style="background-color: gray" {% endif %}>
190
{{ post.user|user_link }}<br />
191
{% if post.user.wlprofile.avatar %}
192
<a href="{% url 'profile_view' post.user %}">
193
<img src="{{ post.user.wlprofile.avatar.url }}" alt="Avatar" />
196
<div class="authorStats">
197
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
198
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
199
<img src="{% static 'img/'%}{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
200
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
201
{% if post.user.wlprofile.location %}
202
<strong>Location:</strong> {{ post.user.wlprofile.location }}<br />
207
<a id="post-{{ post.id }}" href="{{post.get_absolute_url}}" title="{% trans "Permalink" %}" class="posRight small permalink"> </a>
208
<span class="small">Posted at: {{ post.created|custom_date:user}}</span>
211
{{ post.body_html|safe }}
214
{% if post.attachment_cache %}
215
{% for attach in post.attachment_cache %}
216
{% trans "Attachment" %}: <a href="{{ attach.get_absolute_url }}">{{ attach.name }}</a> ({{ attach.size_display }})
220
{% if post.updated %}
221
<span class="small">{% trans "Edited" %}: {{ post.updated|custom_date:user|title}}</span>
224
{% if user.is_authenticated %}
225
{% ifequal user.wlprofile.show_signatures 1 %}
226
{% if post.user.wlprofile.signature %}
227
{{ post.user.wlprofile.signature|urlize|linebreaks }}
231
{% if post.user.wlprofile.signature %}
232
{{ post.user.wlprofile.signature|urlize|linebreaks }}
236
<a class="button posRight" href="#top">
237
<img src="{% static 'forum/img/top.png' %}" alt ="" class="middle" />
238
<span class="middle">{% trans "Top" %}</span>
241
<a class="button" href="{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}">
242
<img src="{% static 'forum/img/quote.png' %}" alt ="" class="middle" />
243
<span class="middle">{% trans "Quote" %}</span>
245
{% if moderator or post|pybb_posted_by:user %}
246
<a class="button" href="{% url 'pybb_edit_post' post.id %}">
247
<img src="{% static 'forum/img/edit.png' %}" alt ="" class="middle" />
248
<span class="middle">{% trans "Edit" %}</span>
250
{% if moderator or post|pybb_equal_to:last_post %}
251
<a class="button" href="{% url 'pybb_delete_post' post.id %}">
252
<img src="{% static 'forum/img/delete.png' %}" alt ="" class="middle" />
253
<span class="middle">{% trans "Delete" %}</span>
259
{% if not forloop.last %}
260
{# no spacer at end of table #}
270
<div class="posRight">
272
<a class="button" href="{% url 'pybb_toggle_hid_topic' topic.id %}">
273
<img src="{% static 'forum/img/topic_hide.png' %}" alt ="" class="middle" />
274
<span class="middle">{% trans "Toggle Visibility" %}</span>
276
{% if topic.sticky %}
277
<a class="button" href="{% url 'pybb_unstick_topic' topic.id %}">
278
<img src="{% static 'forum/img/unstick.png' %}" alt ="" class="middle" />
279
<span class="middle">{% trans "Unstick Topic" %}</span>
282
<a class="button" href="{% url 'pybb_stick_topic' topic.id %}">
283
<img src="{% static 'forum/img/sticky.png' %}" alt ="" class="middle" />
284
<span class="middle">{% trans "Stick Topic" %}</span>
287
{% if topic.closed %}
288
<a class="button" href="{% url 'pybb_open_topic' topic.id %}">
289
<img src="{% static 'forum/img/open.png' %}" alt ="" class="middle" />
290
<span class="middle">{% trans "Open Topic" %}</span>
293
<a class="button" href="{% url 'pybb_close_topic' topic.id %}">
294
<img src="{% static 'forum/img/closed.png' %}" alt ="" class="middle" />
295
<span class="middle">{% trans "Close Topic" %}</span>
299
{% if user.is_authenticated %}
301
<a class="button" href="{% url 'pybb_delete_subscription' topic.id %}?from_topic">
302
<img src="{% static 'forum/img/unsubscribe.png' %}" alt ="" class="middle" />
303
<span class="middle">{% trans "Unsubscribe" %}</span>
306
<a class="button" href="{% url 'pybb_add_subscription' topic.id %}">
307
<img src="{% static 'forum/img/subscribe.png' %}" alt ="" class="middle" />
308
<span class="middle">{% trans "Subscribe" %}</span>
311
<a class="button" href="{% url 'pybb_add_post' topic.id %}">
312
<img src="{% static 'forum/img/send.png' %}" alt ="" class="middle" />
313
<span class="middle">{% trans "New Reply" %}</span>
320
{% if user.is_authenticated %}
321
{% if not topic.closed %}
322
{% include "pybb/inlines/add_post_form.html" %}
22
<a href="{% url 'pybb_index' %}">Forums</a> »
23
{% pybb_link topic.forum.category %} »
24
<a href="{{ topic.forum.get_absolute_url }}">{{ topic.forum.name }}</a> »
27
<div class="posRight">
30
<a class="button" href="{% url 'pybb_unstick_topic' topic.id %}">
31
<img src="{{ MEDIA_URL }}forum/img/unstick.png" alt ="" class="middle" />
32
<span class="middle">{% trans "Unstick Topic" %}</span>
35
<a class="button" href="{% url 'pybb_stick_topic' topic.id %}">
36
<img src="{{ MEDIA_URL }}forum/img/sticky.png" alt ="" class="middle" />
37
<span class="middle">{% trans "Stick Topic" %}</span>
41
<a class="button" href="{% url 'pybb_open_topic' topic.id %}">
42
<img src="{{ MEDIA_URL }}forum/img/open.png" alt ="" class="middle" />
43
<span class="middle">{% trans "Open Topic" %}</span>
46
<a class="button" href="{% url 'pybb_close_topic' topic.id %}">
47
<img src="{{ MEDIA_URL }}forum/img/closed.png" alt ="" class="middle" />
48
<span class="middle">{% trans "Close Topic" %}</span>
52
{% if user.is_authenticated %}
54
<a class="button" href="{% url 'pybb_delete_subscription' topic.id %}?from_topic">
55
<img src="{{ MEDIA_URL }}forum/img/unsubscribe.png" alt ="" class="middle" />
56
<span class="middle">{% trans "Unsubscribe" %}</span>
59
<a class="button" href="{% url 'pybb_add_subscription' topic.id %}">
60
<img src="{{ MEDIA_URL }}forum/img/subscribe.png" alt ="" class="middle" />
61
<span class="middle">{% trans "Subscribe" %}</span>
64
<a class="button" href="{% url 'pybb_add_post' topic.id %}">
65
<img src="{{ MEDIA_URL }}forum/img/send.png" alt ="" class="middle" />
66
<span class="middle">{% trans "New Reply" %}</span>
70
{% pybb_pagination _('Posts') %}
74
{% ifnotequal first_post posts.0 %}
75
{% with first_post as post %}
76
{% trans "First Post" %}:
81
{{ post.user|user_link }}<br />
82
{% if post.user.wlprofile_extras.avatar %}
83
<a href="{% url 'profile_view' post.user %}">
84
<img src="{{ post.user.wlprofile.avatar.url }}" alt="Avatar" />
87
<div class="authorStats">
88
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
89
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
90
<img src="{{ MEDIA_URL }}img/{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
91
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
92
{% if post.user.wlprofile.location %}
93
<strong>Location:</strong> {{ post.user.wlprofile.location }}<br />
95
{% if post.user.wlprofile.get_ggzstats and post.user.wlprofile.get_ggzstats.ranking %}
96
<strong>GGZ ranking:</strong> {{ post.user.wlprofile.get_ggzstats.ranking|floatformat }}<br />
97
<strong>GGZ rating:</strong> {{ post.user.wlprofile.get_ggzstats.rating|floatformat }}<br />
98
<strong>GGZ win:</strong> {{ post.user.wlprofile.get_ggzstats.wins|floatformat }}<br />
99
<strong>GGZ loses:</strong> {{ post.user.wlprofile.get_ggzstats.losses|floatformat }}<br />
104
<a id="post-{{ post.id }}" href="{{post.get_absolute_url}}" title="{% trans "Permalink" %}" class="posRight small permalink"> </a>
105
<span class="small">Posted at: {{ post.created|custom_date:user}}</span>
108
{{ post.body_html|safe }}
111
{% if post.attachment_cache %}
112
{% for attach in post.attachment_cache %}
113
{% trans "Attachment" %}: <a href="{{ attach.get_absolute_url }}">{{ attach.name }}</a> ({{ attach.size_display }})
117
{% if post.updated %}
118
<span class="small">{% trans "Edited" %}: {{ post.updated|custom_date:user|title}}</span>
121
{% if user.is_authenticated %}
122
{% ifequal user.wlprofile.show_signatures 1 %}
123
{% if post.user.wlprofile.signature %}
124
{{ post.user.wlprofile.signature|urlize|linebreaks }}
128
{% if post.user.wlprofile.signature %}
129
{{ post.user.wlprofile.signature|urlize|linebreaks }}
133
<button onclick="window.location.href='#top';" class="posRight">
134
<img src="{{ MEDIA_URL }}forum/img/top.png" alt ="" class="middle" />
135
<span class="middle">{% trans "Top" %}</span>
138
<button onclick="window.location.href='{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}';">
139
<img src="{{ MEDIA_URL }}forum/img/quote.png" alt ="" class="middle" />
140
<span class="middle">{% trans "Quote" %}</span>
142
{% if moderator or post|pybb_posted_by:user %}
143
<button onclick="window.location.href='{% url 'pybb_edit_post' post.id %}';">
144
<img src="{{ MEDIA_URL }}forum/img/edit.png" alt ="" class="middle" />
145
<span class="middle">{% trans "Edit" %}</span>
147
{% if moderator or post|pybb_equal_to:last_post %}
148
<button onclick="window.location.href='{% url 'pybb_delete_post' post.id %}';">
149
<img src="{{ MEDIA_URL }}forum/img/delete.png" alt ="" class="middle" />
150
<span class="middle">{% trans "Delete" %}</span>
163
<table class="forum">
165
{% for post in posts %}
166
<tr class="{% cycle 'odd' 'even' %}">
168
{{ post.user|user_link }}<br />
169
{% if post.user.wlprofile.avatar %}
170
<a href="{% url 'profile_view' post.user %}">
171
<img src="{{ post.user.wlprofile.avatar.url }}" alt="Avatar" />
174
<div class="authorStats">
175
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
176
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
177
<img src="{{ MEDIA_URL }}img/{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
178
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
179
{% if post.user.wlprofile.location %}
180
<strong>Location:</strong> {{ post.user.wlprofile.location }}<br />
182
{% if post.user.wlprofile.get_ggzstats and post.user.wlprofile.get_ggzstats.ranking %}
183
<strong>GGZ ranking:</strong> {{ post.user.wlprofile.get_ggzstats.ranking|floatformat }}<br />
184
<strong>GGZ rating:</strong> {{ post.user.wlprofile.get_ggzstats.rating|floatformat }}<br />
185
<strong>GGZ win:</strong> {{ post.user.wlprofile.get_ggzstats.wins|floatformat }}<br />
186
<strong>GGZ loses:</strong> {{ post.user.wlprofile.get_ggzstats.losses|floatformat }}<br />
191
<a id="post-{{ post.id }}" href="{{post.get_absolute_url}}" title="{% trans "Permalink" %}" class="posRight small permalink"> </a>
192
<span class="small">Posted at: {{ post.created|custom_date:user}}</span>
195
{{ post.body_html|safe }}
198
{% if post.attachment_cache %}
199
{% for attach in post.attachment_cache %}
200
{% trans "Attachment" %}: <a href="{{ attach.get_absolute_url }}">{{ attach.name }}</a> ({{ attach.size_display }})
204
{% if post.updated %}
205
<span class="small">{% trans "Edited" %}: {{ post.updated|custom_date:user|title}}</span>
208
{% if user.is_authenticated %}
209
{% ifequal user.wlprofile.show_signatures 1 %}
210
{% if post.user.wlprofile.signature %}
211
{{ post.user.wlprofile.signature|urlize|linebreaks }}
215
{% if post.user.wlprofile.signature %}
216
{{ post.user.wlprofile.signature|urlize|linebreaks }}
220
<a class="button posRight" href="#top">
221
<img src="{{ MEDIA_URL }}forum/img/top.png" alt ="" class="middle" />
222
<span class="middle">{% trans "Top" %}</span>
225
<a class="button" href="{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}">
226
<img src="{{ MEDIA_URL }}forum/img/quote.png" alt ="" class="middle" />
227
<span class="middle">{% trans "Quote" %}</span>
229
{% if moderator or post|pybb_posted_by:user %}
230
<a class="button" href="{% url 'pybb_edit_post' post.id %}">
231
<img src="{{ MEDIA_URL }}forum/img/edit.png" alt ="" class="middle" />
232
<span class="middle">{% trans "Edit" %}</span>
234
{% if moderator or post|pybb_equal_to:last_post %}
235
<a class="button" href="{% url 'pybb_delete_post' post.id %}">
236
<img src="{{ MEDIA_URL }}forum/img/delete.png" alt ="" class="middle" />
237
<span class="middle">{% trans "Delete" %}</span>
251
<div class="posRight">
253
{% if topic.sticky %}
254
<a class="button" href="{% url 'pybb_unstick_topic' topic.id %}">
255
<img src="{{ MEDIA_URL }}forum/img/unstick.png" alt ="" class="middle" />
256
<span class="middle">{% trans "Unstick Topic" %}</span>
259
<a class="button" href="{% url 'pybb_stick_topic' topic.id %}">
260
<img src="{{ MEDIA_URL }}forum/img/sticky.png" alt ="" class="middle" />
261
<span class="middle">{% trans "Stick Topic" %}</span>
264
{% if topic.closed %}
265
<a class="button" href="{% url 'pybb_open_topic' topic.id %}">
266
<img src="{{ MEDIA_URL }}forum/img/open.png" alt ="" class="middle" />
267
<span class="middle">{% trans "Open Topic" %}</span>
270
<a class="button" href="{% url 'pybb_close_topic' topic.id %}">
271
<img src="{{ MEDIA_URL }}forum/img/closed.png" alt ="" class="middle" />
272
<span class="middle">{% trans "Close Topic" %}</span>
276
{% if user.is_authenticated %}
278
<a class="button" href="{% url 'pybb_delete_subscription' topic.id %}?from_topic">
279
<img src="{{ MEDIA_URL }}forum/img/unsubscribe.png" alt ="" class="middle" />
280
<span class="middle">{% trans "Unsubscribe" %}</span>
283
<a class="button" href="{% url 'pybb_add_subscription' topic.id %}">
284
<img src="{{ MEDIA_URL }}forum/img/subscribe.png" alt ="" class="middle" />
285
<span class="middle">{% trans "Subscribe" %}</span>
288
<a class="button" href="{% url 'pybb_add_post' topic.id %}">
289
<img src="{{ MEDIA_URL }}forum/img/send.png" alt ="" class="middle" />
290
<span class="middle">{% trans "New Reply" %}</span>
294
{% pybb_pagination _('Posts') %}
298
{% if user.is_authenticated %}
299
{% if not topic.closed %}
300
{% include "pybb/inlines/add_post_form.html" %}