Show More
@@ -65,14 +65,8 b' class ReflinkPattern(Pattern):' | |||||
65 | ref_element = etree.Element('a') |
|
65 | ref_element = etree.Element('a') | |
66 |
|
66 | |||
67 | post = posts[0] |
|
67 | post = posts[0] | |
68 | if not post.is_opening(): |
|
|||
69 | link = reverse('thread', kwargs={ |
|
|||
70 | 'post_id': post.thread_new.get_opening_post().id})\ |
|
|||
71 | + '#' + post_id |
|
|||
72 | else: |
|
|||
73 | link = reverse('thread', kwargs={'post_id': post_id}) |
|
|||
74 |
|
68 | |||
75 |
ref_element.set('href', |
|
69 | ref_element.set('href', post.get_url()) | |
76 | ref_element.text = m.group(2) |
|
70 | ref_element.text = m.group(2) | |
77 |
|
71 | |||
78 | return ref_element |
|
72 | return ref_element |
@@ -9,6 +9,7 b' import hashlib' | |||||
9 |
|
9 | |||
10 | from django.core.cache import cache |
|
10 | from django.core.cache import cache | |
11 | from django.core.paginator import Paginator |
|
11 | from django.core.paginator import Paginator | |
|
12 | from django.core.urlresolvers import reverse | |||
12 |
|
13 | |||
13 | from django.db import models, transaction |
|
14 | from django.db import models, transaction | |
14 | from django.http import Http404 |
|
15 | from django.http import Http404 | |
@@ -23,6 +24,7 b' MAX_TITLE_LENGTH = 50' | |||||
23 | APP_LABEL_BOARDS = 'boards' |
|
24 | APP_LABEL_BOARDS = 'boards' | |
24 |
|
25 | |||
25 | CACHE_KEY_PPD = 'ppd' |
|
26 | CACHE_KEY_PPD = 'ppd' | |
|
27 | CACHE_KEY_POST_URL = 'post_url' | |||
26 |
|
28 | |||
27 | POSTS_PER_DAY_RANGE = range(7) |
|
29 | POSTS_PER_DAY_RANGE = range(7) | |
28 |
|
30 | |||
@@ -307,6 +309,26 b' class Post(models.Model):' | |||||
307 | thread.last_edit_time = edit_time |
|
309 | thread.last_edit_time = edit_time | |
308 | thread.save() |
|
310 | thread.save() | |
309 |
|
311 | |||
|
312 | def get_url(self): | |||
|
313 | """ | |||
|
314 | Get full url to this post | |||
|
315 | """ | |||
|
316 | ||||
|
317 | cache_key = CACHE_KEY_POST_URL + str(self.id) | |||
|
318 | link = cache.get(cache_key) | |||
|
319 | ||||
|
320 | if not link: | |||
|
321 | if not self.is_opening(): | |||
|
322 | link = reverse('thread', kwargs={ | |||
|
323 | 'post_id': self.thread_new.get_opening_post().id}) + '#' + str( | |||
|
324 | self.id) | |||
|
325 | else: | |||
|
326 | link = reverse('thread', kwargs={'post_id': self.id}) | |||
|
327 | ||||
|
328 | cache.set(cache_key, link) | |||
|
329 | ||||
|
330 | return link | |||
|
331 | ||||
310 |
|
332 | |||
311 | class Thread(models.Model): |
|
333 | class Thread(models.Model): | |
312 |
|
334 |
@@ -1,4 +1,3 b'' | |||||
1 | from django.core.urlresolvers import reverse |
|
|||
2 |
|
|
1 | from django.shortcuts import get_object_or_404 | |
3 | from boards.models import Post |
|
2 | from boards.models import Post | |
4 | from boards.views import thread, api |
|
3 | from boards.views import thread, api | |
@@ -24,14 +23,7 b' def post_url(*args, **kwargs):' | |||||
24 |
|
23 | |||
25 | post = get_object_or_404(Post, id=post_id) |
|
24 | post = get_object_or_404(Post, id=post_id) | |
26 |
|
25 | |||
27 | if not post.is_opening(): |
|
26 | return post.get_url() | |
28 | link = reverse('thread', kwargs={ |
|
|||
29 | 'post_id': post.thread_new.get_opening_post().id}) + '#' + str( |
|
|||
30 | post_id) |
|
|||
31 | else: |
|
|||
32 | link = reverse('thread', kwargs={'post_id': post_id}) |
|
|||
33 |
|
||||
34 | return link |
|
|||
35 |
|
27 | |||
36 |
|
28 | |||
37 | @register.simple_tag(name='image_actions') |
|
29 | @register.simple_tag(name='image_actions') |
General Comments 0
You need to be logged in to leave comments.
Login now