simplify posts

This commit is contained in:
2022-04-08 21:21:01 +00:00
parent e3e447ed60
commit 2659ef4b33
8 changed files with 12 additions and 67 deletions

View File

@@ -136,13 +136,8 @@ class Post(models.Model):
self.title,
)
@property
def url(self):
# TODO: replace with get_absolute_url
return reverse("posts:posts.show", kwargs={"id": self.slug})
def get_absolute_url(self):
return self.url
return reverse("posts:posts.show", kwargs={"id": self.slug})
def save(self, *args, **kwargs):
# save the post with some defaults
@@ -221,36 +216,9 @@ class Post(models.Model):
return None
return create_pad_for_post(self.slug, "protocol")
def get_tags(self):
"""
Returns assigned tags as a comma seperated list.
"""
return ",".join(self.tags.names())
@property
def get_tagnames(self):
return ["#%s" % t for t in self.tags.names()]
@property
def tag_string(self):
return self.get_tags()
@property
def three_tag_names(self):
tag_lst = []
count = 0
for t in self.tags.names():
tag_lst.append(t)
count += 1
if count > 2:
break
return tag_lst
@property
def tag_names(self):
return [t for t in self.tags.names()]
return self.tags.names()[:3]
@property
def imageurl(self):
@@ -260,6 +228,7 @@ class Post(models.Model):
if self.image:
return self.image.url
# return default image
return settings.STATIC_URL + "img/FET-Logo-2014-quadrat.png"
def clean(self):
@@ -269,7 +238,6 @@ class Post(models.Model):
raise ValidationError(
_("Für diesen Post Typ ist kein Event Start zulässig")
)
super().clean()
@property
def published(self):
@@ -320,7 +288,6 @@ class Event(Post):
def clean(self):
if not self.event_start:
raise ValidationError(_("Das Datum des Events fehlt."))
super().clean()
class FetMeeting(Event):
@@ -374,7 +341,6 @@ class FetMeeting(Event):
return slug
def clean(self):
super().clean()
if not self.slug:
self.slug = self.__get_slug()

View File

@@ -1,8 +1,6 @@
import logging
from collections import deque
from taggit.models import Tag
from django.conf import settings
from django.contrib import messages
from django.http import HttpResponse, Http404
@@ -24,7 +22,6 @@ logger = logging.getLogger(__name__)
def index(request):
posts = None
taglist = None
compact_view = None
fet_meeting_only = None
@@ -78,21 +75,17 @@ def index(request):
year = None
data = {
'year': year,
"year": year,
}
form = PostSearchForm(data)
posts = Post.objects.date_filtered_list(public_only, data["year"])
if posts:
taglist = map(lambda post: post.tags, posts)
context = {
"formset": form,
"compact_view": compact_view,
"fet_meeting_only": fet_meeting_only,
"posts": posts,
"tags_list": taglist,
}
return render(request, "posts/index.html", context)
@@ -118,23 +111,9 @@ def tags(request, tag=""):
public_only = not request.user.is_authenticated
posts = Post.objects.published(public_only).filter(tags__name=tag)
featured_post = Post.objects.published(public_only).filter(slug=tag).first()
job_members = JobMember.active_member.get_all_by_slug(slug=tag)
author_image = None
if featured_post:
post_author = Member.all_members.filter(nickname=featured_post.author).first()
if post_author:
author_image = post_author.image["avatar"].url
context = {
"posts": posts,
"author_image": author_image,
"featured_post": featured_post,
"job_members": job_members,
"tags_list": None,
"tag": tag,
}

View File

@@ -1,4 +1,4 @@
<a href="{{ post.url }}" class="block">
<a href="{{ post.get_absolute_url }}" class="block">
<h3 class="text-gray-700 dark:text-gray-200">{{ post.title }}</h3>
<p class="my-1 text-sm text-gray-600 dark:text-gray-300">
<i class="fas fa-calendar-alt text-gray-500 dark:text-gray-400"></i>

View File

@@ -1,4 +1,4 @@
<a href="{{ post.url }}" class="calendar-entry">
<a href="{{ post.get_absolute_url }}" class="calendar-entry">
<div class="calendar-dateBubble">
<span class="dateBubble-day">{{ post.event_start|date:"d" }}</span>
<span class="dateBubble-month">{{ post.event_start|date:"M" }}</span>

View File

@@ -1,5 +1,5 @@
<div class="my-2">
<a href="{{ post.url }}">
<a href="{{ post.get_absolute_url }}">
<h3 class="">{{ post.title }}</h3>
<p class="py-1 text-sm lg:text-base text-gray-600 dark:text-gray-300">
<i class="fas fa-calendar-alt text-gray-500 dark:text-gray-400"></i>

View File

@@ -1,4 +1,4 @@
<article class="article-cover-image" style="background-image: url('{{ post.imageurl }}');" onclick="openArticle('{{ post.url }}')">
<article class="article-cover-image" style="background-image: url('{{ post.imageurl }}');" onclick="openArticle('{{ post.get_absolute_url }}')">
<div class="article-cover-desc">
<div class="article-cover-desc-items">
<ul class="article-cover-tags">
@@ -7,7 +7,7 @@
{% endfor %}
</ul>
<div>
<a href="{{ post.url }}"><h3 class="text-gray-50">{{ post.title|safe }}</h3></a>
<a href="{{ post.get_absolute_url }}"><h3 class="text-gray-50">{{ post.title|safe }}</h3></a>
<div class="text-gray-200">
<i class="fas fa-clock"></i>
{{ post.date|date:"d. F Y" }}

View File

@@ -1,5 +1,5 @@
<article class="bg-white dark:bg-gray-800 rounded-md shadow transition-all duration-300 hover:shadow-md transform hover:scale-105">
<a href="{{ post.url }}" class="block p-4">
<a href="{{ post.get_absolute_url }}" class="block p-4">
<div class="float-right px-2 py-0.5 rounded-full text-sm font-medium text-proprietary dark:text-blue-100 bg-blue-200 dark:bg-proprietary-dark">
<i class="fa-solid fa-calendar-days mr-1"></i>
<p style="margin-bottom: 0rem;">{{ post.date|date:"d. F Y" }}</p>

View File

@@ -1,4 +1,4 @@
<article class="article-cover-image" style="background-image: url('{{ post.imageurl }}');" onclick="openArticle('{{ post.url }}')">
<article class="article-cover-image" style="background-image: url('{{ post.imageurl }}');" onclick="openArticle('{{ post.get_absolute_url }}')">
<div class="article-cover-desc">
<div class="article-cover-desc-items">
<div class="absolute rounded-full px-2 py-1 bg-gray-800 text-gray-200 bg-opacity-90 capitalize"
@@ -15,7 +15,7 @@
{% endfor %}
</ul>
<div>
<a href="{{ post.url }}"><h3 class="text-gray-50">{{ post.title | safe }}</h3></a>
<a href="{{ post.get_absolute_url }}"><h3 class="text-gray-50">{{ post.title|safe }}</h3></a>
<div class="text-gray-200">
<i class="fas fa-clock"></i>
{{ post.date|date:"d. F Y" }}