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

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

Use django_select2 everywhere in chronos. Advances BiscuIT-ng#102.

See merge request BiscuIT/BiscuIT-App-Chronos!22
parents 4be76495 5747c372
No related branches found
No related tags found
1 merge request!22Use django_select2 everywhere in chronos. Advances BiscuIT-ng#102.
from django import forms from django import forms
from django.db.models import Count from django.db.models import Count
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django_select2.forms import ModelSelect2MultipleWidget, Select2Widget
from biscuit.core.models import Person, Group from biscuit.core.models import Person, Group
...@@ -10,18 +11,21 @@ from .models import Room, LessonSubstitution, Subject, LessonPeriod ...@@ -10,18 +11,21 @@ from .models import Room, LessonSubstitution, Subject, LessonPeriod
class SelectForm(forms.Form): class SelectForm(forms.Form):
group = forms.ModelChoiceField( group = forms.ModelChoiceField(
queryset=Group.objects.annotate(lessons_count=Count('lessons')).filter(lessons_count__gt=0), queryset=Group.objects.annotate(lessons_count=Count('lessons')).filter(lessons_count__gt=0),
label=_('Group'), required=False) label=_('Group'), required=False, widget=Select2Widget)
teacher = forms.ModelChoiceField( teacher = forms.ModelChoiceField(
queryset=Person.objects.annotate(lessons_count=Count( queryset=Person.objects.annotate(lessons_count=Count(
'lessons_as_teacher')).filter(lessons_count__gt=0), 'lessons_as_teacher')).filter(lessons_count__gt=0),
label=_('Teacher'), required=False) label=_('Teacher'), required=False, widget=Select2Widget)
room = forms.ModelChoiceField( room = forms.ModelChoiceField(
queryset=Room.objects.annotate(lessons_count=Count( queryset=Room.objects.annotate(lessons_count=Count(
'lesson_periods')).filter(lessons_count__gt=0), 'lesson_periods')).filter(lessons_count__gt=0),
label=_('Room'), required=False) label=_('Room'), required=False, widget=Select2Widget)
class LessonSubstitutionForm(forms.ModelForm): class LessonSubstitutionForm(forms.ModelForm):
class Meta: class Meta:
model = LessonSubstitution model = LessonSubstitution
fields = ['week', 'lesson_period', 'subject', 'teachers', 'room', 'cancelled'] fields = ['week', 'lesson_period', 'subject', 'teachers', 'room', 'cancelled']
widgets = {
'teachers': ModelSelect2MultipleWidget(search_fields=['first_name__icontains', 'last_name__icontains', 'short_name__icontains'])
}
...@@ -3,6 +3,17 @@ ...@@ -3,6 +3,17 @@
{% extends "core/base.html" %} {% extends "core/base.html" %}
{% load bootstrap4 font_awesome i18n %} {% load bootstrap4 font_awesome i18n %}
{% block bootstrap4_extra_head %}
{{ block.super }}
{{ edit_substitution_form.media.css }}
{% endblock %}
{% block bootstrap4_extra_script %}
{{ block.super }}
{{ edit_substitution_form.media.js }}
{% endblock %}
{% block bootstrap4_title %}{% blocktrans %}Edit substitution{% endblocktrans %} - {{ block.super }}{% endblock %} {% block bootstrap4_title %}{% blocktrans %}Edit substitution{% endblocktrans %} - {{ block.super }}{% endblock %}
{% block page_title %}{% blocktrans %}Edit substitution{% endblocktrans %}{% endblock %} {% block page_title %}{% blocktrans %}Edit substitution{% endblocktrans %}{% endblock %}
......
...@@ -6,6 +6,12 @@ ...@@ -6,6 +6,12 @@
{% block bootstrap4_extra_head %} {% block bootstrap4_extra_head %}
{{ block.super }} {{ block.super }}
<link rel="stylesheet" href="{% static 'css/chronos/timetable.css' %}" /> <link rel="stylesheet" href="{% static 'css/chronos/timetable.css' %}" />
{{ select_form.media.css }}
{% endblock %}
{% block bootstrap4_extra_script %}
{{ block.super }}
{{ select_form.media.js }}
{% endblock %} {% endblock %}
{% block bootstrap4_title %}{% blocktrans %}Timetable{% endblocktrans %} - {{ block.super }}{% endblock %} {% block bootstrap4_title %}{% blocktrans %}Timetable{% endblocktrans %} - {{ block.super }}{% endblock %}
......
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