diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d05154a9ed55034bbef054f4463e67be35c65c27..9946633ec579818c2f01c31f87ea38988aba9cd3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,9 +9,14 @@ and this project adheres to `Semantic Versioning`_. Unreleased ---------- +`2.1`_ - 2022-06-25 +------------------- + Added ~~~~~ +* Owners of one of the parent groups of a object can now have the same rights on it +as a group owner (can be toggled with a preference). * Integrate seating plans in lesson overview * Add option to set LessonDocumentation data for all lessons in one week at once. * Excuse types can now be marked as `Count as absent`, which they are per default. If not, they aren't counted in the overviews. @@ -21,6 +26,8 @@ Fixed ~~~~~ * The week overview page was not refreshed when a new week was selected in the dropdown. +* Make generation of full register printout faster. +* Updating a lesson documentation caused an error when the preference for carrying over lesson documentations to the whole week was deactivated. `2.0.1`_ - 2022-02-12 --------------------- @@ -253,3 +260,4 @@ Fixed .. _2.0rc7: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.0rc7 .. _2.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.0 .. _2.0.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.0.1 +.. _2.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.1 diff --git a/README.rst b/README.rst index e0063aa4f1170759ab0377f9f51f0ea47a25796a..61e80f73c24aa9077218aa86a2427463f75f1f0f 100644 --- a/README.rst +++ b/README.rst @@ -34,9 +34,9 @@ Licence Copyright © 2019, 2021 Dominik George <dominik.george@teckids.org> Copyright © 2019, 2020 Tom Teichler <tom.teichler@teckids.org> Copyright © 2019 mirabilos <thorsten.glaser@teckids.org> + Copyright © 2020, 2021, 2022 Jonathan Weth <dev@jonathanweth.de> Copyright © 2020, 2021 Julian Leucker <leuckeju@katharineum.de> - Copyright © 2020, 2021 Jonathan Weth <dev@jonathanweth.de> - Copyright © 2020 Hangzhi Yu <yuha@katharineum.de> + Copyright © 2020, 2022 Hangzhi Yu <yuha@katharineum.de> Copyright © 2021 Lloyd Meins <meinsll@katharineum.de> diff --git a/aleksis/apps/alsijil/apps.py b/aleksis/apps/alsijil/apps.py index 196c9ee3b80764be90902e95ff11afd31c9d50c0..b523b38afa08c965628afbfbe61327e8b03f7067 100644 --- a/aleksis/apps/alsijil/apps.py +++ b/aleksis/apps/alsijil/apps.py @@ -13,8 +13,8 @@ class AlsijilConfig(AppConfig): ([2019, 2021], "Dominik George", "dominik.george@teckids.org"), ([2019, 2020], "Tom Teichler", "tom.teichler@teckids.org"), ([2019], "mirabilos", "thorsten.glaser@teckids.org"), - ([2020, 2021], "Jonathan Weth", "dev@jonathanweth.de"), + ([2020, 2021, 2022], "Jonathan Weth", "dev@jonathanweth.de"), ([2020, 2021], "Julian Leucker", "leuckeju@katharineum.de"), - ([2020], "Hangzhi Yu", "yuha@katharineum.de"), + ([2020, 2022], "Hangzhi Yu", "yuha@katharineum.de"), ([2021], "Lloyd Meins", "meinsll@katharineum.de"), ) diff --git a/aleksis/apps/alsijil/forms.py b/aleksis/apps/alsijil/forms.py index 6f4e65b2022192c3cf5c0a7c4b44cc3e1731919e..f9aced0507b00540890eb58fe3d3ce978fa053d1 100644 --- a/aleksis/apps/alsijil/forms.py +++ b/aleksis/apps/alsijil/forms.py @@ -58,7 +58,8 @@ class LessonDocumentationForm(forms.ModelForm): def save(self, **kwargs): lesson_documentation = super(LessonDocumentationForm, self).save(commit=True) if ( - self.cleaned_data["carry_over_week"] + get_site_preferences()["alsijil__allow_carry_over_same_week"] + and self.cleaned_data["carry_over_week"] and ( lesson_documentation.topic or lesson_documentation.homework @@ -135,13 +136,21 @@ class SelectForm(forms.Form): if not check_global_permission(self.request.user, "alsijil.view_week"): # 1) All groups the user is allowed to see the week view by object permissions # 2) All groups the user is a member of an owner of + # 3) If the corresponding preference is turned on: + # All groups that have a parent group the user is an owner of group_qs = ( group_qs.filter( pk__in=get_objects_for_user( self.request.user, "core.view_week_class_register_group", Group ).values_list("pk", flat=True) ) - ).union(group_qs.filter(Q(members=person) | Q(owners=person))) + ).union( + group_qs.filter( + Q(members=person) | Q(owners=person) | Q(parent_groups__owners=person) + if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"] + else Q(members=person) | Q(owners=person) + ) + ) # Flatten query by filtering groups by pk self.fields["group"].queryset = Group.objects.filter( @@ -154,9 +163,18 @@ class SelectForm(forms.Form): # Filter selectable teachers by permissions if not check_global_permission(self.request.user, "alsijil.view_week"): - # If the user hasn't the global permission, - # the user is only allowed to see his own person - teacher_qs = teacher_qs.filter(pk=person.pk) + # If the user hasn't got the global permission and the inherit privileges preference is + # turned off, the user is only allowed to see their own person. Otherwise, the user + # is allowed to see all persons that teach lessons that the given groups attend. + if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"]: + teacher_pks = [] + for group in group_qs: + for lesson in group.lessons.all(): + for teacher in lesson.teachers.all(): + teacher_pks.append(teacher.pk) + teacher_qs = teacher_qs.filter(pk__in=teacher_pks) + else: + teacher_qs = teacher_qs.filter(pk=person.pk) self.fields["teacher"].queryset = teacher_qs @@ -294,7 +312,12 @@ class AssignGroupRoleForm(forms.ModelForm): if "groups" not in initial: groups = ( Group.objects.for_current_school_term_or_all() - .filter(owners=self.request.user.person) + .filter( + Q(owners=self.request.user.person) + | Q(parent_groups__owners=self.request.user.person) + if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"] + else Q(owners=self.request.user.person) + ) .distinct() ) self.fields["groups"].queryset = groups diff --git a/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po index 6789a3abca86d188ee71a30e14d1d17db1e851ef..9b3363583bbfa59f7e4c85070f65c6dd3b6a6c55 100644 --- a/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-24 13:24+0100\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -32,7 +32,7 @@ msgid "Mark as {excuse_type.name}" msgstr "" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 -#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74 +#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" msgstr "" @@ -102,28 +102,28 @@ msgstr "" msgid "The personal note is marked as excused, but not as absent." msgstr "" -#: aleksis/apps/alsijil/filters.py:10 +#: aleksis/apps/alsijil/filters.py:12 msgid "After" msgstr "" -#: aleksis/apps/alsijil/filters.py:11 +#: aleksis/apps/alsijil/filters.py:13 msgid "Before" msgstr "" -#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302 -#: aleksis/apps/alsijil/tables.py:107 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 +#: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" msgstr "" -#: aleksis/apps/alsijil/filters.py:16 +#: aleksis/apps/alsijil/filters.py:30 msgid "Tardiness is lower than" msgstr "" -#: aleksis/apps/alsijil/filters.py:17 +#: aleksis/apps/alsijil/filters.py:31 msgid "Tardiness is bigger than" msgstr "" @@ -131,100 +131,104 @@ msgstr "" msgid "Homework for the next lesson" msgstr "" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199 +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "" -#: aleksis/apps/alsijil/forms.py:79 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201 +#: aleksis/apps/alsijil/forms.py:104 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" msgstr "" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." msgstr "" -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:471 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:475 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108 -#: aleksis/apps/alsijil/tables.py:129 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62 -#: aleksis/apps/alsijil/models.py:236 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 msgid "Excuse type" msgstr "" -#: aleksis/apps/alsijil/forms.py:162 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314 +#: aleksis/apps/alsijil/forms.py:204 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" msgstr "" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" msgstr "" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 msgid "Has lesson documentation" msgstr "" -#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121 +#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" msgstr "" @@ -269,21 +273,21 @@ msgstr "" msgid "All lessons" msgstr "" -#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63 +#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 msgid "Excuse types" msgstr "" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241 -#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" msgstr "" @@ -331,52 +335,60 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 msgid "Short name" msgstr "" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411 -#: aleksis/apps/alsijil/models.py:435 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315 +#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +msgid "Count as absent" +msgstr "" + +#: aleksis/apps/alsijil/models.py:57 +msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgstr "" + +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:275 +#: aleksis/apps/alsijil/models.py:292 msgid "Personal note" msgstr "" -#: aleksis/apps/alsijil/models.py:276 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" msgstr "" -#: aleksis/apps/alsijil/models.py:327 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: aleksis/apps/alsijil/models.py:328 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: aleksis/apps/alsijil/models.py:329 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 @@ -384,85 +396,85 @@ msgstr "" msgid "Group note" msgstr "" -#: aleksis/apps/alsijil/models.py:376 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:377 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:422 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:436 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:437 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "" -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 msgid "Group roles" msgstr "" -#: aleksis/apps/alsijil/models.py:448 +#: aleksis/apps/alsijil/models.py:468 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 +#: aleksis/apps/alsijil/models.py:484 msgid "Assigned person" msgstr "" -#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 msgid "Groups" msgstr "" -#: aleksis/apps/alsijil/models.py:476 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:492 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:499 +#: aleksis/apps/alsijil/models.py:519 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:521 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:502 +#: aleksis/apps/alsijil/models.py:522 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:503 +#: aleksis/apps/alsijil/models.py:523 msgid "Can list all personal note filters" msgstr "" @@ -478,101 +490,113 @@ msgstr "" msgid "Allow primary group owners to register future absences for students in their groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" msgstr "" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" msgstr "" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." msgstr "" -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:79 +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." msgstr "" -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" msgstr "" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." msgstr "" -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 msgid "Allow teachers to add data for lessons in holidays" msgstr "" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" msgstr "" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" msgstr "" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." msgstr "" -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" -#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43 -#: aleksis/apps/alsijil/tables.py:68 +#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 +#: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" msgstr "" -#: aleksis/apps/alsijil/tables.py:92 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308 +#: aleksis/apps/alsijil/tables.py:96 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" msgstr "" -#: aleksis/apps/alsijil/tables.py:95 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17 +#: aleksis/apps/alsijil/tables.py:99 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" msgstr "" -#: aleksis/apps/alsijil/tables.py:103 +#: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" msgstr "" -#: aleksis/apps/alsijil/tables.py:109 -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287 +#: aleksis/apps/alsijil/tables.py:118 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" -#: aleksis/apps/alsijil/tables.py:110 +#: aleksis/apps/alsijil/tables.py:119 msgid "Excuse" msgstr "" -#: aleksis/apps/alsijil/tables.py:147 +#: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" msgstr "" @@ -581,7 +605,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" msgstr "" @@ -638,8 +662,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16 @@ -677,35 +701,39 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 msgid "Persons" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +msgid "Seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 msgid "My previous lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 msgid "My next lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -734,7 +762,7 @@ msgid "Statistics" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" msgstr "" @@ -765,21 +793,27 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 +msgid "Without Excuse Type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" @@ -821,7 +855,7 @@ msgid "Summed up tardiness" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 msgid "Count of tardiness" msgstr "" @@ -941,16 +975,18 @@ msgid "Please check if the following class register entries are complete and cor msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -963,12 +999,32 @@ msgstr "" msgid "General" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 +msgid "(a)" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 msgid "Unexcused absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 -msgid "Excused absences" +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 +msgid "Sum (e)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +msgid "Sum of excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +msgid "Regular excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 +msgid "Excuse types (not counted as absent)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 @@ -988,7 +1044,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" msgstr "" @@ -1012,7 +1068,7 @@ msgstr "" msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 msgid "Tardiness (in m)" msgstr "" @@ -1040,6 +1096,50 @@ msgstr "" msgid "Late persons:" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 +#, python-format +msgid "" +"Seating plan for %(group)s in\n" +" %(room)s" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 +#, python-format +msgid "" +"\n" +" This seating plan is taken from the parent group of %(child_group)s.\n" +" If you want, you can take it over for your group and then customize it.\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 +msgid "Edit seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 +msgid "Copy plan and edit" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 +msgid "There is no seating plan for this lesson." +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s in %(room)s\n" +" " +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" msgstr "" @@ -1055,7 +1155,7 @@ msgid "Pending" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" msgstr "" @@ -1084,19 +1184,27 @@ msgid "No students available." msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 msgid "Primary group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +msgid "Uncounted Absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +msgid "Regular excused" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" msgstr "" @@ -1156,185 +1264,189 @@ msgid "Custom excuse types" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 +msgid "Custom excuse types (not counted as absent)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125 -msgid "(a)" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 msgid "Teachers and lessons in child groups" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 +msgid "Without excuse type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 msgid "Week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:117 +#: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:150 +#: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:246 +#: aleksis/apps/alsijil/views.py:268 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:280 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1049 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1070 +#: aleksis/apps/alsijil/views.py:1140 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1092 +#: aleksis/apps/alsijil/views.py:1162 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1104 +#: aleksis/apps/alsijil/views.py:1174 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1115 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1136 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1148 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1159 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1180 +#: aleksis/apps/alsijil/views.py:1250 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1192 +#: aleksis/apps/alsijil/views.py:1262 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1203 +#: aleksis/apps/alsijil/views.py:1273 msgid "The group role has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1287 +#: aleksis/apps/alsijil/views.py:1357 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1308 +#: aleksis/apps/alsijil/views.py:1378 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1321 +#: aleksis/apps/alsijil/views.py:1391 msgid "The group role assignment has been deleted." msgstr "" diff --git a/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po index 584f38d48ce6d4426da31259eba0d5cf43c97ca9..5c846bc0433997a8a2dfe7488705f1f836591e38 100644 --- a/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-24 13:24+0100\n" -"PO-Revision-Date: 2021-12-25 20:03+0000\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" +"PO-Revision-Date: 2022-06-25 13:53+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" "Language-Team: German <https://translate.edugit.org/projects/aleksis/" "aleksis-app-alsijil/de/>\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.8\n" +"X-Generator: Weblate 4.12.1\n" #: aleksis/apps/alsijil/actions.py:18 msgid "Mark as excused" @@ -33,7 +33,7 @@ msgid "Mark as {excuse_type.name}" msgstr "Als {excuse_type.name} markieren" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 -#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74 +#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" msgstr "Löschen" @@ -103,28 +103,28 @@ msgstr "Sicherstellen, dass es keine entschuldigten persönlichen Notizen ohne e msgid "The personal note is marked as excused, but not as absent." msgstr "Die persönliche Notiz ist als entschuldigt, aber nicht als abwesend markiert." -#: aleksis/apps/alsijil/filters.py:10 +#: aleksis/apps/alsijil/filters.py:12 msgid "After" msgstr "Nach" -#: aleksis/apps/alsijil/filters.py:11 +#: aleksis/apps/alsijil/filters.py:13 msgid "Before" msgstr "Bevor" -#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302 -#: aleksis/apps/alsijil/tables.py:107 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 +#: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" msgstr "Fach" -#: aleksis/apps/alsijil/filters.py:16 +#: aleksis/apps/alsijil/filters.py:30 msgid "Tardiness is lower than" msgstr "Verspätung ist geringer als" -#: aleksis/apps/alsijil/filters.py:17 +#: aleksis/apps/alsijil/filters.py:31 msgid "Tardiness is bigger than" msgstr "Verspätung ist größer als" @@ -132,100 +132,106 @@ msgstr "Verspätung ist größer als" msgid "Homework for the next lesson" msgstr "Hausaufgabe zur nächsten Stunde" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199 +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" +"Daten zu allen weiteren Stunden mit dem gleichen Fach in dieser Woche " +"übernehmen" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "Gruppe" -#: aleksis/apps/alsijil/forms.py:79 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201 +#: aleksis/apps/alsijil/forms.py:104 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" msgstr "Lehrkraft" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." msgstr "Es kann nur entweder eine Gruppe oder eine Lehrkraft ausgewählt werden." -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:471 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "Startdatum" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:475 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "Enddatum" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 msgid "Start period" msgstr "Startstunde" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 msgid "End period" msgstr "Endstunde" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108 -#: aleksis/apps/alsijil/tables.py:129 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "Abwesend" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "Entschuldigt" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62 -#: aleksis/apps/alsijil/models.py:236 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 msgid "Excuse type" msgstr "Entschuldigungsart" -#: aleksis/apps/alsijil/forms.py:162 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314 +#: aleksis/apps/alsijil/forms.py:204 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" msgstr "Bemerkungen" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" msgstr "Person" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" msgstr "Schuljahr" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 msgid "Has lesson documentation" msgstr "Hat eine Stunden-Dokumentation" -#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121 +#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" msgstr "Veranstaltung" @@ -270,21 +276,21 @@ msgstr "Gruppenrolle zuweisen" msgid "All lessons" msgstr "Alle Stunden" -#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63 +#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 msgid "Excuse types" msgstr "Entschuldigungsarten" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241 -#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" msgstr "Zusätzliche Markierungen" @@ -332,52 +338,63 @@ msgstr "Kann eine Gruppenrolle für diese Gruppe zuweisen" msgid "Can register an absence for a person" msgstr "Kann eine Absenz für eine Person registrieren" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 msgid "Short name" msgstr "Kurzname" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411 -#: aleksis/apps/alsijil/models.py:435 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" msgstr "Name" -#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315 +#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +msgid "Count as absent" +msgstr "Als abwesend zählen" + +#: aleksis/apps/alsijil/models.py:57 +msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgstr "" +"Wenn ausgewählt wird diese Entschuldigungsart als eine verpasste Stunde " +"gezählt. Wenn nicht ausgewählt wird es nicht im Abwesenheitsbericht " +"auftauchen." + +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" msgstr "Jahr" -#: aleksis/apps/alsijil/models.py:275 +#: aleksis/apps/alsijil/models.py:292 msgid "Personal note" msgstr "Persönliche Notiz" -#: aleksis/apps/alsijil/models.py:276 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" msgstr "Persönliche Notizen" -#: aleksis/apps/alsijil/models.py:327 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "Stundenthema" -#: aleksis/apps/alsijil/models.py:328 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "Hausaufgaben" -#: aleksis/apps/alsijil/models.py:329 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 @@ -385,85 +402,85 @@ msgstr "Hausaufgaben" msgid "Group note" msgstr "Gruppennotiz" -#: aleksis/apps/alsijil/models.py:376 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" msgstr "Stunden-Dokumentation" -#: aleksis/apps/alsijil/models.py:377 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 msgid "Lesson documentations" msgstr "Stunden-Dokumentationen" -#: aleksis/apps/alsijil/models.py:422 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" msgstr "Zusätzliche Markierung" -#: aleksis/apps/alsijil/models.py:436 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" msgstr "Symbol" -#: aleksis/apps/alsijil/models.py:437 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" msgstr "Farbe" -#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "Gruppenrolle" -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 msgid "Group roles" msgstr "Gruppenrollen" -#: aleksis/apps/alsijil/models.py:448 +#: aleksis/apps/alsijil/models.py:468 msgid "Can assign group role" msgstr "Kann Gruppenrolle zuweisen" -#: aleksis/apps/alsijil/models.py:464 +#: aleksis/apps/alsijil/models.py:484 msgid "Assigned person" msgstr "Zugewiesene Person" -#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 msgid "Groups" msgstr "Gruppen" -#: aleksis/apps/alsijil/models.py:476 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" msgstr "Kann frei gelassen werden, wenn das Enddatum noch nicht feststeht" -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" msgstr "Zuweisung von Gruppenrollen" -#: aleksis/apps/alsijil/models.py:492 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" msgstr "Zuweisungen von Gruppenrollen" -#: aleksis/apps/alsijil/models.py:499 +#: aleksis/apps/alsijil/models.py:519 msgid "Can view lesson overview" msgstr "Kann die Stundenübersicht sehen" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" msgstr "Kann die Wochenübersicht sehen" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:521 msgid "Can view full register" msgstr "Kann komplettes Klassenbuch sehen" -#: aleksis/apps/alsijil/models.py:502 +#: aleksis/apps/alsijil/models.py:522 msgid "Can register absence" msgstr "Kann eine Absenz registrieren" -#: aleksis/apps/alsijil/models.py:503 +#: aleksis/apps/alsijil/models.py:523 msgid "Can list all personal note filters" msgstr "Kann alle Filter für persönliche Notizen anzeigen" @@ -479,101 +496,119 @@ msgstr "Erlaube Benutzern, ihre eigenen persönlichen Notizen zu sehen" msgid "Allow primary group owners to register future absences for students in their groups" msgstr "Erlaube Primärgruppeninhabern Absenzen in der Zukunft für Mitglieder ihrer Gruppen zu registrieren" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" +msgstr "" +"Gebe dem Besitzer einer Elterngruppe die gleichen Rechte wie den Besitzern " +"der entsprechenden Kindgruppen" + +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" msgstr "Erlaube den Ursprungslehrkräften, ihre Stunden zu bearbeiten, obwohl sie vertreten worden sind" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" msgstr "Daten von der ersten Stunde zu weiteren folgenden Stunden übernehmen" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." msgstr "Dies wird die Daten nur übernehmen, wenn die Daten in den Folgestunden leer sind." -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "" +"Erlaube das Übernehmen von Daten von einer Stunde zu allen weiteren Stunden " +"mit dem gleichen Unterricht in der gleichen Woche" + +#: aleksis/apps/alsijil/preferences.py:79 +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "" +"Dies wird die Daten nur übernehmen, wenn die Daten in den eben genannten " +"Stunden leer sind." + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." msgstr "Persönliche Notizen in alle folgenden Unterrichtsstunden am gleichen Tag übernehmen." -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" msgstr "Erlaube Lehrkräften, Unterrichtsstunden bereits am gleichen Tag und nicht erst zu Beginn der Stunde zu öffnen" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." msgstr "Unterrichtsstunden in der Vergangenheit werden nicht durch diese Einstellung beeinflusst, sie können immer geöffnet werden." -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 msgid "Allow teachers to add data for lessons in holidays" msgstr "Lehrkräften erlauben, Daten für Stunden in den Ferien hinzuzufügen" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" msgstr "Erlaube Gruppenbesitzern, Gruppenrollen für Eltern von Gruppenmitgliedern zuzuweisen" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" msgstr "Zugewiesene Gruppenrollen in der Wochenansicht zeigen" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" msgstr "Nur Wochenansicht von Gruppen" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" msgstr "Zugewiesene Gruppenrollen in der Stundenansicht anzeigen" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" msgstr "Einträge pro Seite in der Stundentabelle" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." msgstr "Jede Seite muss mindestens einen Eintrag anzeigen." -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "Stunden standardmäßig anhand der Existenz ihrer Stundendokumentation filtern" -#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43 -#: aleksis/apps/alsijil/tables.py:68 +#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 +#: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" msgstr "Bearbeiten" -#: aleksis/apps/alsijil/tables.py:92 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308 +#: aleksis/apps/alsijil/tables.py:96 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" msgstr "Datum" -#: aleksis/apps/alsijil/tables.py:95 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17 +#: aleksis/apps/alsijil/tables.py:99 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" msgstr "Stunde" -#: aleksis/apps/alsijil/tables.py:103 +#: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" msgstr "Lehrkräfte" -#: aleksis/apps/alsijil/tables.py:109 -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287 +#: aleksis/apps/alsijil/tables.py:118 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "Verspätung" -#: aleksis/apps/alsijil/tables.py:110 +#: aleksis/apps/alsijil/tables.py:119 msgid "Excuse" msgstr "Entschuldigen" -#: aleksis/apps/alsijil/tables.py:147 +#: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" msgstr "{value}' verspätet" @@ -582,7 +617,7 @@ msgstr "{value}' verspätet" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" msgstr "Abwesenheit eintragen" @@ -649,8 +684,8 @@ msgstr "Liste der Schülerinnen und Schüler" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16 @@ -688,43 +723,46 @@ msgstr "Schülerinnen und Schüler" msgid "Lesson" msgstr "Unterrichtsstunde" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 msgid "Persons" msgstr "Personen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +msgid "Seating plan" +msgstr "Sitzplan" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 msgid "Previous" msgstr "Vorherige" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" msgstr "Mehr" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 msgid "My previous lesson" msgstr "Meine vorherige Stunde" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 msgid "My next lesson" msgstr "Meine nächste Stunde" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" msgstr "Nächste" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" " " msgstr "" "\n" -" Diese Stunde ist in den Ferien und kann somit nicht " -"bearbeitet werden.\n" +" Diese Stunde ist in den Ferien und kann somit nicht bearbeitet werden.\n" " " #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:10 @@ -752,7 +790,7 @@ msgid "Statistics" msgstr "Statistiken" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" msgstr "Relevante persönliche Notizen" @@ -783,21 +821,27 @@ msgstr "Statistiken zu Fehlzeiten, Verspätungen und Bemerkungen" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" msgstr "Fehlstunden" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" msgstr "davon" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 +msgid "Without Excuse Type" +msgstr "Ohne Entschuldigungsart" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "Unentschuldigt" @@ -841,7 +885,7 @@ msgid "Summed up tardiness" msgstr "Summierte Verspätung" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 msgid "Count of tardiness" msgstr "Anzahl der Verspätungen" @@ -972,16 +1016,18 @@ msgid "Please check if the following class register entries are complete and cor msgstr "Bitte prüfen Sie, ob die folgenden Klassenbucheinträge komplett und richtig sind:" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" msgstr "(e)" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "(u)" @@ -994,13 +1040,33 @@ msgstr "Legende" msgid "General" msgstr "Allgemein" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 +msgid "(a)" +msgstr "(a)" + #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 msgid "Unexcused absences" msgstr "Unentschuldigte Fehlzeiten" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 -msgid "Excused absences" -msgstr "Entschuldigte Fehlzeiten" +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 +msgid "Sum (e)" +msgstr "Summe (e)" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +msgid "Sum of excused absences" +msgstr "Summe der entschuldigten Fehlzeiten" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +msgid "Regular excused absences" +msgstr "Normal entschuldigte Fehlzeiten" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 +msgid "Excuse types (not counted as absent)" +msgstr "Entschuldigungsarten (nicht als abwesend gezählt)" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 @@ -1022,7 +1088,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" msgstr "Speichern" @@ -1052,7 +1118,7 @@ msgstr "" msgid "Change history" msgstr "Veränderungen" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 msgid "Tardiness (in m)" msgstr "Verspätung (in m)" @@ -1080,6 +1146,66 @@ msgstr "Abwesende Personen:" msgid "Late persons:" msgstr "Verspätete Personen:" +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 +#, python-format +msgid "" +"Seating plan for %(group)s in\n" +" %(room)s" +msgstr "" +"Sitzplan für %(group)s in\n" +"%(room)s" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 +#, python-format +msgid "" +"\n" +" This seating plan is taken from the parent group of %(child_group)s.\n" +" If you want, you can take it over for your group and then customize it.\n" +" " +msgstr "" +"\n" +" Dieser Sitzplan wurde von der Elterngruppe von %(child_group)s " +"übernommen.\n" +"Wenn Sie wollen, können Sie ihn für Ihre Gruppe übernehmen und dann anpassen." +"\n" +" " + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 +msgid "Edit seating plan" +msgstr "Sitzplan bearbeiten" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 +msgid "Copy plan and edit" +msgstr "Plan kopieren und bearbeiten" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 +msgid "There is no seating plan for this lesson." +msgstr "Es gibt keinen Sitzplan für diese Stunde." + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" " +msgstr "" +"\n" +" Einen neuen Sitzplan für %(group)s (%(subject)s) in %(room)" +"s erstellen\n" +" " + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s in %(room)s\n" +" " +msgstr "" +"\n" +" Einen neuen Sitzplan für %(group)s in %(room)s " +"erstellen\n" +" " + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" msgstr "Daten vollständig" @@ -1095,7 +1221,7 @@ msgid "Pending" msgstr "Findet gerade statt" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" msgstr "Stunde ist ausgefallen" @@ -1124,19 +1250,27 @@ msgid "No students available." msgstr "Keine Schülerinnen und Schüler verfügbar." #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 msgid "Primary group" msgstr "Primärgruppe" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +msgid "Uncounted Absences" +msgstr "Ungezählte Fehlzeiten" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" msgstr "Summe" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +msgid "Regular excused" +msgstr "Normal entschuldigt" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" msgstr "Mehr Details anzeigen" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" msgstr "Details" @@ -1210,191 +1344,198 @@ msgid "Custom excuse types" msgstr "Benutzerdefinierte Entschuldigungsarten" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 +msgid "Custom excuse types (not counted as absent)" +msgstr "Benutzerdefinierte Entschuldigungsarten (nicht als abwesend gezählt)" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" msgstr "Verfügbare zusätzliche Markierungen" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" msgstr "Personen in der Gruppe" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." msgstr "Nr." -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" msgstr "Nachname" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" msgstr "Vorname" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" msgstr "Geschlecht" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" msgstr "Geburtsdatum" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125 -msgid "(a)" -msgstr "(a)" - -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" msgstr "(b)" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" msgstr "Lehrkräfte und Fächer der Gruppe" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" msgstr "Unterrichtsbeginn" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" msgstr "Unterrichtsende" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" msgstr "Pro Woche" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 msgid "Teachers and lessons in child groups" msgstr "Lehrkräfte und Fächer von Untergruppen" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" msgstr "Persönliche Übersicht" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" msgstr "Kontaktdetails" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" msgstr "Abwesenheiten und Verspätungen" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 +msgid "Without excuse type" +msgstr "Ohne Entschuldigungsart" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." msgstr "Std." -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." msgstr "Fa." -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." msgstr "Lk." -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." msgstr "Verspät." -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" msgstr "Ja" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" msgstr "e" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 msgid "Week" msgstr "KW" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" msgstr "Notizen" -#: aleksis/apps/alsijil/views.py:117 +#: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" "Sie haben eine ungültige Stunde ausgewählt oder es\n" " läuft momentan keine Stunde." -#: aleksis/apps/alsijil/views.py:150 +#: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "Ihnen ist es nicht erlaubt, eine Eintragung für eine Unterrichtsstunde in der Zukunft vorzunehmen." -#: aleksis/apps/alsijil/views.py:246 +#: aleksis/apps/alsijil/views.py:268 msgid "The lesson documentation has been saved." msgstr "Die Stunden-Dokumentation wurde gespeichert." -#: aleksis/apps/alsijil/views.py:280 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." msgstr "Die persönlichen Notizen wurden gespeichert." -#: aleksis/apps/alsijil/views.py:1049 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." msgstr "Die Abwesenheit wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1070 +#: aleksis/apps/alsijil/views.py:1140 msgid "The personal note has been deleted." msgstr "Die persönliche Notiz wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1092 +#: aleksis/apps/alsijil/views.py:1162 msgid "The extra mark has been created." msgstr "Die zusätzliche Markierung wurde erstellt." -#: aleksis/apps/alsijil/views.py:1104 +#: aleksis/apps/alsijil/views.py:1174 msgid "The extra mark has been saved." msgstr "Die zusätzliche Markierung wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1115 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." msgstr "Die zusätzliche Markierung wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1136 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." msgstr "Die Entschuldigungsart wurde erstellt." -#: aleksis/apps/alsijil/views.py:1148 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." msgstr "Die Entschuldigunsart wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1159 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." msgstr "Die Entschuldigungsart wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1180 +#: aleksis/apps/alsijil/views.py:1250 msgid "The group role has been created." msgstr "Die Gruppenrolle wurde erstellt." -#: aleksis/apps/alsijil/views.py:1192 +#: aleksis/apps/alsijil/views.py:1262 msgid "The group role has been saved." msgstr "Die Gruppenrolle wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1203 +#: aleksis/apps/alsijil/views.py:1273 msgid "The group role has been deleted." msgstr "Die Gruppenrolle wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 msgid "The group role has been assigned." msgstr "Die Gruppenrolle wurde zugewiesen." -#: aleksis/apps/alsijil/views.py:1287 +#: aleksis/apps/alsijil/views.py:1357 msgid "The group role assignment has been saved." msgstr "Die Gruppenrollenzuweisung wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1308 +#: aleksis/apps/alsijil/views.py:1378 msgid "The group role assignment has been stopped." msgstr "Die Gruppenrollenzuweisung wurde beendet." -#: aleksis/apps/alsijil/views.py:1321 +#: aleksis/apps/alsijil/views.py:1391 msgid "The group role assignment has been deleted." msgstr "Die Gruppenrollenzuweisung wurde gelöscht." +#~ msgid "Excused absences" +#~ msgstr "Entschuldigte Fehlzeiten" + #~ msgid "Back to week view" #~ msgstr "Zurück zur Wochenübersicht" @@ -1408,16 +1549,6 @@ msgstr "Die Gruppenrollenzuweisung wurde gelöscht." #~ " Nächste %(subject)s-Stunde\n" #~ " " -#, python-format -#~ msgid "" -#~ "\n" -#~ " Previous %(subject)s lesson\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Vorherige %(subject)s Stunde\n" -#~ " " - #, python-format #~ msgid "" #~ "\n" @@ -1500,11 +1631,6 @@ msgstr "Die Gruppenrollenzuweisung wurde gelöscht." #~ msgid "No group selected" #~ msgstr "Keine Gruppe ausgewählt" -#, fuzzy -#~| msgid "Current lesson" -#~ msgid "Starting lesson" -#~ msgstr "Aktuelle Unterrichtsstunde" - #~ msgid "AlekSIS - Alsijil (Class register)" #~ msgstr "AlekSIS - Alsijil (Klassenbuch)" diff --git a/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po index d25ac9f4f0bdc1613df656adab70a6add98209d2..e1a4b25dc5ebd5a6090ead1f0a1eee38d3e07ab3 100644 --- a/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-24 13:24+0100\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" "PO-Revision-Date: 2021-06-16 11:59+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" "Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/fr/>\n" @@ -34,7 +34,7 @@ msgid "Mark as {excuse_type.name}" msgstr "" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 -#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74 +#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" msgstr "" @@ -114,30 +114,30 @@ msgstr "" msgid "The personal note is marked as excused, but not as absent." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/filters.py:10 +#: aleksis/apps/alsijil/filters.py:12 msgid "After" msgstr "" -#: aleksis/apps/alsijil/filters.py:11 +#: aleksis/apps/alsijil/filters.py:13 msgid "Before" msgstr "" -#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302 -#: aleksis/apps/alsijil/tables.py:107 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 +#: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" msgstr "Sujet" -#: aleksis/apps/alsijil/filters.py:16 +#: aleksis/apps/alsijil/filters.py:30 #, fuzzy #| msgid "Tardiness" msgid "Tardiness is lower than" msgstr "Retard" -#: aleksis/apps/alsijil/filters.py:17 +#: aleksis/apps/alsijil/filters.py:31 #, fuzzy #| msgid "Tardiness" msgid "Tardiness is bigger than" @@ -147,108 +147,112 @@ msgstr "Retard" msgid "Homework for the next lesson" msgstr "" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199 +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "groupe" -#: aleksis/apps/alsijil/forms.py:79 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201 +#: aleksis/apps/alsijil/forms.py:104 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" msgstr "prof" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." msgstr "" -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:471 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "Date de début" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:475 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "Date de fin" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 #, fuzzy #| msgid "From period" msgid "Start period" msgstr "De la période" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 #, fuzzy #| msgid "From period" msgid "End period" msgstr "De la période" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108 -#: aleksis/apps/alsijil/tables.py:129 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "Absent(e)" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "Excusé" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62 -#: aleksis/apps/alsijil/models.py:236 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 #, fuzzy #| msgid "Excused" msgid "Excuse type" msgstr "Excusé" -#: aleksis/apps/alsijil/forms.py:162 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314 +#: aleksis/apps/alsijil/forms.py:204 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" msgstr "Remarque" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" msgstr "Personne" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 #, fuzzy #| msgid "Lesson documentation" msgid "Has lesson documentation" msgstr "Documentation de cours" -#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121 +#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" msgstr "" @@ -299,23 +303,23 @@ msgstr "Personnes en groupe" msgid "All lessons" msgstr "" -#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63 +#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 #, fuzzy #| msgid "Excused" msgid "Excuse types" msgstr "Excusé" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241 -#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" msgstr "" @@ -373,56 +377,64 @@ msgstr "" msgid "Can register an absence for a person" msgstr "Registre de la classe" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 #, fuzzy #| msgid "First name" msgid "Short name" msgstr "Prénom" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411 -#: aleksis/apps/alsijil/models.py:435 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315 +#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +msgid "Count as absent" +msgstr "" + +#: aleksis/apps/alsijil/models.py:57 +msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgstr "" + +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:275 +#: aleksis/apps/alsijil/models.py:292 #, fuzzy #| msgid "Personal notes" msgid "Personal note" msgstr "Notes personnelles" -#: aleksis/apps/alsijil/models.py:276 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" msgstr "Notes personnelles" -#: aleksis/apps/alsijil/models.py:327 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "Sujet de cours" -#: aleksis/apps/alsijil/models.py:328 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "Devoirs" -#: aleksis/apps/alsijil/models.py:329 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 @@ -432,12 +444,12 @@ msgstr "Devoirs" msgid "Group note" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:376 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" msgstr "Documentation de cours" -#: aleksis/apps/alsijil/models.py:377 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 #, fuzzy @@ -445,26 +457,26 @@ msgstr "Documentation de cours" msgid "Lesson documentations" msgstr "Documentation de cours" -#: aleksis/apps/alsijil/models.py:422 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:436 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:437 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 #, fuzzy #| msgid "Group" msgid "Group role" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 @@ -473,19 +485,19 @@ msgstr "Groupe" msgid "Group roles" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:448 +#: aleksis/apps/alsijil/models.py:468 #, fuzzy #| msgid "Persons in group" msgid "Can assign group role" msgstr "Personnes en groupe" -#: aleksis/apps/alsijil/models.py:464 +#: aleksis/apps/alsijil/models.py:484 #, fuzzy #| msgid "Absences" msgid "Assigned person" msgstr "Absences" -#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 @@ -494,41 +506,41 @@ msgstr "Absences" msgid "Groups" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:476 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:492 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:499 +#: aleksis/apps/alsijil/models.py:519 #, fuzzy #| msgid "Personal overview" msgid "Can view lesson overview" msgstr "Vue d'ensemble personnelle" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:521 #, fuzzy #| msgid "Class register" msgid "Can view full register" msgstr "Registre de la classe" -#: aleksis/apps/alsijil/models.py:502 +#: aleksis/apps/alsijil/models.py:522 #, fuzzy #| msgid "Register absence" msgid "Can register absence" msgstr "Registre de Absence" -#: aleksis/apps/alsijil/models.py:503 +#: aleksis/apps/alsijil/models.py:523 #, fuzzy #| msgid "List of all personal note filters" msgid "Can list all personal note filters" @@ -546,105 +558,117 @@ msgstr "" msgid "Allow primary group owners to register future absences for students in their groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" msgstr "" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" msgstr "" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." msgstr "" -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:79 +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." msgstr "" -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" msgstr "" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." msgstr "" -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 #, fuzzy #| msgid "Teachers and lessons in group" msgid "Allow teachers to add data for lessons in holidays" msgstr "Profs et cours en groupe" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" msgstr "" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" msgstr "" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." msgstr "" -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" -#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43 -#: aleksis/apps/alsijil/tables.py:68 +#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 +#: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" msgstr "" -#: aleksis/apps/alsijil/tables.py:92 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308 +#: aleksis/apps/alsijil/tables.py:96 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" msgstr "Date" -#: aleksis/apps/alsijil/tables.py:95 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17 +#: aleksis/apps/alsijil/tables.py:99 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" msgstr "Période" -#: aleksis/apps/alsijil/tables.py:103 +#: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" msgstr "Profs" -#: aleksis/apps/alsijil/tables.py:109 -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287 +#: aleksis/apps/alsijil/tables.py:118 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "Retard" -#: aleksis/apps/alsijil/tables.py:110 +#: aleksis/apps/alsijil/tables.py:119 #, fuzzy #| msgid "Excused" msgid "Excuse" msgstr "Excusé" -#: aleksis/apps/alsijil/tables.py:147 +#: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" msgstr "" @@ -653,7 +677,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" msgstr "Registre de Absence" @@ -720,8 +744,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16 @@ -759,43 +783,47 @@ msgstr "" msgid "Lesson" msgstr "Cours" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 #, fuzzy #| msgid "Person" msgid "Persons" msgstr "Personne" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +msgid "Seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 #, fuzzy #| msgid "Current lesson" msgid "Previous" msgstr "Lecon actuelle" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 #, fuzzy #| msgid "Current lesson" msgid "My previous lesson" msgstr "Lecon actuelle" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 #, fuzzy #| msgid "Current lesson" msgid "My next lesson" msgstr "Lecon actuelle" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 #, fuzzy #| msgid "" #| "\n" @@ -834,7 +862,7 @@ msgid "Statistics" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" msgstr "Notes personnelles importantes" @@ -871,21 +899,29 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" msgstr "Absences" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 +#, fuzzy +#| msgid "Excused" +msgid "Without Excuse Type" +msgstr "Excusé" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "injustifié(e)" @@ -931,7 +967,7 @@ msgid "Summed up tardiness" msgstr "Résumé des retards" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 #, fuzzy #| msgid "Summed up tardiness" msgid "Count of tardiness" @@ -1065,16 +1101,18 @@ msgid "Please check if the following class register entries are complete and cor msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -1087,6 +1125,11 @@ msgstr "" msgid "General" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 +msgid "(a)" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 #, fuzzy #| msgid "Unexcused" @@ -1094,11 +1137,28 @@ msgid "Unexcused absences" msgstr "injustifié(e)" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 +msgid "Sum (e)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +#, fuzzy +#| msgid "Unexcused" +msgid "Sum of excused absences" +msgstr "injustifié(e)" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 #, fuzzy #| msgid "Unexcused" -msgid "Excused absences" +msgid "Regular excused absences" msgstr "injustifié(e)" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 +msgid "Excuse types (not counted as absent)" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 @@ -1117,7 +1177,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" msgstr "" @@ -1141,7 +1201,7 @@ msgstr "" msgid "Change history" msgstr "Changement d' histoire" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 #, fuzzy #| msgid "Tardiness" msgid "Tardiness (in m)" @@ -1173,6 +1233,50 @@ msgstr "Absences" msgid "Late persons:" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 +#, python-format +msgid "" +"Seating plan for %(group)s in\n" +" %(room)s" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 +#, python-format +msgid "" +"\n" +" This seating plan is taken from the parent group of %(child_group)s.\n" +" If you want, you can take it over for your group and then customize it.\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 +msgid "Edit seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 +msgid "Copy plan and edit" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 +msgid "There is no seating plan for this lesson." +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s in %(room)s\n" +" " +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" msgstr "" @@ -1188,7 +1292,7 @@ msgid "Pending" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" msgstr "Cours annulés" @@ -1223,21 +1327,33 @@ msgid "No students available." msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 #, fuzzy #| msgid "Group" msgid "Primary group" msgstr "Groupe" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#, fuzzy +#| msgid "Unexcused" +msgid "Uncounted Absences" +msgstr "injustifié(e)" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#, fuzzy +#| msgid "unexcused" +msgid "Regular excused" +msgstr "Injustifié(e)" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" msgstr "" @@ -1299,215 +1415,226 @@ msgid "Custom excuse types" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 +msgid "Custom excuse types (not counted as absent)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" msgstr "Personnes en groupe" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." msgstr "Non." -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" msgstr "Nom de famille" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" msgstr "Prénom" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" msgstr "Sexe" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" msgstr "Date d'anniversaire" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125 -msgid "(a)" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" msgstr "Profs et cours en groupe" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" msgstr "Début de cours" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" msgstr "Fin de cours" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" msgstr "Par semaine" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 #, fuzzy #| msgid "Teachers and lessons in group" msgid "Teachers and lessons in child groups" msgstr "Profs et cours en groupe" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" msgstr "Vue d'ensemble personnelle" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" msgstr "Détails de contact" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" msgstr "Absences et retards" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 +#, fuzzy +#| msgid "Excused" +msgid "Without excuse type" +msgstr "Excusé" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" msgstr "Oui" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" msgstr "e" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 #, fuzzy #| msgid "Week view" msgid "Week" msgstr "Vue de semaine" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" msgstr "Notes" -#: aleksis/apps/alsijil/views.py:117 +#: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:150 +#: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:246 +#: aleksis/apps/alsijil/views.py:268 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The lesson documentation has been saved." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:280 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1049 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1070 +#: aleksis/apps/alsijil/views.py:1140 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The personal note has been deleted." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1092 +#: aleksis/apps/alsijil/views.py:1162 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The extra mark has been created." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1104 +#: aleksis/apps/alsijil/views.py:1174 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The extra mark has been saved." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1115 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1136 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1148 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1159 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1180 +#: aleksis/apps/alsijil/views.py:1250 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role has been created." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1192 +#: aleksis/apps/alsijil/views.py:1262 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role has been saved." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1203 +#: aleksis/apps/alsijil/views.py:1273 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role has been deleted." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role has been assigned." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1287 +#: aleksis/apps/alsijil/views.py:1357 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role assignment has been saved." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1308 +#: aleksis/apps/alsijil/views.py:1378 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role assignment has been stopped." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/views.py:1321 +#: aleksis/apps/alsijil/views.py:1391 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role assignment has been deleted." msgstr "Documentation de cours pour la semaine calendrier" +#, fuzzy +#~| msgid "Unexcused" +#~ msgid "Excused absences" +#~ msgstr "injustifié(e)" + #, fuzzy #~| msgid "Week view" #~ msgid "Back to week view" diff --git a/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po index fc62666b0939662f7b64dd2b03f1cfa3e68dedb6..482b187e4b662d5dae6984428bf834aeb086c7eb 100644 --- a/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-24 13:24+0100\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" "PO-Revision-Date: 2020-07-26 14:08+0000\n" "Last-Translator: Julian <leuckerj@gmail.com>\n" "Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/la/>\n" @@ -32,7 +32,7 @@ msgid "Mark as {excuse_type.name}" msgstr "" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 -#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74 +#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" msgstr "" @@ -102,28 +102,28 @@ msgstr "" msgid "The personal note is marked as excused, but not as absent." msgstr "" -#: aleksis/apps/alsijil/filters.py:10 +#: aleksis/apps/alsijil/filters.py:12 msgid "After" msgstr "" -#: aleksis/apps/alsijil/filters.py:11 +#: aleksis/apps/alsijil/filters.py:13 msgid "Before" msgstr "" -#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302 -#: aleksis/apps/alsijil/tables.py:107 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 +#: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" msgstr "" -#: aleksis/apps/alsijil/filters.py:16 +#: aleksis/apps/alsijil/filters.py:30 msgid "Tardiness is lower than" msgstr "" -#: aleksis/apps/alsijil/filters.py:17 +#: aleksis/apps/alsijil/filters.py:31 msgid "Tardiness is bigger than" msgstr "" @@ -131,100 +131,104 @@ msgstr "" msgid "Homework for the next lesson" msgstr "" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199 +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "Grex" -#: aleksis/apps/alsijil/forms.py:79 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201 +#: aleksis/apps/alsijil/forms.py:104 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" msgstr "" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." msgstr "" -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:471 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:475 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108 -#: aleksis/apps/alsijil/tables.py:129 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62 -#: aleksis/apps/alsijil/models.py:236 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 msgid "Excuse type" msgstr "" -#: aleksis/apps/alsijil/forms.py:162 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314 +#: aleksis/apps/alsijil/forms.py:204 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" msgstr "" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" msgstr "Persona" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 msgid "Has lesson documentation" msgstr "" -#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121 +#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" msgstr "" @@ -271,21 +275,21 @@ msgstr "" msgid "All lessons" msgstr "" -#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63 +#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 msgid "Excuse types" msgstr "" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241 -#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" msgstr "" @@ -333,56 +337,64 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 #, fuzzy #| msgid "First name" msgid "Short name" msgstr "Primus nomen" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411 -#: aleksis/apps/alsijil/models.py:435 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315 +#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +msgid "Count as absent" +msgstr "" + +#: aleksis/apps/alsijil/models.py:57 +msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgstr "" + +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:275 +#: aleksis/apps/alsijil/models.py:292 #, fuzzy #| msgid "Person" msgid "Personal note" msgstr "Persona" -#: aleksis/apps/alsijil/models.py:276 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" msgstr "" -#: aleksis/apps/alsijil/models.py:327 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: aleksis/apps/alsijil/models.py:328 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: aleksis/apps/alsijil/models.py:329 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 @@ -392,37 +404,37 @@ msgstr "" msgid "Group note" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:376 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:377 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:422 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:436 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:437 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 #, fuzzy #| msgid "Group" msgid "Group role" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 @@ -431,15 +443,15 @@ msgstr "Grex" msgid "Group roles" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:448 +#: aleksis/apps/alsijil/models.py:468 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 +#: aleksis/apps/alsijil/models.py:484 msgid "Assigned person" msgstr "" -#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 @@ -448,35 +460,35 @@ msgstr "" msgid "Groups" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:476 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:492 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:499 +#: aleksis/apps/alsijil/models.py:519 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:521 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:502 +#: aleksis/apps/alsijil/models.py:522 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:503 +#: aleksis/apps/alsijil/models.py:523 msgid "Can list all personal note filters" msgstr "" @@ -492,101 +504,113 @@ msgstr "" msgid "Allow primary group owners to register future absences for students in their groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" msgstr "" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" msgstr "" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." msgstr "" -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:79 +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." msgstr "" -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" msgstr "" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." msgstr "" -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 msgid "Allow teachers to add data for lessons in holidays" msgstr "" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" msgstr "" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" msgstr "" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." msgstr "" -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" -#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43 -#: aleksis/apps/alsijil/tables.py:68 +#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 +#: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" msgstr "" -#: aleksis/apps/alsijil/tables.py:92 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308 +#: aleksis/apps/alsijil/tables.py:96 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" msgstr "dies" -#: aleksis/apps/alsijil/tables.py:95 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17 +#: aleksis/apps/alsijil/tables.py:99 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" msgstr "" -#: aleksis/apps/alsijil/tables.py:103 +#: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" msgstr "" -#: aleksis/apps/alsijil/tables.py:109 -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287 +#: aleksis/apps/alsijil/tables.py:118 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" -#: aleksis/apps/alsijil/tables.py:110 +#: aleksis/apps/alsijil/tables.py:119 msgid "Excuse" msgstr "" -#: aleksis/apps/alsijil/tables.py:147 +#: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" msgstr "" @@ -595,7 +619,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" msgstr "" @@ -652,8 +676,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16 @@ -691,37 +715,41 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 #, fuzzy #| msgid "Person" msgid "Persons" msgstr "Persona" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +msgid "Seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 msgid "My previous lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 msgid "My next lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -750,7 +778,7 @@ msgid "Statistics" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" msgstr "" @@ -785,21 +813,27 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 +msgid "Without Excuse Type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" @@ -841,7 +875,7 @@ msgid "Summed up tardiness" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 msgid "Count of tardiness" msgstr "" @@ -963,16 +997,18 @@ msgid "Please check if the following class register entries are complete and cor msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -985,12 +1021,32 @@ msgstr "" msgid "General" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 +msgid "(a)" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 msgid "Unexcused absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 -msgid "Excused absences" +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 +msgid "Sum (e)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +msgid "Sum of excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +msgid "Regular excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 +msgid "Excuse types (not counted as absent)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 @@ -1010,7 +1066,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" msgstr "" @@ -1034,7 +1090,7 @@ msgstr "" msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 msgid "Tardiness (in m)" msgstr "" @@ -1062,6 +1118,50 @@ msgstr "" msgid "Late persons:" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 +#, python-format +msgid "" +"Seating plan for %(group)s in\n" +" %(room)s" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 +#, python-format +msgid "" +"\n" +" This seating plan is taken from the parent group of %(child_group)s.\n" +" If you want, you can take it over for your group and then customize it.\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 +msgid "Edit seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 +msgid "Copy plan and edit" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 +msgid "There is no seating plan for this lesson." +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s in %(room)s\n" +" " +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" msgstr "" @@ -1077,7 +1177,7 @@ msgid "Pending" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" msgstr "" @@ -1106,21 +1206,29 @@ msgid "No students available." msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 #, fuzzy #| msgid "Group" msgid "Primary group" msgstr "Grex" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +msgid "Uncounted Absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +msgid "Regular excused" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" msgstr "" @@ -1180,186 +1288,190 @@ msgid "Custom excuse types" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 +msgid "Custom excuse types (not counted as absent)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" msgstr "Secondus nomen" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" msgstr "Primus nomen" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" msgstr "Genus" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" msgstr "Dies natalis" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125 -msgid "(a)" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 msgid "Teachers and lessons in child groups" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 +msgid "Without excuse type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 msgid "Week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:117 +#: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:150 +#: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:246 +#: aleksis/apps/alsijil/views.py:268 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:280 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1049 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1070 +#: aleksis/apps/alsijil/views.py:1140 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1092 +#: aleksis/apps/alsijil/views.py:1162 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1104 +#: aleksis/apps/alsijil/views.py:1174 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1115 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1136 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1148 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1159 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1180 +#: aleksis/apps/alsijil/views.py:1250 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1192 +#: aleksis/apps/alsijil/views.py:1262 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1203 +#: aleksis/apps/alsijil/views.py:1273 msgid "The group role has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1287 +#: aleksis/apps/alsijil/views.py:1357 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1308 +#: aleksis/apps/alsijil/views.py:1378 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1321 +#: aleksis/apps/alsijil/views.py:1391 msgid "The group role assignment has been deleted." msgstr "" diff --git a/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po index 0f75a14f7e9b4a4ec0b20f5fe915794fbb6aa540..90e59955ce06421fc74620937eb7c06cce05da2b 100644 --- a/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-24 13:24+0100\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -31,7 +31,7 @@ msgid "Mark as {excuse_type.name}" msgstr "" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 -#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74 +#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" msgstr "" @@ -101,28 +101,28 @@ msgstr "" msgid "The personal note is marked as excused, but not as absent." msgstr "" -#: aleksis/apps/alsijil/filters.py:10 +#: aleksis/apps/alsijil/filters.py:12 msgid "After" msgstr "" -#: aleksis/apps/alsijil/filters.py:11 +#: aleksis/apps/alsijil/filters.py:13 msgid "Before" msgstr "" -#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302 -#: aleksis/apps/alsijil/tables.py:107 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 +#: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" msgstr "" -#: aleksis/apps/alsijil/filters.py:16 +#: aleksis/apps/alsijil/filters.py:30 msgid "Tardiness is lower than" msgstr "" -#: aleksis/apps/alsijil/filters.py:17 +#: aleksis/apps/alsijil/filters.py:31 msgid "Tardiness is bigger than" msgstr "" @@ -130,100 +130,104 @@ msgstr "" msgid "Homework for the next lesson" msgstr "" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199 +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "" -#: aleksis/apps/alsijil/forms.py:79 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201 +#: aleksis/apps/alsijil/forms.py:104 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" msgstr "" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." msgstr "" -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:471 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:475 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108 -#: aleksis/apps/alsijil/tables.py:129 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62 -#: aleksis/apps/alsijil/models.py:236 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 msgid "Excuse type" msgstr "" -#: aleksis/apps/alsijil/forms.py:162 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314 +#: aleksis/apps/alsijil/forms.py:204 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" msgstr "" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" msgstr "" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 msgid "Has lesson documentation" msgstr "" -#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121 +#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" msgstr "" @@ -268,21 +272,21 @@ msgstr "" msgid "All lessons" msgstr "" -#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63 +#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 msgid "Excuse types" msgstr "" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241 -#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" msgstr "" @@ -330,52 +334,60 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 msgid "Short name" msgstr "" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411 -#: aleksis/apps/alsijil/models.py:435 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315 +#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +msgid "Count as absent" +msgstr "" + +#: aleksis/apps/alsijil/models.py:57 +msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgstr "" + +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:275 +#: aleksis/apps/alsijil/models.py:292 msgid "Personal note" msgstr "" -#: aleksis/apps/alsijil/models.py:276 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" msgstr "" -#: aleksis/apps/alsijil/models.py:327 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: aleksis/apps/alsijil/models.py:328 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: aleksis/apps/alsijil/models.py:329 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 @@ -383,85 +395,85 @@ msgstr "" msgid "Group note" msgstr "" -#: aleksis/apps/alsijil/models.py:376 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:377 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:422 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:436 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:437 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "" -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 msgid "Group roles" msgstr "" -#: aleksis/apps/alsijil/models.py:448 +#: aleksis/apps/alsijil/models.py:468 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 +#: aleksis/apps/alsijil/models.py:484 msgid "Assigned person" msgstr "" -#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 msgid "Groups" msgstr "" -#: aleksis/apps/alsijil/models.py:476 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:492 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:499 +#: aleksis/apps/alsijil/models.py:519 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:521 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:502 +#: aleksis/apps/alsijil/models.py:522 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:503 +#: aleksis/apps/alsijil/models.py:523 msgid "Can list all personal note filters" msgstr "" @@ -477,101 +489,113 @@ msgstr "" msgid "Allow primary group owners to register future absences for students in their groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" msgstr "" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" msgstr "" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." msgstr "" -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:79 +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." msgstr "" -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" msgstr "" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." msgstr "" -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 msgid "Allow teachers to add data for lessons in holidays" msgstr "" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" msgstr "" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" msgstr "" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." msgstr "" -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" -#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43 -#: aleksis/apps/alsijil/tables.py:68 +#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 +#: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" msgstr "" -#: aleksis/apps/alsijil/tables.py:92 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308 +#: aleksis/apps/alsijil/tables.py:96 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" msgstr "" -#: aleksis/apps/alsijil/tables.py:95 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17 +#: aleksis/apps/alsijil/tables.py:99 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" msgstr "" -#: aleksis/apps/alsijil/tables.py:103 +#: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" msgstr "" -#: aleksis/apps/alsijil/tables.py:109 -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287 +#: aleksis/apps/alsijil/tables.py:118 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" -#: aleksis/apps/alsijil/tables.py:110 +#: aleksis/apps/alsijil/tables.py:119 msgid "Excuse" msgstr "" -#: aleksis/apps/alsijil/tables.py:147 +#: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" msgstr "" @@ -580,7 +604,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" msgstr "" @@ -637,8 +661,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16 @@ -676,35 +700,39 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 msgid "Persons" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +msgid "Seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 msgid "My previous lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 msgid "My next lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -733,7 +761,7 @@ msgid "Statistics" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" msgstr "" @@ -764,21 +792,27 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 +msgid "Without Excuse Type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" @@ -820,7 +854,7 @@ msgid "Summed up tardiness" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 msgid "Count of tardiness" msgstr "" @@ -940,16 +974,18 @@ msgid "Please check if the following class register entries are complete and cor msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -962,12 +998,32 @@ msgstr "" msgid "General" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 +msgid "(a)" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 msgid "Unexcused absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 -msgid "Excused absences" +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 +msgid "Sum (e)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +msgid "Sum of excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +msgid "Regular excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 +msgid "Excuse types (not counted as absent)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 @@ -987,7 +1043,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" msgstr "" @@ -1011,7 +1067,7 @@ msgstr "" msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 msgid "Tardiness (in m)" msgstr "" @@ -1039,6 +1095,50 @@ msgstr "" msgid "Late persons:" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 +#, python-format +msgid "" +"Seating plan for %(group)s in\n" +" %(room)s" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 +#, python-format +msgid "" +"\n" +" This seating plan is taken from the parent group of %(child_group)s.\n" +" If you want, you can take it over for your group and then customize it.\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 +msgid "Edit seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 +msgid "Copy plan and edit" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 +msgid "There is no seating plan for this lesson." +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s in %(room)s\n" +" " +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" msgstr "" @@ -1054,7 +1154,7 @@ msgid "Pending" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" msgstr "" @@ -1083,19 +1183,27 @@ msgid "No students available." msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 msgid "Primary group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +msgid "Uncounted Absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +msgid "Regular excused" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" msgstr "" @@ -1155,185 +1263,189 @@ msgid "Custom excuse types" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 +msgid "Custom excuse types (not counted as absent)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125 -msgid "(a)" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 msgid "Teachers and lessons in child groups" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 +msgid "Without excuse type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 msgid "Week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:117 +#: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:150 +#: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:246 +#: aleksis/apps/alsijil/views.py:268 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:280 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1049 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1070 +#: aleksis/apps/alsijil/views.py:1140 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1092 +#: aleksis/apps/alsijil/views.py:1162 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1104 +#: aleksis/apps/alsijil/views.py:1174 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1115 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1136 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1148 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1159 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1180 +#: aleksis/apps/alsijil/views.py:1250 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1192 +#: aleksis/apps/alsijil/views.py:1262 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1203 +#: aleksis/apps/alsijil/views.py:1273 msgid "The group role has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1287 +#: aleksis/apps/alsijil/views.py:1357 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1308 +#: aleksis/apps/alsijil/views.py:1378 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1321 +#: aleksis/apps/alsijil/views.py:1391 msgid "The group role assignment has been deleted." msgstr "" diff --git a/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po index cfdaa5cfb780278cb399496235d9af4140f18d64..93d349cecf093887a55f6b282bb277156f9687bf 100644 --- a/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po @@ -3,172 +3,175 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-23 12:35+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" +"PO-Revision-Date: 2022-06-22 19:59+0000\n" +"Last-Translator: Serhii Horichenko <m@sgg.im>\n" +"Language-Team: Russian <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/ru/>\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Weblate 4.12.1\n" + #: aleksis/apps/alsijil/actions.py:18 msgid "Mark as excused" -msgstr "" +msgstr "Отметить как уважительный" #: aleksis/apps/alsijil/actions.py:25 msgid "Mark as unexcused" -msgstr "" +msgstr "Отметить без уважительной причины" #: aleksis/apps/alsijil/actions.py:32 #, python-brace-format msgid "Mark as {excuse_type.name}" -msgstr "" +msgstr "Отметить как {excuse_type.name}" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 #: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" -msgstr "" +msgstr "Удалить" #: aleksis/apps/alsijil/actions.py:68 msgid "{} asks you to check some class register entries." -msgstr "" +msgstr "{} проÑит Ð’Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ некоторые запиÑи клаÑÑного журнала." #: aleksis/apps/alsijil/actions.py:86 #, python-brace-format msgid "We have successfully sent notifications to {count_teachers} persons for {count_items} lessons." -msgstr "" +msgstr "Мы отправили уведомление Ð´Ð»Ñ {count_teachers} чел. о {count_items} уроках." #: aleksis/apps/alsijil/actions.py:92 msgid "Ask teacher to check data" -msgstr "" +msgstr "ПопроÑить ÑƒÑ‡Ð¸Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ данные" #: aleksis/apps/alsijil/data_checks.py:12 msgid "Delete object" -msgstr "" +msgstr "Удалить объект" #: aleksis/apps/alsijil/data_checks.py:22 msgid "Set current groups" -msgstr "" +msgstr "УÑтановить текущие группы" #: aleksis/apps/alsijil/data_checks.py:33 msgid "Reset personal note to defaults" -msgstr "" +msgstr "СброÑить личные заметки на типовые" #: aleksis/apps/alsijil/data_checks.py:45 msgid "Ensure that there are no personal notes in cancelled lessons" -msgstr "" +msgstr "УбедитеÑÑŒ, чтобы в отмененных уроках не было личных заметок" #: aleksis/apps/alsijil/data_checks.py:46 msgid "The personal note is related to a cancelled lesson." -msgstr "" +msgstr "У отмененного урока еÑть ÑвÑзанные личные заметки." #: aleksis/apps/alsijil/data_checks.py:73 msgid "Ensure that 'groups_of_person' is set for every personal note" -msgstr "" +msgstr "УбедитеÑÑŒ, что Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ личной заметки уÑтановлены \"группы_лиц\"" #: aleksis/apps/alsijil/data_checks.py:74 msgid "The personal note has no group in 'groups_of_person'." -msgstr "" +msgstr "Ðта Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° без группы в \"группах_лиц\"." #: aleksis/apps/alsijil/data_checks.py:99 msgid "Ensure that there are no filled out lesson documentations on holidays" -msgstr "" +msgstr "УбедитеÑÑŒ, что на выходные нет заполненного учебного материала" #: aleksis/apps/alsijil/data_checks.py:100 msgid "The lesson documentation is on holidays." -msgstr "" +msgstr "Ðа выходные еÑть учебный материал." #: aleksis/apps/alsijil/data_checks.py:133 msgid "Ensure that there are no filled out personal notes on holidays" -msgstr "" +msgstr "УбедитеÑÑŒ, что на выходные нет заполненных личных заметок" #: aleksis/apps/alsijil/data_checks.py:134 msgid "The personal note is on holidays." -msgstr "" +msgstr "Ðа выходные еÑть личные заметки." #: aleksis/apps/alsijil/data_checks.py:162 msgid "Ensure that there are no excused personal notes without an absence" -msgstr "" +msgstr "УбедитеÑÑŒ, что нет личных заметок Ñ Ð¿Ð¾ÑÑнениÑми без отÑутÑтвиÑ" #: aleksis/apps/alsijil/data_checks.py:163 msgid "The personal note is marked as excused, but not as absent." -msgstr "" +msgstr "Ðта Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° отмечена как поÑÑнительнаÑ, но нет отÑутÑтвиÑ." #: aleksis/apps/alsijil/filters.py:12 msgid "After" -msgstr "" +msgstr "ПоÑле" #: aleksis/apps/alsijil/filters.py:13 msgid "Before" -msgstr "" +msgstr "До" -#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:302 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 #: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" -msgstr "" +msgstr "Предмет" #: aleksis/apps/alsijil/filters.py:30 msgid "Tardiness is lower than" -msgstr "" +msgstr "Опоздание меньше, чем на" #: aleksis/apps/alsijil/filters.py:31 msgid "Tardiness is bigger than" -msgstr "" +msgstr "Опоздание больше, чем на" #: aleksis/apps/alsijil/forms.py:47 msgid "Homework for the next lesson" +msgstr "ДомашнÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð° на Ñледующий урок" + +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" msgstr "" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" -msgstr "" +msgstr "Группа" -#: aleksis/apps/alsijil/forms.py:79 +#: aleksis/apps/alsijil/forms.py:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" -msgstr "" +msgstr "Преподаватель" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." -msgstr "" +msgstr "Ð’Ñ‹ не можете одновременно выбрать группу и преподавателÑ." -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:480 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" -msgstr "" +msgstr "Дата начала" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" -msgstr "" +msgstr "Дата окончаниÑ" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 msgid "Start period" -msgstr "" +msgstr "Ðачало уроков" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 msgid "End period" -msgstr "" +msgstr "Окончание уроков" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 #: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 @@ -176,9 +179,9 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" -msgstr "" +msgstr "ОтÑутÑтвует" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 @@ -186,36 +189,36 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" -msgstr "" +msgstr "Уважительно" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:71 -#: aleksis/apps/alsijil/models.py:245 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 msgid "Excuse type" -msgstr "" +msgstr "Тип объÑÑнительной запиÑки" -#: aleksis/apps/alsijil/forms.py:162 +#: aleksis/apps/alsijil/forms.py:204 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" -msgstr "" +msgstr "ЗамечаниÑ" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" -msgstr "" +msgstr "Лицо" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" -msgstr "" +msgstr "Учебный год" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 msgid "Has lesson documentation" -msgstr "" +msgstr "Имеет в наличии учебный материал" #: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 @@ -225,60 +228,60 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" -msgstr "" +msgstr "Событие" #: aleksis/apps/alsijil/menus.py:6 aleksis/apps/alsijil/preferences.py:9 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 msgid "Class register" -msgstr "" +msgstr "КлаÑÑный журнал" #: aleksis/apps/alsijil/menus.py:16 msgid "Current lesson" -msgstr "" +msgstr "Текущий урок" #: aleksis/apps/alsijil/menus.py:27 msgid "Current week" -msgstr "" +msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð½ÐµÐ´ÐµÐ»Ñ" #: aleksis/apps/alsijil/menus.py:38 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 msgid "My groups" -msgstr "" +msgstr "Мои группы" #: aleksis/apps/alsijil/menus.py:49 msgid "My overview" -msgstr "" +msgstr "Мой обзор" #: aleksis/apps/alsijil/menus.py:60 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 msgid "My students" -msgstr "" +msgstr "Мои Ñтуденты" #: aleksis/apps/alsijil/menus.py:71 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:11 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:18 msgid "Assign group role" -msgstr "" +msgstr "Ðазначить роль группы" #: aleksis/apps/alsijil/menus.py:82 #: aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html:5 #: aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html:8 msgid "All lessons" -msgstr "" +msgstr "Ð’Ñе уроки" #: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 msgid "Excuse types" -msgstr "" +msgstr "Типы объÑÑнительных" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:250 -#: aleksis/apps/alsijil/models.py:432 aleksis/apps/alsijil/tables.py:120 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 @@ -286,286 +289,302 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" -msgstr "" +msgstr "Дополнительные отметки" #: aleksis/apps/alsijil/menus.py:115 msgid "Manage group roles" -msgstr "" +msgstr "Управление ролÑми групп" -#: aleksis/apps/alsijil/model_extensions.py:190 +#: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" -msgstr "" +msgstr "Может проÑматривать клаÑÑный журнал группы за неделю" -#: aleksis/apps/alsijil/model_extensions.py:194 +#: aleksis/apps/alsijil/model_extensions.py:195 msgid "Can view lesson overview of group class register" -msgstr "" +msgstr "Может проÑматривать клаÑÑный журнал группы за урок" -#: aleksis/apps/alsijil/model_extensions.py:196 +#: aleksis/apps/alsijil/model_extensions.py:197 msgid "Can view all personal notes of a group" -msgstr "" +msgstr "Может проÑматривать вÑе личные заметки группы" -#: aleksis/apps/alsijil/model_extensions.py:197 +#: aleksis/apps/alsijil/model_extensions.py:198 msgid "Can edit all personal notes of a group" -msgstr "" +msgstr "Может редактировать вÑе личные заметки группы" -#: aleksis/apps/alsijil/model_extensions.py:199 +#: aleksis/apps/alsijil/model_extensions.py:200 msgid "Can view all lesson documentation of a group" -msgstr "" +msgstr "Может проÑматривать веÑÑŒ учебный материал группы" -#: aleksis/apps/alsijil/model_extensions.py:202 +#: aleksis/apps/alsijil/model_extensions.py:203 msgid "Can edit all lesson documentation of a group" -msgstr "" +msgstr "Может редактировать веÑÑŒ учебный материал группы" -#: aleksis/apps/alsijil/model_extensions.py:204 +#: aleksis/apps/alsijil/model_extensions.py:205 msgid "Can view full register of a group" -msgstr "" +msgstr "Может проÑматривать клаÑÑный журнал группы без ограничений" -#: aleksis/apps/alsijil/model_extensions.py:206 +#: aleksis/apps/alsijil/model_extensions.py:207 msgid "Can register an absence for all members of a group" -msgstr "" +msgstr "Может региÑтрировать пропуÑки Ð´Ð»Ñ Ð²Ñех учаÑтников группы" -#: aleksis/apps/alsijil/model_extensions.py:208 +#: aleksis/apps/alsijil/model_extensions.py:209 msgid "Can assign a group role for this group" -msgstr "" +msgstr "Может назначать роль группы Ð´Ð»Ñ Ñтой группы" -#: aleksis/apps/alsijil/model_extensions.py:209 +#: aleksis/apps/alsijil/model_extensions.py:210 msgid "Can register an absence for a person" -msgstr "" +msgstr "Может региÑтрировать отÑутÑтвиÑ" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:419 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 msgid "Short name" -msgstr "" +msgstr "Короткое имÑ" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:420 -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" -msgstr "" +msgstr "ИмÑ" #: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" -msgstr "" +msgstr "КоличеÑтво отÑутÑтвующих" #: aleksis/apps/alsijil/models.py:57 msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." -msgstr "" +msgstr "ЕÑли отмечено, Ñтот тип объÑÑнительной будет заÑчитан как пропущенный урок. ЕÑли не отмечено, то без запиÑи в отчет о пропуÑках." -#: aleksis/apps/alsijil/models.py:225 aleksis/apps/alsijil/models.py:324 +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" -msgstr "" +msgstr "Год" -#: aleksis/apps/alsijil/models.py:284 +#: aleksis/apps/alsijil/models.py:292 msgid "Personal note" -msgstr "" +msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ°" -#: aleksis/apps/alsijil/models.py:285 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" -msgstr "" +msgstr "Личные заметки" -#: aleksis/apps/alsijil/models.py:336 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" -msgstr "" +msgstr "Тема урока" -#: aleksis/apps/alsijil/models.py:337 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" -msgstr "" +msgstr "ДомашнÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°" -#: aleksis/apps/alsijil/models.py:338 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:42 msgid "Group note" -msgstr "" +msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ°" -#: aleksis/apps/alsijil/models.py:385 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" -msgstr "" +msgstr "Учебный материал" -#: aleksis/apps/alsijil/models.py:386 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 msgid "Lesson documentations" -msgstr "" +msgstr "Учебные материалы" -#: aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" -msgstr "" +msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ°" -#: aleksis/apps/alsijil/models.py:445 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" -msgstr "" +msgstr "Иконка" -#: aleksis/apps/alsijil/models.py:446 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" -msgstr "" +msgstr "Цвет" -#: aleksis/apps/alsijil/models.py:452 aleksis/apps/alsijil/models.py:467 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" -msgstr "" +msgstr "Роль группы" -#: aleksis/apps/alsijil/models.py:453 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 msgid "Group roles" -msgstr "" +msgstr "Роли групп" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:468 msgid "Can assign group role" -msgstr "" +msgstr "Может назначать роль группы" -#: aleksis/apps/alsijil/models.py:473 +#: aleksis/apps/alsijil/models.py:484 msgid "Assigned person" -msgstr "" +msgstr "Ðазначенное лицо" -#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 msgid "Groups" -msgstr "" +msgstr "Группы" -#: aleksis/apps/alsijil/models.py:485 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" -msgstr "" +msgstr "ЕÑли нет точной конечной даты, можно оÑтавить незаполненным" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" -msgstr "" +msgstr "Ðазначение роли группы" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" -msgstr "" +msgstr "Ðазначение ролей групп" -#: aleksis/apps/alsijil/models.py:508 +#: aleksis/apps/alsijil/models.py:519 msgid "Can view lesson overview" -msgstr "" +msgstr "Может проÑматривать обзор урока" -#: aleksis/apps/alsijil/models.py:509 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" -msgstr "" +msgstr "Может проÑматривать недельный обзор" -#: aleksis/apps/alsijil/models.py:510 +#: aleksis/apps/alsijil/models.py:521 msgid "Can view full register" -msgstr "" +msgstr "Может проÑматривать веÑÑŒ журнал" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:522 msgid "Can register absence" -msgstr "" +msgstr "Может региÑтрировать отÑутÑтвие" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:523 msgid "Can list all personal note filters" -msgstr "" +msgstr "Может проÑматривать вÑе фильтры личных заметок" #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" -msgstr "" +msgstr "Блокировать добавление личных заметок к отмененным урокам" #: aleksis/apps/alsijil/preferences.py:25 msgid "Allow users to view their own personal notes" -msgstr "" +msgstr "Разрешить пользователÑм проÑматривать Ñвои личные заметки" #: aleksis/apps/alsijil/preferences.py:34 msgid "Allow primary group owners to register future absences for students in their groups" +msgstr "Разрешить владельцам оÑновных групп региÑтрировать будущие пропуÑки Ñтудентов в Ñвоих группах" + +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" -msgstr "" +msgstr "Разрешить изначальным преподавателÑм редактировать Ñвои уроки даже поÑле их замены" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" -msgstr "" +msgstr "ПереноÑить данные Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ урока в раÑпиÑании на текущие уроки через неÑколько уроков" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." -msgstr "" +msgstr "Ðто перенеÑёт данные только в Ñлучае отÑутÑÑ‚Ð²Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в поÑледующих уроках." -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +#, fuzzy +#| msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "ПереноÑить данные Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ урока в раÑпиÑании на текущие уроки через неÑколько уроков" + +#: aleksis/apps/alsijil/preferences.py:79 +#, fuzzy +#| msgid "This will carry over data only if the data in the following periods are empty." +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "Ðто перенеÑёт данные только в Ñлучае отÑутÑÑ‚Ð²Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в поÑледующих уроках." + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." -msgstr "" +msgstr "ПереноÑить личные заметки на вÑе поÑледующие уроки того же днÑ." -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" -msgstr "" +msgstr "Разрешить преподавателÑм открывать уроки в тот же день, а не только в начале уроков" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." -msgstr "" +msgstr "Ðти наÑтройки не влиÑÑŽÑ‚ на прошлые уроки. Ð’Ñ‹ можете открывать их когда-угодно." -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 msgid "Allow teachers to add data for lessons in holidays" -msgstr "" +msgstr "Разрешить преподавателÑм добавлÑть учебный материал (данные Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÐ¾Ð²) на выходных" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" -msgstr "" +msgstr "Разрешить владельцам групп назначать роли групп родителÑм учаÑтников групп" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" -msgstr "" +msgstr "Показать назначенные роли групп в недельном обзоре" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" -msgstr "" +msgstr "Только недельные обзоры групп" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" -msgstr "" +msgstr "Показать назначенные роли групп в обзоре урока" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" -msgstr "" +msgstr "КоличеÑтво запиÑей на Ñтраницу в таблице Ñ Ñ€Ð°ÑпиÑанием" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." -msgstr "" +msgstr "ÐšÐ°Ð¶Ð´Ð°Ñ Ñтраница должна Ñодержать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одну Ñтроку." -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" -msgstr "" +msgstr "По-умолчанию фильтровать уроки по наличию в них учебного материала" #: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 #: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" -msgstr "" +msgstr "Редактировать" #: aleksis/apps/alsijil/tables.py:96 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" -msgstr "" +msgstr "Дата" #: aleksis/apps/alsijil/tables.py:99 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" -msgstr "" +msgstr "Урок" #: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" -msgstr "" +msgstr "Преподаватели" #: aleksis/apps/alsijil/tables.py:118 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 @@ -575,16 +594,16 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" -msgstr "" +msgstr "Опоздание" #: aleksis/apps/alsijil/tables.py:119 msgid "Excuse" -msgstr "" +msgstr "ОбъÑÑнительнаÑ" #: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" -msgstr "" +msgstr "{value}' задержка" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 @@ -592,12 +611,12 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" -msgstr "" +msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÑутÑтвиÑ" #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:5 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:6 msgid "Confirm: Register absence" -msgstr "" +msgstr "Подтверждение: РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÑутÑтвиÑ" #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:10 msgid "" @@ -605,6 +624,9 @@ msgid "" " Do you really want to register the following absence?\n" " " msgstr "" +"\n" +" Ð’Ñ‹ дейÑтвительно хотите зарегиÑтрировать Ñтот пропуÑк?\n" +" " #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:26 msgid "" @@ -613,11 +635,15 @@ msgid "" " please double check the correctness of your entry.\n" " " msgstr "" +"\n" +" ПоÑкольку пропуÑк дольше одного днÑ,\n" +" проверьте точноÑть заполненных данных дважды.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:35 #, python-format msgid " %(count)s affected lessons " -msgstr "" +msgstr " %(count)s завиÑимых уроков " #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:40 msgid "" @@ -625,25 +651,28 @@ msgid "" " There are no affected lessons. Registering this absence won't have any effect.\n" " " msgstr "" +"\n" +" ЗавиÑимых уроков нет. РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑка ни на что не влиÑет.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:57 msgid "Reset status to 'not absent'" -msgstr "" +msgstr "СброÑить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° 'не отÑутÑтвует'" #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:79 msgid "Cancel" -msgstr "" +msgstr "Отменить" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" -msgstr "" +msgstr "Студенты" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:76 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:78 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 msgid "Students list" -msgstr "" +msgstr "СпиÑок Ñтудентов" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 @@ -655,12 +684,12 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 msgid "Week view" -msgstr "" +msgstr "Ðедельный обзор" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:45 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:90 msgid "Roles" -msgstr "" +msgstr "Роли" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:51 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:98 @@ -671,52 +700,52 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 msgid "Generate printout" -msgstr "" +msgstr "Подготовить к печати" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:59 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:104 msgid "No groups available." -msgstr "" +msgstr "Группы недоÑтупны." #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:71 msgid "students" -msgstr "" +msgstr "Ñтуденты" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:5 msgid "Lesson" -msgstr "" +msgstr "Урок" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 msgid "Persons" -msgstr "" +msgstr "Люди" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 msgid "Seating plan" -msgstr "" +msgstr "План размещениÑ" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 msgid "Previous" -msgstr "" +msgstr "Предыдущий" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" -msgstr "" +msgstr "Ещё" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 msgid "My previous lesson" -msgstr "" +msgstr "Мой предыдущий урок" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 msgid "My next lesson" -msgstr "" +msgstr "Мой Ñледующий урок" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" -msgstr "" +msgstr "Следующий" #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 msgid "" @@ -724,15 +753,18 @@ msgid "" " This lesson overlaps with holidays and can't be edited.\n" " " msgstr "" +"\n" +" Ðтот урок перекрывает выходные и его Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:10 msgid "Class register: person" -msgstr "" +msgstr "КлаÑÑный журнал: лицо" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:18 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:10 msgid "Back" -msgstr "" +msgstr "Ðазад" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:22 #, python-format @@ -741,39 +773,42 @@ msgid "" " Class register overview for %(person)s\n" " " msgstr "" +"\n" +" Обзор клаÑÑного журнала Ð´Ð»Ñ %(person)s\n" +" " #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:50 msgid "Statistics" -msgstr "" +msgstr "СтатиÑтика" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" -msgstr "" +msgstr "СоответÑтвующие личные заметки" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:68 msgid "Filter personal notes" -msgstr "" +msgstr "Фильтровать личные заметки" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:73 msgid "Clear all filters" -msgstr "" +msgstr "ОчиÑтить фильтры" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:76 msgid "Close" -msgstr "" +msgstr "Закрыть" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:79 msgid "Filter" -msgstr "" +msgstr "Фильтры" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:91 msgid "Filter results" -msgstr "" +msgstr "Результат фильтров" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 msgid "Statistics on absences, tardiness and remarks" -msgstr "" +msgstr "СтатиÑтика пропуÑков, опозданий и замечаний" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 @@ -782,39 +817,39 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" -msgstr "" +msgstr "ПропуÑки" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" -msgstr "" +msgstr "итак" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 msgid "Without Excuse Type" -msgstr "" +msgstr "Без типа объÑÑнительной" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" -msgstr "" +msgstr "Без поÑÑнений" #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:5 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:12 #, python-format msgid "Students list: %(group)s" -msgstr "" +msgstr "СпиÑок Ñтудентов: %(group)s" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 msgid "Select" -msgstr "" +msgstr "Отметить" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 msgid "Toggle filters" -msgstr "" +msgstr "Переключить фильтры" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 #, python-format @@ -822,31 +857,33 @@ msgid "" "CW %(week)s:\n" " %(instance)s" msgstr "" +"ÐД %(week)s:\n" +" %(instance)s" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 msgid "Unfold" -msgstr "" +msgstr "Развернуть" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 msgid "Visit lesson overview" -msgstr "" +msgstr "Обзор поÑещений урока" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 msgid "unexcused" -msgstr "" +msgstr "без поÑÑнений" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 msgid "Summed up tardiness" -msgstr "" +msgstr "Суммированные опозданиÑ" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 msgid "Count of tardiness" -msgstr "" +msgstr "КоличеÑтво опозданий" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 msgid "No lessons available" -msgstr "" +msgstr "Ðет доÑтупных уроков" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 msgid "" @@ -854,17 +891,20 @@ msgid "" " There are no lessons for the selected group or teacher in this week.\n" " " msgstr "" +"\n" +" Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ группы или Ð¿Ñ€ÐµÐ¿Ð¾Ð´Ð°Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñтой неделе уроков нет.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html:6 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html:7 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:18 msgid "Create excuse type" -msgstr "" +msgstr "Создать тип объÑÑнительной" #: aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html:6 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html:7 msgid "Edit excuse type" -msgstr "" +msgstr "Редактировать тип объÑÑнительной" #: aleksis/apps/alsijil/templates/alsijil/excuse_type/warning.html:4 #: aleksis/apps/alsijil/templates/alsijil/group_role/warning.html:4 @@ -874,74 +914,78 @@ msgid "" " Don't use this to create a default excuse or if you don't divide between different types of excuse.\n" " " msgstr "" +"\n" +" Ðта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸ÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð² к объÑÑнительным по-умолчанию, которые тоже будут учтены.\n" +" Ðе иÑпользуйте Ñтот функционал Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÑÑнительной по-умолчанию или еÑли не ведёте разделение по типам.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/extra_mark/create.html:6 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/create.html:7 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:14 msgid "Create extra mark" -msgstr "" +msgstr "Создать дополнительную отметку" #: aleksis/apps/alsijil/templates/alsijil/extra_mark/edit.html:6 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/edit.html:7 msgid "Edit extra mark" -msgstr "" +msgstr "Редактировать дополнительную отметку" #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:16 #, python-format msgid "Assign group role for %(group)s" -msgstr "" +msgstr "Ðазначить роль группы Ð´Ð»Ñ %(group)s" #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" -msgstr "" +msgstr "Ðазначить" #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:12 #, python-format msgid "Group roles for %(group)s" -msgstr "" +msgstr "Роли групп Ð´Ð»Ñ %(group)s" #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:28 msgid "Back to my groups" -msgstr "" +msgstr "Ðазад к моим группам" #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:36 msgid "Assign a role to a person" -msgstr "" +msgstr "Ðазначить роль лицу" #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:45 msgid "Current roles" -msgstr "" +msgstr "Текущие роли" #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:48 msgid "All assignments" -msgstr "" +msgstr "Ð’Ñе назначениÑ" #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:66 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:83 msgid "Actions" -msgstr "" +msgstr "ДейÑтвиÑ" #: aleksis/apps/alsijil/templates/alsijil/group_role/create.html:6 #: aleksis/apps/alsijil/templates/alsijil/group_role/create.html:7 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:16 msgid "Create group role" -msgstr "" +msgstr "Создать роль группы" #: aleksis/apps/alsijil/templates/alsijil/group_role/edit.html:6 #: aleksis/apps/alsijil/templates/alsijil/group_role/edit.html:7 msgid "Edit group role" -msgstr "" +msgstr "Редактировать роль группы" #: aleksis/apps/alsijil/templates/alsijil/group_role/edit_assignment.html:7 #: aleksis/apps/alsijil/templates/alsijil/group_role/edit_assignment.html:8 msgid "Edit group role assignment" -msgstr "" +msgstr "Редактировать назначение роли группы" #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html:31 msgid "No one assigned." -msgstr "" +msgstr "Ðикто не назначен." #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html:41 msgid "" @@ -950,14 +994,18 @@ msgid "" " corresponding person.\n" " " msgstr "" +"\n" +" Ð’Ñ‹ можете получить некоторые дополнительные дейÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð¾Ð»Ð¸ группы поÑле клика\n" +" на Ð¸Ð¼Ñ ÑоответÑтвующего лица.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:21 msgid "Stop" -msgstr "" +msgstr "Стоп" #: aleksis/apps/alsijil/templates/alsijil/notifications/check.html:1 msgid "Please check if the following class register entries are complete and correct:" -msgstr "" +msgstr "Проверьте, пожалуйÑта, Ñти запиÑи в клаÑÑном журнале на полноту и корректноÑть:" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 @@ -965,7 +1013,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" -msgstr "" +msgstr "(о)" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 @@ -973,51 +1021,51 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" -msgstr "" +msgstr "(н)" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:4 msgid "Legend" -msgstr "" +msgstr "Легенда" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:7 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:71 msgid "General" -msgstr "" +msgstr "Общее" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 msgid "(a)" -msgstr "" +msgstr "(о)" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 msgid "Unexcused absences" -msgstr "" +msgstr "ОтÑутÑтвие без поÑÑнений" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" -msgstr "" +msgstr "Сумма (п)" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 msgid "Sum of excused absences" -msgstr "" +msgstr "КоличеÑтво пропуÑков Ñ Ð¾Ð±ÑŠÑÑнительной" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 msgid "Regular excused absences" -msgstr "" +msgstr "РегулÑрные обоÑнованные пропуÑки" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 msgid "Excuse types (not counted as absent)" -msgstr "" +msgstr "Типы объÑÑнительных (не учитываютÑÑ ÐºÐ°Ðº пропуÑки)" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" -msgstr "" +msgstr "%(period)s. урок" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 #, python-format @@ -1026,12 +1074,15 @@ msgid "" " %(period_from)s.–%(period_to)s. period\n" " " msgstr "" +"\n" +" %(period_from)s.–%(period_to)s. уроки\n" +" " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" -msgstr "" +msgstr "Сохранить" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 #, python-format @@ -1040,6 +1091,9 @@ msgid "" " Previous %(subject)s lesson\n" " " msgstr "" +"\n" +" Предыдущий урок %(subject)s\n" +" " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 #, python-format @@ -1048,38 +1102,41 @@ msgid "" " Next %(subject)s lesson\n" " " msgstr "" +"\n" +" Следующий урок %(subject)s\n" +" " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 msgid "Change history" -msgstr "" +msgstr "Изменить иÑторию" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 msgid "Tardiness (in m)" -msgstr "" +msgstr "ÐžÐ¿Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ (мин)" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:6 msgid "Overview: Previous lesson" -msgstr "" +msgstr "Обзор: Предыдущий урок" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:13 msgid "Lesson topic of previous lesson:" -msgstr "" +msgstr "Тема предыдущего урока:" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:20 msgid "Homework for this lesson:" -msgstr "" +msgstr "ДомашнÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð° на Ñтот урок:" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:27 msgid "Group notes for previous lesson:" -msgstr "" +msgstr "Заметки группы на предыдущем уроке:" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:34 msgid "Absent persons:" -msgstr "" +msgstr "ОтÑутÑтвуют:" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:41 msgid "Late persons:" -msgstr "" +msgstr "Опоздали:" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 #, python-format @@ -1087,6 +1144,8 @@ msgid "" "Seating plan for %(group)s in\n" " %(room)s" msgstr "" +"План Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ %(group)s в\n" +" %(room)s" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 #, python-format @@ -1096,18 +1155,22 @@ msgid "" " If you want, you can take it over for your group and then customize it.\n" " " msgstr "" +"\n" +" Ðтот план Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð²Ð·ÑÑ‚ из родительÑкой группы %(child_group)s.\n" +" При необходимоÑти Ð’Ñ‹ можете наÑтроить его под Ñвою группу.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 msgid "Edit seating plan" -msgstr "" +msgstr "Редактировать план размещениÑ" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 msgid "Copy plan and edit" -msgstr "" +msgstr "Скопировать план и отредактировать" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 msgid "There is no seating plan for this lesson." -msgstr "" +msgstr "Ð”Ð»Ñ Ñтого урока нет плана размещениÑ." #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 #, python-format @@ -1116,6 +1179,9 @@ msgid "" " Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" " " msgstr "" +"\n" +" Создать новый план Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ %(group)s (%(subject)s) в %(room)s\n" +" " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 #, python-format @@ -1124,87 +1190,90 @@ msgid "" " Create a new seating plan for %(group)s in %(room)s\n" " " msgstr "" +"\n" +" Создать новый план Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ %(group)s в %(room)s\n" +" " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" -msgstr "" +msgstr "Данные заполнены" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:17 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:30 msgid "Missing data" -msgstr "" +msgstr "Пропущены данные" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:19 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:32 msgid "Pending" -msgstr "" +msgstr "Ð’ ожидании" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" -msgstr "" +msgstr "Урок отменён" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:34 msgid "Substitution" -msgstr "" +msgstr "Замена" #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:4 msgid "Lesson filter" -msgstr "" +msgstr "Фильтр уроков" #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:9 msgid "Update filters" -msgstr "" +msgstr "Обновить фильтры" #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:22 msgid "Lesson table" -msgstr "" +msgstr "РаÑпиÑание уроков" #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:31 msgid "Execute" -msgstr "" +msgstr "Выполнить" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:6 msgid "No students available." -msgstr "" +msgstr "Ðет доÑтупных Ñтудентов." #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 msgid "Primary group" -msgstr "" +msgstr "ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 msgid "Uncounted Absences" -msgstr "" +msgstr "Ðеучтённые пропуÑки" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" -msgstr "" +msgstr "Сумма" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 msgid "Regular excused" -msgstr "" +msgstr "РегулÑрные обоÑнованиÑ" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" -msgstr "" +msgstr "Показать более детально" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" -msgstr "" +msgstr "Детали" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:6 msgid "Class register:" -msgstr "" +msgstr "КлаÑÑный журнал:" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:26 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:59 msgid "Owners" -msgstr "" +msgstr "Владельцы" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:30 msgid "Printed on" -msgstr "" +msgstr "РаÑпечатано" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:38 msgid "" @@ -1214,6 +1283,11 @@ msgid "" " System.\n" " " msgstr "" +"\n" +" Ðтот печатный ÑкземплÑÑ€ Ñделан Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ñ… нужд. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ\n" +" Ñтого клаÑÑного журнала хранитÑÑ Ð² учебно-информационной\n" +" ÑиÑтеме AlekSIS.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:45 msgid "" @@ -1223,6 +1297,11 @@ msgid "" " school.\n" " " msgstr "" +"\n" +" Копии Ñтого клаÑÑного журнала, в Ñ‚.ч. цифровые и печатные, должны\n" +" хранитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ внутри учебного Ð·Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¸/или на уÑтройÑтвах,\n" +" разрешённых админиÑтрацией учебного заведениÑ.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:52 msgid "" @@ -1231,207 +1310,211 @@ msgid "" " well as the correctness of this printout.\n" " " msgstr "" +"\n" +" Владелец группы и директор подтверждают указанное выше, \n" +" а также правильноÑть Ñтой раÑпечатки.\n" +" " #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:62 msgid "Headteacher" -msgstr "" +msgstr "Завуч" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:69 msgid "Abbreviations" -msgstr "" +msgstr "СокращениÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:78 msgid "Late" -msgstr "" +msgstr "ОпозданиÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:89 msgid "Custom excuse types" -msgstr "" +msgstr "ПользовательÑкие типы объÑÑнительных" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 msgid "Custom excuse types (not counted as absent)" -msgstr "" +msgstr "ПользовательÑкие типы объÑÑнительных (не учтённые как пропуÑки)" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" -msgstr "" +msgstr "ДоÑтупные дополнительные отметки" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" -msgstr "" +msgstr "Лица в группе" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." -msgstr "" +msgstr "â„–" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" -msgstr "" +msgstr "ФамилиÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" -msgstr "" +msgstr "ИмÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" -msgstr "" +msgstr "Пол" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" -msgstr "" +msgstr "Дата рождениÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" -msgstr "" +msgstr "(о)" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" -msgstr "" +msgstr "Преподаватели и уроки в группе" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" -msgstr "" +msgstr "Ðачало урока" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" -msgstr "" +msgstr "Конец урока" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" -msgstr "" +msgstr "Ðа неделю" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 msgid "Teachers and lessons in child groups" -msgstr "" +msgstr "Преподаватели и уроки в подчинённых групах" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" -msgstr "" +msgstr "Личный обзор" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" -msgstr "" +msgstr "Контактные данные" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" -msgstr "" +msgstr "ПропуÑки и опозданиÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 msgid "Without excuse type" -msgstr "" +msgstr "Без типа объÑÑнительной" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." -msgstr "" +msgstr "Ур." #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." -msgstr "" +msgstr "Предм." #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." -msgstr "" +msgstr "Пр." #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." -msgstr "" +msgstr "Оп." #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" -msgstr "" +msgstr "Да" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:484 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:499 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" -msgstr "" +msgstr "у" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 msgid "Week" -msgstr "" +msgstr "ÐеделÑ" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" -msgstr "" +msgstr "Заметки" #: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." -msgstr "" +msgstr "Ð’Ñ‹ или выбрали неправильный урок, или ÑÐµÐ¹Ñ‡Ð°Ñ ÑƒÑ€Ð¾ÐºÐ° нет." #: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." -msgstr "" +msgstr "Вам Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздавать учебные материалы Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÐ¾Ð² в будущем." -#: aleksis/apps/alsijil/views.py:266 +#: aleksis/apps/alsijil/views.py:268 msgid "The lesson documentation has been saved." -msgstr "" +msgstr "Учебный материал Ñохранён." -#: aleksis/apps/alsijil/views.py:300 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." -msgstr "" +msgstr "Личные заметки Ñохранены." -#: aleksis/apps/alsijil/views.py:1079 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." -msgstr "" +msgstr "ОтÑутÑтвие Ñохранено." -#: aleksis/apps/alsijil/views.py:1100 +#: aleksis/apps/alsijil/views.py:1140 msgid "The personal note has been deleted." -msgstr "" +msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° удалена." -#: aleksis/apps/alsijil/views.py:1122 +#: aleksis/apps/alsijil/views.py:1162 msgid "The extra mark has been created." -msgstr "" +msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° Ñоздана." -#: aleksis/apps/alsijil/views.py:1134 +#: aleksis/apps/alsijil/views.py:1174 msgid "The extra mark has been saved." -msgstr "" +msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° Ñохранена." -#: aleksis/apps/alsijil/views.py:1145 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." -msgstr "" +msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° удалена." -#: aleksis/apps/alsijil/views.py:1166 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." -msgstr "" +msgstr "Тип объÑÑнительной Ñоздан." -#: aleksis/apps/alsijil/views.py:1178 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." -msgstr "" +msgstr "Тип объÑÑнительной Ñохранён." -#: aleksis/apps/alsijil/views.py:1189 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." -msgstr "" +msgstr "Тип объÑÑнительной удалён." -#: aleksis/apps/alsijil/views.py:1210 +#: aleksis/apps/alsijil/views.py:1250 msgid "The group role has been created." -msgstr "" +msgstr "Роль группы Ñоздана." -#: aleksis/apps/alsijil/views.py:1222 +#: aleksis/apps/alsijil/views.py:1262 msgid "The group role has been saved." -msgstr "" +msgstr "Роль группы Ñохранена." -#: aleksis/apps/alsijil/views.py:1233 +#: aleksis/apps/alsijil/views.py:1273 msgid "The group role has been deleted." -msgstr "" +msgstr "Роль группы удалена." -#: aleksis/apps/alsijil/views.py:1266 aleksis/apps/alsijil/views.py:1298 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 msgid "The group role has been assigned." -msgstr "" +msgstr "Роль группы назначена." -#: aleksis/apps/alsijil/views.py:1317 +#: aleksis/apps/alsijil/views.py:1357 msgid "The group role assignment has been saved." -msgstr "" +msgstr "Ðазначение роли группы Ñохранено." -#: aleksis/apps/alsijil/views.py:1338 +#: aleksis/apps/alsijil/views.py:1378 msgid "The group role assignment has been stopped." -msgstr "" +msgstr "Ðазначение роли группы оÑтановлено." -#: aleksis/apps/alsijil/views.py:1351 +#: aleksis/apps/alsijil/views.py:1391 msgid "The group role assignment has been deleted." -msgstr "" +msgstr "Ðазначение роли группы удалено." diff --git a/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po index 0f75a14f7e9b4a4ec0b20f5fe915794fbb6aa540..90e59955ce06421fc74620937eb7c06cce05da2b 100644 --- a/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-24 13:24+0100\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -31,7 +31,7 @@ msgid "Mark as {excuse_type.name}" msgstr "" #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29 -#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74 +#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29 msgid "Delete" msgstr "" @@ -101,28 +101,28 @@ msgstr "" msgid "The personal note is marked as excused, but not as absent." msgstr "" -#: aleksis/apps/alsijil/filters.py:10 +#: aleksis/apps/alsijil/filters.py:12 msgid "After" msgstr "" -#: aleksis/apps/alsijil/filters.py:11 +#: aleksis/apps/alsijil/filters.py:13 msgid "Before" msgstr "" -#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302 -#: aleksis/apps/alsijil/tables.py:107 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 +#: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" msgstr "" -#: aleksis/apps/alsijil/filters.py:16 +#: aleksis/apps/alsijil/filters.py:30 msgid "Tardiness is lower than" msgstr "" -#: aleksis/apps/alsijil/filters.py:17 +#: aleksis/apps/alsijil/filters.py:31 msgid "Tardiness is bigger than" msgstr "" @@ -130,100 +130,104 @@ msgstr "" msgid "Homework for the next lesson" msgstr "" -#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 -#: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199 +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "" -#: aleksis/apps/alsijil/forms.py:79 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201 +#: aleksis/apps/alsijil/forms.py:104 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 msgid "Teacher" msgstr "" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 msgid "You can't select a group and a teacher both." msgstr "" -#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 -#: aleksis/apps/alsijil/models.py:471 +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "" -#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 -#: aleksis/apps/alsijil/models.py:475 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108 -#: aleksis/apps/alsijil/tables.py:129 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62 -#: aleksis/apps/alsijil/models.py:236 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 msgid "Excuse type" msgstr "" -#: aleksis/apps/alsijil/forms.py:162 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314 +#: aleksis/apps/alsijil/forms.py:204 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 msgid "Remarks" msgstr "" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 msgid "Person" msgstr "" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 msgid "Has lesson documentation" msgstr "" -#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121 +#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415 -#: aleksis/apps/alsijil/util/alsijil_helpers.py:315 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 msgid "Event" msgstr "" @@ -268,21 +272,21 @@ msgstr "" msgid "All lessons" msgstr "" -#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63 +#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30 msgid "Excuse types" msgstr "" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241 -#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 -#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 msgid "Extra marks" msgstr "" @@ -330,52 +334,60 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 msgid "Short name" msgstr "" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411 -#: aleksis/apps/alsijil/models.py:435 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315 +#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +msgid "Count as absent" +msgstr "" + +#: aleksis/apps/alsijil/models.py:57 +msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgstr "" + +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:275 +#: aleksis/apps/alsijil/models.py:292 msgid "Personal note" msgstr "" -#: aleksis/apps/alsijil/models.py:276 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 msgid "Personal notes" msgstr "" -#: aleksis/apps/alsijil/models.py:327 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: aleksis/apps/alsijil/models.py:328 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: aleksis/apps/alsijil/models.py:329 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 @@ -383,85 +395,85 @@ msgstr "" msgid "Group note" msgstr "" -#: aleksis/apps/alsijil/models.py:376 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:377 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:422 +#: aleksis/apps/alsijil/models.py:442 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:436 +#: aleksis/apps/alsijil/models.py:456 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:437 +#: aleksis/apps/alsijil/models.py:457 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "" -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 msgid "Group roles" msgstr "" -#: aleksis/apps/alsijil/models.py:448 +#: aleksis/apps/alsijil/models.py:468 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 +#: aleksis/apps/alsijil/models.py:484 msgid "Assigned person" msgstr "" -#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 msgid "Groups" msgstr "" -#: aleksis/apps/alsijil/models.py:476 +#: aleksis/apps/alsijil/models.py:496 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/models.py:511 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:492 +#: aleksis/apps/alsijil/models.py:512 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:499 +#: aleksis/apps/alsijil/models.py:519 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:520 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:521 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:502 +#: aleksis/apps/alsijil/models.py:522 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:503 +#: aleksis/apps/alsijil/models.py:523 msgid "Can list all personal note filters" msgstr "" @@ -477,101 +489,113 @@ msgstr "" msgid "Allow primary group owners to register future absences for students in their groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:43 +#: aleksis/apps/alsijil/preferences.py:44 +msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" msgstr "" -#: aleksis/apps/alsijil/preferences.py:52 +#: aleksis/apps/alsijil/preferences.py:63 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" msgstr "" -#: aleksis/apps/alsijil/preferences.py:55 +#: aleksis/apps/alsijil/preferences.py:66 msgid "This will carry over data only if the data in the following periods are empty." msgstr "" -#: aleksis/apps/alsijil/preferences.py:63 +#: aleksis/apps/alsijil/preferences.py:75 +msgid "Allow carrying over data from any lesson period to all other lesson periods with the same lesson and in the same week" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:79 +msgid "This will carry over data only if the data in the aforementioned periods are empty." +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." msgstr "" -#: aleksis/apps/alsijil/preferences.py:72 +#: aleksis/apps/alsijil/preferences.py:97 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" msgstr "" -#: aleksis/apps/alsijil/preferences.py:76 +#: aleksis/apps/alsijil/preferences.py:101 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." msgstr "" -#: aleksis/apps/alsijil/preferences.py:85 +#: aleksis/apps/alsijil/preferences.py:110 msgid "Allow teachers to add data for lessons in holidays" msgstr "" -#: aleksis/apps/alsijil/preferences.py:94 +#: aleksis/apps/alsijil/preferences.py:119 msgid "Allow group owners to assign group roles to the parents of the group's members" msgstr "" -#: aleksis/apps/alsijil/preferences.py:103 +#: aleksis/apps/alsijil/preferences.py:128 msgid "Show assigned group roles in week view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:104 +#: aleksis/apps/alsijil/preferences.py:129 msgid "Only week view of groups" msgstr "" -#: aleksis/apps/alsijil/preferences.py:112 +#: aleksis/apps/alsijil/preferences.py:137 msgid "Show assigned group roles in lesson view" msgstr "" -#: aleksis/apps/alsijil/preferences.py:122 +#: aleksis/apps/alsijil/preferences.py:147 msgid "Items per page in lessons table" msgstr "" -#: aleksis/apps/alsijil/preferences.py:126 +#: aleksis/apps/alsijil/preferences.py:151 msgid "Each page must show at least one item." msgstr "" -#: aleksis/apps/alsijil/preferences.py:134 +#: aleksis/apps/alsijil/preferences.py:159 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" -#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43 -#: aleksis/apps/alsijil/tables.py:68 +#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47 +#: aleksis/apps/alsijil/tables.py:72 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13 msgid "Edit" msgstr "" -#: aleksis/apps/alsijil/tables.py:92 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308 +#: aleksis/apps/alsijil/tables.py:96 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348 msgid "Date" msgstr "" -#: aleksis/apps/alsijil/tables.py:95 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17 +#: aleksis/apps/alsijil/tables.py:99 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 msgid "Period" msgstr "" -#: aleksis/apps/alsijil/tables.py:103 +#: aleksis/apps/alsijil/tables.py:111 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336 msgid "Teachers" msgstr "" -#: aleksis/apps/alsijil/tables.py:109 -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287 +#: aleksis/apps/alsijil/tables.py:118 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" -#: aleksis/apps/alsijil/tables.py:110 +#: aleksis/apps/alsijil/tables.py:119 msgid "Excuse" msgstr "" -#: aleksis/apps/alsijil/tables.py:147 +#: aleksis/apps/alsijil/tables.py:156 #, python-brace-format msgid "{value}' late" msgstr "" @@ -580,7 +604,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138 msgid "Register absence" msgstr "" @@ -637,8 +661,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16 @@ -676,35 +700,39 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 msgid "Persons" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +msgid "Seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 msgid "More" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 msgid "My previous lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104 msgid "My next lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105 msgid "Next" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -733,7 +761,7 @@ msgid "Statistics" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344 msgid "Relevant personal notes" msgstr "" @@ -764,21 +792,27 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291 msgid "Absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302 msgid "thereof" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140 +msgid "Without Excuse Type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" @@ -820,7 +854,7 @@ msgid "Summed up tardiness" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117 msgid "Count of tardiness" msgstr "" @@ -940,16 +974,18 @@ msgid "Please check if the following class register entries are complete and cor msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139 msgid "(e)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -962,12 +998,32 @@ msgstr "" msgid "General" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137 +msgid "(a)" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14 msgid "Unexcused absences" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 -msgid "Excused absences" +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 +msgid "Sum (e)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18 +msgid "Sum of excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22 +msgid "Regular excused absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41 +msgid "Excuse types (not counted as absent)" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28 @@ -987,7 +1043,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136 msgid "Save" msgstr "" @@ -1011,7 +1067,7 @@ msgstr "" msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 msgid "Tardiness (in m)" msgstr "" @@ -1039,6 +1095,50 @@ msgstr "" msgid "Late persons:" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8 +#, python-format +msgid "" +"Seating plan for %(group)s in\n" +" %(room)s" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14 +#, python-format +msgid "" +"\n" +" This seating plan is taken from the parent group of %(child_group)s.\n" +" If you want, you can take it over for your group and then customize it.\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30 +msgid "Edit seating plan" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37 +msgid "Copy plan and edit" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56 +msgid "There is no seating plan for this lesson." +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" " +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 +#, python-format +msgid "" +"\n" +" Create a new seating plan for %(group)s in %(room)s\n" +" " +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 msgid "Data complete" msgstr "" @@ -1054,7 +1154,7 @@ msgid "Pending" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466 msgid "Lesson cancelled" msgstr "" @@ -1083,19 +1183,27 @@ msgid "No students available." msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24 msgid "Primary group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +msgid "Uncounted Absences" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +msgid "Regular excused" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 msgid "Details" msgstr "" @@ -1155,185 +1263,189 @@ msgid "Custom excuse types" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101 +msgid "Custom excuse types (not counted as absent)" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113 msgid "Available extra marks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127 msgid "Persons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132 msgid "No." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133 msgid "Last name" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134 msgid "First name" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135 msgid "Sex" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136 msgid "Date of birth" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125 -msgid "(a)" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147 msgid "(b)" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184 msgid "Teachers and lessons in group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222 msgid "Lesson start" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223 msgid "Lesson end" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224 msgid "Per week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214 msgid "Teachers and lessons in child groups" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247 msgid "Personal overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249 msgid "Contact details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288 msgid "Absences and tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303 +msgid "Without excuse type" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419 msgid "Pe." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420 msgid "Subj." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424 msgid "Te." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353 msgid "Tard." msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381 msgid "Yes" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 msgid "e" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413 msgid "Week" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423 msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:117 +#: aleksis/apps/alsijil/views.py:118 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:150 +#: aleksis/apps/alsijil/views.py:151 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:246 +#: aleksis/apps/alsijil/views.py:268 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:280 +#: aleksis/apps/alsijil/views.py:302 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1049 +#: aleksis/apps/alsijil/views.py:1119 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1070 +#: aleksis/apps/alsijil/views.py:1140 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1092 +#: aleksis/apps/alsijil/views.py:1162 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1104 +#: aleksis/apps/alsijil/views.py:1174 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1115 +#: aleksis/apps/alsijil/views.py:1185 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1136 +#: aleksis/apps/alsijil/views.py:1206 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1148 +#: aleksis/apps/alsijil/views.py:1218 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1159 +#: aleksis/apps/alsijil/views.py:1229 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1180 +#: aleksis/apps/alsijil/views.py:1250 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1192 +#: aleksis/apps/alsijil/views.py:1262 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1203 +#: aleksis/apps/alsijil/views.py:1273 msgid "The group role has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268 +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1287 +#: aleksis/apps/alsijil/views.py:1357 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1308 +#: aleksis/apps/alsijil/views.py:1378 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1321 +#: aleksis/apps/alsijil/views.py:1391 msgid "The group role assignment has been deleted." msgstr "" diff --git a/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po index 9375b86c3d4dd90ab2cd0f6e76eebad2b5e65b9f..492eae9e8cdbe0dc7d9b8dc1b6f357ccab9e7620 100644 --- a/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-23 12:35+0000\n" -"PO-Revision-Date: 2022-05-18 23:27+0000\n" +"POT-Creation-Date: 2022-06-25 15:28+0200\n" +"PO-Revision-Date: 2022-06-22 19:59+0000\n" "Last-Translator: Serhii Horichenko <m@sgg.im>\n" "Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/" "aleksis-app-alsijil/uk/>\n" @@ -16,10 +16,10 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 " -"? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > " -"14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % " -"100 >=11 && n % 100 <=14 )) ? 2: 3);\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" "X-Generator: Weblate 4.12.1\n" #: aleksis/apps/alsijil/actions.py:18 @@ -43,11 +43,13 @@ msgstr "Видалити" #: aleksis/apps/alsijil/actions.py:68 msgid "{} asks you to check some class register entries." -msgstr "{} проÑить тебе перевірити деÑкі запиÑи клаÑного журналу." +msgstr "{} проÑить Ð’Ð°Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¸Ñ‚Ð¸ деÑкі запиÑи клаÑного журналу." #: aleksis/apps/alsijil/actions.py:86 #, python-brace-format -msgid "We have successfully sent notifications to {count_teachers} persons for {count_items} lessons." +msgid "" +"We have successfully sent notifications to {count_teachers} persons for " +"{count_items} lessons." msgstr "" "Ми надіÑлали ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð´Ð»Ñ {count_teachers} оÑіб щодо {count_items} уроків." @@ -82,7 +84,7 @@ msgstr "" #: aleksis/apps/alsijil/data_checks.py:74 msgid "The personal note has no group in 'groups_of_person'." -msgstr "Ð¦Ñ Ð¾ÑобиÑта нотатка не має групи у \"групі_оÑіб\"." +msgstr "Ð¦Ñ Ð¾ÑобиÑта нотатка не має групи у \"групах_оÑіб\"." #: aleksis/apps/alsijil/data_checks.py:99 msgid "Ensure that there are no filled out lesson documentations on holidays" @@ -90,7 +92,7 @@ msgstr "ПереконайтеÑÑ, що на вихідні немає запо #: aleksis/apps/alsijil/data_checks.py:100 msgid "The lesson documentation is on holidays." -msgstr "Цей учбовий матеріал Ñ” на вихідних." +msgstr "Ðа вихідних Ñ” учбовий матеріал." #: aleksis/apps/alsijil/data_checks.py:133 msgid "Ensure that there are no filled out personal notes on holidays" @@ -102,7 +104,8 @@ msgstr "Ці оÑобиÑті нотатки Ñ” на вихідних." #: aleksis/apps/alsijil/data_checks.py:162 msgid "Ensure that there are no excused personal notes without an absence" -msgstr "ПереконайтеÑÑ, що немає оÑобиÑтих нотаток щодо поÑÑÐ½ÐµÐ½Ð½Ñ Ð±ÐµÐ· пропуÑків" +msgstr "" +"ПереконайтеÑÑ, що немає оÑобиÑтих нотаток щодо поÑÑÐ½ÐµÐ½Ð½Ñ Ð±ÐµÐ· відÑутноÑті" #: aleksis/apps/alsijil/data_checks.py:163 msgid "The personal note is marked as excused, but not as absent." @@ -116,12 +119,13 @@ msgstr "ПіÑлÑ" msgid "Before" msgstr "Перед" -#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:302 +#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349 #: aleksis/apps/alsijil/tables.py:116 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 +#: aleksis/apps/alsijil/forms.py:302 msgid "Subject" msgstr "Предмет" @@ -137,88 +141,104 @@ msgstr "Ð—Ð°Ð¿Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð±Ñ–Ð»ÑŒÑˆÐµ ніж на" msgid "Homework for the next lesson" msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð° на наÑтупний урок" +#: aleksis/apps/alsijil/forms.py:53 +msgid "Carry over data to all other lessons with the same subject in this week" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256 +#: aleksis/apps/alsijil/forms.py:348 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 #: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214 #: aleksis/apps/alsijil/forms.py:301 -#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "Група" -#: aleksis/apps/alsijil/forms.py:79 +#: aleksis/apps/alsijil/forms.py:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221 +#: aleksis/apps/alsijil/forms.py:79 msgid "Teacher" msgstr "Викладач" -#: aleksis/apps/alsijil/forms.py:96 +#: aleksis/apps/alsijil/forms.py:121 aleksis/apps/alsijil/forms.py:96 msgid "You can't select a group and a teacher both." msgstr "Ви не можете обрати одночаÑно групу та викладача." +#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350 +#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 #: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303 #: aleksis/apps/alsijil/models.py:480 -#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "Дата початку" +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 +#: aleksis/apps/alsijil/models.py:495 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 #: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304 #: aleksis/apps/alsijil/models.py:484 -#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "Дата закінченнÑ" -#: aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:152 msgid "Start period" msgstr "Початок уроків" -#: aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:195 aleksis/apps/alsijil/forms.py:153 msgid "End period" msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ ÑƒÑ€Ð¾ÐºÑ–Ð²" -#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 #: aleksis/apps/alsijil/tables.py:138 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 +#: aleksis/apps/alsijil/forms.py:154 msgid "Absent" msgstr "ВідÑутній(-Ñ)" -#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 +#: aleksis/apps/alsijil/forms.py:155 msgid "Excused" msgstr "ПоÑÑнено" -#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:71 -#: aleksis/apps/alsijil/models.py:245 +#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71 +#: aleksis/apps/alsijil/models.py:253 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73 +#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:245 msgid "Excuse type" msgstr "Тип поÑÑненнÑ" -#: aleksis/apps/alsijil/forms.py:162 +#: aleksis/apps/alsijil/forms.py:204 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354 +#: aleksis/apps/alsijil/forms.py:162 msgid "Remarks" msgstr "ЗауваженнÑ" -#: aleksis/apps/alsijil/forms.py:227 +#: aleksis/apps/alsijil/forms.py:269 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 +#: aleksis/apps/alsijil/forms.py:227 msgid "Person" msgstr "ОÑоба" -#: aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:346 aleksis/apps/alsijil/forms.py:299 msgid "School term" msgstr "Ðавчальний рік" -#: aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:347 aleksis/apps/alsijil/forms.py:300 msgid "Has lesson documentation" msgstr "Має учбовий матеріал" @@ -230,6 +250,7 @@ msgstr "Має учбовий матеріал" #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455 +#: aleksis/apps/alsijil/util/alsijil_helpers.py:330 #: aleksis/apps/alsijil/util/alsijil_helpers.py:315 msgid "Event" msgstr "ПодіÑ" @@ -282,14 +303,15 @@ msgstr "УÑÑ– уроки" msgid "Excuse types" msgstr "Типи поÑÑнень" -#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:250 -#: aleksis/apps/alsijil/models.py:432 aleksis/apps/alsijil/tables.py:120 +#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258 +#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +#: aleksis/apps/alsijil/models.py:250 aleksis/apps/alsijil/models.py:432 msgid "Extra marks" msgstr "Додаткові відмітки" @@ -297,55 +319,67 @@ msgstr "Додаткові відмітки" msgid "Manage group roles" msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð»Ñми групи" +#: aleksis/apps/alsijil/model_extensions.py:191 #: aleksis/apps/alsijil/model_extensions.py:190 msgid "Can view week overview of group class register" msgstr "Може бачити клаÑний журнал групи за тиждень" +#: aleksis/apps/alsijil/model_extensions.py:195 #: aleksis/apps/alsijil/model_extensions.py:194 msgid "Can view lesson overview of group class register" msgstr "Може бачити клаÑний журнал групи за урок" +#: aleksis/apps/alsijil/model_extensions.py:197 #: aleksis/apps/alsijil/model_extensions.py:196 msgid "Can view all personal notes of a group" msgstr "Може бачити уÑÑ– оÑобиÑті нотатки групи" +#: aleksis/apps/alsijil/model_extensions.py:198 #: aleksis/apps/alsijil/model_extensions.py:197 msgid "Can edit all personal notes of a group" msgstr "Може редагувати уÑÑ– оÑобиÑті нотатки групи" +#: aleksis/apps/alsijil/model_extensions.py:200 #: aleksis/apps/alsijil/model_extensions.py:199 msgid "Can view all lesson documentation of a group" msgstr "Може бачити увеÑÑŒ учбовий матеріал групи" +#: aleksis/apps/alsijil/model_extensions.py:203 #: aleksis/apps/alsijil/model_extensions.py:202 msgid "Can edit all lesson documentation of a group" msgstr "Може редагувати увеÑÑŒ учбовий матеріал групи" +#: aleksis/apps/alsijil/model_extensions.py:205 #: aleksis/apps/alsijil/model_extensions.py:204 msgid "Can view full register of a group" msgstr "Може бачити клаÑний журнал групи без обмежень" +#: aleksis/apps/alsijil/model_extensions.py:207 #: aleksis/apps/alsijil/model_extensions.py:206 msgid "Can register an absence for all members of a group" msgstr "Може реєÑтрувати пропуÑки Ð´Ð»Ñ ÑƒÑÑ–Ñ… учаÑників групи" +#: aleksis/apps/alsijil/model_extensions.py:209 #: aleksis/apps/alsijil/model_extensions.py:208 msgid "Can assign a group role for this group" msgstr "Може призначати роль групи Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— групи" +#: aleksis/apps/alsijil/model_extensions.py:210 #: aleksis/apps/alsijil/model_extensions.py:209 msgid "Can register an absence for a person" msgstr "Може реєÑтрувати відÑутніÑть оÑоби" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:419 +#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 +#: aleksis/apps/alsijil/models.py:419 msgid "Short name" msgstr "Коротке ім'Ñ" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:420 -#: aleksis/apps/alsijil/models.py:444 +#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:455 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23 +#: aleksis/apps/alsijil/models.py:420 aleksis/apps/alsijil/models.py:444 msgid "Name" msgstr "Повне ім'Ñ" @@ -354,131 +388,143 @@ msgid "Count as absent" msgstr "КількіÑть відÑутніх" #: aleksis/apps/alsijil/models.py:57 -msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report." +msgid "" +"If checked, this excuse type will be counted as a missed lesson. If not " +"checked,it won't show up in the absence report." msgstr "" "Якщо відмічено, цей тип поÑÑÐ½ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ зарахований Ñк пропущений урок. Якщо " "не відмічено, то без запиÑу у звіт відÑутноÑті." +#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 #: aleksis/apps/alsijil/models.py:225 aleksis/apps/alsijil/models.py:324 msgid "Year" msgstr "Рік" -#: aleksis/apps/alsijil/models.py:284 +#: aleksis/apps/alsijil/models.py:292 aleksis/apps/alsijil/models.py:284 msgid "Personal note" msgstr "ОÑобиÑта нотатка" -#: aleksis/apps/alsijil/models.py:285 +#: aleksis/apps/alsijil/models.py:293 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22 +#: aleksis/apps/alsijil/models.py:285 msgid "Personal notes" msgstr "ОÑобиÑті нотатки" -#: aleksis/apps/alsijil/models.py:336 +#: aleksis/apps/alsijil/models.py:344 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 +#: aleksis/apps/alsijil/models.py:336 msgid "Lesson topic" msgstr "Тема уроку" -#: aleksis/apps/alsijil/models.py:337 +#: aleksis/apps/alsijil/models.py:345 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 +#: aleksis/apps/alsijil/models.py:337 msgid "Homework" msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð°" -#: aleksis/apps/alsijil/models.py:338 +#: aleksis/apps/alsijil/models.py:346 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:42 +#: aleksis/apps/alsijil/models.py:338 msgid "Group note" msgstr "Групова нотатка" -#: aleksis/apps/alsijil/models.py:385 +#: aleksis/apps/alsijil/models.py:396 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:385 msgid "Lesson documentation" msgstr "Учбовий матеріал" -#: aleksis/apps/alsijil/models.py:386 +#: aleksis/apps/alsijil/models.py:397 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/models.py:386 msgid "Lesson documentations" msgstr "Учбові матеріали" -#: aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:442 aleksis/apps/alsijil/models.py:431 msgid "Extra mark" msgstr "Додаткова відмітка" -#: aleksis/apps/alsijil/models.py:445 +#: aleksis/apps/alsijil/models.py:456 aleksis/apps/alsijil/models.py:445 msgid "Icon" msgstr "Іконка" -#: aleksis/apps/alsijil/models.py:446 +#: aleksis/apps/alsijil/models.py:457 aleksis/apps/alsijil/models.py:446 msgid "Colour" msgstr "Колір" -#: aleksis/apps/alsijil/models.py:452 aleksis/apps/alsijil/models.py:467 +#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 +#: aleksis/apps/alsijil/models.py:452 aleksis/apps/alsijil/models.py:467 msgid "Group role" msgstr "Роль групи" -#: aleksis/apps/alsijil/models.py:453 +#: aleksis/apps/alsijil/models.py:464 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 +#: aleksis/apps/alsijil/models.py:453 msgid "Group roles" msgstr "Ролі груп" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:468 aleksis/apps/alsijil/models.py:457 msgid "Can assign group role" msgstr "Може призначати роль групи" -#: aleksis/apps/alsijil/models.py:473 +#: aleksis/apps/alsijil/models.py:484 aleksis/apps/alsijil/models.py:473 msgid "Assigned person" msgstr "Призначена оÑоба" -#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326 +#: aleksis/apps/alsijil/models.py:478 msgid "Groups" msgstr "Групи" -#: aleksis/apps/alsijil/models.py:485 +#: aleksis/apps/alsijil/models.py:496 aleksis/apps/alsijil/models.py:485 msgid "Can be left empty if end date is not clear yet" msgstr "Якщо немає точної кінцевої дати, можна залишити порожнім" -#: aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:511 aleksis/apps/alsijil/models.py:500 msgid "Group role assignment" msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи" -#: aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:512 aleksis/apps/alsijil/models.py:501 msgid "Group role assignments" msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи" -#: aleksis/apps/alsijil/models.py:508 +#: aleksis/apps/alsijil/models.py:519 aleksis/apps/alsijil/models.py:508 msgid "Can view lesson overview" msgstr "Може бачити оглÑд уроку" -#: aleksis/apps/alsijil/models.py:509 +#: aleksis/apps/alsijil/models.py:520 aleksis/apps/alsijil/models.py:509 msgid "Can view week overview" msgstr "Може бачити оглÑд тижнÑ" -#: aleksis/apps/alsijil/models.py:510 +#: aleksis/apps/alsijil/models.py:521 aleksis/apps/alsijil/models.py:510 msgid "Can view full register" -msgstr "Може бачити повний журнал" +msgstr "Може бачити веÑÑŒ журнал" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:522 aleksis/apps/alsijil/models.py:511 msgid "Can register absence" msgstr "Може реєÑтрувати пропуÑк" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:523 aleksis/apps/alsijil/models.py:512 msgid "Can list all personal note filters" msgstr "Може бачити уÑÑ– фільтри оÑобиÑтих нотаток" @@ -491,72 +537,122 @@ msgid "Allow users to view their own personal notes" msgstr "Дозволити кориÑтувачам переглÑдати влаÑні оÑобиÑті нотатки" #: aleksis/apps/alsijil/preferences.py:34 -msgid "Allow primary group owners to register future absences for students in their groups" +msgid "" +"Allow primary group owners to register future absences for students in their " +"groups" msgstr "" "Дозволити влаÑникам оÑновних груп реєÑтрувати майбутні пропуÑки Ñтудентів у " -"Ñ—Ñ… групах" +"Ñвоїх групах" +#: aleksis/apps/alsijil/preferences.py:44 +msgid "" +"Grant the owner of a parent group the same privileges as the owners of the " +"respective child groups" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:54 #: aleksis/apps/alsijil/preferences.py:43 -msgid "Allow original teachers to edit their lessons although they are substituted" +msgid "" +"Allow original teachers to edit their lessons although they are substituted" msgstr "" -"Дозволити початковим викладачам навіть піÑÐ»Ñ Ñ—Ñ… заміни редагувати Ñвої уроки" +"Дозволити початковим викладачам редагувати Ñвої уроки навіть піÑÐ»Ñ Ñ—Ñ… заміни" +#: aleksis/apps/alsijil/preferences.py:63 #: aleksis/apps/alsijil/preferences.py:52 -msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods" +msgid "" +"Carry over data from first lesson period to the following lesson periods in " +"lessons over multiple periods" msgstr "" "ПереноÑити дані з першого уроку в розкладі на поточні уроки через декілька " "уроків" +#: aleksis/apps/alsijil/preferences.py:66 #: aleksis/apps/alsijil/preferences.py:55 -msgid "This will carry over data only if the data in the following periods are empty." +msgid "" +"This will carry over data only if the data in the following periods are " +"empty." +msgstr "Це перенеÑе дані лише в тому разі, коли в поточних уроках даних немає." + +#: aleksis/apps/alsijil/preferences.py:75 +#, fuzzy +msgid "" +"Allow carrying over data from any lesson period to all other " +"lesson periods with the same lesson and in the same week" +msgstr "" +"ПереноÑити дані з першого уроку в розкладі на поточні уроки через декілька " +"уроків" + +#: aleksis/apps/alsijil/preferences.py:79 +#, fuzzy +msgid "" +"This will carry over data only if the data in the aforementioned periods are " +"empty." msgstr "Це перенеÑе дані лише в тому разі, коли в поточних уроках даних немає." +#: aleksis/apps/alsijil/preferences.py:88 #: aleksis/apps/alsijil/preferences.py:63 -msgid "Carry over personal notes to all following lesson periods on the same day." +msgid "" +"Carry over personal notes to all following lesson periods on the same day." msgstr "ПереноÑити оÑобиÑті нотатки до вÑÑ–Ñ… наÑтупних уроків того ж днÑ." +#: aleksis/apps/alsijil/preferences.py:97 #: aleksis/apps/alsijil/preferences.py:72 -msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period" +msgid "" +"Allow teachers to open lesson periods on the same day and not just at the " +"beginning of the period" msgstr "" "Дозволити викладачам відкривати уроки того Ñамого Ð´Ð½Ñ Ñ– не лише на початку " "уроків" +#: aleksis/apps/alsijil/preferences.py:101 #: aleksis/apps/alsijil/preferences.py:76 -msgid "Lessons in the past are not affected by this setting, you can open them whenever you want." +msgid "" +"Lessons in the past are not affected by this setting, you can open them " +"whenever you want." msgstr "" -"Ці Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ впливають на минулі уроки. Ви можете відкривати Ñ—Ñ… " -"будь-коли." +"Ці Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ впливають на минулі уроки. Ви можете відкривати Ñ—Ñ… будь-" +"коли." +#: aleksis/apps/alsijil/preferences.py:110 #: aleksis/apps/alsijil/preferences.py:85 msgid "Allow teachers to add data for lessons in holidays" msgstr "" "Дозволити викладачам додавати навчальний матеріал (дані Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÑ–Ð²) на " "вихідних" +#: aleksis/apps/alsijil/preferences.py:119 #: aleksis/apps/alsijil/preferences.py:94 -msgid "Allow group owners to assign group roles to the parents of the group's members" +msgid "" +"Allow group owners to assign group roles to the parents of the group's " +"members" msgstr "Дозволити влаÑникам груп призначати ролі груп батькам учаÑників груп" +#: aleksis/apps/alsijil/preferences.py:128 #: aleksis/apps/alsijil/preferences.py:103 msgid "Show assigned group roles in week view" msgstr "Показати призначені ролі груп у тижневому оглÑді" +#: aleksis/apps/alsijil/preferences.py:129 #: aleksis/apps/alsijil/preferences.py:104 msgid "Only week view of groups" msgstr "Лише тижневі оглÑди груп" +#: aleksis/apps/alsijil/preferences.py:137 #: aleksis/apps/alsijil/preferences.py:112 msgid "Show assigned group roles in lesson view" msgstr "Показати призначені ролі груп в оглÑді уроку" +#: aleksis/apps/alsijil/preferences.py:147 #: aleksis/apps/alsijil/preferences.py:122 msgid "Items per page in lessons table" msgstr "КількіÑть запиÑів у розкладі на Ñторінку" +#: aleksis/apps/alsijil/preferences.py:151 #: aleksis/apps/alsijil/preferences.py:126 msgid "Each page must show at least one item." msgstr "Кожна Ñторінка повинна мати принаймні один запиÑ." +#: aleksis/apps/alsijil/preferences.py:159 #: aleksis/apps/alsijil/preferences.py:134 msgid "Filter lessons by existence of their lesson documentation on default" msgstr "Типово фільтувати уроки за наÑвніÑтю у них учбового матеріалу" @@ -647,7 +743,8 @@ msgstr " %(count)s залежних уроків " #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:40 msgid "" "\n" -" There are no affected lessons. Registering this absence won't have any effect.\n" +" There are no affected lessons. Registering this absence " +"won't have any effect.\n" " " msgstr "" "\n" @@ -888,7 +985,8 @@ msgstr "Ðемає доÑтупних уроків" #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 msgid "" "\n" -" There are no lessons for the selected group or teacher in this week.\n" +" There are no lessons for the selected group or teacher in this " +"week.\n" " " msgstr "" "\n" @@ -910,8 +1008,10 @@ msgstr "Редагувати тип поÑÑненнÑ" #: aleksis/apps/alsijil/templates/alsijil/group_role/warning.html:4 msgid "" "\n" -" This function should only be used to define alternatives to the default excuse which also will be counted extra.\n" -" Don't use this to create a default excuse or if you don't divide between different types of excuse.\n" +" This function should only be used to define alternatives to the default " +"excuse which also will be counted extra.\n" +" Don't use this to create a default excuse or if you don't divide between " +"different types of excuse.\n" " " msgstr "" "\n" @@ -992,7 +1092,8 @@ msgstr "Ðіхто не призначений." #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html:41 msgid "" "\n" -" You can get some additional actions for each group role assignment if you click on the name of the\n" +" You can get some additional actions for each group role assignment if " +"you click on the name of the\n" " corresponding person.\n" " " msgstr "" @@ -1007,7 +1108,9 @@ msgid "Stop" msgstr "Стоп" #: aleksis/apps/alsijil/templates/alsijil/notifications/check.html:1 -msgid "Please check if the following class register entries are complete and correct:" +msgid "" +"Please check if the following class register entries are complete and " +"correct:" msgstr "" "Перевірте, будь лаÑка, чи ці запиÑи клаÑного журналу повні та правильні:" @@ -1155,13 +1258,15 @@ msgstr "" #, python-format msgid "" "\n" -" This seating plan is taken from the parent group of %(child_group)s.\n" -" If you want, you can take it over for your group and then customize it.\n" +" This seating plan is taken from the parent group of " +"%(child_group)s.\n" +" If you want, you can take it over for your group and then " +"customize it.\n" " " msgstr "" "\n" -" Цей план Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð·Ñтий із батьківÑької групи %(child_group)s." -"\n" +" Цей план Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð·Ñтий із батьківÑької групи " +"%(child_group)s.\n" " При необхідноÑті, Ви можете його налаштувати під Ñвою групу.\n" " " @@ -1181,7 +1286,8 @@ msgstr "Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ уроку немає плану розміщеннÑ. #, python-format msgid "" "\n" -" Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n" +" Create a new seating plan for %(group)s (%(subject)s) in " +"%(room)s\n" " " msgstr "" "\n" @@ -1323,7 +1429,7 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:62 msgid "Headteacher" -msgstr "Директор" +msgstr "Завуч" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:69 msgid "Abbreviations" @@ -1436,6 +1542,8 @@ msgid "Yes" msgstr "Так" #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:484 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:499 msgid "e" @@ -1450,77 +1558,82 @@ msgid "Notes" msgstr "Ðотатки" #: aleksis/apps/alsijil/views.py:118 -msgid "You either selected an invalid lesson or there is currently no lesson in progress." +msgid "" +"You either selected an invalid lesson or there is currently no lesson in " +"progress." msgstr "Ðбо Ви обрали неправильний урок, або зараз уроку немає." #: aleksis/apps/alsijil/views.py:151 -msgid "You are not allowed to create a lesson documentation for a lesson in the future." +msgid "" +"You are not allowed to create a lesson documentation for a lesson in the " +"future." msgstr "Вам не дозволено Ñтворювати учбові матеріали Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÑƒ у майбутньому." -#: aleksis/apps/alsijil/views.py:266 +#: aleksis/apps/alsijil/views.py:268 aleksis/apps/alsijil/views.py:266 msgid "The lesson documentation has been saved." msgstr "Учбовий матеріал збережений." -#: aleksis/apps/alsijil/views.py:300 +#: aleksis/apps/alsijil/views.py:302 aleksis/apps/alsijil/views.py:300 msgid "The personal notes have been saved." msgstr "ОÑобиÑті нотатки збережені." -#: aleksis/apps/alsijil/views.py:1079 +#: aleksis/apps/alsijil/views.py:1119 aleksis/apps/alsijil/views.py:1079 msgid "The absence has been saved." msgstr "ПропуÑк збережений." -#: aleksis/apps/alsijil/views.py:1100 +#: aleksis/apps/alsijil/views.py:1140 aleksis/apps/alsijil/views.py:1100 msgid "The personal note has been deleted." msgstr "ОÑобиÑта нотатка видалена." -#: aleksis/apps/alsijil/views.py:1122 +#: aleksis/apps/alsijil/views.py:1162 aleksis/apps/alsijil/views.py:1122 msgid "The extra mark has been created." msgstr "Додаткова позначка Ñторена." -#: aleksis/apps/alsijil/views.py:1134 +#: aleksis/apps/alsijil/views.py:1174 aleksis/apps/alsijil/views.py:1134 msgid "The extra mark has been saved." msgstr "Додаткова позначка збережена." -#: aleksis/apps/alsijil/views.py:1145 +#: aleksis/apps/alsijil/views.py:1185 aleksis/apps/alsijil/views.py:1145 msgid "The extra mark has been deleted." msgstr "Додаткова позначка видалена." -#: aleksis/apps/alsijil/views.py:1166 +#: aleksis/apps/alsijil/views.py:1206 aleksis/apps/alsijil/views.py:1166 msgid "The excuse type has been created." msgstr "Тип поÑÑÐ½ÐµÐ½Ð½Ñ Ñтворений." -#: aleksis/apps/alsijil/views.py:1178 +#: aleksis/apps/alsijil/views.py:1218 aleksis/apps/alsijil/views.py:1178 msgid "The excuse type has been saved." msgstr "Тип поÑÑÐ½ÐµÐ½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹." -#: aleksis/apps/alsijil/views.py:1189 +#: aleksis/apps/alsijil/views.py:1229 aleksis/apps/alsijil/views.py:1189 msgid "The excuse type has been deleted." msgstr "Тип поÑÑÐ½ÐµÐ½Ð½Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð¸Ð¹." -#: aleksis/apps/alsijil/views.py:1210 +#: aleksis/apps/alsijil/views.py:1250 aleksis/apps/alsijil/views.py:1210 msgid "The group role has been created." msgstr "Роль групи Ñтворена." -#: aleksis/apps/alsijil/views.py:1222 +#: aleksis/apps/alsijil/views.py:1262 aleksis/apps/alsijil/views.py:1222 msgid "The group role has been saved." msgstr "Роль групи збережена." -#: aleksis/apps/alsijil/views.py:1233 +#: aleksis/apps/alsijil/views.py:1273 aleksis/apps/alsijil/views.py:1233 msgid "The group role has been deleted." msgstr "Роль групи видалена." +#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 #: aleksis/apps/alsijil/views.py:1266 aleksis/apps/alsijil/views.py:1298 msgid "The group role has been assigned." msgstr "Роль групи призначена." -#: aleksis/apps/alsijil/views.py:1317 +#: aleksis/apps/alsijil/views.py:1357 aleksis/apps/alsijil/views.py:1317 msgid "The group role assignment has been saved." msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи збережене." -#: aleksis/apps/alsijil/views.py:1338 +#: aleksis/apps/alsijil/views.py:1378 aleksis/apps/alsijil/views.py:1338 msgid "The group role assignment has been stopped." msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи зупинене." -#: aleksis/apps/alsijil/views.py:1351 +#: aleksis/apps/alsijil/views.py:1391 aleksis/apps/alsijil/views.py:1351 msgid "The group role assignment has been deleted." msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи видалене." diff --git a/aleksis/apps/alsijil/model_extensions.py b/aleksis/apps/alsijil/model_extensions.py index d18d66867ddfa2bf4c9fe763842b1e3401d6d24e..5b0e5ac4b1337dfdc44c97470c36cd954fc7b915 100644 --- a/aleksis/apps/alsijil/model_extensions.py +++ b/aleksis/apps/alsijil/model_extensions.py @@ -11,6 +11,7 @@ from calendarweek import CalendarWeek from aleksis.apps.alsijil.managers import PersonalNoteQuerySet from aleksis.apps.chronos.models import Event, ExtraLesson, LessonPeriod from aleksis.core.models import Group, Person +from aleksis.core.util.core_helpers import get_site_preferences from .models import ExcuseType, ExtraMark, LessonDocumentation, PersonalNote @@ -385,8 +386,16 @@ def get_groups_with_lessons(cls: Group): def get_owner_groups_with_lessons(self: Person): """Get all groups the person is an owner of and which have related lessons. - Groups which have child groups with related lessons are also included. + Groups which have child groups with related lessons are also included, as well as all + child groups of the groups owned by the person with related lessons if the + inherit_privileges_from_parent_group preference is turned on. """ + if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"]: + return ( + Group.get_groups_with_lessons() + .filter(Q(owners=self) | Q(parent_groups__owners=self)) + .distinct() + ) return Group.get_groups_with_lessons().filter(owners=self).distinct() diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index b8189119f601b4ba8348d6fff94dd6de0c8fa0a2..16d6c7d3e4c46ae17db133a981a17d965abe3da2 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -118,6 +118,14 @@ class RegisterObjectRelatedMixin(WeekRelatedMixin): else: return self.extra_lesson + @property + def register_object_key(self: Union["LessonDocumentation", "PersonalNote"]) -> str: + """Get a unique reference to the related object related.""" + if self.week and self.year: + return f"{self.register_object.pk}_{self.week}_{self.year}" + else: + return self.register_object.pk + @property def calendar_week(self: Union["LessonDocumentation", "PersonalNote"]) -> CalendarWeek: """Get the calendar week of this lesson documentation or personal note. diff --git a/aleksis/apps/alsijil/preferences.py b/aleksis/apps/alsijil/preferences.py index 35d0984effae2264de0e53844682b09eb60ac3f8..2fd34fa7fc4f802a52ead1d2d0291789be4fb9ce 100644 --- a/aleksis/apps/alsijil/preferences.py +++ b/aleksis/apps/alsijil/preferences.py @@ -35,6 +35,17 @@ class RegisterAbsenceAsPrimaryGroupOwner(BooleanPreference): ) +@site_preferences_registry.register +class InheritPrivilegesFromParentGroup(BooleanPreference): + section = alsijil + name = "inherit_privileges_from_parent_group" + default = True + verbose_name = _( + "Grant the owner of a parent group the same privileges " + "as the owners of the respective child groups" + ) + + @site_preferences_registry.register class EditLessonDocumentationAsOriginalTeacher(BooleanPreference): section = alsijil diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index 23686bf17d9e2f54a95bc26c672cc4a046ba0131..b2640b8cfbf2eb8a1874926ee5a5bce2809ef1dd 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -24,6 +24,7 @@ from .util.predicates import ( is_none, is_own_personal_note, is_owner_of_any_group, + is_parent_group_owner, is_person_group_owner, is_person_primary_group_owner, is_personal_note_lesson_original_teacher, @@ -52,6 +53,10 @@ view_lesson_personal_notes_predicate = view_register_object_predicate & ( ~is_lesson_participant | is_lesson_teacher | is_lesson_original_teacher + | ( + is_lesson_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.view_personalnote") | has_lesson_group_object_perm("core.view_personalnote_group") ) @@ -64,6 +69,10 @@ edit_lesson_personal_note_predicate = view_lesson_personal_notes_predicate & ( is_lesson_original_teacher & is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher") ) + | ( + is_lesson_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.change_personalnote") | has_lesson_group_object_perm("core.edit_personalnote_group") ) @@ -87,6 +96,10 @@ edit_personal_note_predicate = view_personal_note_predicate & ( is_personal_note_lesson_original_teacher | ~is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher") ) + | ( + is_personal_note_lesson_parent_group_owner + | is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.view_personalnote") | has_personal_note_group_perm("core.edit_personalnote_group") ) @@ -103,6 +116,10 @@ edit_lesson_documentation_predicate = view_register_object_predicate & ( is_lesson_original_teacher & is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher") ) + | ( + is_lesson_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.change_lessondocumentation") | has_lesson_group_object_perm("core.edit_lessondocumentation_group") ) @@ -113,6 +130,10 @@ view_week_predicate = has_person & ( is_current_person | is_group_member | is_group_owner + | ( + is_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.view_week") | has_object_perm("core.view_week_class_register_group") ) @@ -125,6 +146,10 @@ add_perm("alsijil.view_week_menu_rule", has_person) view_week_personal_notes_predicate = has_person & ( (is_current_person & is_teacher) | is_group_owner + | ( + is_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.view_personalnote") | has_object_perm("core.view_personalnote_group") ) @@ -133,7 +158,7 @@ add_perm("alsijil.view_week_personalnote_rule", view_week_personal_notes_predica # Register absence register_absence_predicate = has_person & ( ( - is_person_primary_group_owner + is_person_group_owner & is_site_preference_set("alsijil", "register_absence_as_primary_group_owner") ) | has_global_perm("alsijil.register_absence") @@ -145,6 +170,10 @@ add_perm("alsijil.register_absence_rule", register_absence_predicate) # View full register for group view_full_register_predicate = has_person & ( is_group_owner + | ( + is_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.view_full_register") | has_object_perm("core.view_full_register_group") ) @@ -161,6 +190,10 @@ add_perm("alsijil.view_my_groups_rule", view_my_groups_predicate) # View students list view_students_list_predicate = view_my_groups_predicate & ( is_group_owner + | ( + is_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.view_personalnote") | has_object_perm("core.view_personalnote_group") ) @@ -263,6 +296,10 @@ add_perm("alsijil.delete_grouprole_rule", delete_group_role_predicate) view_assigned_group_roles_predicate = has_person & ( is_group_owner + | ( + is_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) | has_global_perm("alsijil.assign_grouprole") | has_object_perm("core.assign_grouprole") ) diff --git a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html index ab63dc7a7c9b44f9808d8c4af5460439ee7cdb8d..a8f7dd5c3d428c3e3d3e45324865cbd9fccab7f1 100644 --- a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html +++ b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html @@ -180,7 +180,7 @@ <div class="page-break"> </div> - {% if group.lessons.all %} + {% if lessons %} <h4>{% trans 'Teachers and lessons in group' %} {{ group.name }}</h4> <table id="lessons"> @@ -210,7 +210,7 @@ {% endif %} - {% if group.child_groups.all %} + {% if child_groups %} <h4>{% trans 'Teachers and lessons in child groups' %}</h4> <table id="lessons"> @@ -427,7 +427,7 @@ <tbody> {% for day in week %} {% with register_objects_by_day|get_dict:day as register_objects %} - {% for register_object, documentations, notes, substitution in register_objects %} + {% for register_object, documentation, notes, substitution in register_objects %} <tr class=" {% if substitution %} {% if substitution.cancelled %} @@ -461,47 +461,45 @@ </td> <td class="lesson-topic"> {% if register_object.label_ == "event" %} - {{ register_object.title }}: {{ documentations.0.topic }} + {{ register_object.title }}: {{ documentation.topic }} {% elif substitution.cancelled %} {% trans 'Lesson cancelled' %} {% else %} - {{ documentations.0.topic }} + {{ documentation.topic }} {% endif %} </td> - <td class="lesson-homework">{{ documentations.0.homework }}</td> + <td class="lesson-homework">{{ documentation.homework }}</td> <td class="lesson-notes"> - {{ documentations.0.group_note }} + {{ documentation.group_note }} {% for note in notes %} - {% if group in note.groups_of_person.all %} - {% if note.absent %} - <span class="lesson-note-absent"> - {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}. - {% if note.excused %} - <span class="lesson-note-excused"> - {% if note.excuse_type %} - ({{ note.excuse_type.short_name }}) - {% else %} - ({% trans 'e' %}) - {% endif %} - </span> - {% endif %} - </span> - {% endif %} - {% if note.late %} - <span class="lesson-note-late"> - {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}. - ({{ note.late }}′) - {% if note.excused %} - <span class="lesson-note-excused"> - {% if note.excuse_type %} - ({{ note.excuse_type.short_name }}) - {% else %} - ({% trans 'e' %}) - {% endif %} - </span> - {% endif %} - </span> - {% endif %} + {% if note.absent %} + <span class="lesson-note-absent"> + {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}. + {% if note.excused %} + <span class="lesson-note-excused"> + {% if note.excuse_type %} + ({{ note.excuse_type.short_name }}) + {% else %} + ({% trans 'e' %}) + {% endif %} + </span> + {% endif %} + </span> + {% endif %} + {% if note.late %} + <span class="lesson-note-late"> + {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}. + ({{ note.late }}′) + {% if note.excused %} + <span class="lesson-note-excused"> + {% if note.excuse_type %} + ({{ note.excuse_type.short_name }}) + {% else %} + ({% trans 'e' %}) + {% endif %} + </span> + {% endif %} + </span> {% endif %} {% for extra_mark in note.extra_marks.all %} <span> @@ -512,7 +510,7 @@ {% endfor %} </td> <td class="lesson-te"> - {% if documentations.0.topic %} + {% if documentation.topic %} {{ register_object.get_teachers.first.short_name }} {% endif %} </td> diff --git a/aleksis/apps/alsijil/util/alsijil_helpers.py b/aleksis/apps/alsijil/util/alsijil_helpers.py index 640431a902c147d6322d485ba666fdb244635155..8e203e8f61f023af2c812efe0f21cf9a34511c60 100644 --- a/aleksis/apps/alsijil/util/alsijil_helpers.py +++ b/aleksis/apps/alsijil/util/alsijil_helpers.py @@ -15,6 +15,8 @@ from aleksis.apps.alsijil.forms import FilterRegisterObjectForm from aleksis.apps.alsijil.models import LessonDocumentation from aleksis.apps.chronos.models import Event, ExtraLesson, Holiday, LessonPeriod from aleksis.apps.chronos.util.chronos_helpers import get_el_by_pk +from aleksis.core.models import Group +from aleksis.core.util.core_helpers import get_site_preferences def get_register_object_by_pk( @@ -187,7 +189,16 @@ def _generate_dicts_for_lesson_periods( weeks = CalendarWeek.weeks_within(date_start, date_end) register_objects = [] + inherit_privileges_preference = get_site_preferences()[ + "alsijil__inherit_privileges_from_parent_group" + ] for lesson_period in lesson_periods: + parent_group_owned_by_person = inherit_privileges_preference and ( + Group.objects.filter( + child_groups__in=Group.objects.filter(lessons__lesson_periods=lesson_period), + owners=filter_dict.get("person"), + ).exists() + ) for week in weeks: day = week[lesson_period.period.weekday] @@ -205,10 +216,14 @@ def _generate_dicts_for_lesson_periods( ): sub = lesson_period.get_substitution() - # Skip lesson period if the person isn't a teacher - # or substitution teacher of this lesson period + # Skip lesson period if the person isn't a teacher, + # substitution teacher or, when the corresponding + # preference is switched on, owner of a parent group + # of this lesson period if filter_dict.get("person") and ( - filter_dict.get("person") not in lesson_period.lesson.teachers.all() and not sub + filter_dict.get("person") not in lesson_period.lesson.teachers.all() + and not sub + and not parent_group_owned_by_person ): continue diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index 1759a5446d204d61c87f5bd1cbe9e3e031d95be2..d66ebb41d052e17dac94087526997df71824c2cc 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -206,6 +206,16 @@ def is_own_personal_note(user: User, obj: PersonalNote) -> bool: return False +@predicate +def is_parent_group_owner(user: User, obj: Group) -> bool: + """Predicate which checks whether the user is the owner of any parent group of the group.""" + if hasattr(obj, "parent_groups"): + for parent_group in use_prefetched(obj, "parent_groups"): + if user.person in use_prefetched(parent_group, "owners"): + return True + return False + + @predicate def is_personal_note_lesson_teacher(user: User, obj: PersonalNote) -> bool: """Predicate for teachers of a register object linked to a personal note. @@ -247,11 +257,15 @@ def is_personal_note_lesson_parent_group_owner(user: User, obj: PersonalNote) -> Checks whether the person linked to the user is the owner of any parent groups of any groups of the given LessonPeriod lesson of the given PersonalNote. + If so, also checks whether the person linked to the personal note actually is a member of this + parent group. """ if hasattr(obj, "register_object"): for group in obj.register_object.get_groups().all(): for parent_group in group.parent_groups.all(): - if user.person in list(parent_group.owners.all()): + if user.person in use_prefetched( + parent_group, "owners" + ) and obj.person in use_prefetched(parent_group, "members"): return True return False diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 7fa14bd5c554a4ab3cc064a583720ca8d24aaf32..8298d67edd72249559d75a021ffdf9b1cca2168f 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -240,7 +240,9 @@ def register_object( else: persons = Person.objects.all() - persons_qs = register_object.get_personal_notes(persons, wanted_week) + persons_qs = register_object.get_personal_notes(persons, wanted_week).filter( + person__member_of__in=request.user.person.owner_of.all() + ) # Annotate group roles if show_group_roles: @@ -368,9 +370,30 @@ def week_view( elif hasattr(request, "user") and hasattr(request.user, "person"): if request.user.person.lessons_as_teacher.exists(): - lesson_periods = lesson_periods.filter_teacher(request.user.person) - events = events.filter_teacher(request.user.person) - extra_lessons = extra_lessons.filter_teacher(request.user.person) + inherit_privileges_preference = get_site_preferences()[ + "alsijil__inherit_privileges_from_parent_group" + ] + lesson_periods = ( + lesson_periods.filter_teacher(request.user.person).union( + lesson_periods.filter_groups(request.user.person.owner_of.all()) + ) + if inherit_privileges_preference + else lesson_periods.filter_teacher(request.user.person) + ) + events = ( + events.filter_teacher(request.user.person).union( + events.filter_groups(request.user.person.owner_of.all()) + ) + if inherit_privileges_preference + else events.filter_teacher(request.user.person) + ) + extra_lessons = ( + extra_lessons.filter_teacher(request.user.person).union( + extra_lessons.filter_groups(request.user.person.owner_of.all()) + ) + if inherit_privileges_preference + else extra_lessons.filter_teacher(request.user.person) + ) type_ = TimetableType.TEACHER else: @@ -453,9 +476,13 @@ def week_view( if not request.user.has_perm("alsijil.view_week_personalnote_rule", instance): persons_qs = persons_qs.filter(pk=request.user.person.pk) elif group: - persons_qs = persons_qs.filter(member_of=group) + persons_qs = persons_qs.filter(member_of=group).filter( + member_of__in=request.user.person.owner_of.all() + ) else: - persons_qs = persons_qs.filter(member_of__in=groups) + persons_qs = persons_qs.filter(member_of__in=groups).filter( + member_of__in=request.user.person.owner_of.all() + ) # Prefetch object permissions for persons and groups the persons are members of # because the object permissions are checked for both persons and groups @@ -622,16 +649,27 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: | Q(event__groups__parent_groups=group) ) personal_notes = ( - PersonalNote.objects.select_related("lesson_period") - .prefetch_related( - "lesson_period__substitutions", "lesson_period__lesson__teachers", "groups_of_person" + PersonalNote.objects.prefetch_related( + "lesson_period__substitutions", "lesson_period__lesson__teachers" ) .not_empty() .filter(groups_q) + .filter(groups_of_person=group) ) - documentations = ( - LessonDocumentation.objects.select_related("lesson_period").not_empty().filter(groups_q) - ) + documentations = LessonDocumentation.objects.not_empty().filter(groups_q) + + sorted_documentations = {"extra_lesson": {}, "event": {}, "lesson_period": {}} + sorted_personal_notes = {"extra_lesson": {}, "event": {}, "lesson_period": {}, "person": {}} + for documentation in documentations: + key = documentation.register_object.label_ + sorted_documentations[key][documentation.register_object_key] = documentation + + for note in personal_notes: + key = note.register_object.label_ + sorted_personal_notes[key].setdefault(note.register_object_key, []) + sorted_personal_notes[key][note.register_object_key].append(note) + sorted_personal_notes["person"].setdefault(note.person.pk, []) + sorted_personal_notes["person"][note.person.pk].append(note) # Get all lesson periods for the selected group lesson_periods = LessonPeriod.objects.filter_group(group).distinct() @@ -645,8 +683,8 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: register_objects_by_day.setdefault(day, []).append( ( extra_lesson, - list(filter(lambda d: d.extra_lesson == extra_lesson, documentations)), - list(filter(lambda d: d.extra_lesson == extra_lesson, personal_notes)), + sorted_documentations["extra_lesson"].get(extra_lesson.pk), + sorted_personal_notes["extra_lesson"].get(extra_lesson.pk, []), None, ) ) @@ -660,8 +698,8 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: register_objects_by_day.setdefault(day, []).append( ( event_copy, - list(filter(lambda d: d.event == event, documentations)), - list(filter(lambda d: d.event == event, personal_notes)), + sorted_documentations["event"].get(event.pk), + sorted_personal_notes["event"].get(event.pk, []), None, ) ) @@ -680,26 +718,17 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: <= day <= lesson_period.lesson.validity.date_end ): - filtered_documentations = list( - filter( - lambda d: d.week == week.week - and d.year == week.year - and d.lesson_period == lesson_period, - documentations, - ) + filtered_documentation = sorted_documentations["lesson_period"].get( + f"{lesson_period.pk}_{week.week}_{week.year}" ) - filtered_personal_notes = list( - filter( - lambda d: d.week == week.week - and d.year == week.year - and d.lesson_period == lesson_period, - personal_notes, - ) + filtered_personal_notes = sorted_personal_notes["lesson_period"].get( + f"{lesson_period.pk}_{week.week}_{week.year}", [] ) + substitution = lesson_period.get_substitution(week) register_objects_by_day.setdefault(day, []).append( - (lesson_period, filtered_documentations, filtered_personal_notes, substitution) + (lesson_period, filtered_documentation, filtered_personal_notes, substitution) ) persons = group.members.prefetch_related(None).select_related(None) @@ -707,7 +736,7 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: prefetched_persons = [] for person in persons: - person.filtered_notes = list(filter(lambda d: d.person == person, personal_notes)) + person.filtered_notes = sorted_personal_notes["person"][person.pk] prefetched_persons.append(person) context["school_term"] = group.school_term @@ -722,15 +751,22 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: context["today"] = date.today() context["lessons"] = ( group.lessons.all() + .select_related(None) + .prefetch_related(None) .select_related("validity", "subject") .prefetch_related("teachers", "lesson_periods") ) - context["child_groups"] = group.child_groups.all().prefetch_related( - "lessons", - "lessons__validity", - "lessons__subject", - "lessons__teachers", - "lessons__lesson_periods", + context["child_groups"] = ( + group.child_groups.all() + .select_related(None) + .prefetch_related(None) + .prefetch_related( + "lessons", + "lessons__validity", + "lessons__subject", + "lessons__teachers", + "lessons__lesson_periods", + ) ) return render_pdf(request, "alsijil/print/full_register.html", context) @@ -761,7 +797,7 @@ def my_students(request: HttpRequest) -> HttpResponse: "primary_group__owners", Prefetch("member_of", queryset=relevant_groups, to_attr="member_of_prefetched"), ) - ) + ).filter(member_of__in=request.user.person.owner_of.all()) persons_for_group = [] for person in persons: person.set_object_permission_checker(checker) @@ -794,7 +830,11 @@ class StudentsList(PermissionRequiredMixin, DetailView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["group"] = self.object - context["persons"] = self.object.generate_person_list_with_class_register_statistics() + context[ + "persons" + ] = self.object.generate_person_list_with_class_register_statistics().filter( + member_of__in=self.request.user.person.owner_of.all() + ) context["extra_marks"] = ExtraMark.objects.all() context["excuse_types"] = ExcuseType.objects.filter(count_as_absent=True) context["excuse_types_not_absent"] = ExcuseType.objects.filter(count_as_absent=False) diff --git a/docs/admin/40_preferences.rst b/docs/admin/40_preferences.rst index b6e5ccf08856bea311776d34c4abe239f0679d81..d7252147276e289883c93e050230bdb866acf02e 100644 --- a/docs/admin/40_preferences.rst +++ b/docs/admin/40_preferences.rst @@ -13,6 +13,9 @@ following preferences: * **Allow primary group owners to register future absences for students in their groups**: This allows owners of the student's primary group (e. g. the class) to register future absences like doctor's appointments or family celebrations. +* **Grant the owner of a parent group the same privileges as the owners of the respective child groups**: + The owner of a group can perform all operations on child groups and related objects an owner of + the respected child groups is allowed to (e. g. editing the lesson documentation). * **Allow original teachers to edit their lessons although they are substituted:** In the case of substitute teaching, absent teachers can be given write-in privileges for the lesson. * **Carry over data from first lesson period to the following lesson periods in lessons over multiple periods:** diff --git a/docs/conf.py b/docs/conf.py index d1074475351acac1216bd056058d546996fd6fea..1bb1712a1d993fe8523eed1d34291b7865c37aa6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,9 +29,9 @@ copyright = "2019-2022 The AlekSIS team" author = "The AlekSIS Team" # The short X.Y version -version = "2.0" +version = "2.1" # The full version, including alpha/beta/rc tags -release = "2.0.2.dev0" +release = "2.1.1.dev0" # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index 5aaa12748af26819e63ebf590ca55c59d9e2a64e..1381bc6d33e3ef546a6555d1e8695cae267f33d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "AlekSIS-App-Alsijil" -version = "2.0.2.dev0" +version = "2.1.1.dev0" packages = [ { include = "aleksis" } ] @@ -50,10 +50,14 @@ secondary = true python = "^3.9" aleksis-core = "^2.7" aleksis-app-chronos = "^2.2" +aleksis-app-stoelindeling = { version = "^1.0", optional = true } [tool.poetry.dev-dependencies] aleksis-builddeps = "*" +[tool.poetry.extras] +seatingplans = ["aleksis-app-stoelindeling"] + [tool.poetry.plugins."aleksis.app"] alsijil = "aleksis.apps.alsijil.apps:AlsijilConfig"