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

Merge branch 'master' into feature/lesson-documentation-overview

parents 517ca820 8fa4593c
No related branches found
No related tags found
1 merge request!152Overview of all register objects
Pipeline #6132 passed
......@@ -14,7 +14,7 @@ MENUS = {
"submenu": [
{
"name": _("Current lesson"),
"url": "lesson",
"url": "lesson_period",
"icon": "alarm",
"validators": [
(
......
# Generated by Django 3.1.6 on 2021-02-26 17:45
from django.db import migrations, models
def fix_negative_tardiness(apps, schema_editor):
PersonalNote = apps.get_model("alsijil", "PersonalNote")
PersonalNote.objects.filter(late__lt=0).update(late=0)
class Migration(migrations.Migration):
dependencies = [
('alsijil', '0010_events_extra_lessons'),
]
operations = [
migrations.RunPython(fix_negative_tardiness),
migrations.AlterField(
model_name='personalnote',
name='late',
field=models.PositiveSmallIntegerField(default=0),
),
]
......@@ -448,6 +448,7 @@ def generate_person_list_with_class_register_statistics(
extra_mark.count_label: Count(
"personal_notes",
filter=Q(personal_notes__extra_marks=extra_mark) & school_term_q & groups_q,
distinct=True,
)
}
)
......@@ -460,6 +461,7 @@ def generate_person_list_with_class_register_statistics(
filter=Q(personal_notes__absent=True, personal_notes__excuse_type=excuse_type,)
& school_term_q
& groups_q,
distinct=True,
)
}
)
......
......@@ -193,7 +193,7 @@ class PersonalNote(RegisterObjectRelatedMixin, ExtensibleModel):
)
absent = models.BooleanField(default=False)
late = models.IntegerField(default=0)
late = models.PositiveSmallIntegerField(default=0)
excused = models.BooleanField(default=False)
excuse_type = models.ForeignKey(
ExcuseType, on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_("Excuse type"),
......
......@@ -79,7 +79,7 @@
</div>
<div class="col s12" id="week-overview">
{% for weekday, objects in regrouped_objects.items %}
{% with weekdays|get_dict:forloop.counter0 as advanced_weekday %}
{% with weekdays|get_dict:objects.0.weekday as advanced_weekday %}
{% if advanced_weekday.holiday and not request.site.preferences.alsijil__allow_entries_in_holidays %}
<div class="card">
<div class="card-content">
......
......@@ -15,7 +15,7 @@ from ..models import PersonalNote
@predicate
def is_none(user: User, obj: Any) -> bool:
"""Predicate that checks if the provided object is None-like."""
return bool(obj)
return not bool(obj)
@predicate
......
......@@ -293,7 +293,7 @@ def week_view(
lesson_periods = lesson_periods.filter_from_type(type_, instance)
events = events.filter_from_type(type_, instance)
extra_lessons = extra_lessons.filter_from_Type(type_, instance)
extra_lessons = extra_lessons.filter_from_type(type_, instance)
elif hasattr(request, "user") and hasattr(request.user, "person"):
if request.user.person.lessons_as_teacher.exists():
......@@ -499,6 +499,7 @@ def week_view(
regrouped_objects = {}
for register_object in list(lesson_periods) + list(extra_lessons):
register_object.weekday = register_object.period.weekday
regrouped_objects.setdefault(register_object.period.weekday, [])
regrouped_objects[register_object.period.weekday].append(register_object)
......@@ -510,6 +511,7 @@ def week_view(
# Make a copy in order to keep the annotation only on this weekday
event_copy = deepcopy(event)
event_copy.annotate_day(wanted_week[weekday])
event_copy.weekday = weekday
regrouped_objects.setdefault(weekday, [])
regrouped_objects[weekday].append(event_copy)
......
This diff is collapsed.
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