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

Merge branch '102-use-select2-everywhere' into 'master'

Resolve "Use Select2 everywhere"

Closes #102

See merge request BiscuIT/BiscuIT-ng!58
parents eb33b8a5 6929c8a9
No related branches found
No related tags found
1 merge request!58Resolve "Use Select2 everywhere"
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
......@@ -10,7 +11,7 @@ class PersonAccountForm(forms.ModelForm):
model = Person
fields = ['last_name', 'first_name', 'user']
new_user = forms.CharField(required=False)
new_user = forms.CharField(required=False, widget=Select2Widget)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
......@@ -48,7 +49,8 @@ class EditPersonForm(forms.ModelForm):
new_user = forms.CharField(
required=False,
label=_('New user'),
help_text=_('Create a new account'))
help_text=_('Create a new account'),
widget=Select2Widget)
def clean(self) -> None:
User = get_user_model()
......@@ -72,7 +74,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,7 @@ INSTALLED_APPS = [
'phonenumber_field',
'debug_toolbar',
'contact_form',
'django_select2',
'hattori',
'biscuit.core',
'impersonate',
......
......@@ -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
......
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