Skip to content
Snippets Groups Projects
Unverified Commit 3f279a06 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Merge branch 'master' into issue17

parents 6be3fa6e 85344cae
No related branches found
No related tags found
1 merge request!12Add custom error pages.
......@@ -14,3 +14,7 @@
path = apps/official/BiscuIT-App-SchILD-NRW
url = https://edugit.org/Teckids/BiscuIT/BiscuIT-App-SchILD-NRW
ignore = untracked
[submodule "apps/official/BiscuIT-App-Alsijil"]
path = apps/official/BiscuIT-App-Alsijil
url = https://edugit.org/Teckids/BiscuIT/BiscuIT-App-Alsijil
ignore = untracked
Subproject commit 4d663e68462fd060bbfa05804b0a36f3750ea8a3
Subproject commit 28dee5efd1eb2b551c9b08e4b5c5bf887b83fc06
Subproject commit 8eb432af1dfccf455c022ac888ed11bc72f994bd
default_app_config = 'biscuit.core.apps.CoreConfig'
from glob import glob
import os
from django.apps import AppConfig
from django.conf import settings
from django.utils.translation import gettext_lazy as _
class CoreConfig(AppConfig):
name = 'biscuit.core'
verbose_name = _('BiscuIT - The Free School Information System')
def clean_scss(self):
for source_map in glob(os.path.join(settings.STATIC_ROOT, '*.css.map')):
try:
os.unlink(source_map)
except OSError:
# Ignore because old is better than nothing
pass # noqa
def ready(self):
self.clean_scss()
......@@ -3,129 +3,139 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: BiscuIT - School Information System (SIS)\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-08-21 01:06+0200\n"
"PO-Revision-Date: 2019-08-21 01:06+0200\n"
"Last-Translator: Tom Teichler <tom.teichler@teckids.org>\n"
"Language-Team: \n"
"Language: de\n"
"POT-Creation-Date: 2019-08-21 19:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.3\n"
#: apps.py:11
msgid "BiscuIT - The Free School Information System"
msgstr ""
#: migrations/0007_school.py:11
msgid "Default school"
msgstr "Standardschule"
msgstr ""
#: models.py:17
msgid "Name"
msgstr "Name"
msgstr ""
#: models.py:19
msgid "Official name of the school, e.g. as given by supervisory authority"
msgstr ""
"Offizieller Name der Schule, wie er z.B. von der Behörde vorgegeben ist"
#: models.py:31
msgid "female"
msgstr "weiblich"
msgstr ""
#: models.py:32
msgid "male"
msgstr "männlich"
msgstr ""
#: models.py:39
msgid "Is person active?"
msgstr "Ist die Person aktiv?"
msgstr ""
#: models.py:41
msgid "First name"
msgstr "Vorname"
msgstr ""
#: models.py:42
msgid "Last name"
msgstr "Nachname"
msgstr ""
#: models.py:44
msgid "Additional name(s)"
msgstr "Zusätzliche Namen"
msgstr ""
#: models.py:47
msgid "Short name"
msgstr "Kurzname"
msgstr ""
#: models.py:50
msgid "Street"
msgstr "Straße"
msgstr ""
#: models.py:52
msgid "Street number"
msgstr "Hausnummer"
msgstr ""
#: models.py:54
msgid "Postal code"
msgstr "Postleitzahl"
msgstr ""
#: models.py:56
msgid "Place"
msgstr "Ort"
msgstr ""
#: models.py:58
msgid "Home phone"
msgstr "Festnetz"
msgstr ""
#: models.py:60
msgid "Mobile phone"
msgstr "Handy"
msgstr ""
#: models.py:62
msgid "E-mail address"
msgstr "E-Mail-Adresse"
msgstr ""
#: models.py:65
msgid "Date of birth"
msgstr "Geburtsdatum"
msgstr ""
#: models.py:67
msgid "Sex"
msgstr "Geschlecht"
msgstr ""
#: models.py:69
msgid "Photo"
msgstr "Foto"
msgstr ""
#: models.py:72
msgid "Reference ID of import source"
msgstr "Referenz-ID der Import-Quelle"
msgstr ""
#: models.py:74
msgid "Guardians / Parents"
msgstr "Erziehungsberechtigte / Eltern"
msgstr ""
#: models.py:90
#: models.py:92
msgid "Long name of group"
msgstr "Langer Name der Gruppe"
msgstr ""
#: models.py:92
#: models.py:94
msgid "Short name of group"
msgstr "Kurzer Name der Gruppe"
msgstr ""
#: settings.py:140
msgid "German"
msgstr ""
#: settings.py:141
msgid "English"
msgstr ""
#: templates/core/group_full.html:10
msgid "Edit group"
msgstr "Gruppe editiern"
msgstr ""
#: templates/core/group_full.html:13
msgid "Details"
msgstr "Details"
msgstr ""
#: templates/core/group_full.html:26 templates/core/person_full.html:64
#: templates/core/group_full.html:26 templates/core/person_full.html:65
msgid "Person not found"
msgstr "Person nicht gefunden"
msgstr ""
#: templates/core/group_full.html:29
msgid ""
......@@ -133,47 +143,41 @@ msgid ""
" There is no group with this id.\n"
" "
msgstr ""
"\n"
" Es existiert keine Gruppe mit dieser ID.\n"
" "
#: templates/core/groups.html:5
msgid "Groups"
msgstr "Gruppen"
msgstr ""
#: templates/core/groups.html:9
msgid "List of all groups"
msgstr "Liste aller Gruppen"
msgstr ""
#: templates/core/person_full.html:10
#: templates/core/person_full.html:11
msgid "Edit person"
msgstr "Person editiern"
msgstr ""
#: templates/core/person_full.html:13
#: templates/core/person_full.html:14
msgid "Contact details"
msgstr "Kontaktdetails"
msgstr ""
#: templates/core/person_full.html:67
#: templates/core/person_full.html:68
msgid ""
"\n"
" There is no person with this id.\n"
" "
msgstr ""
"\n"
" Es existiert keine Person mit dieser ID.\n"
" "
#: templates/core/persons.html:5
msgid "Persons"
msgstr "Personen"
msgstr ""
#: templates/core/persons.html:9
msgid "List of all persons"
msgstr "Liste aller Personen"
msgstr ""
#: templates/error.html:5
msgid "Oops!"
msgstr "Ups!"
msgstr ""
#: views.py:23
msgid ""
......@@ -181,32 +185,9 @@ msgid ""
"page, it would be possible that the link was wrong. But it you were "
"redirected to this page by a link on this site, please contact"
msgstr ""
"Diese Seite existiert leider nicht. Sollten Sie durch einen Link von einer "
"externen Seite hierher gelangt sein, kann es sein, dass dieser falsch ist. "
"Sollten Sie jedoch durch einen Link auf dieser Seite hierher gelangt sein, "
"kontaktieren Sie bitte umgehend"
#: views.py:38
msgid ""
"An unexpected error has occurred. This is probably due a bug in BiscuIT. "
"Please contact"
msgstr ""
"Ein unerwarteter Fehler ist aufgetreten. Das liegt vermutlich an einem Bug "
"in BiscuIT. Bitte kontaktieren Sie"
#~ msgid ""
#~ "\n"
#~ " Something went wrong. Please contact <a href=\"mailto:"
#~ "schulsupport@teckids.org\">schulsupport@teckids.org</a>.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ " Etwas ist schiefgelaufen. Bitte kontaktieren Sie <a href=\"mailto:"
#~ "schulsupport@teckids.org\">schulsupport@teckids.org</a>.\n"
#~ " "
#~ msgid "Oops! [%(error)s]"
#~ msgstr "Ups! [%(error)s]"
#~ msgid "Interfaces"
#~ msgstr "Schnittstellen"
# Generated by Django 2.2.4 on 2019-08-21 14:18
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('core', '0012_allow_null'),
]
operations = [
migrations.AddField(
model_name='person',
name='primary_group',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Group'),
),
]
......@@ -74,6 +74,8 @@ class Person(SchoolRelated):
guardians = models.ManyToManyField('self', verbose_name=_('Guardians / Parents'),
symmetrical=False, related_name='children')
primary_group = models.ForeignKey('Group', models.SET_NULL, null=True)
def __str__(self):
return '%s, %s' % (self.last_name, self.first_name)
......
......@@ -2,6 +2,8 @@ from glob import glob
import os
import sys
from django.utils.translation import ugettext_lazy as _
from dynaconf import LazySettings
from .util.core_helpers import get_app_packages
......@@ -70,6 +72,7 @@ SASS_PROCESSOR_INCLUDE_DIRS = [
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django_global_request.middleware.GlobalRequestMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
......@@ -133,14 +136,14 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
LANGUAGE_CODE = _settings.get('l10n.lang', 'de-de')
TIME_ZONE = _settings.get('l10n.tz', 'Europe/Berlin')
LANGUAGES = [
('de', _('German')),
('en', _('English')),
]
LANGUAGE_CODE = _settings.get('l10n.lang', 'en')
TIME_ZONE = _settings.get('l10n.tz', 'UTC')
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
......@@ -152,8 +155,8 @@ MEDIA_URL = _settings.get('media.url', '/media/')
LOGIN_REDIRECT_URL = 'index'
LOGOUT_REDIRECT_URL = 'index'
STATIC_ROOT = _settings.get('static.root')
MEDIA_ROOT = _settings.get('media.root')
STATIC_ROOT = _settings.get('static.root', os.path.join(BASE_DIR, 'static'))
MEDIA_ROOT = _settings.get('media.root', os.path.join(BASE_DIR, 'media'))
FONT_AWESOME = {'url': _settings.get(
'bootstrap.fa_url', '/javascript/font-awesome/css/font-awesome.min.css')}
......
......@@ -46,7 +46,7 @@
<footer class="footer text-dark bg-light">
<div class="container">
<p class="text-muted text-center">
<span class="text-muted">
<a href="https://biscuit.edugit.org/">
BiscuIT - The Free School Information System
</a>
......@@ -55,7 +55,7 @@
<a href="https://www.teckids.org/">
Teckids e.V.
</a>
</p>
</span>
</div>
</footer>
{% endblock %}
dev.sh 0 → 100755
#!/bin/sh
remove_pip_metadata() {
find . -type d -name pip-wheel-metadata -print0 | xargs -0r rm -rf --
}
case "$1" in
"install-all")
cd "$(dirname "$0")"
remove_pip_metadata
poetry install
for d in apps/official/*; do
remove_pip_metadata
poetry run sh -c "cd $d; poetry install"
done
remove_pip_metadata
poetry run ./manage.py migrate
poetry run ./manage.py compilemessages
poetry run ./manage.py collectstatic
;;
*)
;;
esac
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