Skip to content
Snippets Groups Projects
Verified Commit 84b250c9 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch 'master' of edugit.org:BiscuIT/BiscuIT-ng

parents 804d4c47 761110d8
No related branches found
No related tags found
No related merge requests found
from hattori.base import BaseAnonymizer, faker
from .models import Person
class PersonAnonymizer(BaseAnonymizer):
model = Person
attributes = [
('first_name', faker.first_name),
('last_name', faker.last_name),
('additional_name', ''),
('short_name', lambda **kwargs: faker.pystr(min_chars=3, max_chars=5, **kwargs)),
('street', faker.street_name),
('housenumber', faker.building_number),
('postal_code', faker.postcode),
('place', faker.city),
('phone_number', ''),
('mobile_number', ''),
('email', faker.email),
('date_of_birth', lambda **kwargs: faker.date_of_birth(minimum_age=8, maximum_age=66, **kwargs)),
('photo', '')
]
from django import forms
from django.contrib.auth import get_user_model
from django.utils.translation import ugettext_lazy as _
from django_select2.forms import ModelSelect2MultipleWidget, Select2Widget
from .models import Person, Group, School, SchoolTerm
......@@ -9,6 +10,9 @@ class PersonAccountForm(forms.ModelForm):
class Meta:
model = Person
fields = ['last_name', 'first_name', 'user']
widgets = {
'user': Select2Widget
}
new_user = forms.CharField(required=False)
......@@ -44,6 +48,9 @@ class EditPersonForm(forms.ModelForm):
model = Person
fields = ['user', 'is_active', 'first_name', 'last_name', 'additional_name', 'short_name', 'street', 'housenumber',
'postal_code', 'place', 'phone_number', 'mobile_number', 'email', 'date_of_birth', 'sex', 'photo', 'photo_cropping']
widgets = {
'user': Select2Widget
}
new_user = forms.CharField(
required=False,
......@@ -72,7 +79,11 @@ class EditGroupForm(forms.ModelForm):
class Meta:
model = Group
fields = ['name', 'short_name', 'members', 'owners', 'parent_groups']
widgets = {
'members': ModelSelect2MultipleWidget(search_fields=['first_name__icontains', 'last_name__icontains', 'short_name__icontains']),
'owners': ModelSelect2MultipleWidget(search_fields=['first_name__icontains', 'last_name__icontains', 'short_name__icontains']),
'parent_groups': ModelSelect2MultipleWidget(search_fields=['name__icontains', 'short_name__icontains']),
}
class EditSchoolForm(forms.ModelForm):
class Meta:
......
......@@ -64,6 +64,8 @@ INSTALLED_APPS = [
'phonenumber_field',
'debug_toolbar',
'contact_form',
'django_select2',
'hattori',
'biscuit.core',
'impersonate',
]
......@@ -313,4 +315,6 @@ CRON_CLASSES = [
'biscuit.core.cronjobs.Backup'
]
ANONYMIZE_ENABLED = _settings.get('maintenance.anonymisable', True)
_settings.populate_obj(sys.modules[__name__])
......@@ -3,6 +3,16 @@
{% extends "core/base.html" %}
{% load bootstrap4 i18n %}
{% block bootstrap4_extra_head %}
{{ block.super }}
{{ edit_group_form.media.css }}
{% endblock %}
{% block bootstrap4_extra_script %}
{{ block.super }}
{{ edit_group_form.media.js }}
{% endblock %}
{% block bootstrap4_title %}{% blocktrans %}Edit group{% endblocktrans %} - {{ block.super }}{% endblock %}
{% block page_title %}{% blocktrans %}Edit group{% endblocktrans %}{% endblock %}
......
......@@ -11,6 +11,12 @@
{% block bootstrap4_extra_head %}
{{ block.super }}
{{ edit_person_form.media }}
{{ edit_person_form.media.css }}
{% endblock %}
{% block bootstrap4_extra_script %}
{{ block.super }}
{{ edit_person_form.media.js }}
{% endblock %}
{% block content %}
......
......@@ -4,6 +4,16 @@
{% load bootstrap4 i18n %}
{% block bootstrap4_extra_head %}
{{ block.super }}
{{ persons_accounts_formset.media.css }}
{% endblock %}
{% block bootstrap4_extra_script %}
{{ block.super }}
{{ persons_accounts_formset.media.js }}
{% endblock %}
{% block bootstrap4_title %}{% blocktrans %}Link persons to accounts{% endblocktrans%} - {{ block.super }}{% endblock %}
{% block page_title %}
......
......@@ -31,7 +31,8 @@ urlpatterns = [
path('maintenance-mode/', include('maintenance_mode.urls')),
path('contact/', include('contact_form.urls')),
path('impersonate/', include('impersonate.urls')),
path('__i18n__/', include('django.conf.urls.i18n'))
path('__i18n__/', include('django.conf.urls.i18n')),
path('select2/', include('django_select2.urls'))
]
# Serve javascript-common if in development
......
......@@ -46,6 +46,7 @@ django-impersonate = "^1.4"
python-memcached = "^1.59"
django-dbbackup = "^3.2"
django-cron = "^0.5.1"
django-hattori = "^0.2"
[tool.poetry.extras]
ldap = ["django-auth-ldap"]
......
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