##// END OF EJS Templates
Allow banner with no text. If so, details post text is used
neko259 -
r1418:9e2c30a1 default
parent child Browse files
Show More
@@ -0,0 +1,19 b''
1 # -*- coding: utf-8 -*-
2 from __future__ import unicode_literals
3
4 from django.db import migrations, models
5
6
7 class Migration(migrations.Migration):
8
9 dependencies = [
10 ('boards', '0037_auto_20151122_2155'),
11 ]
12
13 operations = [
14 migrations.AlterField(
15 model_name='banner',
16 name='text',
17 field=models.TextField(null=True, blank=True),
18 ),
19 ]
1 NO CONTENT: modified file, binary diff hidden
@@ -1,505 +1,505 b''
1 1 # SOME DESCRIPTIVE TITLE.
2 2 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3 3 # This file is distributed under the same license as the PACKAGE package.
4 4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 5 #
6 6 msgid ""
7 7 msgstr ""
8 8 "Project-Id-Version: PACKAGE VERSION\n"
9 9 "Report-Msgid-Bugs-To: \n"
10 10 "POT-Creation-Date: 2015-10-09 23:21+0300\n"
11 11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 14 "Language: ru\n"
15 15 "MIME-Version: 1.0\n"
16 16 "Content-Type: text/plain; charset=UTF-8\n"
17 17 "Content-Transfer-Encoding: 8bit\n"
18 18 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
19 19 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20 20
21 21 #: admin.py:22
22 22 msgid "{} posters were banned"
23 23 msgstr ""
24 24
25 25 #: authors.py:9
26 26 msgid "author"
27 27 msgstr "автор"
28 28
29 29 #: authors.py:10
30 30 msgid "developer"
31 31 msgstr "разработчик"
32 32
33 33 #: authors.py:11
34 34 msgid "javascript developer"
35 35 msgstr "разработчик javascript"
36 36
37 37 #: authors.py:12
38 38 msgid "designer"
39 39 msgstr "дизайнер"
40 40
41 41 #: forms.py:30
42 42 msgid "Type message here. Use formatting panel for more advanced usage."
43 43 msgstr ""
44 44 "Вводите сообщение сюда. Используйте панель для более сложного форматирования."
45 45
46 46 #: forms.py:31
47 47 msgid "music images i_dont_like_tags"
48 48 msgstr "музыка картинки теги_не_нужны"
49 49
50 50 #: forms.py:33
51 51 msgid "Title"
52 52 msgstr "Заголовок"
53 53
54 54 #: forms.py:34
55 55 msgid "Text"
56 56 msgstr "Текст"
57 57
58 58 #: forms.py:35
59 59 msgid "Tag"
60 60 msgstr "Метка"
61 61
62 62 #: forms.py:36 templates/boards/base.html:40 templates/search/search.html:7
63 63 msgid "Search"
64 64 msgstr "Поиск"
65 65
66 66 #: forms.py:139
67 67 msgid "File"
68 68 msgstr "Файл"
69 69
70 70 #: forms.py:142
71 71 msgid "File URL"
72 72 msgstr "URL файла"
73 73
74 74 #: forms.py:148
75 75 msgid "e-mail"
76 76 msgstr ""
77 77
78 78 #: forms.py:151
79 79 msgid "Additional threads"
80 80 msgstr "Дополнительные темы"
81 81
82 82 #: forms.py:162
83 83 #, python-format
84 84 msgid "Title must have less than %s characters"
85 85 msgstr "Заголовок должен иметь меньше %s символов"
86 86
87 87 #: forms.py:172
88 88 #, python-format
89 89 msgid "Text must have less than %s characters"
90 90 msgstr "Текст должен быть короче %s символов"
91 91
92 92 #: forms.py:192
93 93 msgid "Invalid URL"
94 94 msgstr "Неверный URL"
95 95
96 96 #: forms.py:213
97 97 msgid "Invalid additional thread list"
98 98 msgstr "Неверный список дополнительных тем"
99 99
100 100 #: forms.py:258
101 101 msgid "Either text or file must be entered."
102 102 msgstr "Текст или файл должны быть введены."
103 103
104 104 #: forms.py:317 templates/boards/all_threads.html:153
105 105 #: templates/boards/rss/post.html:10 templates/boards/tags.html:6
106 106 msgid "Tags"
107 107 msgstr "Метки"
108 108
109 109 #: forms.py:324
110 110 msgid "Inappropriate characters in tags."
111 111 msgstr "Недопустимые символы в метках."
112 112
113 113 #: forms.py:344
114 114 msgid "Need at least one section."
115 115 msgstr "Нужен хотя бы один раздел."
116 116
117 117 #: forms.py:356
118 118 msgid "Theme"
119 119 msgstr "Тема"
120 120
121 121 #: forms.py:357
122 122 msgid "Image view mode"
123 123 msgstr "Режим просмотра изображений"
124 124
125 125 #: forms.py:358
126 126 msgid "User name"
127 127 msgstr "Имя пользователя"
128 128
129 129 #: forms.py:359
130 130 msgid "Time zone"
131 131 msgstr "Часовой пояс"
132 132
133 133 #: forms.py:365
134 134 msgid "Inappropriate characters."
135 135 msgstr "Недопустимые символы."
136 136
137 137 #: templates/boards/404.html:6
138 138 msgid "Not found"
139 139 msgstr "Не найдено"
140 140
141 141 #: templates/boards/404.html:12
142 142 msgid "This page does not exist"
143 143 msgstr "Этой страницы не существует"
144 144
145 145 #: templates/boards/all_threads.html:35
146 msgid "Related message"
147 msgstr "Связанное сообщение"
146 msgid "Details"
147 msgstr "Подробности"
148 148
149 149 #: templates/boards/all_threads.html:69
150 150 msgid "Edit tag"
151 151 msgstr "Изменить метку"
152 152
153 153 #: templates/boards/all_threads.html:76
154 154 #, python-format
155 155 msgid "%(count)s active thread"
156 156 msgid_plural "%(count)s active threads"
157 157 msgstr[0] "%(count)s активная тема"
158 158 msgstr[1] "%(count)s активные темы"
159 159 msgstr[2] "%(count)s активных тем"
160 160
161 161 #: templates/boards/all_threads.html:76
162 162 #, python-format
163 163 msgid "%(count)s thread in bumplimit"
164 164 msgid_plural "%(count)s threads in bumplimit"
165 165 msgstr[0] "%(count)s тема в бамплимите"
166 166 msgstr[1] "%(count)s темы в бамплимите"
167 167 msgstr[2] "%(count)s тем в бамплимите"
168 168
169 169 #: templates/boards/all_threads.html:77
170 170 #, python-format
171 171 msgid "%(count)s archived thread"
172 172 msgid_plural "%(count)s archived thread"
173 173 msgstr[0] "%(count)s архивная тема"
174 174 msgstr[1] "%(count)s архивные темы"
175 175 msgstr[2] "%(count)s архивных тем"
176 176
177 177 #: templates/boards/all_threads.html:78 templates/boards/post.html:102
178 178 #, python-format
179 179 #| msgid "%(count)s message"
180 180 #| msgid_plural "%(count)s messages"
181 181 msgid "%(count)s message"
182 182 msgid_plural "%(count)s messages"
183 183 msgstr[0] "%(count)s сообщение"
184 184 msgstr[1] "%(count)s сообщения"
185 185 msgstr[2] "%(count)s сообщений"
186 186
187 187 #: templates/boards/all_threads.html:95 templates/boards/feed.html:30
188 188 #: templates/boards/notifications.html:17 templates/search/search.html:26
189 189 msgid "Previous page"
190 190 msgstr "Предыдущая страница"
191 191
192 192 #: templates/boards/all_threads.html:109
193 193 #, python-format
194 194 msgid "Skipped %(count)s reply. Open thread to see all replies."
195 195 msgid_plural "Skipped %(count)s replies. Open thread to see all replies."
196 196 msgstr[0] "Пропущен %(count)s ответ. Откройте тред, чтобы увидеть все ответы."
197 197 msgstr[1] ""
198 198 "Пропущено %(count)s ответа. Откройте тред, чтобы увидеть все ответы."
199 199 msgstr[2] ""
200 200 "Пропущено %(count)s ответов. Откройте тред, чтобы увидеть все ответы."
201 201
202 202 #: templates/boards/all_threads.html:127 templates/boards/feed.html:40
203 203 #: templates/boards/notifications.html:27 templates/search/search.html:37
204 204 msgid "Next page"
205 205 msgstr "Следующая страница"
206 206
207 207 #: templates/boards/all_threads.html:132
208 208 msgid "No threads exist. Create the first one!"
209 209 msgstr "Нет тем. Создайте первую!"
210 210
211 211 #: templates/boards/all_threads.html:138
212 212 msgid "Create new thread"
213 213 msgstr "Создать новую тему"
214 214
215 215 #: templates/boards/all_threads.html:143 templates/boards/preview.html:16
216 216 #: templates/boards/thread_normal.html:51
217 217 msgid "Post"
218 218 msgstr "Отправить"
219 219
220 220 #: templates/boards/all_threads.html:144 templates/boards/preview.html:6
221 221 #: templates/boards/staticpages/help.html:21
222 222 #: templates/boards/thread_normal.html:52
223 223 msgid "Preview"
224 224 msgstr "Предпросмотр"
225 225
226 226 #: templates/boards/all_threads.html:149
227 227 msgid "Tags must be delimited by spaces. Text or image is required."
228 228 msgstr ""
229 229 "Метки должны быть разделены пробелами. Текст или изображение обязательны."
230 230
231 231 #: templates/boards/all_threads.html:152 templates/boards/thread_normal.html:58
232 232 msgid "Text syntax"
233 233 msgstr "Синтаксис текста"
234 234
235 235 #: templates/boards/all_threads.html:166 templates/boards/feed.html:53
236 236 msgid "Pages:"
237 237 msgstr "Страницы: "
238 238
239 239 #: templates/boards/authors.html:6 templates/boards/authors.html.py:12
240 240 msgid "Authors"
241 241 msgstr "Авторы"
242 242
243 243 #: templates/boards/authors.html:26
244 244 msgid "Distributed under the"
245 245 msgstr "Распространяется под"
246 246
247 247 #: templates/boards/authors.html:28
248 248 msgid "license"
249 249 msgstr "лицензией"
250 250
251 251 #: templates/boards/authors.html:30
252 252 msgid "Repository"
253 253 msgstr "Репозиторий"
254 254
255 255 #: templates/boards/base.html:14 templates/boards/base.html.py:41
256 256 msgid "Feed"
257 257 msgstr "Лента"
258 258
259 259 #: templates/boards/base.html:31
260 260 msgid "All threads"
261 261 msgstr "Все темы"
262 262
263 263 #: templates/boards/base.html:37
264 264 msgid "Add tags"
265 265 msgstr "Добавить метки"
266 266
267 267 #: templates/boards/base.html:39
268 268 msgid "Tag management"
269 269 msgstr "Управление метками"
270 270
271 271 #: templates/boards/base.html:39
272 272 msgid "tags"
273 273 msgstr "метки"
274 274
275 275 #: templates/boards/base.html:40
276 276 msgid "search"
277 277 msgstr "поиск"
278 278
279 279 #: templates/boards/base.html:41 templates/boards/feed.html:11
280 280 msgid "feed"
281 281 msgstr "лента"
282 282
283 283 #: templates/boards/base.html:42 templates/boards/random.html:6
284 284 msgid "Random images"
285 285 msgstr "Случайные изображения"
286 286
287 287 #: templates/boards/base.html:42
288 288 msgid "random"
289 289 msgstr "случайные"
290 290
291 291 #: templates/boards/base.html:44
292 292 msgid "favorites"
293 293 msgstr "избранное"
294 294
295 295 #: templates/boards/base.html:48 templates/boards/base.html.py:49
296 296 #: templates/boards/notifications.html:8
297 297 msgid "Notifications"
298 298 msgstr "Уведомления"
299 299
300 300 #: templates/boards/base.html:56 templates/boards/settings.html:8
301 301 msgid "Settings"
302 302 msgstr "Настройки"
303 303
304 304 #: templates/boards/base.html:59
305 305 msgid "Loading..."
306 306 msgstr "Загрузка..."
307 307
308 308 #: templates/boards/base.html:71
309 309 msgid "Admin"
310 310 msgstr "Администрирование"
311 311
312 312 #: templates/boards/base.html:73
313 313 #, python-format
314 314 msgid "Speed: %(ppd)s posts per day"
315 315 msgstr "Скорость: %(ppd)s сообщений в день"
316 316
317 317 #: templates/boards/base.html:75
318 318 msgid "Up"
319 319 msgstr "Вверх"
320 320
321 321 #: templates/boards/feed.html:45
322 322 msgid "No posts exist. Create the first one!"
323 323 msgstr "Нет сообщений. Создайте первое!"
324 324
325 325 #: templates/boards/post.html:33
326 326 msgid "Open"
327 327 msgstr "Открыть"
328 328
329 329 #: templates/boards/post.html:35 templates/boards/post.html.py:46
330 330 msgid "Reply"
331 331 msgstr "Ответить"
332 332
333 333 #: templates/boards/post.html:41
334 334 msgid " in "
335 335 msgstr " в "
336 336
337 337 #: templates/boards/post.html:51
338 338 msgid "Edit"
339 339 msgstr "Изменить"
340 340
341 341 #: templates/boards/post.html:53
342 342 msgid "Edit thread"
343 343 msgstr "Изменить тему"
344 344
345 345 #: templates/boards/post.html:91
346 346 msgid "Replies"
347 347 msgstr "Ответы"
348 348
349 349 #: templates/boards/post.html:103
350 350 #, python-format
351 351 msgid "%(count)s image"
352 352 msgid_plural "%(count)s images"
353 353 msgstr[0] "%(count)s изображение"
354 354 msgstr[1] "%(count)s изображения"
355 355 msgstr[2] "%(count)s изображений"
356 356
357 357 #: templates/boards/rss/post.html:5
358 358 msgid "Post image"
359 359 msgstr "Изображение сообщения"
360 360
361 361 #: templates/boards/settings.html:15
362 362 msgid "You are moderator."
363 363 msgstr "Вы модератор."
364 364
365 365 #: templates/boards/settings.html:19
366 366 msgid "Hidden tags:"
367 367 msgstr "Скрытые метки:"
368 368
369 369 #: templates/boards/settings.html:25
370 370 msgid "No hidden tags."
371 371 msgstr "Нет скрытых меток."
372 372
373 373 #: templates/boards/settings.html:34
374 374 msgid "Save"
375 375 msgstr "Сохранить"
376 376
377 377 #: templates/boards/staticpages/banned.html:6
378 378 msgid "Banned"
379 379 msgstr "Заблокирован"
380 380
381 381 #: templates/boards/staticpages/banned.html:11
382 382 msgid "Your IP address has been banned. Contact the administrator"
383 383 msgstr "Ваш IP адрес был заблокирован. Свяжитесь с администратором"
384 384
385 385 #: templates/boards/staticpages/help.html:6
386 386 #: templates/boards/staticpages/help.html:10
387 387 msgid "Syntax"
388 388 msgstr "Синтаксис"
389 389
390 390 #: templates/boards/staticpages/help.html:11
391 391 msgid "Italic text"
392 392 msgstr "Курсивный текст"
393 393
394 394 #: templates/boards/staticpages/help.html:12
395 395 msgid "Bold text"
396 396 msgstr "Полужирный текст"
397 397
398 398 #: templates/boards/staticpages/help.html:13
399 399 msgid "Spoiler"
400 400 msgstr "Спойлер"
401 401
402 402 #: templates/boards/staticpages/help.html:14
403 403 msgid "Link to a post"
404 404 msgstr "Ссылка на сообщение"
405 405
406 406 #: templates/boards/staticpages/help.html:15
407 407 msgid "Strikethrough text"
408 408 msgstr "Зачеркнутый текст"
409 409
410 410 #: templates/boards/staticpages/help.html:16
411 411 msgid "Comment"
412 412 msgstr "Комментарий"
413 413
414 414 #: templates/boards/staticpages/help.html:17
415 415 #: templates/boards/staticpages/help.html:18
416 416 msgid "Quote"
417 417 msgstr "Цитата"
418 418
419 419 #: templates/boards/staticpages/help.html:21
420 420 msgid "You can try pasting the text and previewing the result here:"
421 421 msgstr "Вы можете попробовать вставить текст и проверить результат здесь:"
422 422
423 423 #: templates/boards/tags.html:17
424 424 msgid "Sections:"
425 425 msgstr "Разделы:"
426 426
427 427 #: templates/boards/tags.html:30
428 428 msgid "Other tags:"
429 429 msgstr "Другие метки:"
430 430
431 431 #: templates/boards/tags.html:43
432 432 msgid "All tags..."
433 433 msgstr "Все метки..."
434 434
435 435 #: templates/boards/thread.html:14
436 436 msgid "Normal"
437 437 msgstr "Нормальный"
438 438
439 439 #: templates/boards/thread.html:15
440 440 msgid "Gallery"
441 441 msgstr "Галерея"
442 442
443 443 #: templates/boards/thread.html:16
444 444 msgid "Tree"
445 445 msgstr "Дерево"
446 446
447 447 #: templates/boards/thread.html:35
448 448 msgid "message"
449 449 msgid_plural "messages"
450 450 msgstr[0] "сообщение"
451 451 msgstr[1] "сообщения"
452 452 msgstr[2] "сообщений"
453 453
454 454 #: templates/boards/thread.html:38
455 455 msgid "image"
456 456 msgid_plural "images"
457 457 msgstr[0] "изображение"
458 458 msgstr[1] "изображения"
459 459 msgstr[2] "изображений"
460 460
461 461 #: templates/boards/thread.html:40
462 462 msgid "Last update: "
463 463 msgstr "Последнее обновление: "
464 464
465 465 #: templates/boards/thread_gallery.html:36
466 466 msgid "No images."
467 467 msgstr "Нет изображений."
468 468
469 469 #: templates/boards/thread_normal.html:30
470 470 msgid "posts to bumplimit"
471 471 msgstr "сообщений до бамплимита"
472 472
473 473 #: templates/boards/thread_normal.html:44
474 474 msgid "Reply to thread"
475 475 msgstr "Ответить в тему"
476 476
477 477 #: templates/boards/thread_normal.html:44
478 478 msgid "to message "
479 479 msgstr "на сообщение"
480 480
481 481 #: templates/boards/thread_normal.html:59
482 482 msgid "Close form"
483 483 msgstr "Закрыть форму"
484 484
485 485 #: templates/search/search.html:17
486 486 msgid "Ok"
487 487 msgstr "Ок"
488 488
489 489 #: utils.py:120
490 490 #, python-format
491 491 msgid "File must be less than %s bytes"
492 492 msgstr "Файл должен быть менее %s байт"
493 493
494 494 msgid "Please wait %(delay)d second before sending message"
495 495 msgid_plural "Please wait %(delay)d seconds before sending message"
496 496 msgstr[0] "Пожалуйста подождите %(delay)d секунду перед отправкой сообщения"
497 497 msgstr[1] "Пожалуйста подождите %(delay)d секунды перед отправкой сообщения"
498 498 msgstr[2] "Пожалуйста подождите %(delay)d секунд перед отправкой сообщения"
499 499
500 500 msgid "New threads"
501 501 msgstr "Новые темы"
502 502
503 503 #, python-format
504 504 msgid "Max file size is %(size)s."
505 505 msgstr "Максимальный размер файла %(size)s."
@@ -1,10 +1,13 b''
1 1 from django.db import models
2 2
3 3
4 4 class Banner(models.Model):
5 5 title = models.TextField()
6 text = models.TextField()
6 text = models.TextField(blank=True, null=True)
7 7 post = models.ForeignKey('Post')
8 8
9 9 def __str__(self):
10 10 return self.title
11
12 def get_text(self) -> str:
13 return self.text or self.post.get_text()
@@ -1,199 +1,199 b''
1 1 {% extends "boards/base.html" %}
2 2
3 3 {% load i18n %}
4 4 {% load board %}
5 5 {% load static %}
6 6 {% load tz %}
7 7
8 8 {% block head %}
9 9 <meta name="robots" content="noindex">
10 10
11 11 {% if tag %}
12 12 <title>{{ tag.name }} - {{ site_name }}</title>
13 13 {% else %}
14 14 <title>{{ site_name }}</title>
15 15 {% endif %}
16 16
17 17 {% if prev_page_link %}
18 18 <link rel="prev" href="{{ prev_page_link }}" />
19 19 {% endif %}
20 20 {% if next_page_link %}
21 21 <link rel="next" href="{{ next_page_link }}" />
22 22 {% endif %}
23 23
24 24 {% endblock %}
25 25
26 26 {% block content %}
27 27
28 28 {% get_current_language as LANGUAGE_CODE %}
29 29 {% get_current_timezone as TIME_ZONE %}
30 30
31 31 {% for banner in banners %}
32 32 <div class="post">
33 33 <div class="title">{{ banner.title }}</div>
34 <div>{{ banner.text }}</div>
35 <div>{% trans 'Related message' %}: <a href="{{ banner.post.get_absolute_url }}">>>{{ banner.post.id }}</a></div>
34 <div>{{ banner.get_text }}</div>
35 <div>{% trans 'Details' %}: <a href="{{ banner.post.get_absolute_url }}">>>{{ banner.post.id }}</a></div>
36 36 </div>
37 37 {% endfor %}
38 38
39 39 {% if tag %}
40 40 <div class="tag_info" style="border-bottom: solid .5ex #{{ tag.get_color }}">
41 41 {% if random_image_post %}
42 42 <div class="tag-image">
43 43 {% with image=random_image_post.images.first %}
44 44 <a href="{{ random_image_post.get_absolute_url }}"><img
45 45 src="{{ image.image.url_200x150 }}"
46 46 width="{{ image.pre_width }}"
47 47 height="{{ image.pre_height }}"
48 48 alt="{{ random_image_post.id }}"/></a>
49 49 {% endwith %}
50 50 </div>
51 51 {% endif %}
52 52 <div class="tag-text-data">
53 53 <h2>
54 54 /{{ tag.get_view|safe }}/
55 55 {% if perms.change_tag %}
56 56 <span class="moderator_info">| <a href="{% url 'admin:boards_tag_change' tag.id %}">{% trans 'Edit tag' %}</a></span>
57 57 {% endif %}
58 58 </h2>
59 59 <p>
60 60 <form action="{% url 'tag' tag.name %}" method="post" class="post-button-form">
61 61 {% if is_favorite %}
62 62 <button name="method" value="unsubscribe" class="fav"></button>
63 63 {% else %}
64 64 <button name="method" value="subscribe" class="not_fav"></button>
65 65 {% endif %}
66 66 </form>
67 67 <form action="{% url 'tag' tag.name %}" method="post" class="post-button-form">
68 68 {% if is_hidden %}
69 69 <button name="method" value="unhide" class="fav">H</button>
70 70 {% else %}
71 71 <button name="method" value="hide" class="not_fav">H</button>
72 72 {% endif %}
73 73 </form>
74 74 </p>
75 75 {% if tag.get_description %}
76 76 <p>{{ tag.get_description|safe }}</p>
77 77 {% endif %}
78 78 <p>
79 79 {% with active_count=tag.get_active_thread_count bumplimit_count=tag.get_bumplimit_thread_count archived_count=tag.get_archived_thread_count %}
80 80 {% if active_count %}
81 81 {% blocktrans count count=active_count %}{{ count }} active thread{% plural %}active threads{% endblocktrans %},
82 82 {% endif %}
83 83 {% if bumplimit_count %}
84 84 {% blocktrans count count=bumplimit_count %}{{ count }} thread in bumplimit{% plural %} threads in bumplimit{% endblocktrans %},
85 85 {% endif %}
86 86 {% if archived_count %}
87 87 {% blocktrans count count=archived_count %}{{ count }} archived thread{% plural %}archived threads{% endblocktrans %},
88 88 {% endif %}
89 89 {% endwith %}
90 90 {% blocktrans count count=tag.get_post_count %}{{ count }} message{% plural %}messages{% endblocktrans %}.
91 91 </p>
92 92 {% if tag.get_all_parents %}
93 93 <p>
94 94 {% for parent in tag.get_all_parents %}
95 95 {{ parent.get_view|safe }} &gt;
96 96 {% endfor %}
97 97 {{ tag.get_view|safe }}
98 98 </p>
99 99 {% endif %}
100 100 </div>
101 101 </div>
102 102 {% endif %}
103 103
104 104 {% if threads %}
105 105 {% if prev_page_link %}
106 106 <div class="page_link">
107 107 <a href="{{ prev_page_link }}">{% trans "Previous page" %}</a>
108 108 </div>
109 109 {% endif %}
110 110
111 111 {% for thread in threads %}
112 112 <div class="thread">
113 113 {% post_view thread.get_opening_post thread=thread truncated=True need_open_link=True %}
114 114 {% if not thread.archived %}
115 115 {% with last_replies=thread.get_last_replies %}
116 116 {% if last_replies %}
117 117 {% with skipped_replies_count=thread.get_skipped_replies_count %}
118 118 {% if skipped_replies_count %}
119 119 <div class="skipped_replies">
120 120 <a href="{% url 'thread' thread.get_opening_post_id %}">
121 121 {% blocktrans count count=skipped_replies_count %}Skipped {{ count }} reply. Open thread to see all replies.{% plural %}Skipped {{ count }} replies. Open thread to see all replies.{% endblocktrans %}
122 122 </a>
123 123 </div>
124 124 {% endif %}
125 125 {% endwith %}
126 126 <div class="last-replies">
127 127 {% for post in last_replies %}
128 128 {% post_view post truncated=True %}
129 129 {% endfor %}
130 130 </div>
131 131 {% endif %}
132 132 {% endwith %}
133 133 {% endif %}
134 134 </div>
135 135 {% endfor %}
136 136
137 137 {% if next_page_link %}
138 138 <div class="page_link">
139 139 <a href="{{ next_page_link }}">{% trans "Next page" %}</a>
140 140 </div>
141 141 {% endif %}
142 142 {% else %}
143 143 <div class="post">
144 144 {% trans 'No threads exist. Create the first one!' %}</div>
145 145 {% endif %}
146 146
147 147 <div class="post-form-w">
148 148 <script src="{% static 'js/panel.js' %}"></script>
149 149 <div class="post-form">
150 150 <div class="form-title">{% trans "Create new thread" %}</div>
151 151 <div class="swappable-form-full">
152 152 <form enctype="multipart/form-data" method="post" id="form">{% csrf_token %}
153 153 {{ form.as_div }}
154 154 <div class="form-submit">
155 155 <input type="submit" value="{% trans "Post" %}"/>
156 156 <button id="preview-button" onclick="return false;">{% trans 'Preview' %}</button>
157 157 </div>
158 158 </form>
159 159 </div>
160 160 <div>
161 161 {% trans 'Tags must be delimited by spaces. Text or image is required.' %}
162 162 {% with size=max_file_size|filesizeformat %}
163 163 {% blocktrans %}Max file size is {{ size }}.{% endblocktrans %}
164 164 {% endwith %}
165 165 </div>
166 166 <div id="preview-text"></div>
167 167 <div><a href="{% url "staticpage" name="help" %}">{% trans 'Text syntax' %}</a></div>
168 168 <div><a href="{% url "tags" "required" %}">{% trans 'Tags' %}</a></div>
169 169 </div>
170 170 </div>
171 171
172 172 <script src="{% static 'js/form.js' %}"></script>
173 173 <script src="{% static 'js/thread_create.js' %}"></script>
174 174
175 175 {% endblock %}
176 176
177 177 {% block metapanel %}
178 178
179 179 <span class="metapanel">
180 180 <b><a href="{% url "authors" %}">{{ site_name }}</a> {{ version }}</b>
181 181 {% trans "Pages:" %}
182 182 [
183 183 {% with dividers=paginator.get_dividers %}
184 184 {% for page in paginator.get_divided_range %}
185 185 {% if page in dividers %}
186 186 …,
187 187 {% endif %}
188 188 <a
189 189 {% ifequal page current_page.number %}
190 190 class="current_page"
191 191 {% endifequal %}
192 192 href="{% page_url paginator page %}">{{ page }}</a>
193 193 {% if not forloop.last %},{% endif %}
194 194 {% endfor %}
195 195 {% endwith %}
196 196 ]
197 197 </span>
198 198
199 199 {% endblock %}
General Comments 0
You need to be logged in to leave comments. Login now