From 614f53909e643fefaaf58da1a0e9dc2631dcebd6 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 8 Dec 2020 14:30:35 +0000 Subject: [PATCH 1/7] add exception and logging infos --- fet2020/members/views.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/fet2020/members/views.py b/fet2020/members/views.py index 3be37b71..ae028d21 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -10,6 +10,9 @@ from .serializers import MemberSerializer, JobSerializer, JobGroupSerializer, Jo from rest_framework import viewsets #from rest_framework import permissions +import logging +logger = logging.getLogger(__name__) + def __remove_if_zero_active_mem(job_group): for elem in job_group: @@ -54,7 +57,12 @@ def index(request): def jobs_view(request, slug=None): pinned_job_groups, unpinned_job_groups = __get_job_groups() - description = JobGroup.all_jobgroups.filter(slug=slug).values().first()['description'] + try: + description = JobGroup.all_jobgroups.filter(slug=slug).values().first()['description'] + except Exception as e: + logger.info("Wrong job '{}'".format(slug)) + raise Http404("wrong job") + job_members = JobMember.active_member.get_all_by_slug(slug=slug) context = { @@ -73,6 +81,7 @@ def members_view(request, filter=None): if filter in Member.MemberRole: members = deque(Member.all_members.filter(role=filter)) else: + logger.info("Wrong member role '{}'".format(filter)) raise Http404("no member role") context = { @@ -89,6 +98,7 @@ def profile_view(request, member_name=None): member = Member.all_members.filter(nickname=member_name).first() if not member: + logger.info("Wrong member name '{}'".format(member_name)) raise Http404("no member") jobs = deque(JobMember.members.filter(member__nickname=member_name)) From 6df2bbfe54cf593799e21aa8dfa44171986c6940 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 10 Dec 2020 23:09:21 +0000 Subject: [PATCH 2/7] name and foto center aligned --- fet2020/templates/members/members_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fet2020/templates/members/members_list.html b/fet2020/templates/members/members_list.html index ec252ed1..b08e431c 100644 --- a/fet2020/templates/members/members_list.html +++ b/fet2020/templates/members/members_list.html @@ -1,7 +1,7 @@
{% for member in members %} -
+

{{member.firstname}} {{member.surname}}

{% include 'members/partials/_member.html' %}
From c5fe2a5e832b34f276b18ed6021a7bdaade6e2ca Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 10 Dec 2020 23:09:32 +0000 Subject: [PATCH 3/7] add username --- fet2020/members/admin.py | 1 + fet2020/members/forms.py | 4 ++-- fet2020/members/models.py | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fet2020/members/admin.py b/fet2020/members/admin.py index 0cfe1e04..9bf4617b 100644 --- a/fet2020/members/admin.py +++ b/fet2020/members/admin.py @@ -59,6 +59,7 @@ class MemberAdmin(admin.ModelAdmin): 'fields': ( ('firstname', 'surname',), 'nickname', + 'username', 'mailaccount', 'role', 'description', diff --git a/fet2020/members/forms.py b/fet2020/members/forms.py index 11262a03..0304b5eb 100644 --- a/fet2020/members/forms.py +++ b/fet2020/members/forms.py @@ -10,8 +10,8 @@ class MemberForm(forms.ModelForm): class Meta: model = Member fields = [ - 'firstname', 'surname', 'nickname', 'mailaccount', 'role', 'description', 'image', - 'birthday', 'phone', 'address', + 'firstname', 'surname', 'nickname', 'username', 'mailaccount', 'role', 'description', + 'image', 'birthday', 'phone', 'address', ] widgets = { diff --git a/fet2020/members/models.py b/fet2020/members/models.py index 1e587eab..45b90fcb 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -89,6 +89,7 @@ class Member(models.Model): firstname = models.CharField("Vorname", max_length=128) surname = models.CharField("Nachname", max_length=128) nickname = models.CharField("Spitzname", max_length=128) + username = models.CharField("Benutzername", null=True, blank=True, max_length=128) mailaccount = models.CharField("Mailadresse", unique=True, max_length=128) class MemberRole(models.TextChoices): From 570e951189a12bdef2dee7ef8ad1b585c42a3365 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 10 Dec 2020 23:56:12 +0000 Subject: [PATCH 4/7] change model field option --- fet2020/members/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fet2020/members/models.py b/fet2020/members/models.py index 45b90fcb..50da58b4 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -89,7 +89,7 @@ class Member(models.Model): firstname = models.CharField("Vorname", max_length=128) surname = models.CharField("Nachname", max_length=128) nickname = models.CharField("Spitzname", max_length=128) - username = models.CharField("Benutzername", null=True, blank=True, max_length=128) + username = models.CharField("Benutzername", blank=True, max_length=128) mailaccount = models.CharField("Mailadresse", unique=True, max_length=128) class MemberRole(models.TextChoices): From 768f2fd2a9fe2a1e6c90a7a9f47de7d8ece354ac Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 10 Dec 2020 23:59:39 +0000 Subject: [PATCH 5/7] change member url to unique id --- fet2020/members/urls.py | 2 +- fet2020/members/views.py | 8 ++++---- fet2020/posts/views.py | 5 ++++- .../templates/members/partials/_member.html | 2 +- fet2020/templates/posts/show.html | 18 +++++++++++++----- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/fet2020/members/urls.py b/fet2020/members/urls.py index 16753f25..93c10b7a 100644 --- a/fet2020/members/urls.py +++ b/fet2020/members/urls.py @@ -9,7 +9,7 @@ urlpatterns = [ ] member_urlpatterns = [ - path('', views.profile_view, name='member'), + path('', views.profile_view, name='member'), ] jobs_urlpatterns = [ diff --git a/fet2020/members/views.py b/fet2020/members/views.py index ae028d21..f8a575a0 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -93,15 +93,15 @@ def members_view(request, filter=None): return render(request, 'members/index.html', context) -def profile_view(request, member_name=None): +def profile_view(request, member_id=None): pinned_job_groups, unpinned_job_groups = __get_job_groups() - member = Member.all_members.filter(nickname=member_name).first() + member = Member.all_members.filter(id=member_id).first() if not member: - logger.info("Wrong member name '{}'".format(member_name)) + logger.info("Wrong member id '{}'".format(member_id)) raise Http404("no member") - jobs = deque(JobMember.members.filter(member__nickname=member_name)) + jobs = deque(JobMember.members.filter(member__id=member_id)) context = { "pinned_job_groups": pinned_job_groups, diff --git a/fet2020/posts/views.py b/fet2020/posts/views.py index eb5b7aba..73e5c8e1 100644 --- a/fet2020/posts/views.py +++ b/fet2020/posts/views.py @@ -64,11 +64,13 @@ def show(request, id=None): elif id != "" and id is not None: p = Post.objects.get(slug=(id)) - post_author = Member.all_members.filter(nickname=p.author).first() + post_author = Member.all_members.filter(username=p.author).first() author_image = None + author = None if post_author: author_image = post_author.image['avatar'].url + author = post_author ep_agenda_link = "#" ep_protocol_link = "#" @@ -89,6 +91,7 @@ def show(request, id=None): context = { "post": p, + "author": author, "author_image": author_image, "next": get_next_dict(p), "related_posts": p.tags.similar_objects()[:6], diff --git a/fet2020/templates/members/partials/_member.html b/fet2020/templates/members/partials/_member.html index 1ed9d65d..aa3101d2 100644 --- a/fet2020/templates/members/partials/_member.html +++ b/fet2020/templates/members/partials/_member.html @@ -1,5 +1,5 @@ {# only thumb and name of member #} - +
diff --git a/fet2020/templates/posts/show.html b/fet2020/templates/posts/show.html index 4c7bf96b..6858eced 100644 --- a/fet2020/templates/posts/show.html +++ b/fet2020/templates/posts/show.html @@ -26,15 +26,23 @@
{{ post.subtitle|default_if_none:" "|tags_to_url }} - {% if post.author %} -