Compare commits
2 Commits
master
...
translatio
| Author | SHA1 | Date | |
|---|---|---|---|
| c6276dd485 | |||
| 1a14db16b4 |
@ -1,7 +1,7 @@
|
|||||||
FROM alpine:3.9
|
FROM alpine:3.9
|
||||||
ADD ["requirements.txt", "/requirements.txt"]
|
ADD ["requirements.txt", "/requirements.txt"]
|
||||||
RUN apk upgrade --update && \
|
RUN apk upgrade --update && \
|
||||||
apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 && \
|
apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 gettext && \
|
||||||
pip3 install -r /requirements.txt && rm /requirements.txt
|
pip3 install -r /requirements.txt && rm /requirements.txt
|
||||||
WORKDIR /lama
|
WORKDIR /lama
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
FROM alpine:3.9
|
FROM alpine:3.9
|
||||||
ADD ["requirements.txt", "/requirements.txt"]
|
ADD ["requirements.txt", "/requirements.txt"]
|
||||||
RUN apk upgrade --update && \
|
RUN apk upgrade --update && \
|
||||||
apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 && \
|
apk add --update python3 build-base openldap-dev python3-dev py3-psycopg2 gettext && \
|
||||||
pip3 install -r /requirements.txt && rm /requirements.txt
|
pip3 install -r /requirements.txt && rm /requirements.txt
|
||||||
WORKDIR /lama
|
WORKDIR /lama
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|||||||
@ -5,6 +5,7 @@ from django.contrib.sites.shortcuts import get_current_site
|
|||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.shortcuts import render, redirect
|
from django.shortcuts import render, redirect
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
from ldap import ALREADY_EXISTS, OBJECT_CLASS_VIOLATION
|
from ldap import ALREADY_EXISTS, OBJECT_CLASS_VIOLATION
|
||||||
from account_helper.models import Realm
|
from account_helper.models import Realm
|
||||||
from account_manager.forms import AddLDAPUserForm, UserDeleteListForm, UpdateLDAPUserForm, AdminUpdateLDAPUserForm, \
|
from account_manager.forms import AddLDAPUserForm, UserDeleteListForm, UpdateLDAPUserForm, AdminUpdateLDAPUserForm, \
|
||||||
@ -23,7 +24,10 @@ def protect_cross_realm_user_access(view_func):
|
|||||||
user_dn = kwargs.get('user_dn', None)
|
user_dn = kwargs.get('user_dn', None)
|
||||||
|
|
||||||
if realm_id and user_dn and Realm.objects.get(id=realm_id).ldap_base_dn not in user_dn:
|
if realm_id and user_dn and Realm.objects.get(id=realm_id).ldap_base_dn not in user_dn:
|
||||||
return HttpResponse("Ressource konnte nicht gefunden werden.", status=404)
|
return render(request, 'permission_denied.jinja2',
|
||||||
|
{
|
||||||
|
'extra_errors': _('Der angefragte Nutzer gehört einem anderen Bereich an. Nutzer können nur von dem Bereich bearbeitet werden, in dem sie erstellt wurden.')},
|
||||||
|
status=404)
|
||||||
return view_func(request, *args, **kwargs)
|
return view_func(request, *args, **kwargs)
|
||||||
|
|
||||||
return decorator
|
return decorator
|
||||||
@ -411,5 +415,3 @@ class LdapPasswordChangeView(PasswordChangeView):
|
|||||||
LdapUser.base_dn = LdapUser.ROOT_DN
|
LdapUser.base_dn = LdapUser.ROOT_DN
|
||||||
LdapUser.password_reset(user, password)
|
LdapUser.password_reset(user, password)
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -47,6 +47,7 @@ INSTALLED_APPS = [
|
|||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
|
'django.middleware.locale.LocaleMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
@ -121,7 +122,12 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/2.1/topics/i18n/
|
# https://docs.djangoproject.com/en/2.1/topics/i18n/
|
||||||
|
|
||||||
LANGUAGE_CODE = 'en-us'
|
LANGUAGE_CODE = 'de_fr'
|
||||||
|
LANGUAGES = (
|
||||||
|
('en', _('English')),
|
||||||
|
('de', _('German')),
|
||||||
|
('de-fr', _('German (Frankish')),
|
||||||
|
)
|
||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
TIME_ZONE = 'UTC'
|
||||||
|
|
||||||
@ -131,6 +137,10 @@ USE_L10N = True
|
|||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
LOCALE_PATHS = (
|
||||||
|
os.path.join(BASE_DIR, 'locale')
|
||||||
|
)
|
||||||
|
|
||||||
# Static files (CSS, JavaScript, Images)
|
# Static files (CSS, JavaScript, Images)
|
||||||
# https://docs.djangoproject.com/en/2.1/howto/static-files/
|
# https://docs.djangoproject.com/en/2.1/howto/static-files/
|
||||||
|
|
||||||
|
|||||||
24
src/locale/de_de/LC_MESSAGES/django.po
Normal file
24
src/locale/de_de/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2019-05-02 11:34+0000\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"
|
||||||
|
|
||||||
|
#: account_manager/views/user_views.py:29
|
||||||
|
msgid ""
|
||||||
|
"Der angefragte Nutzer gehört einem anderen Bereich an. Nutzer können nur von "
|
||||||
|
"dem Bereich bearbeitet werden, in dem sie erstellt wurden."
|
||||||
|
msgstr ""
|
||||||
24
src/locale/de_fr/LC_MESSAGES/django.po
Normal file
24
src/locale/de_fr/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2019-05-02 11:35+0000\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"
|
||||||
|
|
||||||
|
#: account_manager/views/user_views.py:29
|
||||||
|
msgid ""
|
||||||
|
"Der angefragte Nutzer gehört einem anderen Bereich an. Nutzer können nur von "
|
||||||
|
"dem Bereich bearbeitet werden, in dem sie erstellt wurden."
|
||||||
|
msgstr "Bla bla"
|
||||||
Reference in New Issue
Block a user