Skip to content
Snippets Groups Projects
Verified Commit 12f0ea85 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Remove some old SchoolApps files

WIP on #134
parent ec2a88c3
No related branches found
No related tags found
1 merge request!108Remove some old SchoolApps files
Pipeline #569 failed
"""
Django settings for schoolapps project.
"""
import os
import ldap
from django_auth_ldap.config import LDAPSearch, PosixGroupType, GroupOfNamesType, LDAPGroupType
import logging
from .secure_settings import *
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = True
# PDB debugger option
POST_MORTEM = True
ALLOWED_HOSTS = [
'info.katharineum.de',
'178.63.239.184',
'159.69.181.50',
'localhost',
'127.0.0.1',
'13049d63.ngrok.io'
]
INTERNAL_IPS = [
'127.0.0.1',
]
# Application definition
INSTALLED_APPS = [
'dashboard.apps.DashboardConfig',
"debug.apps.DebugConfig",
'aub.apps.AubConfig',
'fibu.apps.FibuConfig',
'untisconnect.apps.UntisconnectConfig',
'timetable.apps.TimetableConfig',
'menu.apps.MenuConfig',
'support.apps.SupportConfig',
'faq.apps.FaqConfig',
'dbsettings',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'material',
'django_react_templatetags',
'martor',
'widget_tweaks',
'pwa',
'templatetags.apps.TemplatetagsConfig',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'schoolapps.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates')
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django_react_templatetags.context_processors.react_context_processor',
'meta.meta_processor',
],
},
},
]
WSGI_APPLICATION = 'schoolapps.wsgi.application'
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
LANGUAGE_CODE = 'de-de'
TIME_ZONE = 'Europe/Berlin'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticcollect')
# Redirect to home URL after login (Default redirects to /accounts/profile/)
LOGIN_REDIRECT_URL = '/'
# EMAIL
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# TIMETABLE
TIMETABLE_WIDTH = 5
TIMETABLE_HEIGHT = 9
LESSONS = [('8:00', '1.'), ('8:45', '2.'), ('9:45', '3.'), ('10:35', '4.'), ('11:35', '5.'),
('12:25', '6.'), ('13:15', '7.'), ('14:05', '8.'), ('14:50', '9.')]
SHORT_WEEK_DAYS = ["Mo", "Di", "Mi", "Do", "Fr"]
LONG_WEEK_DAYS = [("Montag", 0), ("Dienstag", 1), ("Mittwoch", 2), ("Donnerstag", 3), ("Freitag", 4)]
# LDAP
# Baseline configuration.
AUTH_LDAP_SERVER_URI = "ldap://127.0.0.1"
AUTH_LDAP_USER_SEARCH = LDAPSearch("dc=skole,dc=skolelinux,dc=no",
ldap.SCOPE_SUBTREE, "(&(objectClass=posixAccount)(uid=%(user)s))")
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("dc=skole,dc=skolelinux,dc=no", ldap.SCOPE_SUBTREE,
"(&(objectClass=posixGroup))")
AUTH_LDAP_GROUP_TYPE = PosixGroupType()
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_staff": "cn=schoolapps-admins,ou=group,dc=skole,dc=skolelinux,dc=no",
"is_superuser": "cn=schoolapps-admins,ou=group,dc=skole,dc=skolelinux,dc=no",
}
AUTH_LDAP_ALWAYS_UPDATE_USER = True
AUTH_LDAP_MIRROR_GROUPS = True
AUTH_LDAP_CACHE_GROUPS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 300
# Keep ModelBackend around for per-user permissions and maybe a local superuser.
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
if DEBUG:
logger = logging.getLogger('django_auth_ldap')
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
# Media
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# Use cache for db settings (only on production)
DBSETTINGS_USE_CACHE = not DEBUG
# Cache configs (only on production)
TEST_MEMCACHE = False
if not DEBUG or TEST_MEMCACHE:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
else:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
}
}
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
},
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'log.django',
},
},
'loggers': {
'django': {
'handlers': ['console', 'file'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),
},
},
}
"""schoolapps URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf import settings
from django.conf.urls import include
from django.conf.urls.static import static
from django.contrib import admin
from django.shortcuts import render
from django.urls import path
def custom_page_not_found(request, exception):
print(exception)
return render(request, 'common/404.html', context={"martor": False})
handler404 = custom_page_not_found
urlpatterns = [
#############
# Dashboard #
#############
path('', include('dashboard.urls')),
########
# Auth #
########
path('accounts/', include('django.contrib.auth.urls')),
#######
# AUB #
#######
path('aub/', include('aub.urls')),
########
# FIBU #
########
path('fibu/', include('fibu.urls')),
#############
# TIMETABLE #
#############
path('timetable/', include('timetable.urls')),
########
# MENU #
########
path('menu/', include('menu.urls')),
#########
# Admin #
#########
path("debug/", include("debug.urls")),
path('settings/', include('dbsettings.urls')),
path('admin/', admin.site.urls),
###########
# SUPPORT #
###########
path('support/', include('support.urls')),
#######
# FAQ #
#######
path('faq/', include('faq.urls')),
path('martor/', include('martor.urls')),
#######
# 404 #
#######
path('404/', custom_page_not_found, name='404'),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
{#<!DOCTYPE html>#}
{#<html lang="de">#}
{#<head>#}
{# <meta charset="utf-8">#}
{# <meta http-equiv="X-UA-Compatible" content="IE=edge">#}
{# <meta name="viewport" content="width=device-width,initial-scale=1">#}
{# <meta name="description" content="Selbst programmierte Anwendungen für den Schullaltag am Katharineum zu Lübeck">#}
{# <title>SchoolApps – Katharineum zu Lübeck</title>#}
{##}
{# <!-- Android -->#}
{# <meta name="theme-color" content="#da1f3d">#}
{# <meta name="mobile-web-app-capable" content="yes">#}
{##}
{# <!-- iOS -->#}
{# <meta name="apple-mobile-web-app-title" content="SchoolApps">#}
{# <meta name="apple-mobile-web-app-capable" content="yes">#}
{# <meta name="apple-mobile-web-app-status-bar-style" content="default">#}
{##}
{# <!-- Windows -->#}
{# <meta name="msapplication-navbutton-color" content="#da1f3d">#}
{# <meta name="msapplication-TileColor" content="#da1f3d">#}
{# <meta name="msapplication-TileImage" content="ms-icon-144x144.png">#}
{# <meta name="msapplication-config" content="browserconfig.xml">#}
{##}
{# <!-- Pinned Sites -->#}
{# <meta name="application-name" content="SchoolApps">#}
{# <meta name="msapplication-tooltip" content="SchoolApps">#}
{# <meta name="msapplication-starturl" content="/">#}
{##}
{# <!-- Tap highlighting -->#}
{# <meta name="msapplication-tap-highlight" content="no">#}
{##}
{# <!-- UC Mobile Browser -->#}
{# <meta name="full-screen" content="yes">#}
{# <meta name="browsermode" content="application">#}
{##}
{##}
{# <!-- Main Link Tags -->#}
{# <link href="/static/icons/favicon_16.png" rel="icon" type="image/png" sizes="16x16">#}
{# <link href="/static/icons/favicon_32.png" rel="icon" type="image/png" sizes="32x32">#}
{# <link href="/static/icons/favicon_48.pngg" rel="icon" type="image/png" sizes="48x48">#}
{##}
{# <!-- iOS -->#}
{# <!-- non-retina iPad iOS 7 -->#}
{# <link rel="apple-touch-icon" href="/static/icons/apple_76.png" sizes="76x76">#}
{# <!-- retina iPhone vor iOS 7 -->#}
{# <link rel="apple-touch-icon" href="/static/icons/apple_114.png" sizes="114x114">#}
{# <!-- retina iPad iOS 7 -->#}
{# <link rel="apple-touch-icon" href="/static/icons/apple_152.png" sizes="152x152">#}
{# <!-- retina iPad iOS 7 für iPhone 6 Plus -->#}
{# <link rel="apple-touch-icon" href="/static/icons/apple_180.png" sizes="180x180">#}
{##}
{##}
{# <!-- Pinned Tab -->#}
{##}
{##}
{# <!-- Android -->#}
{# <link href="/static/icons/android_192.png" rel="icon" sizes="192x192">#}
{##}
{# <!-- Others -->#}
{##}
{##}
{##}
{# <!-- Favicon -->#}
{# <link rel="shortcut icon" type="image/x-icon" href="/static/common/favicon.ico">#}
{# <link rel="manifest" href="/static/common/manifest.json">#}
{##}
{# <!--------->#}
{# <!-- CSS -->#}
{# <!--------->#}
{# <link href="/static/css/materialdesignicons-webfont/material-icons.css" rel="stylesheet">#}
{# <link rel="stylesheet" type="text/css" media="screen"#}
{# href="/static/css/materialize.min.css">#}
{# <link rel="stylesheet" type="text/css" href="/static/common/style.css">#}
{# <script src="/static/js/jquery/jquery-3.3.1.slim.min.js"></script>#}
{##}
{##}
{# <!-- location (for "active" in sidenav -->#}
{# <meta name="active-loaction" content="404">#}
{##}
{##}
{#</head>#}
{#<body>#}
{##}
{#<header>#}
{# <!-- Menu button (sidenav) -->#}
{# <div class="container">#}
{# <a href="#" data-target="slide-out" class="top-nav sidenav-trigger hide-on-large-only">#}
{# <i class="material-icons">menu</i>#}
{# </a>#}
{# </div>#}
{##}
{# <!-- Nav bar (logged in as, logout) -->#}
{# <nav class="primary-color">#}
{# <a class="brand-logo" href="/">SchoolApps</a>#}
{# </nav>#}
{##}
{# <div id="print-header" class="row">#}
{# <div class="col s6 logo">#}
{# <img src="/static/common/logo.png">#}
{# </div>#}
{# <div class="col s6 right-align">#}
{# <a href="/"><strong>SchoolApps</strong></a><br>#}
{# Katharineum zu Lübeck#}
{# </div>#}
{# </div>#}
{##}
{# <!-- Main nav (sidenav) -->#}
{# <ul id="slide-out" class="sidenav sidenav-fixed">#}
{# <li class="logo">#}
{# <a id="logo-container" href="/" class="brand-logo">#}
{# <img src="/static/common/logo.png" alt="Logo des Katharineums">#}
{# </a>#}
{# </li>#}
{# </ul>#}
{#</header>#}
{% include "partials/header.html" %}
<main>
<h3>Leider existiert diese Seite nicht. (Fehler 404)</h3>
<p class="flow-text">
Beim Aufrufen dieser Seite ist ein Fehler aufgetreten. Wahrscheinlich existiert die gewünschte Seite unter der Adresse "<code id="url"></code>" nicht.
Solltest du der Meinung sein, dass diese Seite eigentlich existieren müsste, wende dich bitte an die
<a href="mailto:support@katharineum.de">Computer-AG</a>.
</p>
</main>
<script>
document.getElementById("url").innerHTML = window.location.pathname;
</script>
{% include 'partials/footer.html' %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment