fix 'go next' in articles and meeting-posts and member image url in posts
This commit is contained in:
@@ -5,7 +5,6 @@ from django.urls import reverse
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from members.models import Member
|
|
||||||
from taggit.managers import TaggableManager
|
from taggit.managers import TaggableManager
|
||||||
|
|
||||||
from .managers import (
|
from .managers import (
|
||||||
@@ -138,10 +137,6 @@ class Post(models.Model):
|
|||||||
def url(self):
|
def url(self):
|
||||||
return reverse('posts.show', kwargs={"id": self.slug})
|
return reverse('posts.show', kwargs={"id": self.slug})
|
||||||
|
|
||||||
@property
|
|
||||||
def author_member(self):
|
|
||||||
return Member.all_members.filter(nickname=self.author.username).first()
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
"save the post with some defaults"
|
"save the post with some defaults"
|
||||||
if (self.id is None) and (not self.slug):
|
if (self.id is None) and (not self.slug):
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from rest_framework import viewsets
|
|||||||
# from rest_framework import permissions
|
# from rest_framework import permissions
|
||||||
|
|
||||||
from .models import Post, PostSerializer
|
from .models import Post, PostSerializer
|
||||||
# from members.models import Member
|
from members.models import Member
|
||||||
# from documents import add_ep_to_response, get_ep_sessionid2
|
# from documents import add_ep_to_response, get_ep_sessionid2
|
||||||
from documents import get_pad_link
|
from documents import get_pad_link
|
||||||
from documents.etherpadlib import add_ep_cookie
|
from documents.etherpadlib import add_ep_cookie
|
||||||
@@ -51,14 +51,18 @@ def show(request, id=None):
|
|||||||
elif id != "" and id is not None:
|
elif id != "" and id is not None:
|
||||||
p = Post.objects.get_visible_articles().get(slug=(id))
|
p = Post.objects.get_visible_articles().get(slug=(id))
|
||||||
|
|
||||||
# post_author = Member.all_members.filter(nickname=p.author)
|
post_author = Member.all_members.filter(nickname=p.author).first()
|
||||||
|
author_image = None
|
||||||
|
|
||||||
|
if post_author:
|
||||||
|
author_image = post_author.image['avatar'].url
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
"post": p,
|
"post": p,
|
||||||
"next": get_next_dict().get(p.slug, None),
|
"author_image": author_image,
|
||||||
|
"next": get_next_dict(p),
|
||||||
"related_posts": p.tags.similar_objects(),
|
"related_posts": p.tags.similar_objects(),
|
||||||
"ep_link": get_pad_link(p.slug + "-agenda"),
|
"ep_link": get_pad_link(p.slug + "-agenda"),
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
response = render(request, 'posts/show.html', context)
|
response = render(request, 'posts/show.html', context)
|
||||||
@@ -108,17 +112,24 @@ def tag_complete(request):
|
|||||||
return HttpResponseServerError("Requires a term field.")
|
return HttpResponseServerError("Requires a term field.")
|
||||||
|
|
||||||
|
|
||||||
def get_next_dict():
|
def get_next_dict(post=None):
|
||||||
# TODO: Docstring
|
# TODO: Docstring
|
||||||
posts = Post.articles.get_visible_articles().values('slug')
|
# TODO: bad implementation but it works!!
|
||||||
print(posts)
|
if post.post_type == 'N' or post.post_type == 'E':
|
||||||
d = {}
|
posts = Post.articles.get_visible_articles()
|
||||||
print(d)
|
elif post.post_type == 'F':
|
||||||
|
posts = Post.objects.get_visible_articles().filter(post_type='F').order_by('-event_start')
|
||||||
|
|
||||||
|
d = ""
|
||||||
|
|
||||||
for k, v in enumerate(posts):
|
for k, v in enumerate(posts):
|
||||||
if k == len(posts) - 1:
|
if post.slug == v.slug:
|
||||||
|
if (k + 1) < len(posts):
|
||||||
|
d = posts[k + 1].slug
|
||||||
|
else:
|
||||||
|
d = posts[0].slug
|
||||||
break
|
break
|
||||||
d[v['slug']] = posts[k + 1]['slug']
|
|
||||||
print(d)
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="article-details">
|
<div class="article-details">
|
||||||
{{post.subtitle | tags_to_url }}
|
{{post.subtitle | tags_to_url }}
|
||||||
{% if post.author_member != None %}
|
{% if post.author != None %}
|
||||||
<div class="article-author"><a href="{% url 'member' post.author_member.nickname %}">
|
<div class="article-author"><a href="{% url 'member' post.author %}">
|
||||||
<img src="{{post.author_member.image | thumbnail_url:'avatar'}}" alt="" />{{post.author_member.nickname}}
|
<img src="{{author_image}}" alt="" /> {{post.author}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|||||||
Reference in New Issue
Block a user