feat(startpage): allow disabling startpage

We add back the functionality to disable the startpage. If a non-empty redirect url is configured,
all startpage urls are disabled except for the index page which redirects to the given url.
cm-remove-jet
Christian Merten 9 months ago
parent bdbbaa41a2
commit 443ef326cf
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -1,4 +1,4 @@
{% load static %}
{% load static common %}
<script>
window.onscroll = () => {
@ -36,18 +36,22 @@ window.onclick = function(event) {
}
</script>
{% settings_value 'STARTPAGE_REDIRECT_URL' as redirect_url %}
<div class="navigation">
<div id="myNavbar" class="navbar">
<a href="/"><img style="margin: 0; padding: 0;"src="{% static 'general/img/jdav_logo_sektion.png' %}"></a>
{% if not redirect_url %}
<div>
<button onclick="myFunction()"class="dropbtn">Menü</button>
<a class="nav" href="/kompass">Login</a>
</div>
{% endif %}
</div>
<div class="dropdown">
<div id="myDropdown" class="dropdown-content">
{% if not redirect_url %}
<div class="menu-level-1">
<ul>
<li>
@ -117,6 +121,7 @@ window.onclick = function(event) {
</li>
</ul>
</div>
{% endif %}
</div>
</div>
</div>

@ -4,17 +4,24 @@ from django.urls import re_path
from . import views
app_name = "startpage"
urlpatterns = [
re_path(r'^$', views.index, name='index'),
re_path(r'^impressum/?$', views.static_view('startpage/impressum.html'), name='impressum'),
re_path(r'^aktuelles/?$', views.aktuelles, name='aktuelles'),
re_path(r'^berichte/?$', views.berichte, name='berichte'),
re_path(r'^gruppen/?$', views.static_view('startpage/gruppen.html'), name='gruppen'),
re_path(r'^gruppen/faq/?$', views.static_view('startpage/gruppen/faq.html'), name='faq'),
re_path(r'^gruppen/(?P<group_name>{pattern}+)/?$'.format(pattern=settings.STARTPAGE_URL_NAME_PATTERN),
views.gruppe_detail, name='gruppe_detail'),
re_path(r'^(?P<section_name>{pattern}+)/(?P<post_name>{pattern}+)/?$'.format(pattern=settings.STARTPAGE_URL_NAME_PATTERN),
views.post, name='post'),
re_path(r'^(?P<section_name>{pattern}+)/?$'.format(pattern=settings.STARTPAGE_URL_NAME_PATTERN),
views.section, name='section'),
]
if settings.STARTPAGE_REDIRECT_URL != '':
urlpatterns = [
re_path(r'^$', views.redirect, name='index'),
re_path(r'^impressum/?$', views.static_view('startpage/impressum.html'), name='impressum'),
]
else:
urlpatterns = [
re_path(r'^$', views.index, name='index'),
re_path(r'^impressum/?$', views.static_view('startpage/impressum.html'), name='impressum'),
re_path(r'^aktuelles/?$', views.aktuelles, name='aktuelles'),
re_path(r'^berichte/?$', views.berichte, name='berichte'),
re_path(r'^gruppen/?$', views.static_view('startpage/gruppen.html'), name='gruppen'),
re_path(r'^gruppen/faq/?$', views.static_view('startpage/gruppen/faq.html'), name='faq'),
re_path(r'^gruppen/(?P<group_name>{pattern}+)/?$'.format(pattern=settings.STARTPAGE_URL_NAME_PATTERN),
views.gruppe_detail, name='gruppe_detail'),
re_path(r'^(?P<section_name>{pattern}+)/(?P<post_name>{pattern}+)/?$'.format(pattern=settings.STARTPAGE_URL_NAME_PATTERN),
views.post, name='post'),
re_path(r'^(?P<section_name>{pattern}+)/?$'.format(pattern=settings.STARTPAGE_URL_NAME_PATTERN),
views.section, name='section'),
]

@ -1,4 +1,4 @@
from django.shortcuts import redirect, get_object_or_404
from django.shortcuts import redirect as django_redirect, get_object_or_404
from django import shortcuts
from django.conf import settings
from django.urls import reverse
@ -28,6 +28,10 @@ def index(request):
return render(request, 'startpage/index.html', context)
def redirect(request):
return django_redirect(settings.STARTPAGE_REDIRECT_URL)
# static view factory
def static_view(template_path):
def view(request):

Loading…
Cancel
Save