simplify urls and customflatpages

This commit is contained in:
2022-04-19 15:16:56 +00:00
parent 5804b77c4f
commit 1f33c8165e
13 changed files with 70 additions and 63 deletions

View File

@@ -1,6 +1,9 @@
from django.urls import path from django.urls import path
from . import apps
from . import views from . import views
app_name = apps.AuthenticationsConfig.name
urlpatterns = [ urlpatterns = [
path("login/", views.loginPage, name="login"), path("login/", views.loginPage, name="login"),

View File

@@ -1,8 +1,10 @@
from django.urls import path from django.urls import path
from . import apps
from . import views from . import views
app_name = apps.BlackboardConfig.name
urlpatterns = [ urlpatterns = [
path("", views.index, name="blackboard"), path("", views.index, name="index"),
] ]

View File

@@ -3,7 +3,6 @@ from datetime import timedelta
from django.shortcuts import render from django.shortcuts import render
from django.utils import timezone from django.utils import timezone
from core.models import CustomFlatPage
from .models import JobPosting from .models import JobPosting
@@ -12,13 +11,9 @@ def index(request):
job_postings = JobPosting.all_job_postings.filter( job_postings = JobPosting.all_job_postings.filter(
publish_date__gt=job_postings_cutoff publish_date__gt=job_postings_cutoff
) )
bb_info = CustomFlatPage.objects.filter(title__iexact="blackboard").first()
bb_empty = CustomFlatPage.objects.filter(title__iexact="blackboard empty").first()
context = { context = {
"job_postings": job_postings.order_by("-publish_date"), "job_postings": job_postings.order_by("-publish_date"),
"bb_info": bb_info,
"bb_empty": bb_empty,
} }
return render(request, "blackboard/index.html", context) return render(request, "blackboard/index.html", context)

View File

@@ -27,23 +27,22 @@ router.register(r"jobs", JobViewSet)
router.register(r"jobmembers", JobMemberViewSet) router.register(r"jobmembers", JobMemberViewSet)
urlpatterns = [ urlpatterns = [
path("", views.index, name="home"),
path("admin/doc/", include("django.contrib.admindocs.urls")), path("admin/doc/", include("django.contrib.admindocs.urls")),
path("admin/login/", RedirectView.as_view(pattern_name="login")), path("admin/login/", RedirectView.as_view(pattern_name="authentications:login")),
path("admin/", admin.site.urls), path("admin/", admin.site.urls),
path("auth/", include("authentications.urls")), path("auth/", include("authentications.urls")),
path("", views.index, name="home"),
path("api/", include(router.urls)), path("api/", include(router.urls)),
path("blackboard/", include("blackboard.urls"), name="blackboard"), path("blackboard/", include("blackboard.urls")),
path("ckeditor/", include("ckeditor_uploader.urls")), path("ckeditor/", include("ckeditor_uploader.urls")),
path("gallery/", include("gallery.urls"), name="gallery"), path("gallery/", include("gallery.urls")),
path("index.html", views.index, name="home"), path("intern/", include("intern.urls")),
path("jobs/", include(jobs_urlpatterns)), path("jobs/", include(jobs_urlpatterns)),
path("members/", include("members.urls")), path("members/", include("members.urls")),
path("member/", include(member_urlpatterns)), path("member/", include(member_urlpatterns)),
path("posts/", include("posts.urls")), path("posts/", include("posts.urls")),
path("search/", include("search.urls")), path("search/", include("search.urls")),
path("tasks/", include("tasks.urls"), name="tasks"), path("tasks/", include("tasks.urls")),
path("intern/", include("intern.urls"), name="intern"),
path( path(
"discord/", "discord/",
RedirectView.as_view(url="https://discord.com/invite/7qRuuMA"), RedirectView.as_view(url="https://discord.com/invite/7qRuuMA"),
@@ -70,8 +69,4 @@ urlpatterns = [
), ),
path("pages/", include("django.contrib.flatpages.urls")), path("pages/", include("django.contrib.flatpages.urls")),
re_path(r"^(?P<url>.*/)$", flatpages.views.flatpage), re_path(r"^(?P<url>.*/)$", flatpages.views.flatpage),
path(
"impressum/", flatpages.views.flatpage, {"url": "/impressum/"}, name="impressum"
),
path("kontakt/", flatpages.views.flatpage, {"url": "/kontakt/"}, name="contact"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

View File

@@ -1,10 +1,12 @@
from django.urls import path from django.urls import path
from . import apps
from . import views from . import views
app_name = apps.GalleryConfig.name
urlpatterns = [ urlpatterns = [
path("", views.index, name="gallery"), path("", views.index, name="index"),
path("<slug:slug>/", views.show_album, name="album"), path("<slug:slug>/", views.show_album, name="album"),
path("draft/<slug:slug>/", views.show_draft_album, name="draft-album"), path("draft/<slug:slug>/", views.show_draft_album, name="draft-album"),
] ]

View File

@@ -4,7 +4,6 @@ from collections import deque
from django.http import Http404 from django.http import Http404
from django.shortcuts import render from django.shortcuts import render
from core.models import CustomFlatPage
from .models import Member, JobMember, JobGroup from .models import Member, JobMember, JobGroup
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -41,13 +40,10 @@ def index(request):
pinned_job_groups, unpinned_job_groups = __get_job_groups() pinned_job_groups, unpinned_job_groups = __get_job_groups()
members = Member.all_members.all() members = Member.all_members.all()
fs_info = CustomFlatPage.objects.filter(title__iexact="fachschaft").first()
context = { context = {
"pinned_job_groups": pinned_job_groups, "pinned_job_groups": pinned_job_groups,
"unpinned_job_groups": unpinned_job_groups, "unpinned_job_groups": unpinned_job_groups,
"members": members, "members": members,
"fs_info": fs_info,
} }
return render(request, "members/members.html", context) return render(request, "members/members.html", context)
@@ -89,13 +85,10 @@ def members(request, filter=None):
logger.info("Wrong member role '{}'".format(filter)) logger.info("Wrong member role '{}'".format(filter))
raise Http404("no member role") raise Http404("no member role")
fs_info = CustomFlatPage.objects.filter(title__iexact="fachschaft").first()
context = { context = {
"pinned_job_groups": pinned_job_groups, "pinned_job_groups": pinned_job_groups,
"unpinned_job_groups": unpinned_job_groups, "unpinned_job_groups": unpinned_job_groups,
"members": members, "members": members,
"fs_info": fs_info,
} }
return render(request, "members/members.html", context) return render(request, "members/members.html", context)

View File

@@ -1,3 +1,4 @@
{% load flatpages %}
{% load static %} {% load static %}
<!DOCTYPE html> <!DOCTYPE html>
@@ -70,12 +71,16 @@
> >
<li><a href="{% url 'posts:index' %}">News</a></li> <li><a href="{% url 'posts:index' %}">News</a></li>
<li><a href="{% url 'members:members' 'active' %}">Fachschaft</a></li> <li><a href="{% url 'members:members' 'active' %}">Fachschaft</a></li>
<li><a href="{% url 'gallery' %}">Galerie</a></li> <li><a href="{% url 'gallery:index' %}">Galerie</a></li>
<li><a href="{% url 'blackboard' %}">Blackboard</a></li> <li><a href="{% url 'blackboard:index' %}">Blackboard</a></li>
<li><a href="{% url 'contact' %}">Kontakt</a></li>
{% get_flatpages '/kontakt/' as pages %}
{% if pages %}
<li><a href="{{ pages.first.url }}">{{ pages.first.title }}</a></li>
{% endif %}
{% if not request.user.is_authenticated %} {% if not request.user.is_authenticated %}
<li><a href="{% url 'login' %}?next={{ request.path }}">Login</a></li> <li><a href="{% url 'authentications:login' %}?next={{ request.path }}">Anmelden</a></li>
{% else %} {% else %}
<hr class="border-proprietary"> <hr class="border-proprietary">
<div href="#" class="inline-block w-full sm:w-auto rounded relative" <div href="#" class="inline-block w-full sm:w-auto rounded relative"
@@ -92,7 +97,7 @@
Hallo {{ request.user.username }} Hallo {{ request.user.username }}
{% endif %} {% endif %}
</a> </a>
<a class="hidden sm:block flex-0 px-2 py-1 hover:bg-proprietary-dark dark:hover:bg-proprietary-darker active:bg-proprietary-dark dark:active:bg-proprietary-darker rounded-r" href="{% url 'logout' %}?next={{ request.path }}"><i class="fa-solid fa-power-off"></i></a> <a class="hidden sm:block flex-0 px-2 py-1 hover:bg-proprietary-dark dark:hover:bg-proprietary-darker active:bg-proprietary-dark dark:active:bg-proprietary-darker rounded-r" href="{% url 'authentications:logout' %}?next={{ request.path }}"><i class="fa-solid fa-power-off"></i></a>
</div> </div>
<div class="sm:block sm:absolute z-20 top-9 right-0 bg-white dark:bg-transparent dark:sm:bg-gray-700 sm:shadow-md sm:rounded w-full dark:sm:text-proprietary-lightest" <div class="sm:block sm:absolute z-20 top-9 right-0 bg-white dark:bg-transparent dark:sm:bg-gray-700 sm:shadow-md sm:rounded w-full dark:sm:text-proprietary-lightest"
x-show="showPopupNav || !$screen('sm')" x-show="showPopupNav || !$screen('sm')"
@@ -109,7 +114,7 @@
<li class="navInternal"><a href="https://legacy.fet.at/home/intern"><i class="fa-fw fa-solid fa-database mr-2"></i>Legacy</a></li> <li class="navInternal"><a href="https://legacy.fet.at/home/intern"><i class="fa-fw fa-solid fa-database mr-2"></i>Legacy</a></li>
<li class="navInternal" <li class="navInternal"
x-show="!$screen('sm')" x-show="!$screen('sm')"
><a href="{% url 'logout' %}?next={{ request.path }}"><i class="fa-fw fa-solid fa-power-off mr-2"></i>Logout</a></li> ><a href="{% url 'authentications:logout' %}?next={{ request.path }}"><i class="fa-fw fa-solid fa-power-off mr-2"></i>Abmelden</a></li>
</div> </div>
</div> </div>
{% endif %} {% endif %}
@@ -138,9 +143,12 @@
<a href="mailto:service@fet.at"><i class="fas fa-envelope"></i></a> <a href="mailto:service@fet.at"><i class="fas fa-envelope"></i></a>
</li> </li>
</ul> </ul>
<div class="legal"> {% get_flatpages '/impressum/' as pages %}
<a href="{% url 'impressum' %}" class="text-center text-sm sm:text-base">Impressum</a> {% if pages %}
</div> <div class="legal">
<a href="{{ pages.first.url }}" class="text-center text-sm sm:text-base">{{ pages.first.title }}</a>
</div>
{% endif %}
<hr class="legal-divider"> <hr class="legal-divider">
<p class="copyright">© {% now 'Y' %} FET - Alle Rechte vorbehalten.</p> <p class="copyright">© {% now 'Y' %} FET - Alle Rechte vorbehalten.</p>
</footer> </footer>

View File

@@ -1,5 +1,7 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load flatpages %}
{% block title %}Blackboard{% endblock %} {% block title %}Blackboard{% endblock %}
{% block content %} {% block content %}
@@ -8,20 +10,21 @@
<h1 class="page-title">Blackboard</h1> <h1 class="page-title">Blackboard</h1>
<div class="lg:w-2/3 xl:w-7/12 mx-auto"> <div class="lg:w-2/3 xl:w-7/12 mx-auto">
<section class="my-8 flex flex-col gap-2"> {% get_flatpages '/blackboard-info/' as bb_infos %}
<div class="db-page-content"> {% if bb_infos %}
<!-- Content from DB here: --> <section class="my-8 flex flex-col gap-2">
{% if bb_info %} <div class="db-page-content">
{{ bb_info.content|safe }} <!-- Content from DB here: -->
{% endif %} {{ bb_infos.first.content|safe }}
</div> </div>
{% if request.user.is_authenticated and bb_info %} {% if request.user.is_authenticated %}
<a href="{% url 'admin:core_customflatpage_change' bb_info.id %}" class="self-center sm:self-end btn-small btn-primary w-full sm:w-auto max-w-sm"> <a href="{% url 'admin:core_customflatpage_change' bb_infos.first.id %}" class="self-center sm:self-end btn-small btn-primary w-full sm:w-auto max-w-sm">
<i class="fa-regular fa-pen-to-square mr-1"></i>Info-Text bearbeiten <i class="fa-regular fa-pen-to-square mr-1"></i>Info-Text bearbeiten
</a> </a>
{% endif %} {% endif %}
</section> </section>
{% endif %}
{% if job_postings %} {% if job_postings %}
<section class="my-8 flex flex-col gap-2"> <section class="my-8 flex flex-col gap-2">
@@ -43,13 +46,13 @@
</div> </div>
{% endif %} {% endif %}
</section> </section>
{% else %} {% else %}
<section class="my-8 p-8 flex flex-col gap-2 items-center border-2 border-dashed rounded border-gray-300 dark:border-gray-600"> <section class="my-8 p-8 flex flex-col gap-2 items-center border-2 border-dashed rounded border-gray-300 dark:border-gray-600">
{% if bb_empty %} {% get_flatpages '/blackboard-blank/' as bb_blanks %}
{% if bb_blanks %}
<div class="text-center text-gray-600 dark:text-gray-300"> <div class="text-center text-gray-600 dark:text-gray-300">
<i class="fa-solid fa-sparkles text-gray-400 dark:text-gray-400 text-2xl mb-4"></i> <i class="fa-solid fa-sparkles text-gray-400 dark:text-gray-400 text-2xl mb-4"></i>
{{ bb_empty.content|safe }} {{ bb_blanks.first.content|safe }}
</div> </div>
{% endif %} {% endif %}
@@ -58,8 +61,8 @@
<a href="{% url 'admin:blackboard_jobposting_add' %}" class="self-center block btn-small btn-primary w-full sm:w-auto max-w-sm"> <a href="{% url 'admin:blackboard_jobposting_add' %}" class="self-center block btn-small btn-primary w-full sm:w-auto max-w-sm">
<i class="fa-regular fa-square-plus mr-1"></i>Neuer Eintrag <i class="fa-regular fa-square-plus mr-1"></i>Neuer Eintrag
</a> </a>
{% if bb_empty %} {% if bb_blanks %}
<a href="{% url 'admin:core_customflatpage_change' bb_empty.id %}" class="self-center block btn-small btn-primary w-full sm:w-auto max-w-sm"> <a href="{% url 'admin:core_customflatpage_change' bb_blanks.first.id %}" class="self-center block btn-small btn-primary w-full sm:w-auto max-w-sm">
<i class="fa-solid fa-asterisk mr-1"></i>Fülltext bearbeiten <i class="fa-solid fa-asterisk mr-1"></i>Fülltext bearbeiten
</a> </a>
{% endif %} {% endif %}

View File

@@ -1,18 +1,18 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% block title %}Gallery{% endblock %} {% block title %}Gallerie{% endblock %}
{% block content %} {% block content %}
<!-- Main Content --> <!-- Main Content -->
<main class="container mx-auto w-full px-4 my-8 flex-1"> <main class="container mx-auto w-full px-4 my-8 flex-1">
<h1 class="page-title">Fotos</h1> <h1 class="page-title">Gallerie</h1>
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 justify-items-center gap-4"> <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 justify-items-center gap-4">
{% for album in albums %} {% for album in albums %}
{% if album.status == "10" %} {% if album.status == "10" %}
<a href="{% url 'draft-album' album.slug %}" class="block max-w-xs sm:max-w-none"> <a href="{% url 'gallery:draft-album' album.slug %}" class="block max-w-xs sm:max-w-none">
{% else %} {% else %}
<a href="{% url 'album' album.slug %}" class="block max-w-xs sm:max-w-none"> <a href="{% url 'gallery:album' album.slug %}" class="block max-w-xs sm:max-w-none">
{% endif %} {% endif %}
<img src="{{ album.thumbnail }}" class="rounded"> <img src="{{ album.thumbnail }}" class="rounded">
<h2 class="px-2 text-proprietary-dark dark:text-sky-300">{{ album.title }}</h2> <h2 class="px-2 text-proprietary-dark dark:text-sky-300">{{ album.title }}</h2>

View File

@@ -63,12 +63,12 @@
<!-- show active members first --> <!-- show active members first -->
<li><a class="button header-btn header-link" href="{% url 'members:members' 'active' %}">Fachschaft</a></li> <li><a class="button header-btn header-link" href="{% url 'members:members' 'active' %}">Fachschaft</a></li>
<li><a class="button header-btn header-link" href="{% url 'gallery' %}">Galerie</a></li> <li><a class="button header-btn header-link" href="{% url 'gallery' %}">Galerie</a></li>
<li><a class="button header-btn header-link" href="{% url 'blackboard' %}">Blackboard</a></li> <li><a class="button header-btn header-link" href="{% url 'blackboard:index' %}">Blackboard</a></li>
<li><a class="button header-btn header-link" href="{% url 'contact' %}">Kontakt</a></li> <li><a class="button header-btn header-link" href="{% url 'contact' %}">Kontakt</a></li>
{% if request.user.is_authenticated %} {% if request.user.is_authenticated %}
<li><a class="button header-btn header-link" href="{% url 'logout' %}?next={{ request.path }}">Logout</a></li> <li><a class="button header-btn header-link" href="{% url 'authentications:logout' %}?next={{ request.path }}">Logout</a></li>
{% else %} {% else %}
<li><a class="button header-btn header-link" href="{% url 'login' %}?next={{ request.path }}">Login</a></li> <li><a class="button header-btn header-link" href="{% url 'authentications:login' %}?next={{ request.path }}">Login</a></li>
{% endif %} {% endif %}
</ul> </ul>
</div> </div>

View File

@@ -1,5 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load flatpages %}
{% load softhyphen_tags %} {% load softhyphen_tags %}
{% load static %} {% load static %}
@@ -71,9 +72,10 @@
</li> </li>
{% endif %} {% endif %}
{% if fs_info %} {% get_flatpages '/fachschaft/' as pages %}
{% if pages %}
<li class="internalLI"> <li class="internalLI">
<a href="{% url 'admin:core_customflatpage_change' fs_info.id %}"> <a href="{% url 'admin:core_customflatpage_change' pages.first.id %}">
<i class="fa-regular fa-pen-to-square mr-1"></i>Fachschaft-Text bearbeiten <i class="fa-regular fa-pen-to-square mr-1"></i>Fachschaft-Text bearbeiten
</a> </a>
</li> </li>

View File

@@ -1,4 +1,5 @@
{% extends 'members/index.html' %} {% extends 'members/index.html' %}
{% load softhyphen_tags %} {% load softhyphen_tags %}
{% block title %}{{ member.firstname }} {{ member.surname }}{% endblock %} {% block title %}{{ member.firstname }} {{ member.surname }}{% endblock %}

View File

@@ -1,11 +1,14 @@
{% extends 'members/index.html' %} {% extends 'members/index.html' %}
{% load flatpages %}
{% block title %}Fachschaft{% endblock %} {% block title %}Fachschaft{% endblock %}
{% block members_content %} {% block members_content %}
{% if fs_info %} {% get_flatpages '/fachschaft/' as pages %}
{% if pages %}
<div class="db-page-content"> <div class="db-page-content">
{{ fs_info.content|safe }} {{ pages.first.content|safe }}
</div> </div>
{% endif %} {% endif %}