Skip to content
Snippets Groups Projects
Commit 02d63ca2 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

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

Resolve "Use Select2 everywhere"

Closes #102

See merge request AlekSIS/official/AlekSIS!362
parents 5adc93ab 6c963958
No related branches found
No related tags found
1 merge request!362Resolve "Use Select2 everywhere"
Pipeline #4114 passed
...@@ -5,7 +5,7 @@ from django.contrib.auth import get_user_model ...@@ -5,7 +5,7 @@ from django.contrib.auth import get_user_model
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django_select2.forms import ModelSelect2MultipleWidget, Select2Widget from django_select2.forms import ModelSelect2MultipleWidget, ModelSelect2Widget, Select2Widget
from dynamic_preferences.forms import PreferenceForm from dynamic_preferences.forms import PreferenceForm
from material import Fieldset, Layout, Row from material import Fieldset, Layout, Row
...@@ -24,7 +24,7 @@ class PersonAccountForm(forms.ModelForm): ...@@ -24,7 +24,7 @@ class PersonAccountForm(forms.ModelForm):
class Meta: class Meta:
model = Person model = Person
fields = ["last_name", "first_name", "user"] fields = ["last_name", "first_name", "user"]
widgets = {"user": Select2Widget} widgets = {"user": Select2Widget(attrs={"class": "browser-default"})}
new_user = forms.CharField(required=False) new_user = forms.CharField(required=False)
...@@ -107,7 +107,19 @@ class EditPersonForm(ExtensibleForm): ...@@ -107,7 +107,19 @@ class EditPersonForm(ExtensibleForm):
"primary_group", "primary_group",
] ]
widgets = { widgets = {
"user": Select2Widget, "user": Select2Widget(attrs={"class": "browser-default"}),
"primary_group": ModelSelect2Widget(
search_fields=["name__icontains", "short_name__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
"guardians": ModelSelect2MultipleWidget(
search_fields=[
"first_name__icontains",
"last_name__icontains",
"short_name__icontains",
],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
} }
new_user = forms.CharField( new_user = forms.CharField(
...@@ -138,19 +150,25 @@ class EditGroupForm(SchoolTermRelatedExtensibleForm): ...@@ -138,19 +150,25 @@ class EditGroupForm(SchoolTermRelatedExtensibleForm):
"first_name__icontains", "first_name__icontains",
"last_name__icontains", "last_name__icontains",
"short_name__icontains", "short_name__icontains",
] ],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
), ),
"owners": ModelSelect2MultipleWidget( "owners": ModelSelect2MultipleWidget(
search_fields=[ search_fields=[
"first_name__icontains", "first_name__icontains",
"last_name__icontains", "last_name__icontains",
"short_name__icontains", "short_name__icontains",
] ],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
), ),
"parent_groups": ModelSelect2MultipleWidget( "parent_groups": ModelSelect2MultipleWidget(
search_fields=["name__icontains", "short_name__icontains"] search_fields=["name__icontains", "short_name__icontains"],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
"additional_fields": ModelSelect2MultipleWidget(
search_fields=["title__icontains",],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
), ),
"additional_fields": ModelSelect2MultipleWidget(search_fields=["title__icontains",]),
} }
...@@ -167,9 +185,27 @@ class AnnouncementForm(ExtensibleForm): ...@@ -167,9 +185,27 @@ class AnnouncementForm(ExtensibleForm):
valid_until_time = forms.TimeField(label=_("Time")) valid_until_time = forms.TimeField(label=_("Time"))
persons = forms.ModelMultipleChoiceField( persons = forms.ModelMultipleChoiceField(
Person.objects.all(), label=_("Persons"), required=False queryset=Person.objects.all(),
label=_("Persons"),
required=False,
widget=ModelSelect2MultipleWidget(
search_fields=[
"first_name__icontains",
"last_name__icontains",
"short_name__icontains",
],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
)
groups = forms.ModelMultipleChoiceField(
queryset=None,
label=_("Groups"),
required=False,
widget=ModelSelect2MultipleWidget(
search_fields=["name__icontains", "short_name__icontains",],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
) )
groups = forms.ModelMultipleChoiceField(queryset=None, label=_("Groups"), required=False)
layout = Layout( layout = Layout(
Fieldset( Fieldset(
......
...@@ -2,8 +2,12 @@ ...@@ -2,8 +2,12 @@
{% extends "core/base.html" %} {% extends "core/base.html" %}
{% load i18n material_form %} {% load i18n material_form any_js %}
{% block extra_head %}
{{ form.media.css }}
{% include_css "select2-materialize" %}
{% endblock %}
{% block browser_title %} {% block browser_title %}
{% if mode == "edit" %} {% if mode == "edit" %}
...@@ -30,4 +34,6 @@ ...@@ -30,4 +34,6 @@
{% trans "Save und publish announcement" %} {% trans "Save und publish announcement" %}
</button> </button>
</form> </form>
{% include_js "select2-materialize" %}
{{ form.media.js }}
{% endblock %} {% endblock %}
{# -*- engine:django -*- #} {# -*- engine:django -*- #}
{% extends "core/base.html" %} {% extends "core/base.html" %}
{% load material_form i18n %} {% load material_form i18n any_js %}
{% block extra_head %}
{{ edit_group_form.media.css }}
{% include_css "select2-materialize" %}
{% endblock %}
{% block browser_title %}{% blocktrans %}Edit group{% endblocktrans %}{% endblock %} {% block browser_title %}{% blocktrans %}Edit group{% endblocktrans %}{% endblock %}
{% block page_title %}{% blocktrans %}Edit group{% endblocktrans %}{% endblock %} {% block page_title %}{% blocktrans %}Edit group{% endblocktrans %}{% endblock %}
...@@ -13,5 +18,7 @@ ...@@ -13,5 +18,7 @@
{% form form=edit_group_form %}{% endform %} {% form form=edit_group_form %}{% endform %}
{% include "core/partials/save_button.html" %} {% include "core/partials/save_button.html" %}
</form> </form>
{% include_js "select2-materialize" %}
{{ edit_group_form.media.js }}
{% endblock %} {% endblock %}
...@@ -2,7 +2,12 @@ ...@@ -2,7 +2,12 @@
{% extends "core/base.html" %} {% extends "core/base.html" %}
{% load i18n %} {% load i18n any_js %}
{% block extra_head %}
{{ persons_accounts_formset.media.css }}
{% include_css "select2-materialize" %}
{% endblock %}
{% block browser_title %}{% blocktrans %}Link persons to accounts{% endblocktrans %}{% endblock %} {% block browser_title %}{% blocktrans %}Link persons to accounts{% endblocktrans %}{% endblock %}
{% block page_title %} {% block page_title %}
...@@ -55,4 +60,6 @@ ...@@ -55,4 +60,6 @@
{% blocktrans %}Update{% endblocktrans %} {% blocktrans %}Update{% endblocktrans %}
</button> </button>
</form> </form>
{% include_js "select2-materialize" %}
{{ persons_accounts_formset.media.js }}
{% endblock %} {% endblock %}
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
{% extends "core/base.html" %} {% extends "core/base.html" %}
{% load material_form i18n %} {% load material_form i18n any_js %}
{% block extra_head %} {% block extra_head %}
{{ edit_person_form.media }} {{ edit_person_form.media }}
{% include_css "select2-materialize" %}
{% endblock %} {% endblock %}
{% block browser_title %}{% blocktrans %}Edit person{% endblocktrans %}{% endblock %} {% block browser_title %}{% blocktrans %}Edit person{% endblocktrans %}{% endblock %}
...@@ -19,5 +20,7 @@ ...@@ -19,5 +20,7 @@
{% form form=edit_person_form %}{% endform %} {% form form=edit_person_form %}{% endform %}
{% include "core/partials/save_button.html" %} {% include "core/partials/save_button.html" %}
</form> </form>
{% include_js "select2-materialize" %}
{{ edit_group_form.media.js }}
{% endblock %} {% endblock %}
{% load l10n material_form material_form_internal %}
{% part bound_field.field %}<{{ field.widget.component|default:'dmc-select' }}>
<label>{{ bound_field.label }}</label>
<div class="row">
<div{% attrs bound_field 'group' %}
id="id_{{ bound_field.html_name }}_container"
class="input-field col s12{% if field.required %} required{% endif %}{% if bound_field.errors %} has-error{% endif %}"
style="margin-top: 0"
{% endattrs %}>
{% part field prefix %}{% endpart %}
{% part field control %}
{{ bound_field }}
{% endpart %}
{% part field help_text %}{% if field.help_text %}
<div class="help-block">{{ bound_field.help_text|safe }}</div>
{% endif %}{% endpart %}{% part field errors %}
{% if bound_field.errors %}
{% include 'material/field_errors.html' %}
{% endif %}{% endpart %}{{ hidden_initial }}
</div>
</div></{{ field.widget.component|default:'dmc-select' }}>{% endpart %}
{% load l10n material_form material_form_internal %}
{% part bound_field.field %}<{{ field.widget.component|default:'dmc-select' }}>
<label>{{ bound_field.label }}</label>
<div class="row">
<div{% attrs bound_field 'group' %}
id="id_{{ bound_field.html_name }}_container"
class="input-field col s12{% if field.required %} required{% endif %}{% if bound_field.errors %} has-error{% endif %}"
style="margin-top: 0"
{% endattrs %}>
{% part field prefix %}{% endpart %}
{% part field control %}
{{ bound_field }}
{% endpart %}
{% part field help_text %}{% if field.help_text %}
<div class="help-block">{{ bound_field.help_text|safe }}</div>
{% endif %}{% endpart %}{% part field errors %}
{% if bound_field.errors %}
{% include 'material/field_errors.html' %}
{% endif %}{% endpart %}{{ hidden_initial }}
</div>
</div></{{ field.widget.component|default:'dmc-select' }}>{% endpart %}
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