diff --git a/.prettierignore b/.prettierignore index de783fc60a1ca5f6e25204bb7a51eab815bc77ce..bba3a420ca59cd6361aea639785e5236ed546759 100644 --- a/.prettierignore +++ b/.prettierignore @@ -92,3 +92,5 @@ aleksis/core/util/licenses.json .pnp.cjs .pnp.loader.mjs + +.git/ diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0cfde1b5162db68f85d762f17fa34375ec09c9a0..d58e466b99296765d1b74fb19eb350e5e67b15ea 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,12 +6,13 @@ All notable changes to this project will be documented in this file. The format is based on `Keep a Changelog`_, and this project adheres to `Semantic Versioning`_. -Unreleased ----------- +`4.0.0.dev0`_ - 2024-04-23 +-------------------------- Notable, breaking changes ~~~~~~~~~~~~~~~~~~~~~~~~~ -Starting from the class register core functionality, `AlekSIS-App-Alsijil` is getting a entire rewrite + +Starting from the class register core functionality, Alsijil is getting a entire rewrite of both its frontend and backend. The models formerly used for lesson documentation, notably `LessonDocumentation` and `PersonalNote` are replaced by new ones based on the calendar framework provided by `AlekSIS-Core` and the absense framework provided by `AlekSIS-App-Kolego`. The legacy @@ -20,15 +21,16 @@ there exists no migration path away from legacy data. Changed ~~~~~~~ -* Rewrite of class register/coursebook, both in the frontend and the backend - * Several legacy class register views were consolidated in one Vue.js based frontend (coursebook). + +* Modern rewrite of class register/coursebook, both in the frontend and the backend + * Several legacy class register views were consolidated in a modern frontend (coursebook). * [Dev] The `LessonDocumentation` model is replaced with the `Documentation` model, based on the calendar framework. * [Dev] The `PersonalNote` model is replaced with the `NewPersonalNote` model. * [Dev] Participation status documentation is taken over by the new `Participation` model. - Fixed ~~~~~ + * Migrating failed due to an incorrect field reference. `3.0`_ - 2023-05-15 @@ -341,3 +343,4 @@ Fixed .. _2.1.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.1.1 .. _3.0b0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0b0 .. _3.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/3.0 +.. _4.0.0.dev0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/4.0.0.dev0 diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue index af143a59af433bba0d8ed87fa8beccabbbac6dfe..4e673db88090f473f2bc036bd128881327d21fc3 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue @@ -333,11 +333,16 @@ export default { // Also intersect handler does not always react to scrollIntoView this.setDate(date); present.focus("smooth"); - } else if ( - !this.findPrev(DateTime.fromISO(date)) || - !this.findNext(DateTime.fromISO(date)) - ) { - this.resetDate(date); + } else { + const prev = this.findPrev(DateTime.fromISO(date)); + const next = this.findNext(DateTime.fromISO(date)); + if (prev && next) { + // In between two present days -> goto prev + this.gotoDate(prev.toISODate()); + } else { + // Outsite present day range + this.resetDate(date); + } } }, gotoPrev() { diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookDay.vue b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookDay.vue index 14411e9ce9c1c2780402890a80aa907b246262ff..2f15c3fd031c62ff9fc96cf5c35042f2274d3321 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookDay.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookDay.vue @@ -1,13 +1,14 @@ <template> - <v-list-item :style="{ scrollMarginTop: '145px' }" two-line> + <v-list-item :style="{ scrollMarginTop: '145px' }" two-line class="px-0"> <v-list-item-content> - <v-subheader class="text-h6">{{ + <v-subheader class="text-h6 px-1">{{ $d(date, "dateWithWeekday") }}</v-subheader> <v-list max-width="100%" class="pt-0 mt-n1"> <v-list-item v-for="doc in docs" :key="'documentation-' + (doc.oldId || doc.id)" + class="px-1" > <documentation-modal :documentation="doc" diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue index e5493b07cda406fddbb3fccc89e5d1b42080ab89..b47ebbfbb1d1cd8219686f05085eb0eeb8f453d3 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue @@ -45,6 +45,10 @@ <script> import { coursesOfPerson, groupsByPerson } from "./coursebook.graphql"; +const TYPENAMES_TO_TYPES = { + CourseType: "course", + GroupType: "group", +}; export default { name: "CoursebookFilters", data() { @@ -73,9 +77,9 @@ export default { selectable() { return [ { header: this.$t("alsijil.coursebook.filter.groups") }, - ...this.groups.map((group) => ({ type: "group", ...group })), + ...this.groups, { header: this.$t("alsijil.coursebook.filter.courses") }, - ...this.courses.map((course) => ({ type: "course", ...course })), + ...this.courses, ]; }, selectLoading() { @@ -86,14 +90,16 @@ export default { }, currentObj() { return this.selectable.find( - (o) => o.type === this.value.objType && o.id === this.value.objId, + (o) => + TYPENAMES_TO_TYPES[o.__typename] === this.value.objType && + o.id === this.value.objId, ); }, }, methods: { selectObject(selection) { this.$emit("input", { - objType: selection ? selection.type : null, + objType: selection ? TYPENAMES_TO_TYPES[selection.__typename] : null, objId: selection ? selection.id : null, }); }, diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookLoader.vue b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookLoader.vue index a5136eb9f0c2535009fd78a02e7481aebacd12b4..52866931e7b2d31bbee85bc754a4a668066e8b73 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookLoader.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookLoader.vue @@ -1,12 +1,12 @@ <template> <div> - <v-list-item v-for="i in numberOfDays" :key="'i-' + i"> + <v-list-item v-for="i in numberOfDays" :key="'i-' + i" class="px-0"> <v-list-item-content> <v-list-item-title> <v-skeleton-loader type="heading" /> </v-list-item-title> <v-list max-width="100%"> - <v-list-item v-for="j in numberOfDocs" :key="'j-' + j"> + <v-list-item v-for="j in numberOfDocs" :key="'j-' + j" class="px-1"> <DocumentationLoader /> </v-list-item> </v-list> diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue index 23e300749e5cf9b8c4902886bba9bbc83bb79433..cb3820dd6a9498ee6662304a6e38ee4111fb3139 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue @@ -1,4 +1,5 @@ <script> +import AbsenceReasonButtons from "aleksis.apps.kolego/components/AbsenceReasonButtons.vue"; import AbsenceReasonChip from "aleksis.apps.kolego/components/AbsenceReasonChip.vue"; import AbsenceReasonGroupSelect from "aleksis.apps.kolego/components/AbsenceReasonGroupSelect.vue"; import CancelButton from "aleksis.core/components/generic/buttons/CancelButton.vue"; @@ -14,9 +15,10 @@ export default { name: "ManageStudentsDialog", extends: MobileFullscreenDialog, components: { - PersonalNotes, AbsenceReasonChip, AbsenceReasonGroupSelect, + AbsenceReasonButtons, + PersonalNotes, CancelButton, LessonInformation, MobileFullscreenDialog, @@ -27,6 +29,7 @@ export default { return { dialog: false, search: "", + loadSelected: false, selected: [], isExpanded: false, }; @@ -44,58 +47,44 @@ export default { }, }, methods: { - sendToServer(participation, field, value) { + sendToServer(participations, field, value) { if (field !== "absenceReason") return; this.mutate( updateParticipationStatuses, { - input: [ - { - id: participation.id, - absenceReason: value === "present" ? null : value, - }, - ], + input: participations.map((participation) => ({ + id: participation.id, + absenceReason: value === "present" ? null : value, + })), }, (storedDocumentations, incomingStatuses) => { - const newStatus = incomingStatuses[0]; const documentation = storedDocumentations.find( - (doc) => doc.id === newStatus.relatedDocumentation.id, - ); - const participationStatus = documentation.participations.find( - (part) => part.id === newStatus.id, + (doc) => doc.id === this.documentation.id, ); - participationStatus.absenceReason = newStatus.absenceReason; - participationStatus.isOptimistic = newStatus.isOptimistic; + + incomingStatuses.forEach((newStatus) => { + const participationStatus = documentation.participations.find( + (part) => part.id === newStatus.id, + ); + participationStatus.absenceReason = newStatus.absenceReason; + participationStatus.isOptimistic = newStatus.isOptimistic; + }); return storedDocumentations; }, - // { - // optimisticResponse: { - // updateParticipationStatuses: { - // items: [ - // { - // id: participation.id, - // isOptimistic: true, - // relatedDocumentation: { - // id: this.documentation.id, - // __typename: "DocumentationType", - // }, - // absenceReason: value === "present" ? null : { - // id: value, - // name: "", - // shortName: "", - // __typename: "AbsenceReasonType", - // }, - // __typename: "ParticipationStatusType", - // }, - // ], - // __typename: "ParticipationStatusBatchPatchMutation", - // }, - // }, - // }, ); }, + handleMultipleAction(absenceReasonId) { + this.loadSelected = true; + this.sendToServer(this.selected, "absenceReason", absenceReasonId); + this.$once("save", this.resetMultipleAction); + }, + resetMultipleAction() { + this.loadSelected = false; + this.$set(this.selected, []); + this.$refs.iterator.selected = []; + }, }, }; </script> @@ -112,27 +101,36 @@ export default { </template> <template #title> - <lesson-information v-bind="documentationPartProps" /> - <v-slide-x-transition leave-absolute> + <lesson-information v-bind="documentationPartProps" :compact="false" /> + <v-scroll-x-transition leave-absolute> <v-text-field v-show="!isExpanded" type="search" v-model="search" clearable rounded - filled hide-details single-line prepend-inner-icon="$search" dense outlined :placeholder="$t('actions.search')" - class="pt-4" + class="pt-4 full-width" /> - </v-slide-x-transition> + </v-scroll-x-transition> + <v-scroll-x-transition> + <div v-show="selected.length > 0" class="full-width mt-4"> + <absence-reason-buttons + allow-empty + empty-value="present" + @input="handleMultipleAction" + /> + </div> + </v-scroll-x-transition> </template> <template #content> <slide-iterator + ref="iterator" v-model="selected" :items="items" :search="search" @@ -140,14 +138,16 @@ export default { (item) => 'documentation-' + documentation.id + '-student-' + item.id " :is-expanded.sync="isExpanded" - :loading="loadingIndicator" + :loading="loadingIndicator || loadSelected" + :load-only-selected="loadSelected" + :disabled="loading" > <template #listItemContent="{ item }"> <v-list-item-title> {{ item.person.fullName }} </v-list-item-title> <v-list-item-subtitle v-if="item.absenceReason"> - <absence-reason-chip dense :absence-reason="item.absenceReason" /> + <absence-reason-chip small :absence-reason="item.absenceReason" /> </v-list-item-subtitle> </template> @@ -169,7 +169,7 @@ export default { empty-value="present" :loadSelectedChip="loading" :value="item.absenceReason?.id || 'present'" - @input="sendToServer(item, 'absenceReason', $event)" + @input="sendToServer([item], 'absenceReason', $event)" /> </v-card-text> <v-divider /> diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsTrigger.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsTrigger.vue index 739ff4217df2d82d1765381aae3543277f8f631a..572036c67955b3365bb46eb69f6ab41ee86cf074 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsTrigger.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsTrigger.vue @@ -41,8 +41,6 @@ export default { }, (storedDocumentations, incoming) => { // ID may be different now - console.log("incoming:", incoming); - return storedDocumentations.map((doc) => doc.id === this.documentation.id ? Object.assign(doc, incoming, { oldId: doc.id }) diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/participationStatus.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/absences/participationStatus.graphql index 0d139df42a9bfb5deae3cbb88507a3def37827fa..aafb3409f3f123d19d42aa32a36731a835dbdeb6 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/participationStatus.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/participationStatus.graphql @@ -12,6 +12,7 @@ mutation updateParticipationStatuses( id name shortName + colour } } } @@ -25,12 +26,14 @@ mutation touchDocumentation($documentationId: ID!) { id person { id + firstName fullName } absenceReason { id name shortName + colour } notesWithExtraMark { id diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql index 1e5ca9e18ba3dda21b056e5654d798003c17e714..f1c4012c37ffa3ec3d3630978b603c204963a908 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/coursebook.graphql @@ -9,10 +9,6 @@ query coursesOfPerson { courses: coursesOfPerson { id name - groups { - id - name - } } } @@ -74,12 +70,14 @@ query documentationsForCoursebook( id person { id + firstName fullName } absenceReason { id name shortName + colour } notesWithExtraMark { id @@ -115,6 +113,21 @@ mutation createOrUpdateDocumentations($input: [DocumentationInputType]!) { homework groupNote oldId + participations { + id + person { + id + firstName + fullName + } + absenceReason { + id + name + shortName + colour + } + isOptimistic + } } } } diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue index 09a04bcb67c6ae618fa0b1546a0171af30323885..652609dccaf430d3a4ab138f80ee2f810b84b4af 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue @@ -61,7 +61,7 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; v-for="teacher in documentation.teachers" :key="documentation.id + '-teacher-' + teacher.id" :person="teacher" - no-link + :no-link="compact" v-bind="compact ? dialogActivator.attrs : {}" v-on="compact ? dialogActivator.on : {}" /> @@ -69,7 +69,7 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; v-for="teacher in amendedTeachers" :key="documentation.id + '-amendedTeacher-' + teacher.id" :person="teacher" - no-link + :no-link="compact" v-bind="compact ? dialogActivator.attrs : {}" v-on="compact ? dialogActivator.on : {}" class="text-decoration-line-through" diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue index 8f40f71b60199a8c10e577d0ae006fbb1af5a7c5..bc0da4a742917e0639a0c1983186fad29764babb 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue @@ -1,33 +1,40 @@ +<script setup> +import AbsenceReasonChip from "aleksis.apps.kolego/components/AbsenceReasonChip.vue"; +</script> + <template> <div class="d-flex align-center justify-space-between justify-md-end flex-wrap gap" > - <!-- eslint-disable @intlify/vue-i18n/no-raw-text --> - <v-chip dense color="success"> - <v-chip small dense class="mr-2" color="green darken-3 white--text"> - {{ documentation.participations.length }} - </v-chip> - Schüler - </v-chip> - <v-chip dense color="warning"> - <v-chip small dense class="mr-2" color="orange darken-3 white--text" - >3</v-chip - > - entschuldigt + <v-chip dense color="success" outlined v-if="total > 0"> + {{ $t("alsijil.coursebook.present_number", { present, total }) }} </v-chip> - <v-chip dense color="error"> - <v-chip small dense class="mr-2" color="red darken-3 white--text" - >1</v-chip - > - unentschuldigt - </v-chip> - <v-chip dense color="grey lighten-1"> - <v-chip small dense class="mr-2" color="grey darken-1 white--text" - >4</v-chip - > - Hausaufgaben vergessen - </v-chip> - <!-- eslint-enable @intlify/vue-i18n/no-raw-text --> + <absence-reason-chip + v-for="[reasonId, participations] in Object.entries(absences)" + :key="'reason-' + reasonId" + :absence-reason="participations[0].absenceReason" + dense + > + <template #append> + <span + >: + <span> + {{ + participations + .slice(0, 5) + .map((participation) => participation.person.firstName) + .join(", ") + }} + </span> + <span v-if="participations.length > 5"> + <!-- eslint-disable @intlify/vue-i18n/no-raw-text --> + +{{ participations.length - 5 }} + <!-- eslint-enable @intlify/vue-i18n/no-raw-text --> + </span> + </span> + </template> + </absence-reason-chip> + <manage-students-trigger v-bind="documentationPartProps" /> </div> </template> @@ -40,6 +47,25 @@ export default { name: "LessonNotes", components: { ManageStudentsTrigger }, mixins: [documentationPartMixin], + computed: { + total() { + return this.documentation.participations.length; + }, + present() { + return this.documentation.participations.filter( + (p) => p.absenceReason === null, + ).length; + }, + absences() { + // Get all course attendants who have an absence reason + return Object.groupBy( + this.documentation.participations.filter( + (p) => p.absenceReason !== null, + ), + ({ absenceReason }) => absenceReason.id, + ); + }, + }, }; </script> diff --git a/aleksis/apps/alsijil/frontend/messages/de.json b/aleksis/apps/alsijil/frontend/messages/de.json index e83cccc2c07303305ab2952da4e39caf1575859a..31ae2d9763a98f946aa896a9ab79d5fc8d514a0f 100644 --- a/aleksis/apps/alsijil/frontend/messages/de.json +++ b/aleksis/apps/alsijil/frontend/messages/de.json @@ -1,91 +1,95 @@ { "alsijil": { - "menu_title": "Klassenbuch", - "lesson": { - "menu_title": "Aktuelle Unterrichtsstunde" - }, - "week": { - "menu_title": "Aktuelle Woche" - }, - "groups": { - "menu_title": "Meine Gruppen" - }, - "persons": { - "menu_title": "Meine Schülerinnen und Schüler" - }, "absence": { "menu_title": "Abwesenheit eintragen" }, - "my_overview": { - "menu_title": "Meine Übersicht" - }, - "excuse_types": { - "menu_title": "Entschuldigungsarten" - }, - "group_roles": { - "menu_title_assign": "Gruppenrollen zuweisen", - "menu_title_manage": "Gruppenrollen verwalten" - }, - "extra_marks": { - "menu_title": "Zusätzliche Markierungen", - "create": "Markierung erstellen", - "name": "Markierung", - "short_name": "Abkürzung", - "colour_fg": "Schriftfarbe", - "colour_bg": "Hintergrundfarbe", - "show_in_coursebook": "In Kursbuch-Übersicht zeigen", - "show_in_coursebook_helptext": "Wenn aktiviert tauchen diese Markierungen in den Zeilen im Kursbuch auf." - }, "all_lessons": { "menu_title": "Alle Stunden" }, "coursebook": { + "filter": { + "courses": "Kurse", + "filter_for_obj": "Nach Gruppe und Kurs filtern", + "groups": "Gruppen", + "missing": "Nur unvollständige Stunden anzeigen", + "own": "Nur eigene Stunden anzeigen" + }, "menu_title": "Kursbuch", + "no_data": "Keine Stunden der ausgewählten Gruppen und Kurse im aktuellen Zeitraum", + "no_results": "Keine Suchergebnisse für {search}", + "notices": { + "future": "Diese Stunde darf nicht bearbeitet werden, da sie in der Zukunft liegt.", + "no_entry": "Für diese Stunde gibt es noch keinen Eintrag." + }, "page_title": "Kursbuch für {name}", - "title_plural": "Kursbuch", "status": { "available": "Kursbucheintrag vorhanden", + "cancelled": "Stunde fällt aus", "missing": "Kursbucheintrag fehlt", + "pending": "Stunde in der Zukunft", "running": "Stunde läuft", - "substitution": "Vertretungsstunde", - "cancelled": "Stunde fällt aus", - "pending": "Stunde in der Zukunft" + "substitution": "Vertretungsstunde" }, "summary": { - "topic": { - "label": "Topic", - "status": { - "success": "Topic saved successfully", - "error": "There has been an error while saving the topic: {error}" - } + "group_note": { + "empty": "Keine Gruppennotiz", + "label": "Gruppennotiz", + "value": "GN: {groupNote}" }, "homework": { + "empty": "Keine Hausaufgaben", "label": "Hausaufgaben", - "value": "HA: {homework}", - "empty": "Keine Hausaufgaben" + "value": "HA: {homework}" }, - "group_note": { - "label": "Gruppennotiz", - "value": "GN: {groupNote}", - "empty": "Keine Gruppennotiz" + "topic": { + "label": "Thema", + "status": { + "error": "Beim Speichern des Themas ist ein Fehler aufgetreten: {error}", + "success": "Thema erfolgreich gespeichert" + } } }, - "filter": { - "own": "Nur eigene Stunden anzeigen", - "missing": "Nur unvollständige Stunden anzeigen", - "groups": "Gruppen", - "courses": "Kurse", - "filter_for_obj": "Nach Gruppe und Kurs filtern" - }, - "no_data": "Keine Stunden der ausgewählten Gruppen und Kurse im aktuellen Zeitraum", - "no_results": "Keine Suchergebnisse für {search}" + "title_plural": "Kursbuch", + "present_number": "{present}/{total} anwesend" + }, + "excuse_types": { + "menu_title": "Entschuldigungsarten" + }, + "extra_marks": { + "menu_title": "Zusätzliche Markierungen", + "create": "Markierung erstellen", + "name": "Markierung", + "short_name": "Abkürzung", + "colour_fg": "Schriftfarbe", + "colour_bg": "Hintergrundfarbe", + "show_in_coursebook": "In Kursbuch-Übersicht zeigen", + "show_in_coursebook_helptext": "Wenn aktiviert tauchen diese Markierungen in den Zeilen im Kursbuch auf." }, "personal_notes": { "note": "Notiz", "create_personal_note": "Weitere Notiz", "confirm_delete": "Notiz wirklich löschen?", "confirm_delete_explanation": "Die Notiz \"{note}\" für {name} wird entfernt." - + }, + "group_roles": { + "menu_title_assign": "Gruppenrollen zuweisen", + "menu_title_manage": "Gruppenrollen verwalten" + }, + "groups": { + "menu_title": "Meine Gruppen" + }, + "lesson": { + "menu_title": "Aktuelle Unterrichtsstunde" + }, + "menu_title": "Klassenbuch", + "my_overview": { + "menu_title": "Meine Übersicht" + }, + "persons": { + "menu_title": "Meine Schüler*innen" + }, + "week": { + "menu_title": "Aktuelle Woche" } }, "actions": { diff --git a/aleksis/apps/alsijil/frontend/messages/en.json b/aleksis/apps/alsijil/frontend/messages/en.json index 8283c4b7c03a33269481c18dce9e32815ac2bcba..5345ca9259606424a42ae4ae222cf72833ef91e6 100644 --- a/aleksis/apps/alsijil/frontend/messages/en.json +++ b/aleksis/apps/alsijil/frontend/messages/en.json @@ -81,6 +81,7 @@ "courses": "Courses", "filter_for_obj": "Filter for group and course" }, + "present_number": "{present}/{total} present", "no_data": "No lessons for the selected groups and courses in this period", "no_results": "No search results for {search}" }, diff --git a/aleksis/apps/alsijil/frontend/messages/ru.json b/aleksis/apps/alsijil/frontend/messages/ru.json index 8fb7aea426577ea2406c1579dbe44b39b70e5ef6..3f20ae686429082b97521d0f36ba0bdca9e6367a 100644 --- a/aleksis/apps/alsijil/frontend/messages/ru.json +++ b/aleksis/apps/alsijil/frontend/messages/ru.json @@ -1,36 +1,44 @@ { + "actions": { + "back_to_overview": "Ðазад к обзору" + }, "alsijil": { - "my_overview": { - "menu_title": "Мой обзор" - }, - "group_roles": { - "menu_title_manage": "Управление ролÑми групп", - "menu_title_assign": "Ðазначить роль группы" + "absence": { + "menu_title": "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÑутÑтвиÑ" }, "all_lessons": { "menu_title": "Ð’Ñе уроки" }, - "menu_title": "КлаÑÑный журнал", - "lesson": { - "menu_title": "Текущий урок" + "coursebook": { + "filter": { + "groups": "Группы" + } }, - "week": { - "menu_title": "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð½ÐµÐ´ÐµÐ»Ñ" + "excuse_types": { + "menu_title": "Типы объÑÑнительных" + }, + "extra_marks": { + "menu_title": "Дополнительные отметки" + }, + "group_roles": { + "menu_title_assign": "Ðазначить роль группы", + "menu_title_manage": "Управление ролÑми групп" }, "groups": { "menu_title": "Мои группы" }, - "persons": { - "menu_title": "Мои Ñтуденты" + "lesson": { + "menu_title": "Текущий урок" }, - "absence": { - "menu_title": "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÑутÑтвиÑ" + "menu_title": "КлаÑÑный журнал", + "my_overview": { + "menu_title": "Мой обзор" }, - "extra_marks": { - "menu_title": "Дополнительные отметки" + "persons": { + "menu_title": "Мои Ñтуденты" }, - "excuse_types": { - "menu_title": "Типы объÑÑнительных" + "week": { + "menu_title": "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð½ÐµÐ´ÐµÐ»Ñ" } } } diff --git a/aleksis/apps/alsijil/frontend/messages/uk.json b/aleksis/apps/alsijil/frontend/messages/uk.json index a29573bea059ddf91b6ae156be5d76914dd2ca50..860e21a111aa1d70dd74c3e787bb1763fa977808 100644 --- a/aleksis/apps/alsijil/frontend/messages/uk.json +++ b/aleksis/apps/alsijil/frontend/messages/uk.json @@ -1,36 +1,44 @@ { + "actions": { + "back_to_overview": "Ðазад до оглÑду" + }, "alsijil": { - "week": { - "menu_title": "Поточний тиждень" - }, - "groups": { - "menu_title": "Мої групи" - }, - "persons": { - "menu_title": "Мої Ñтуденти" - }, "absence": { "menu_title": "РеєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´ÑутноÑті" }, - "my_overview": { - "menu_title": "Мій оглÑд" + "all_lessons": { + "menu_title": "УÑÑ– уроки" }, - "extra_marks": { - "menu_title": "Додаткові відмітки" + "coursebook": { + "filter": { + "groups": "Групи" + } }, "excuse_types": { "menu_title": "Типи поÑÑнень" }, + "extra_marks": { + "menu_title": "Додаткові відмітки" + }, "group_roles": { - "menu_title_manage": "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð»Ñми групи", - "menu_title_assign": "Призначити роль групи" + "menu_title_assign": "Призначити роль групи", + "menu_title_manage": "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð»Ñми групи" }, - "all_lessons": { - "menu_title": "УÑÑ– уроки" + "groups": { + "menu_title": "Мої групи" }, - "menu_title": "КлаÑний журнал", "lesson": { "menu_title": "Поточний урок" + }, + "menu_title": "КлаÑний журнал", + "my_overview": { + "menu_title": "Мій оглÑд" + }, + "persons": { + "menu_title": "Мої Ñтуденти" + }, + "week": { + "menu_title": "Поточний тиждень" } } } diff --git a/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po index 9b3363583bbfa59f7e4c85070f65c6dd3b6a6c55..48140858293ae7990bfa39c1668d1807e11f51e4 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: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+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" @@ -50,55 +50,55 @@ msgstr "" msgid "Ask teacher to check data" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 msgid "The personal note is marked as excused, but not as absent." msgstr "" @@ -110,10 +110,10 @@ msgstr "" msgid "Before" msgstr "" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -135,8 +135,8 @@ msgstr "" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "" @@ -151,80 +151,80 @@ msgstr "" 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/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: 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/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "" -#: 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 "" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -232,69 +232,6 @@ msgstr "" msgid "Event" 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 "" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -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 "" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 -msgid "Extra marks" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "" @@ -335,149 +272,248 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 msgid "Short name" msgstr "" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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:85 +#: 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 "" + +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "" + +#: aleksis/apps/alsijil/models.py:299 msgid "Personal note" msgstr "" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 msgid "Group note" msgstr "" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "" + +#: aleksis/apps/alsijil/models.py:489 +msgid "Lesson Topic" +msgstr "" + +#: aleksis/apps/alsijil/models.py:491 +msgid "Group Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +msgid "Documentation" +msgstr "" + +#: aleksis/apps/alsijil/models.py:525 +msgid "Documentations" +msgstr "" + +#: aleksis/apps/alsijil/models.py:765 +msgid "Groups of Person" +msgstr "" + +#: aleksis/apps/alsijil/models.py:778 +msgid "Absence Reason" +msgstr "" + +#: aleksis/apps/alsijil/models.py:790 +msgid "Base Absence" +msgstr "" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +msgid "Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:833 +msgid "Extra Mark" +msgstr "" + +#: aleksis/apps/alsijil/models.py:840 +msgid "Personal Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:841 +msgid "Personal Notes" +msgstr "" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: 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:468 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 msgid "Groups" msgstr "" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "" @@ -558,6 +594,22 @@ msgstr "" msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -570,24 +622,17 @@ msgid "Date" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" 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 "" - #: 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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" @@ -598,14 +643,46 @@ msgstr "" #: aleksis/apps/alsijil/tables.py:156 #, python-brace-format -msgid "{value}' late" +msgid "{value}' tardiness" +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +msgid "Sort data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +msgid "Load statistics ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "" @@ -649,26 +726,36 @@ msgstr "" msgid "Cancel" msgstr "" +#: 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 "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +msgid "My groups" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "" @@ -683,8 +770,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "" @@ -701,39 +788,25 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 msgid "Persons" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" 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 "" - -#: 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:105 -msgid "Next" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -786,84 +859,89 @@ msgstr "" msgid "Filter results" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" " %(instance)s" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 msgid "" "\n" " There are no lessons for the selected group or teacher in this week.\n" @@ -907,6 +985,11 @@ msgstr "" msgid "Assign group role for %(group)s" msgstr "" +#: 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 "" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "" @@ -976,16 +1059,16 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -1009,8 +1092,8 @@ msgid "Unexcused absences" 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "" @@ -1027,14 +1110,28 @@ msgstr "" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1042,13 +1139,13 @@ msgid "" " " 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:136 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1056,7 +1153,7 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1064,11 +1161,11 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "" @@ -1184,27 +1281,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 msgid "Primary group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "" @@ -1375,78 +1472,98 @@ msgstr "" msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:151 +#: aleksis/apps/alsijil/views.py:147 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:268 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +msgid "Generate full register printout for {}" +msgstr "" + +#: aleksis/apps/alsijil/views.py:659 +msgid "Generate full register printout …" +msgstr "" + +#: aleksis/apps/alsijil/views.py:660 +msgid "The printout has been generated successfully." +msgstr "" + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1162 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1174 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1262 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1273 +#: aleksis/apps/alsijil/views.py:1187 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:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1357 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1378 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1391 +#: aleksis/apps/alsijil/views.py:1306 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 5c846bc0433997a8a2dfe7488705f1f836591e38..14c910ed3a24b89bc09e4cc6438137dfbcc92b5d 100644 --- a/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po @@ -7,17 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-25 15:28+0200\n" -"PO-Revision-Date: 2022-06-25 13:53+0000\n" +"POT-Creation-Date: 2024-06-13 11:19+0200\n" +"PO-Revision-Date: 2024-06-13 09:24+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" -"Language-Team: German <https://translate.edugit.org/projects/aleksis/" -"aleksis-app-alsijil/de/>\n" +"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/de/>\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "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.12.1\n" +"X-Generator: Weblate 5.0.2\n" #: aleksis/apps/alsijil/actions.py:18 msgid "Mark as excused" @@ -51,55 +50,55 @@ msgstr "Wir haben erfolgreich Benachrichtigungen an {count_teachers} Personen f msgid "Ask teacher to check data" msgstr "Lehrkraft bitten, die Daten zu überprüfen" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "Objekt löschen" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "Aktuelle Gruppen setzen" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "Persönliche Notiz zurücksetzen" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "Sicherstellen, dass es keine persönlichen Notizen in ausgefallenen Stunden gibt" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "Die persönliche Notiz ist einer ausgefallenen Stunde zugeordnet." -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "Sicherstellen, dass \"groups_of_person\" für alle persönlichen Notizen gesetzt ist" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "Die persönliche Notiz hat keine Gruppe in \"groups_of_person\"." -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "Sicherstellen, dass es keine ausgefüllten Stundendokumentationen in den Ferien gibt" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "Die Stundendokumentation ist in den Ferien." -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "Sicherstellen, dass es keine ausgefüllten persönlichen Notizen in den Ferien gibt" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "Die persönliche Notiz ist in den Ferien." -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "Sicherstellen, dass es keine entschuldigten persönlichen Notizen ohne eine Absenz gibt" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 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." @@ -111,10 +110,10 @@ msgstr "Nach" msgid "Before" msgstr "Bevor" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -134,12 +133,10 @@ msgstr "Hausaufgabe zur nächsten Stunde" #: 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" +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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "Gruppe" @@ -154,80 +151,80 @@ msgstr "Lehrkraft" 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:192 aleksis/apps/alsijil/forms.py:350 -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "Person" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "Startdatum" -#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 -#: aleksis/apps/alsijil/models.py:495 +#: aleksis/apps/alsijil/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "Enddatum" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "Startstunde" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "Endstunde" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "Abwesend" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "Entschuldigt" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "Entschuldigungsart" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "Bemerkungen" -#: 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 "Person" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "Schuljahr" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "Hat eine Stunden-Dokumentation" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -235,69 +232,6 @@ msgstr "Hat eine Stunden-Dokumentation" msgid "Event" msgstr "Veranstaltung" -#: 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 "Klassenbuch" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "Aktuelle Unterrichtsstunde" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -msgstr "Aktuelle Woche" - -#: 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 "Meine Gruppen" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -msgstr "Meine Übersicht" - -#: 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 "Meine Schülerinnen und Schüler" - -#: 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 "Gruppenrolle zuweisen" - -#: 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 "Alle Stunden" - -#: 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 "Entschuldigungsarten" - -#: 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 -msgid "Extra marks" -msgstr "Zusätzliche Markierungen" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "Gruppenrollen verwalten" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "Kann Wochenübersicht des Gruppenklassenbuches sehen" @@ -338,152 +272,248 @@ 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:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 msgid "Short name" msgstr "Kurzname" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "Name" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "Als abwesend zählen" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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." +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:85 +#: 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 "Entschuldigungsarten" -#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "Jahr" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "Zusätzliche Markierungen" + +#: aleksis/apps/alsijil/models.py:299 msgid "Personal note" msgstr "Persönliche Notiz" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "Persönliche Notizen" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "Stundenthema" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "Hausaufgaben" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 msgid "Group note" msgstr "Gruppennotiz" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "Stunden-Dokumentation" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "Stunden-Dokumentationen" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "Vordergrundfarbe" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "Hintergrundfarbe" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "In Kursbuch anzeigen" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "Zusätzliche Markierung" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "Kurs" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "Lehrkräfte" + +#: aleksis/apps/alsijil/models.py:489 +msgid "Lesson Topic" +msgstr "Stundenthema" + +#: aleksis/apps/alsijil/models.py:491 +msgid "Group Note" +msgstr "Gruppennotiz" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "Teilnahmestatus angelegt am" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +msgid "Documentation" +msgstr "Dokumentation" + +#: aleksis/apps/alsijil/models.py:525 +msgid "Documentations" +msgstr "Dokumentationen" + +#: aleksis/apps/alsijil/models.py:765 +msgid "Groups of Person" +msgstr "Gruppen der Person" + +#: aleksis/apps/alsijil/models.py:778 +msgid "Absence Reason" +msgstr "Abwesenheitsgrund" + +#: aleksis/apps/alsijil/models.py:790 +msgid "Base Absence" +msgstr "Basis-Abwesenheit" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "Teilnahmestatus" + +#: aleksis/apps/alsijil/models.py:831 +msgid "Note" +msgstr "Notiz" + +#: aleksis/apps/alsijil/models.py:833 +msgid "Extra Mark" +msgstr "Zusätzliche Markierung" + +#: aleksis/apps/alsijil/models.py:840 +msgid "Personal Note" +msgstr "Persönliche Notiz" + +#: aleksis/apps/alsijil/models.py:841 +msgid "Personal Notes" +msgstr "Persönliche Notizen" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "Symbol" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "Farbe" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "Gruppenrolle" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: 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:468 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "Kann Gruppenrolle zuweisen" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "Zugewiesene Person" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 msgid "Groups" msgstr "Gruppen" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 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:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "Zuweisung von Gruppenrollen" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "Zuweisungen von Gruppenrollen" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "Kann die Stundenübersicht sehen" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "Kann die Wochenübersicht sehen" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "Kann komplettes Klassenbuch sehen" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "Kann eine Absenz registrieren" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "Kann alle Filter für persönliche Notizen anzeigen" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "Klassenbuch" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "Blockiere das Hinzufügen von persönlichen Notizen für ausgefallene Stunden" @@ -498,9 +528,7 @@ msgstr "Erlaube Primärgruppeninhabern Absenzen in der Zukunft für Mitglieder i #: 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" +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" @@ -516,15 +544,11 @@ msgstr "Dies wird die Daten nur übernehmen, wenn die Daten in den Folgestunden #: 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" +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." +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." @@ -570,6 +594,22 @@ msgstr "Jede Seite muss mindestens einen Eintrag anzeigen." msgid "Filter lessons by existence of their lesson documentation on default" msgstr "Stunden standardmäßig anhand der Existenz ihrer Stundendokumentation filtern" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "Bearbeiten von allen zukünftigen Dokumentationen erlauben" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "Bearbeiten von allen Dokumentationen bis inklusive zum aktuellen Tag erlauben" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "Bearbeiten von allen Dokumentationen bis inklusive zum aktuellen Tag und zur aktuellen Uhrzeit erlauben" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +msgstr "Zeitraum setzen, in dem Dokumentationen bearbeitet werden dürfen" + #: 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 @@ -582,24 +622,17 @@ msgid "Date" msgstr "Datum" #: 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" msgstr "Stunde" -#: 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: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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "Verspätung" @@ -610,14 +643,46 @@ msgstr "Entschuldigen" #: aleksis/apps/alsijil/tables.py:156 #, python-brace-format -msgid "{value}' late" -msgstr "{value}' verspätet" +msgid "{value}' tardiness" +msgstr "{value}' Verspätung" + +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "Daten werden geladen ..." + +#: aleksis/apps/alsijil/tasks.py:49 +msgid "Sort data ..." +msgstr "Daten sortieren ..." + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "Stundendaten laden ..." + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "Stundendaten sortieren ..." + +#: aleksis/apps/alsijil/tasks.py:133 +msgid "Load statistics ..." +msgstr "Statistiken laden ..." + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "Template generieren ..." + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "PDF generieren ..." + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" +msgstr "PDF-Generierung ist fehlgeschlagen" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "Abwesenheit eintragen" @@ -671,26 +736,36 @@ msgstr "Status auf \"nicht abwesend\" zurücksetzen" msgid "Cancel" msgstr "Abbrechen" +#: 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 "Alle Stunden" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +msgid "My groups" +msgstr "Meine Gruppen" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" msgstr "Schülerinnen und Schüler" #: 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "Wochenansicht" @@ -705,8 +780,8 @@ msgstr "Rollen" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "Ausdruck generieren" @@ -723,39 +798,25 @@ msgstr "Schülerinnen und Schüler" msgid "Lesson" msgstr "Unterrichtsstunde" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 msgid "Persons" msgstr "Personen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "Vorherige" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" msgstr "Mehr" -#: 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: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:105 -msgid "Next" -msgstr "Nächste" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -814,52 +875,57 @@ msgstr "Filtern" msgid "Filter results" msgstr "Ergebnisse filtern" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "Statistiken zu Fehlzeiten, Verspätungen und Bemerkungen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "Unentschuldigt" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +msgstr "Meine Schülerinnen und Schüler" + #: 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 "Liste der Schülerinnen und Schüler: %(group)s" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "Auswählen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "Filter umschalten" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" @@ -868,32 +934,32 @@ msgstr "" "KW %(week)s: \n" "%(instance)s" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "Ausklappen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "Stundenübersicht besuchen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "unentschuldigt" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "Anzahl der Verspätungen" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "Keine Stunden verfügbar" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 msgid "" "\n" " There are no lessons for the selected group or teacher in this week.\n" @@ -944,6 +1010,11 @@ msgstr "Zusätzliche Markierung bearbeiten" msgid "Assign group role for %(group)s" msgstr "Gruppenrolle für %(group)s zuweisen" +#: 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 "Gruppenrolle zuweisen" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "Zuweisen" @@ -1017,16 +1088,16 @@ msgstr "Bitte prüfen Sie, ob die folgenden Klassenbucheinträge komplett und ri #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "(u)" @@ -1050,8 +1121,8 @@ msgid "Unexcused absences" msgstr "Unentschuldigte Fehlzeiten" #: 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "Summe (e)" @@ -1068,14 +1139,28 @@ msgstr "Normal entschuldigte Fehlzeiten" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "Meine vorherige Stunde" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "Meine nächste Stunde" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "Nächste" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "%(period)s. Stunde" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1086,13 +1171,13 @@ msgstr "" " %(period_from)s.–%(period_to)s. Stunde\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 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "Speichern" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1103,7 +1188,7 @@ msgstr "" " Vorherige %(subject)s Stunde\n" " " -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1114,11 +1199,11 @@ msgstr "" " Nächste %(subject)s Stunde\n" " " -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "Veränderungen" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "Verspätung (in m)" @@ -1164,10 +1249,8 @@ msgid "" " " 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" +" 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 @@ -1190,8 +1273,7 @@ msgid "" " " msgstr "" "\n" -" Einen neuen Sitzplan für %(group)s (%(subject)s) in %(room)" -"s erstellen\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 @@ -1202,8 +1284,7 @@ msgid "" " " msgstr "" "\n" -" Einen neuen Sitzplan für %(group)s in %(room)s " -"erstellen\n" +" Einen neuen Sitzplan für %(group)s in %(room)s erstellen\n" " " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6 @@ -1250,27 +1331,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 msgid "Primary group" msgstr "Primärgruppe" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "Ungezählte Fehlzeiten" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "Summe" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "Normal entschuldigt" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "Mehr Details anzeigen" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "Details" @@ -1455,84 +1536,116 @@ msgstr "KW" msgid "Notes" msgstr "Notizen" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 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:151 +#: aleksis/apps/alsijil/views.py:147 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:268 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "Die Stunden-Dokumentation wurde gespeichert." -#: aleksis/apps/alsijil/views.py:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "Die persönlichen Notizen wurden gespeichert." -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +msgid "Generate full register printout for {}" +msgstr "Vollständigen Klassenbuchausdruck für {} generieren" + +#: aleksis/apps/alsijil/views.py:659 +msgid "Generate full register printout …" +msgstr "Vollständigen Klassenbuchausdruck generieren …" + +#: aleksis/apps/alsijil/views.py:660 +msgid "The printout has been generated successfully." +msgstr "Der Ausdruck wurde erfolgreich generiert." + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "Es ist ein Fehler beim Generieren des Ausdrucks aufgetreten." + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "PDF herunterladen" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "Die Abwesenheit wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "Die persönliche Notiz wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1162 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "Die zusätzliche Markierung wurde erstellt." -#: aleksis/apps/alsijil/views.py:1174 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "Die zusätzliche Markierung wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "Die zusätzliche Markierung wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "Die Entschuldigungsart wurde erstellt." -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "Die Entschuldigunsart wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "Die Entschuldigungsart wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "Die Gruppenrolle wurde erstellt." -#: aleksis/apps/alsijil/views.py:1262 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "Die Gruppenrolle wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1273 +#: aleksis/apps/alsijil/views.py:1187 msgid "The group role has been deleted." msgstr "Die Gruppenrolle wurde gelöscht." -#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338 +#: aleksis/apps/alsijil/views.py:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "Die Gruppenrolle wurde zugewiesen." -#: aleksis/apps/alsijil/views.py:1357 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "Die Gruppenrollenzuweisung wurde gespeichert." -#: aleksis/apps/alsijil/views.py:1378 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "Die Gruppenrollenzuweisung wurde beendet." -#: aleksis/apps/alsijil/views.py:1391 +#: aleksis/apps/alsijil/views.py:1306 msgid "The group role assignment has been deleted." msgstr "Die Gruppenrollenzuweisung wurde gelöscht." +#~ msgid "Current lesson" +#~ msgstr "Aktuelle Unterrichtsstunde" + +#~ msgid "Current week" +#~ msgstr "Aktuelle Woche" + +#~ msgid "My overview" +#~ msgstr "Meine Übersicht" + +#~ msgid "Manage group roles" +#~ msgstr "Gruppenrollen verwalten" + #~ msgid "Excused absences" #~ msgstr "Entschuldigte Fehlzeiten" diff --git a/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po index e1a4b25dc5ebd5a6090ead1f0a1eee38d3e07ab3..72c9ebda41b069fb1e4116b336be8aeff1427caa 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: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+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" @@ -52,63 +52,63 @@ msgstr "" msgid "Ask teacher to check data" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 #, fuzzy #| msgid "Relevant personal notes" msgid "Reset personal note to defaults" msgstr "Notes personnelles importantes" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The personal note is related to a cancelled lesson." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The lesson documentation is on holidays." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The personal note is on holidays." msgstr "Documentation de cours pour la semaine calendrier" -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The personal note is marked as excused, but not as absent." @@ -122,10 +122,10 @@ msgstr "" msgid "Before" msgstr "" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -151,8 +151,8 @@ msgstr "" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "groupe" @@ -167,88 +167,88 @@ msgstr "prof" 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/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "Personne" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64 msgid "Start date" msgstr "Date de début" -#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351 -#: aleksis/apps/alsijil/models.py:495 +#: aleksis/apps/alsijil/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "Date de fin" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 #, fuzzy #| msgid "From period" msgid "Start period" msgstr "De la période" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 #, fuzzy #| msgid "From period" msgid "End period" msgstr "De la période" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "Absent(e)" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "Excusé" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 #, fuzzy #| msgid "Excused" msgid "Excuse type" msgstr "Excusé" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "Remarque" -#: 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 "Personne" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 #, fuzzy #| msgid "Lesson documentation" msgid "Has lesson documentation" msgstr "Documentation de cours" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -256,77 +256,6 @@ msgstr "Documentation de cours" msgid "Event" 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 "Registre de la classe" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "Lecon actuelle" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -msgstr "Semaine actuelle" - -#: 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 -#, fuzzy -#| msgid "Group" -msgid "My groups" -msgstr "Groupe" - -#: aleksis/apps/alsijil/menus.py:49 -#, fuzzy -#| msgid "Personal overview" -msgid "My overview" -msgstr "Vue d'ensemble personnelle" - -#: 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 "" - -#: 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 -#, fuzzy -#| msgid "Persons in group" -msgid "Assign group role" -msgstr "Personnes en groupe" - -#: 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 "" - -#: 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 -#, fuzzy -#| msgid "Excused" -msgid "Excuse types" -msgstr "Excusé" - -#: 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 -msgid "Extra marks" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "" @@ -377,107 +306,223 @@ 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:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 #, fuzzy #| msgid "First name" msgid "Short name" msgstr "Prénom" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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:85 +#: 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 +#, fuzzy +#| msgid "Excused" +msgid "Excuse types" +msgstr "Excusé" + +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "" + +#: aleksis/apps/alsijil/models.py:299 #, fuzzy #| msgid "Personal notes" msgid "Personal note" msgstr "Notes personnelles" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "Notes personnelles" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "Sujet de cours" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "Devoirs" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 #, fuzzy #| msgid "Group" msgid "Group note" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "Documentation de cours" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 #, fuzzy #| msgid "Lesson documentation" msgid "Lesson documentations" msgstr "Documentation de cours" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "Profs" + +#: aleksis/apps/alsijil/models.py:489 +#, fuzzy +#| msgid "Lesson topic" +msgid "Lesson Topic" +msgstr "Sujet de cours" + +#: aleksis/apps/alsijil/models.py:491 +#, fuzzy +#| msgid "Group" +msgid "Group Note" +msgstr "Groupe" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +#, fuzzy +#| msgid "Lesson documentation" +msgid "Documentation" +msgstr "Documentation de cours" + +#: aleksis/apps/alsijil/models.py:525 +#, fuzzy +#| msgid "Lesson documentation" +msgid "Documentations" +msgstr "Documentation de cours" + +#: aleksis/apps/alsijil/models.py:765 +#, fuzzy +#| msgid "Group" +msgid "Groups of Person" +msgstr "Groupe" + +#: aleksis/apps/alsijil/models.py:778 +#, fuzzy +#| msgid "Absences" +msgid "Absence Reason" +msgstr "Absences" + +#: aleksis/apps/alsijil/models.py:790 +#, fuzzy +#| msgid "Absences" +msgid "Base Absence" +msgstr "Absences" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +#, fuzzy +#| msgid "Notes" +msgid "Note" +msgstr "Notes" + +#: aleksis/apps/alsijil/models.py:833 +msgid "Extra Mark" +msgstr "" + +#: aleksis/apps/alsijil/models.py:840 +#, fuzzy +#| msgid "Personal notes" +msgid "Personal Note" +msgstr "Notes personnelles" + +#: aleksis/apps/alsijil/models.py:841 +#, fuzzy +#| msgid "Personal notes" +msgid "Personal Notes" +msgstr "Notes personnelles" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 #, fuzzy #| msgid "Group" msgid "Group role" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 #, fuzzy @@ -485,67 +530,72 @@ msgstr "Groupe" msgid "Group roles" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:468 +#: aleksis/apps/alsijil/models.py:865 #, fuzzy #| msgid "Persons in group" msgid "Can assign group role" msgstr "Personnes en groupe" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 #, fuzzy #| msgid "Absences" msgid "Assigned person" msgstr "Absences" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 #, fuzzy #| msgid "Group" msgid "Groups" msgstr "Groupe" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 #, fuzzy #| msgid "Personal overview" msgid "Can view lesson overview" msgstr "Vue d'ensemble personnelle" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 #, fuzzy #| msgid "Class register" msgid "Can view full register" msgstr "Registre de la classe" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 #, fuzzy #| msgid "Register absence" msgid "Can register absence" msgstr "Registre de Absence" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 #, fuzzy #| msgid "List of all personal note filters" msgid "Can list all personal note filters" msgstr "Liste de filtres de notes personnelles" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "Registre de la classe" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "" @@ -628,6 +678,22 @@ msgstr "" msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -640,24 +706,17 @@ msgid "Date" msgstr "Date" #: 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" msgstr "Période" -#: 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: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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "Retard" @@ -669,15 +728,50 @@ msgid "Excuse" msgstr "Excusé" #: aleksis/apps/alsijil/tables.py:156 -#, python-brace-format -msgid "{value}' late" +#, fuzzy, python-brace-format +#| msgid "Summed up tardiness" +msgid "{value}' tardiness" +msgstr "Résumé des retards" + +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +#, fuzzy +#| msgid "Start date" +msgid "Sort data ..." +msgstr "Date de début" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +msgid "Load statistics ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "Registre de Absence" @@ -731,26 +825,38 @@ msgstr "" msgid "Cancel" msgstr "" +#: 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 "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +#, fuzzy +#| msgid "Group" +msgid "My groups" +msgstr "Groupe" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "Vue de semaine" @@ -765,8 +871,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "" @@ -783,47 +889,29 @@ msgstr "" msgid "Lesson" msgstr "Cours" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 #, fuzzy #| msgid "Person" msgid "Persons" msgstr "Personne" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 #, fuzzy #| msgid "Current lesson" msgid "Previous" msgstr "Lecon actuelle" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" msgstr "" -#: 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: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:105 -msgid "Next" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 #, fuzzy #| msgid "" #| "\n" @@ -892,92 +980,97 @@ msgstr "" msgid "Filter results" msgstr "Notes personnelles importantes" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 #, 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "injustifié(e)" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "Sélectionner" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 #, fuzzy #| msgid "Personal note filters" msgid "Toggle filters" msgstr "Filtres de notes personnelles" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" " %(instance)s" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 #, fuzzy #| msgid "Personal overview" msgid "Visit lesson overview" msgstr "Vue d'ensemble personnelle" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "Injustifié(e)" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 #, fuzzy #| msgid "Summed up tardiness" msgid "Count of tardiness" msgstr "Résumé des retards" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 #, fuzzy #| msgid "" #| "\n" @@ -1029,6 +1122,13 @@ msgstr "" msgid "Assign group role for %(group)s" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:11 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:18 +#, fuzzy +#| msgid "Persons in group" +msgid "Assign group role" +msgstr "Personnes en groupe" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "" @@ -1102,16 +1202,16 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -1137,8 +1237,8 @@ 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "" @@ -1159,15 +1259,33 @@ msgstr "injustifié(e)" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#, fuzzy +#| msgid "Current lesson" +msgid "My previous lesson" +msgstr "Lecon actuelle" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +#, fuzzy +#| msgid "Current lesson" +msgid "My next lesson" +msgstr "Lecon actuelle" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, fuzzy, python-format #| msgid "From period" msgid "%(period)s. period" msgstr "De la période" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1175,13 +1293,13 @@ msgid "" " " 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:136 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1189,7 +1307,7 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1197,11 +1315,11 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "Changement d' histoire" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 #, fuzzy #| msgid "Tardiness" msgid "Tardiness (in m)" @@ -1327,33 +1445,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 #, fuzzy #| msgid "Group" msgid "Primary group" msgstr "Groupe" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 #, fuzzy #| msgid "Unexcused" msgid "Uncounted Absences" msgstr "injustifié(e)" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 #, fuzzy #| msgid "unexcused" msgid "Regular excused" msgstr "Injustifié(e)" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "" @@ -1532,104 +1650,137 @@ msgstr "Vue de semaine" msgid "Notes" msgstr "Notes" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:151 +#: aleksis/apps/alsijil/views.py:147 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:268 +#: aleksis/apps/alsijil/views.py:264 #, 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:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +msgid "Generate full register printout for {}" +msgstr "" + +#: aleksis/apps/alsijil/views.py:659 +msgid "Generate full register printout …" +msgstr "" + +#: aleksis/apps/alsijil/views.py:660 +#, fuzzy +#| msgid "Lesson documentation for calendar week" +msgid "The printout has been generated successfully." +msgstr "Documentation de cours pour la semaine calendrier" + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 #, 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:1162 +#: aleksis/apps/alsijil/views.py:1074 #, 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:1174 +#: aleksis/apps/alsijil/views.py:1086 #, 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:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 #, 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:1262 +#: aleksis/apps/alsijil/views.py:1176 #, 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:1273 +#: aleksis/apps/alsijil/views.py:1187 #, 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:1306 aleksis/apps/alsijil/views.py:1338 +#: aleksis/apps/alsijil/views.py:1221 aleksis/apps/alsijil/views.py:1253 #, 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:1357 +#: aleksis/apps/alsijil/views.py:1272 #, 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:1378 +#: aleksis/apps/alsijil/views.py:1293 #, 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:1391 +#: aleksis/apps/alsijil/views.py:1306 #, fuzzy #| msgid "Lesson documentation for calendar week" msgid "The group role assignment has been deleted." msgstr "Documentation de cours pour la semaine calendrier" +#~ msgid "Current lesson" +#~ msgstr "Lecon actuelle" + +#~ msgid "Current week" +#~ msgstr "Semaine actuelle" + +#, fuzzy +#~| msgid "Personal overview" +#~ msgid "My overview" +#~ msgstr "Vue d'ensemble personnelle" + #, fuzzy #~| msgid "Unexcused" #~ msgid "Excused absences" diff --git a/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po index 482b187e4b662d5dae6984428bf834aeb086c7eb..474943af086754291a287070770f0e915f2f5c6b 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: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+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" @@ -50,55 +50,55 @@ msgstr "" msgid "Ask teacher to check data" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 msgid "The personal note is marked as excused, but not as absent." msgstr "" @@ -110,10 +110,10 @@ msgstr "" msgid "Before" msgstr "" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -135,8 +135,8 @@ msgstr "" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "Grex" @@ -151,80 +151,80 @@ msgstr "" 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/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "Persona" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: 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/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "" -#: 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 "Persona" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -232,71 +232,6 @@ msgstr "" msgid "Event" 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 "" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -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 -#, fuzzy -#| msgid "Group" -msgid "My groups" -msgstr "Grex" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 -msgid "Extra marks" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "" @@ -337,105 +272,207 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 #, fuzzy #| msgid "First name" msgid "Short name" msgstr "Primus nomen" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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:85 +#: 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 "" + +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "" + +#: aleksis/apps/alsijil/models.py:299 #, fuzzy #| msgid "Person" msgid "Personal note" msgstr "Persona" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 #, fuzzy #| msgid "Group" msgid "Group note" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "" + +#: aleksis/apps/alsijil/models.py:489 +msgid "Lesson Topic" +msgstr "" + +#: aleksis/apps/alsijil/models.py:491 +#, fuzzy +#| msgid "Group" +msgid "Group Note" +msgstr "Grex" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +msgid "Documentation" +msgstr "" + +#: aleksis/apps/alsijil/models.py:525 +msgid "Documentations" +msgstr "" + +#: aleksis/apps/alsijil/models.py:765 +#, fuzzy +#| msgid "Group" +msgid "Groups of Person" +msgstr "Grex" + +#: aleksis/apps/alsijil/models.py:778 +msgid "Absence Reason" +msgstr "" + +#: aleksis/apps/alsijil/models.py:790 +msgid "Base Absence" +msgstr "" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +msgid "Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:833 +msgid "Extra Mark" +msgstr "" + +#: aleksis/apps/alsijil/models.py:840 +#, fuzzy +#| msgid "Person" +msgid "Personal Note" +msgstr "Persona" + +#: aleksis/apps/alsijil/models.py:841 +#, fuzzy +#| msgid "Person" +msgid "Personal Notes" +msgstr "Persona" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 #, fuzzy #| msgid "Group" msgid "Group role" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9 #, fuzzy @@ -443,55 +480,60 @@ msgstr "Grex" msgid "Group roles" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:468 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 #, fuzzy #| msgid "Group" msgid "Groups" msgstr "Grex" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "" @@ -572,6 +614,22 @@ msgstr "" msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -584,24 +642,17 @@ msgid "Date" msgstr "dies" #: 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" 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 "" - #: 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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" @@ -612,14 +663,46 @@ msgstr "" #: aleksis/apps/alsijil/tables.py:156 #, python-brace-format -msgid "{value}' late" +msgid "{value}' tardiness" +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +msgid "Sort data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +msgid "Load statistics ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "" @@ -663,26 +746,38 @@ msgstr "" msgid "Cancel" msgstr "" +#: 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 "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +#, fuzzy +#| msgid "Group" +msgid "My groups" +msgstr "Grex" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "" @@ -697,8 +792,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "" @@ -715,41 +810,27 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 #, fuzzy #| msgid "Person" msgid "Persons" msgstr "Persona" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" 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 "" - -#: 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:105 -msgid "Next" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -806,84 +887,89 @@ msgstr "" msgid "Filter results" msgstr "Persona" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" " %(instance)s" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 msgid "" "\n" " There are no lessons for the selected group or teacher in this week.\n" @@ -927,6 +1013,11 @@ msgstr "" msgid "Assign group role for %(group)s" msgstr "" +#: 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 "" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "" @@ -998,16 +1089,16 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -1031,8 +1122,8 @@ msgid "Unexcused absences" 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "" @@ -1049,14 +1140,28 @@ msgstr "" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1064,13 +1169,13 @@ msgid "" " " 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:136 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1078,7 +1183,7 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1086,11 +1191,11 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "" @@ -1206,29 +1311,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 #, fuzzy #| msgid "Group" msgid "Primary group" msgstr "Grex" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "" @@ -1399,79 +1504,99 @@ msgstr "" msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:151 +#: aleksis/apps/alsijil/views.py:147 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:268 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +msgid "Generate full register printout for {}" +msgstr "" + +#: aleksis/apps/alsijil/views.py:659 +msgid "Generate full register printout …" +msgstr "" + +#: aleksis/apps/alsijil/views.py:660 +msgid "The printout has been generated successfully." +msgstr "" + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1162 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1174 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1262 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1273 +#: aleksis/apps/alsijil/views.py:1187 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:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1357 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1378 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1391 +#: aleksis/apps/alsijil/views.py:1306 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 90e59955ce06421fc74620937eb7c06cce05da2b..7e8285208907941025f0a6da310079f0e35e214e 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: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+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" @@ -49,55 +49,55 @@ msgstr "" msgid "Ask teacher to check data" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 msgid "The personal note is marked as excused, but not as absent." msgstr "" @@ -109,10 +109,10 @@ msgstr "" msgid "Before" msgstr "" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -134,8 +134,8 @@ msgstr "" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "" @@ -150,80 +150,80 @@ msgstr "" 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/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: 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/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "" -#: 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 "" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -231,69 +231,6 @@ msgstr "" msgid "Event" 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 "" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -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 "" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 -msgid "Extra marks" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "" @@ -334,149 +271,248 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 msgid "Short name" msgstr "" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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:85 +#: 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 "" + +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "" + +#: aleksis/apps/alsijil/models.py:299 msgid "Personal note" msgstr "" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 msgid "Group note" msgstr "" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "" + +#: aleksis/apps/alsijil/models.py:489 +msgid "Lesson Topic" +msgstr "" + +#: aleksis/apps/alsijil/models.py:491 +msgid "Group Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +msgid "Documentation" +msgstr "" + +#: aleksis/apps/alsijil/models.py:525 +msgid "Documentations" +msgstr "" + +#: aleksis/apps/alsijil/models.py:765 +msgid "Groups of Person" +msgstr "" + +#: aleksis/apps/alsijil/models.py:778 +msgid "Absence Reason" +msgstr "" + +#: aleksis/apps/alsijil/models.py:790 +msgid "Base Absence" +msgstr "" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +msgid "Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:833 +msgid "Extra Mark" +msgstr "" + +#: aleksis/apps/alsijil/models.py:840 +msgid "Personal Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:841 +msgid "Personal Notes" +msgstr "" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: 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:468 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 msgid "Groups" msgstr "" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "" @@ -557,6 +593,22 @@ msgstr "" msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -569,24 +621,17 @@ msgid "Date" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" 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 "" - #: 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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" @@ -597,14 +642,46 @@ msgstr "" #: aleksis/apps/alsijil/tables.py:156 #, python-brace-format -msgid "{value}' late" +msgid "{value}' tardiness" +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +msgid "Sort data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +msgid "Load statistics ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "" @@ -648,26 +725,36 @@ msgstr "" msgid "Cancel" msgstr "" +#: 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 "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +msgid "My groups" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "" @@ -682,8 +769,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "" @@ -700,39 +787,25 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 msgid "Persons" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" 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 "" - -#: 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:105 -msgid "Next" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -785,84 +858,89 @@ msgstr "" msgid "Filter results" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" " %(instance)s" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 msgid "" "\n" " There are no lessons for the selected group or teacher in this week.\n" @@ -906,6 +984,11 @@ msgstr "" msgid "Assign group role for %(group)s" msgstr "" +#: 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 "" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "" @@ -975,16 +1058,16 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -1008,8 +1091,8 @@ msgid "Unexcused absences" 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "" @@ -1026,14 +1109,28 @@ msgstr "" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1041,13 +1138,13 @@ msgid "" " " 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:136 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1055,7 +1152,7 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1063,11 +1160,11 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "" @@ -1183,27 +1280,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 msgid "Primary group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "" @@ -1374,78 +1471,98 @@ msgstr "" msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:151 +#: aleksis/apps/alsijil/views.py:147 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:268 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +msgid "Generate full register printout for {}" +msgstr "" + +#: aleksis/apps/alsijil/views.py:659 +msgid "Generate full register printout …" +msgstr "" + +#: aleksis/apps/alsijil/views.py:660 +msgid "The printout has been generated successfully." +msgstr "" + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1162 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1174 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1262 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1273 +#: aleksis/apps/alsijil/views.py:1187 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:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1357 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1378 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1391 +#: aleksis/apps/alsijil/views.py:1306 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 f7d4d6e925786bb72d7a37b62d5629aec7f4989c..aff00561b86b01e0dfb0862151a83a96fc6741cf 100644 --- a/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+0200\n" "PO-Revision-Date: 2023-05-26 04:38+0000\n" "Last-Translator: Serhii Horichenko <m@sgg.im>\n" "Language-Team: Russian <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/ru/>\n" @@ -50,55 +50,55 @@ msgstr "Мы отправили уведомление Ð´Ð»Ñ {count_teachers} msgid "Ask teacher to check data" msgstr "ПопроÑить ÑƒÑ‡Ð¸Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ данные" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "Удалить объект" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "УÑтановить текущие группы" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "СброÑить личные заметки на типовые" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "УбедитеÑÑŒ, чтобы в отмененных уроках не было личных заметок" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "У отмененного урока еÑть ÑвÑзанные личные заметки." -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "УбедитеÑÑŒ, что Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ личной заметки уÑтановлены \"группы_лиц\"" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "Ðта Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° без группы в \"группах_лиц\"." -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "УбедитеÑÑŒ, что на выходные нет заполненного учебного материала" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "Ðа выходные еÑть учебный материал." -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "УбедитеÑÑŒ, что на выходные нет заполненных личных заметок" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "Ðа выходные еÑть личные заметки." -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "УбедитеÑÑŒ, что нет личных заметок Ñ Ð¿Ð¾ÑÑнениÑми без отÑутÑтвиÑ" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 msgid "The personal note is marked as excused, but not as absent." msgstr "Ðта Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° отмечена как поÑÑнительнаÑ, но нет отÑутÑтвиÑ." @@ -110,10 +110,10 @@ msgstr "ПоÑле" msgid "Before" msgstr "До" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -135,8 +135,8 @@ msgstr "ДомашнÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð° на Ñледующий урок" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "Группа" @@ -151,80 +151,80 @@ msgstr "Преподаватель" 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/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "Физлицо" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: 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/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "Дата окончаниÑ" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "Ðачало уроков" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "Окончание уроков" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "ОтÑутÑтвует" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "Уважительно" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "Тип объÑÑнительной запиÑки" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "ЗамечаниÑ" -#: 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 "Физлицо" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "Учебный год" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "Имеет в наличии учебный материал" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -232,69 +232,6 @@ msgstr "Имеет в наличии учебный материал" msgid "Event" 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 "КлаÑÑный журнал" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "Текущий урок" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -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 "Мои группы" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -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 "Мои Ñтуденты" - -#: 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 "Ðазначить роль группы" - -#: 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 "Ð’Ñе уроки" - -#: 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 "Типы объÑÑнительных" - -#: 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 -msgid "Extra marks" -msgstr "Дополнительные отметки" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "Управление ролÑми групп" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "Может проÑматривать клаÑÑный журнал группы за неделю" @@ -335,149 +272,270 @@ msgstr "Может назначать роль группы Ð´Ð»Ñ Ñтой гр msgid "Can register an absence for a person" msgstr "Может региÑтрировать отÑутÑтвиÑ" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 msgid "Short name" msgstr "Короткое имÑ" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "Полное имÑ" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "КоличеÑтво отÑутÑтвующих" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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:85 +#: 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 "Типы объÑÑнительных" + +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "Год" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "Дополнительные отметки" + +#: aleksis/apps/alsijil/models.py:299 msgid "Personal note" msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ°" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "Личные заметки" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "Тема урока" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "ДомашнÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 msgid "Group note" msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ°" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "Учебный материал" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "Учебные материалы" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ°" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "Преподаватели" + +#: aleksis/apps/alsijil/models.py:489 +#, fuzzy +#| msgid "Lesson topic" +msgid "Lesson Topic" +msgstr "Тема урока" + +#: aleksis/apps/alsijil/models.py:491 +#, fuzzy +#| msgid "Group note" +msgid "Group Note" +msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ°" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +#, fuzzy +#| msgid "Lesson documentation" +msgid "Documentation" +msgstr "Учебный материал" + +#: aleksis/apps/alsijil/models.py:525 +#, fuzzy +#| msgid "Lesson documentations" +msgid "Documentations" +msgstr "Учебные материалы" + +#: aleksis/apps/alsijil/models.py:765 +#, fuzzy +#| msgid "Group roles" +msgid "Groups of Person" +msgstr "Роли групп" + +#: aleksis/apps/alsijil/models.py:778 +#, fuzzy +#| msgid "Absences" +msgid "Absence Reason" +msgstr "ПропуÑки" + +#: aleksis/apps/alsijil/models.py:790 +#, fuzzy +#| msgid "Absences" +msgid "Base Absence" +msgstr "ПропуÑки" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +#, fuzzy +#| msgid "Notes" +msgid "Note" +msgstr "Заметки" + +#: aleksis/apps/alsijil/models.py:833 +#, fuzzy +#| msgid "Extra mark" +msgid "Extra Mark" +msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ°" + +#: aleksis/apps/alsijil/models.py:840 +#, fuzzy +#| msgid "Personal note" +msgid "Personal Note" +msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ°" + +#: aleksis/apps/alsijil/models.py:841 +#, fuzzy +#| msgid "Personal notes" +msgid "Personal Notes" +msgstr "Личные заметки" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "Иконка" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "Цвет" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "Роль группы" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: 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:468 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "Может назначать роль группы" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "Ðазначенное физлицо" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 msgid "Groups" msgstr "Группы" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "ЕÑли нет точной конечной даты, можно оÑтавить незаполненным" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "Ðазначение роли группы" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "Ðазначение ролей групп" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "Может проÑматривать обзор урока" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "Может проÑматривать недельный обзор" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "Может проÑматривать веÑÑŒ журнал" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "Может региÑтрировать отÑутÑтвие" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "Может проÑматривать вÑе фильтры личных заметок" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "КлаÑÑный журнал" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "Блокировать добавление личных заметок к отмененным урокам" @@ -492,9 +550,7 @@ 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 "" -"Ðаделить владельца родительÑкой группы такими же правами, как у владельца " -"ÑоответÑтвующих дочерних групп" +msgstr "Ðаделить владельца родительÑкой группы такими же правами, как у владельца ÑоответÑтвующих дочерних групп" #: aleksis/apps/alsijil/preferences.py:54 msgid "Allow original teachers to edit their lessons although they are substituted" @@ -510,15 +566,11 @@ msgstr "Ðто перенеÑёт данные только в Ñлучае от #: 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 "" -"Разрешить Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ урока на вÑе такие же " -"уроки Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же номером в раÑпиÑании на той же неделе" +msgstr "Разрешить Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ урока на вÑе такие же уроки Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же номером в раÑпиÑании на той же неделе" #: aleksis/apps/alsijil/preferences.py:79 msgid "This will carry over data only if the data in the aforementioned periods are empty." -msgstr "" -"Ðто перенеÑёт данные только еÑли в упомÑнутых выше уроках данные не " -"заполнены." +msgstr "Ðто перенеÑёт данные только еÑли в упомÑнутых выше уроках данные не заполнены." #: aleksis/apps/alsijil/preferences.py:88 msgid "Carry over personal notes to all following lesson periods on the same day." @@ -564,6 +616,22 @@ msgstr "ÐšÐ°Ð¶Ð´Ð°Ñ Ñтраница должна Ñодержать Ñ…Ð¾Ñ‚Ñ msgid "Filter lessons by existence of their lesson documentation on default" msgstr "По-умолчанию фильтровать уроки по наличию в них учебного материала" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -576,24 +644,17 @@ msgid "Date" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" 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 "Преподаватели" - #: 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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "Опоздание" @@ -603,15 +664,52 @@ msgid "Excuse" msgstr "ОбъÑÑнительнаÑ" #: aleksis/apps/alsijil/tables.py:156 -#, python-brace-format -msgid "{value}' late" +#, fuzzy, python-brace-format +#| msgid "{value}' late" +msgid "{value}' tardiness" msgstr "{value}' задержка" +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +#, fuzzy +#| msgid "Start date" +msgid "Sort data ..." +msgstr "Дата начала" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +#, fuzzy +#| msgid "Statistics" +msgid "Load statistics ..." +msgstr "СтатиÑтика" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÑутÑтвиÑ" @@ -665,26 +763,36 @@ msgstr "СброÑить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° 'не отÑутÑтвует'" msgid "Cancel" msgstr "Отменить" +#: 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 "Ð’Ñе уроки" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +msgid "My groups" +msgstr "Мои группы" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "Ðедельный обзор" @@ -699,8 +807,8 @@ msgstr "Роли" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "Подготовить к печати" @@ -717,39 +825,25 @@ msgstr "Ñтуденты" msgid "Lesson" msgstr "Урок" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 msgid "Persons" msgstr "Люди" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "План раÑÑадки" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "Предыдущий" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" 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 "Мой предыдущий урок" - -#: 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:105 -msgid "Next" -msgstr "Следующий" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -808,52 +902,57 @@ msgstr "Фильтры" msgid "Filter results" msgstr "Результат фильтров" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "СтатиÑтика пропуÑков, опозданий и замечаний" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "Без поÑÑнений" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "СпиÑок Ñтудентов: %(group)s" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "Отметить" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "Переключить фильтры" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" @@ -862,32 +961,32 @@ msgstr "" "ÐД %(week)s:\n" " %(instance)s" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "Развернуть" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "Обзор поÑещений урока" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "без поÑÑнений" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "КоличеÑтво опозданий" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "Ðет доÑтупных уроков" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 msgid "" "\n" " There are no lessons for the selected group or teacher in this week.\n" @@ -938,6 +1037,11 @@ msgstr "Редактировать дополнительную отметку" msgid "Assign group role for %(group)s" msgstr "Ðазначить роль группы Ð´Ð»Ñ %(group)s" +#: 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 "Ðазначить роль группы" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "Ðазначить" @@ -1011,16 +1115,16 @@ msgstr "Проверьте, пожалуйÑта, Ñти запиÑи в кла #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "(н)" @@ -1044,8 +1148,8 @@ msgid "Unexcused absences" 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "Сумма (п)" @@ -1062,14 +1166,28 @@ msgstr "РегулÑрные обоÑнованные пропуÑки" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "Мой предыдущий урок" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "Мой Ñледующий урок" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "Следующий" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "%(period)s. урок" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1080,13 +1198,13 @@ msgstr "" " %(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 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "Сохранить" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1097,7 +1215,7 @@ msgstr "" " Предыдущий урок %(subject)s\n" " " -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1108,11 +1226,11 @@ msgstr "" " Следующий урок %(subject)s\n" " " -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "Изменить иÑторию" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "ÐžÐ¿Ð¾Ð·Ð´Ð°Ð½Ð¸Ñ (мин)" @@ -1182,8 +1300,7 @@ msgid "" " " msgstr "" "\n" -" Создать новый план раÑÑадки %(group)s (%(subject)s) в " -"%(room)s\n" +" Создать новый план раÑÑадки %(group)s (%(subject)s) в %(room)s\n" " " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 @@ -1241,27 +1358,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 msgid "Primary group" msgstr "ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "Ðеучтённые пропуÑки" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "Сумма" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "РегулÑрные обоÑнованиÑ" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "Показать более детально" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "Детали" @@ -1446,78 +1563,116 @@ msgstr "ÐеделÑ" msgid "Notes" msgstr "Заметки" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "Ð’Ñ‹ или выбрали неправильный урок, или ÑÐµÐ¹Ñ‡Ð°Ñ ÑƒÑ€Ð¾ÐºÐ° нет." -#: aleksis/apps/alsijil/views.py:151 +#: aleksis/apps/alsijil/views.py:147 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "Вам Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздавать учебные материалы Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÐ¾Ð² в будущем." -#: aleksis/apps/alsijil/views.py:268 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "Учебный материал Ñохранён." -#: aleksis/apps/alsijil/views.py:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "Личные заметки Ñохранены." -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +#, fuzzy +#| msgid "Generate printout" +msgid "Generate full register printout for {}" +msgstr "Подготовить к печати" + +#: aleksis/apps/alsijil/views.py:659 +#, fuzzy +#| msgid "Generate printout" +msgid "Generate full register printout …" +msgstr "Подготовить к печати" + +#: aleksis/apps/alsijil/views.py:660 +#, fuzzy +#| msgid "The personal note has been deleted." +msgid "The printout has been generated successfully." +msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° удалена." + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "ОтÑутÑтвие Ñохранено." -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÑ‚ÐºÐ° удалена." -#: aleksis/apps/alsijil/views.py:1162 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° Ñоздана." -#: aleksis/apps/alsijil/views.py:1174 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° Ñохранена." -#: aleksis/apps/alsijil/views.py:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ° удалена." -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "Тип объÑÑнительной Ñоздан." -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "Тип объÑÑнительной Ñохранён." -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "Тип объÑÑнительной удалён." -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "Роль группы Ñоздана." -#: aleksis/apps/alsijil/views.py:1262 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "Роль группы Ñохранена." -#: aleksis/apps/alsijil/views.py:1273 +#: aleksis/apps/alsijil/views.py:1187 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:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "Роль группы назначена." -#: aleksis/apps/alsijil/views.py:1357 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "Ðазначение роли группы Ñохранено." -#: aleksis/apps/alsijil/views.py:1378 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "Ðазначение роли группы оÑтановлено." -#: aleksis/apps/alsijil/views.py:1391 +#: aleksis/apps/alsijil/views.py:1306 msgid "The group role assignment has been deleted." msgstr "Ðазначение роли группы удалено." + +#~ msgid "Current lesson" +#~ msgstr "Текущий урок" + +#~ msgid "Current week" +#~ msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð½ÐµÐ´ÐµÐ»Ñ" + +#~ msgid "My overview" +#~ msgstr "Мой обзор" + +#~ msgid "Manage group roles" +#~ 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 90e59955ce06421fc74620937eb7c06cce05da2b..7e8285208907941025f0a6da310079f0e35e214e 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: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+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" @@ -49,55 +49,55 @@ msgstr "" msgid "Ask teacher to check data" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "" -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" msgstr "" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 msgid "The personal note is marked as excused, but not as absent." msgstr "" @@ -109,10 +109,10 @@ msgstr "" msgid "Before" msgstr "" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220 msgid "Subject" @@ -134,8 +134,8 @@ msgstr "" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219 msgid "Group" msgstr "" @@ -150,80 +150,80 @@ msgstr "" 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/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: 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/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65 msgid "End date" msgstr "" -#: aleksis/apps/alsijil/forms.py:194 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "" -#: aleksis/apps/alsijil/forms.py:195 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352 msgid "Absent" msgstr "" -#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297 msgid "Excused" msgstr "" -#: 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:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "" -#: 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/forms.py:206 +#: 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:354 msgid "Remarks" msgstr "" -#: 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 "" - -#: aleksis/apps/alsijil/forms.py:346 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "" -#: aleksis/apps/alsijil/forms.py:347 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 @@ -231,69 +231,6 @@ msgstr "" msgid "Event" 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 "" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -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 "" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 -msgid "Extra marks" -msgstr "" - -#: aleksis/apps/alsijil/menus.py:115 -msgid "Manage group roles" -msgstr "" - #: aleksis/apps/alsijil/model_extensions.py:191 msgid "Can view week overview of group class register" msgstr "" @@ -334,149 +271,248 @@ msgstr "" msgid "Can register an absence for a person" msgstr "" -#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 msgid "Short name" msgstr "" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 aleksis/apps/alsijil/tables.py:41 msgid "Count as absent" msgstr "" -#: aleksis/apps/alsijil/models.py:57 +#: aleksis/apps/alsijil/models.py:70 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:85 +#: 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 "" + +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "" -#: aleksis/apps/alsijil/models.py:292 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "" + +#: aleksis/apps/alsijil/models.py:299 msgid "Personal note" msgstr "" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421 msgid "Lesson topic" msgstr "" -#: 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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 msgid "Homework" msgstr "" -#: 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:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 msgid "Group note" msgstr "" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "" -#: aleksis/apps/alsijil/models.py:442 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "" -#: aleksis/apps/alsijil/models.py:456 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "" + +#: aleksis/apps/alsijil/models.py:489 +msgid "Lesson Topic" +msgstr "" + +#: aleksis/apps/alsijil/models.py:491 +msgid "Group Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +msgid "Documentation" +msgstr "" + +#: aleksis/apps/alsijil/models.py:525 +msgid "Documentations" +msgstr "" + +#: aleksis/apps/alsijil/models.py:765 +msgid "Groups of Person" +msgstr "" + +#: aleksis/apps/alsijil/models.py:778 +msgid "Absence Reason" +msgstr "" + +#: aleksis/apps/alsijil/models.py:790 +msgid "Base Absence" +msgstr "" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +msgid "Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:833 +msgid "Extra Mark" +msgstr "" + +#: aleksis/apps/alsijil/models.py:840 +msgid "Personal Note" +msgstr "" + +#: aleksis/apps/alsijil/models.py:841 +msgid "Personal Notes" +msgstr "" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "" -#: aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62 msgid "Group role" msgstr "" -#: aleksis/apps/alsijil/models.py:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: 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:468 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "" -#: aleksis/apps/alsijil/models.py:484 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "" -#: 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:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 msgid "Groups" msgstr "" -#: aleksis/apps/alsijil/models.py:496 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "" -#: aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "" -#: aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "" -#: aleksis/apps/alsijil/models.py:519 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "" -#: aleksis/apps/alsijil/models.py:520 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "" -#: aleksis/apps/alsijil/models.py:521 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "" -#: aleksis/apps/alsijil/models.py:522 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "" -#: aleksis/apps/alsijil/models.py:523 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "" @@ -557,6 +593,22 @@ msgstr "" msgid "Filter lessons by existence of their lesson documentation on default" msgstr "" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -569,24 +621,17 @@ msgid "Date" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" 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 "" - #: 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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "" @@ -597,14 +642,46 @@ msgstr "" #: aleksis/apps/alsijil/tables.py:156 #, python-brace-format -msgid "{value}' late" +msgid "{value}' tardiness" +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +msgid "Sort data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +msgid "Load statistics ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" msgstr "" #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "" @@ -648,26 +725,36 @@ msgstr "" msgid "Cancel" msgstr "" +#: 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 "" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +msgid "My groups" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "" @@ -682,8 +769,8 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "" @@ -700,39 +787,25 @@ msgstr "" msgid "Lesson" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 msgid "Persons" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" 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 "" - -#: 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:105 -msgid "Next" -msgstr "" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -785,84 +858,89 @@ msgstr "" msgid "Filter results" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" " %(instance)s" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 msgid "" "\n" " There are no lessons for the selected group or teacher in this week.\n" @@ -906,6 +984,11 @@ msgstr "" msgid "Assign group role for %(group)s" msgstr "" +#: 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 "" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "" @@ -975,16 +1058,16 @@ msgstr "" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "" @@ -1008,8 +1091,8 @@ msgid "Unexcused absences" 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "" @@ -1026,14 +1109,28 @@ msgstr "" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1041,13 +1138,13 @@ msgid "" " " 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:136 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1055,7 +1152,7 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1063,11 +1160,11 @@ msgid "" " " msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "" @@ -1183,27 +1280,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 msgid "Primary group" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "" @@ -1374,78 +1471,98 @@ msgstr "" msgid "Notes" msgstr "" -#: aleksis/apps/alsijil/views.py:118 +#: aleksis/apps/alsijil/views.py:114 msgid "You either selected an invalid lesson or there is currently no lesson in progress." msgstr "" -#: aleksis/apps/alsijil/views.py:151 +#: aleksis/apps/alsijil/views.py:147 msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "" -#: aleksis/apps/alsijil/views.py:268 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:302 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1119 +#: aleksis/apps/alsijil/views.py:658 +msgid "Generate full register printout for {}" +msgstr "" + +#: aleksis/apps/alsijil/views.py:659 +msgid "Generate full register printout …" +msgstr "" + +#: aleksis/apps/alsijil/views.py:660 +msgid "The printout has been generated successfully." +msgstr "" + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1140 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1162 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1174 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1185 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1206 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1218 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1229 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "" -#: aleksis/apps/alsijil/views.py:1250 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "" -#: aleksis/apps/alsijil/views.py:1262 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1273 +#: aleksis/apps/alsijil/views.py:1187 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:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "" -#: aleksis/apps/alsijil/views.py:1357 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "" -#: aleksis/apps/alsijil/views.py:1378 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "" -#: aleksis/apps/alsijil/views.py:1391 +#: aleksis/apps/alsijil/views.py:1306 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 4d42b8750e5d3f189681038046bb0137c9aba0ff..d3663a8befb259e29f630d7b08355882257e5e4a 100644 --- a/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po +++ b/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-25 15:28+0200\n" +"POT-Creation-Date: 2024-06-13 11:19+0200\n" "PO-Revision-Date: 2023-01-25 05:58+0000\n" "Last-Translator: Serhii Horichenko <m@sgg.im>\n" "Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/uk/>\n" @@ -43,67 +43,62 @@ 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 "" -"Ми надіÑлали ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð´Ð»Ñ {count_teachers} оÑіб щодо {count_items} уроків." +msgid "We have successfully sent notifications to {count_teachers} persons for {count_items} lessons." +msgstr "Ми надіÑлали ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð´Ð»Ñ {count_teachers} оÑіб щодо {count_items} уроків." #: aleksis/apps/alsijil/actions.py:92 msgid "Ask teacher to check data" msgstr "ПопроÑити Ð²Ñ‡Ð¸Ñ‚ÐµÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¸Ñ‚Ð¸ дані" -#: aleksis/apps/alsijil/data_checks.py:12 +#: aleksis/apps/alsijil/data_checks.py:16 msgid "Delete object" msgstr "Видалити об'єкт" -#: aleksis/apps/alsijil/data_checks.py:22 +#: aleksis/apps/alsijil/data_checks.py:26 msgid "Set current groups" msgstr "Ð’Ñтановити поточні групи" -#: aleksis/apps/alsijil/data_checks.py:33 +#: aleksis/apps/alsijil/data_checks.py:37 msgid "Reset personal note to defaults" msgstr "Скинути перÑональні нотатки на типові" -#: aleksis/apps/alsijil/data_checks.py:45 +#: aleksis/apps/alsijil/data_checks.py:49 msgid "Ensure that there are no personal notes in cancelled lessons" msgstr "ПереконайтеÑÑ, щоб у ÑкаÑованих уроках не було оÑобиÑтих нотаток" -#: aleksis/apps/alsijil/data_checks.py:46 +#: aleksis/apps/alsijil/data_checks.py:50 msgid "The personal note is related to a cancelled lesson." msgstr "У ÑкаÑованого уроку Ñ” пов'Ñзані оÑобиÑті нотатки." -#: aleksis/apps/alsijil/data_checks.py:73 +#: aleksis/apps/alsijil/data_checks.py:77 msgid "Ensure that 'groups_of_person' is set for every personal note" -msgstr "" -"ПереконайтеÑÑ, що Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— оÑобиÑтої нотатки уÑтановлені \"групи_оÑіб\"" +msgstr "ПереконайтеÑÑ, що Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— оÑобиÑтої нотатки уÑтановлені \"групи_оÑіб\"" -#: aleksis/apps/alsijil/data_checks.py:74 +#: aleksis/apps/alsijil/data_checks.py:78 msgid "The personal note has no group in 'groups_of_person'." msgstr "Ð¦Ñ Ð¾ÑобиÑта нотатка не має групи у \"групах_оÑіб\"." -#: aleksis/apps/alsijil/data_checks.py:99 +#: aleksis/apps/alsijil/data_checks.py:103 msgid "Ensure that there are no filled out lesson documentations on holidays" msgstr "ПереконайтеÑÑ, що на вихідні немає заповненого учбового матеріалу" -#: aleksis/apps/alsijil/data_checks.py:100 +#: aleksis/apps/alsijil/data_checks.py:104 msgid "The lesson documentation is on holidays." msgstr "Ðа вихідних Ñ” учбовий матеріал." -#: aleksis/apps/alsijil/data_checks.py:133 +#: aleksis/apps/alsijil/data_checks.py:137 msgid "Ensure that there are no filled out personal notes on holidays" msgstr "ПереконайтеÑÑ, що на вихідні немає заповнених оÑобиÑтих нотаток" -#: aleksis/apps/alsijil/data_checks.py:134 +#: aleksis/apps/alsijil/data_checks.py:138 msgid "The personal note is on holidays." msgstr "Ці оÑобиÑті нотатки Ñ” на вихідних." -#: aleksis/apps/alsijil/data_checks.py:162 +#: aleksis/apps/alsijil/data_checks.py:166 msgid "Ensure that there are no excused personal notes without an absence" -msgstr "" -"ПереконайтеÑÑ, що немає оÑобиÑтих нотаток щодо поÑÑÐ½ÐµÐ½Ð½Ñ Ð±ÐµÐ· відÑутноÑті" +msgstr "ПереконайтеÑÑ, що немає оÑобиÑтих нотаток щодо поÑÑÐ½ÐµÐ½Ð½Ñ Ð±ÐµÐ· відÑутноÑті" -#: aleksis/apps/alsijil/data_checks.py:163 +#: aleksis/apps/alsijil/data_checks.py:167 msgid "The personal note is marked as excused, but not as absent." msgstr "Ð¦Ñ Ð¿ÐµÑ€Ñональна нотатка відмічена Ñк поÑÑненнÑ, але не Ñк пропуÑк." @@ -115,13 +110,12 @@ msgstr "ПіÑлÑ" msgid "Before" msgstr "Перед" -#: 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/filters.py:14 aleksis/apps/alsijil/forms.py:371 +#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:116 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:223 #: 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 "Предмет" @@ -141,389 +135,407 @@ msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð° на наÑтупний урок" 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/forms.py:98 aleksis/apps/alsijil/forms.py:278 +#: aleksis/apps/alsijil/forms.py:370 #: 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 msgid "Group" msgstr "Група" #: 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:121 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:192 aleksis/apps/alsijil/forms.py:350 -#: aleksis/apps/alsijil/models.py:491 +#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:291 +#: aleksis/apps/alsijil/models.py:762 aleksis/apps/alsijil/models.py:819 +#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27 +msgid "Person" +msgstr "ОÑоба" + +#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:372 +#: aleksis/apps/alsijil/models.py:891 #: 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 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/forms.py:195 aleksis/apps/alsijil/forms.py:373 +#: aleksis/apps/alsijil/models.py:895 #: 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 msgid "End date" msgstr "Дата закінченнÑ" -#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:152 +#: aleksis/apps/alsijil/forms.py:196 msgid "Start period" msgstr "Початок уроків" -#: aleksis/apps/alsijil/forms.py:195 aleksis/apps/alsijil/forms.py:153 +#: aleksis/apps/alsijil/forms.py:197 msgid "End period" msgstr "Ð—Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ ÑƒÑ€Ð¾ÐºÑ–Ð²" -#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117 +#: aleksis/apps/alsijil/forms.py:198 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/class_register/week_view.html:392 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28 #: 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:197 aleksis/apps/alsijil/tables.py:146 +#: aleksis/apps/alsijil/forms.py:199 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/class_register/person.html:135 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:87 #: 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: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 +#: aleksis/apps/alsijil/forms.py:201 aleksis/apps/alsijil/models.py:84 +#: aleksis/apps/alsijil/models.py:260 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72 msgid "Excuse type" msgstr "Тип поÑÑненнÑ" -#: 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/forms.py:206 +#: 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:354 -#: aleksis/apps/alsijil/forms.py:162 msgid "Remarks" msgstr "ЗауваженнÑ" -#: 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:346 aleksis/apps/alsijil/forms.py:299 +#: aleksis/apps/alsijil/forms.py:368 msgid "School term" msgstr "Ðавчальний рік" -#: aleksis/apps/alsijil/forms.py:347 aleksis/apps/alsijil/forms.py:300 +#: aleksis/apps/alsijil/forms.py:369 msgid "Has lesson documentation" msgstr "Має учбовий матеріал" -#: 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/managers.py:91 aleksis/apps/alsijil/tables.py:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:172 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:236 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:311 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:99 #: 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 "ПодіÑ" -#: 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 "КлаÑний журнал" - -#: aleksis/apps/alsijil/menus.py:16 -msgid "Current lesson" -msgstr "Поточний урок" - -#: aleksis/apps/alsijil/menus.py:27 -msgid "Current week" -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 "Мої групи" - -#: aleksis/apps/alsijil/menus.py:49 -msgid "My overview" -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 "Мої Ñтуденти" - -#: 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 "Призначити роль групи" - -#: 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 "УÑÑ– уроки" - -#: 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 "Типи поÑÑнень" - -#: 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 "Додаткові відмітки" - -#: aleksis/apps/alsijil/menus.py:115 -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:430 -#: aleksis/apps/alsijil/models.py:419 +#: aleksis/apps/alsijil/models.py:63 aleksis/apps/alsijil/models.py:437 msgid "Short name" msgstr "Коротке ім'Ñ" -#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431 -#: aleksis/apps/alsijil/models.py:455 +#: aleksis/apps/alsijil/models.py:64 aleksis/apps/alsijil/models.py:438 +#: aleksis/apps/alsijil/models.py:855 #: 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 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25 msgid "Name" msgstr "Повне ім'Ñ" -#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41 +#: aleksis/apps/alsijil/models.py:68 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:70 +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:85 +#: 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 "Типи поÑÑнень" -#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332 -#: aleksis/apps/alsijil/models.py:225 aleksis/apps/alsijil/models.py:324 +#: aleksis/apps/alsijil/models.py:240 aleksis/apps/alsijil/models.py:339 msgid "Year" msgstr "Рік" -#: aleksis/apps/alsijil/models.py:292 aleksis/apps/alsijil/models.py:284 +#: aleksis/apps/alsijil/models.py:265 aleksis/apps/alsijil/models.py:455 +#: 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:32 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:19 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331 +msgid "Extra marks" +msgstr "Додаткові відмітки" + +#: aleksis/apps/alsijil/models.py:299 msgid "Personal note" msgstr "ОÑобиÑта нотатка" -#: aleksis/apps/alsijil/models.py:293 +#: aleksis/apps/alsijil/models.py:300 #: 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:370 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:21 msgid "Personal notes" msgstr "ОÑобиÑті нотатки" -#: 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/models.py:351 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:259 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:337 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:25 #: 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: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/models.py:352 aleksis/apps/alsijil/models.py:490 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:129 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:265 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:33 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422 -#: aleksis/apps/alsijil/models.py:337 msgid "Homework" msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð°" -#: 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 +#: aleksis/apps/alsijil/models.py:353 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:271 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:346 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:41 msgid "Group note" msgstr "Групова нотатка" -#: aleksis/apps/alsijil/models.py:396 -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17 -#: aleksis/apps/alsijil/models.py:385 +#: aleksis/apps/alsijil/models.py:403 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:16 msgid "Lesson documentation" msgstr "Учбовий матеріал" -#: aleksis/apps/alsijil/models.py:397 +#: aleksis/apps/alsijil/models.py:404 #: 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:77 msgid "Lesson documentations" msgstr "Учбові матеріали" -#: aleksis/apps/alsijil/models.py:442 aleksis/apps/alsijil/models.py:431 +#: aleksis/apps/alsijil/models.py:440 +msgid "Foreground colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:441 +msgid "Background colour" +msgstr "" + +#: aleksis/apps/alsijil/models.py:443 +msgid "Show in coursebook" +msgstr "" + +#: aleksis/apps/alsijil/models.py:454 msgid "Extra mark" msgstr "Додаткова відмітка" -#: aleksis/apps/alsijil/models.py:456 aleksis/apps/alsijil/models.py:445 +#: aleksis/apps/alsijil/models.py:474 +msgid "Course" +msgstr "" + +#: aleksis/apps/alsijil/models.py:486 aleksis/apps/alsijil/tables.py:111 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:127 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:253 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:331 +msgid "Teachers" +msgstr "Викладачі" + +#: aleksis/apps/alsijil/models.py:489 +#, fuzzy +#| msgid "Lesson topic" +msgid "Lesson Topic" +msgstr "Тема уроку" + +#: aleksis/apps/alsijil/models.py:491 +#, fuzzy +#| msgid "Group note" +msgid "Group Note" +msgstr "Групова нотатка" + +#: aleksis/apps/alsijil/models.py:495 +msgid "Participation touched at" +msgstr "" + +#: aleksis/apps/alsijil/models.py:524 aleksis/apps/alsijil/models.py:772 +#: aleksis/apps/alsijil/models.py:826 +#, fuzzy +#| msgid "Lesson documentation" +msgid "Documentation" +msgstr "Учбовий матеріал" + +#: aleksis/apps/alsijil/models.py:525 +#, fuzzy +#| msgid "Lesson documentations" +msgid "Documentations" +msgstr "Учбові матеріали" + +#: aleksis/apps/alsijil/models.py:765 +#, fuzzy +#| msgid "Group roles" +msgid "Groups of Person" +msgstr "Ролі груп" + +#: aleksis/apps/alsijil/models.py:778 +#, fuzzy +#| msgid "Absences" +msgid "Absence Reason" +msgstr "ВідÑутноÑті" + +#: aleksis/apps/alsijil/models.py:790 +#, fuzzy +#| msgid "Absences" +msgid "Base Absence" +msgstr "ВідÑутноÑті" + +#: aleksis/apps/alsijil/models.py:802 aleksis/apps/alsijil/models.py:803 +msgid "Participation Status" +msgstr "" + +#: aleksis/apps/alsijil/models.py:831 +#, fuzzy +#| msgid "Notes" +msgid "Note" +msgstr "Ðотатки" + +#: aleksis/apps/alsijil/models.py:833 +#, fuzzy +#| msgid "Extra mark" +msgid "Extra Mark" +msgstr "Додаткова відмітка" + +#: aleksis/apps/alsijil/models.py:840 +#, fuzzy +#| msgid "Personal note" +msgid "Personal Note" +msgstr "ОÑобиÑта нотатка" + +#: aleksis/apps/alsijil/models.py:841 +#, fuzzy +#| msgid "Personal notes" +msgid "Personal Notes" +msgstr "ОÑобиÑті нотатки" + +#: aleksis/apps/alsijil/models.py:856 msgid "Icon" msgstr "Піктограма" -#: aleksis/apps/alsijil/models.py:457 aleksis/apps/alsijil/models.py:446 +#: aleksis/apps/alsijil/models.py:857 msgid "Colour" msgstr "Колір" -#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478 +#: aleksis/apps/alsijil/models.py:863 aleksis/apps/alsijil/models.py:878 #: 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:464 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34 +#: aleksis/apps/alsijil/models.py:864 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90 #: 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:468 aleksis/apps/alsijil/models.py:457 +#: aleksis/apps/alsijil/models.py:865 msgid "Can assign group role" msgstr "Може призначати роль групи" -#: aleksis/apps/alsijil/models.py:484 aleksis/apps/alsijil/models.py:473 +#: aleksis/apps/alsijil/models.py:884 msgid "Assigned person" msgstr "Призначена оÑоба" -#: 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 +#: aleksis/apps/alsijil/models.py:889 aleksis/apps/alsijil/tables.py:105 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:124 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:242 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:321 msgid "Groups" msgstr "Групи" -#: aleksis/apps/alsijil/models.py:496 aleksis/apps/alsijil/models.py:485 +#: aleksis/apps/alsijil/models.py:896 msgid "Can be left empty if end date is not clear yet" msgstr "Якщо немає точної кінцевої дати, можна залишити порожнім" -#: aleksis/apps/alsijil/models.py:511 aleksis/apps/alsijil/models.py:500 +#: aleksis/apps/alsijil/models.py:911 msgid "Group role assignment" msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи" -#: aleksis/apps/alsijil/models.py:512 aleksis/apps/alsijil/models.py:501 +#: aleksis/apps/alsijil/models.py:912 msgid "Group role assignments" msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи" -#: aleksis/apps/alsijil/models.py:519 aleksis/apps/alsijil/models.py:508 +#: aleksis/apps/alsijil/models.py:919 msgid "Can view lesson overview" msgstr "Може бачити оглÑд уроку" -#: aleksis/apps/alsijil/models.py:520 aleksis/apps/alsijil/models.py:509 +#: aleksis/apps/alsijil/models.py:920 msgid "Can view week overview" msgstr "Може бачити оглÑд тижнÑ" -#: aleksis/apps/alsijil/models.py:521 aleksis/apps/alsijil/models.py:510 +#: aleksis/apps/alsijil/models.py:921 msgid "Can view full register" msgstr "Може бачити веÑÑŒ журнал" -#: aleksis/apps/alsijil/models.py:522 aleksis/apps/alsijil/models.py:511 +#: aleksis/apps/alsijil/models.py:922 msgid "Can register absence" msgstr "Може реєÑтрувати пропуÑк" -#: aleksis/apps/alsijil/models.py:523 aleksis/apps/alsijil/models.py:512 +#: aleksis/apps/alsijil/models.py:923 msgid "Can list all personal note filters" msgstr "Може бачити уÑÑ– фільтри оÑобиÑтих нотаток" +#: aleksis/apps/alsijil/preferences.py:9 +#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16 +msgid "Class register" +msgstr "КлаÑний журнал" + #: aleksis/apps/alsijil/preferences.py:17 msgid "Block adding personal notes for cancelled lessons" msgstr "Блокувати Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð¾ÑобиÑтих нотаток до ÑкаÑованих уроків" @@ -533,127 +545,93 @@ 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" -msgstr "" -"Дозволити влаÑникам оÑновних груп реєÑтрувати майбутні пропуÑки Ñтудентів у " -"Ñвоїх групах" +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 "" -"Ðадати влаÑнику батьківÑької групи такі Ñамі повноваженнÑ, Ñк Ñ– влаÑникам " -"відповідних підлеглих груп" +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" -msgstr "" -"Дозволити початковим викладачам редагувати Ñвої уроки навіть піÑÐ»Ñ Ñ—Ñ… заміни" +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" -msgstr "" -"ПереноÑити дані з першого уроку в розкладі на поточні уроки через декілька " -"уроків" +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 -msgid "" -"Allow carrying over data from any lesson period to all other " -"lesson periods with the same lesson and in the same week" -msgstr "" -"Дозволити переноÑити дані з будь-Ñкого уроку на уÑÑ– інші " -"уроки з таким Ñамим номером урока на тому Ñамому тижні" +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 "" -"Це перенеÑе дані лише в тому разі, коли у вищезгаданих уроках даних немає." +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" -msgstr "" -"Дозволити викладачам відкривати уроки того Ñамого Ð´Ð½Ñ Ñ– не лише на початку " -"уроків" +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." -msgstr "" -"Ці Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ впливають на минулі уроки. Ви можете відкривати Ñ—Ñ… будь-" -"коли." +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 "" -"Дозволити викладачам додавати навчальний матеріал (дані Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÑ–Ð²) на " -"вихідних" +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 "Типово фільтувати уроки за наÑвніÑтю у них учбового матеріалу" +#: aleksis/apps/alsijil/preferences.py:170 +msgid "Allow editing of all future documentations" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:173 +msgid "Allow editing of all documentations up to and including those on the current day" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:178 +msgid "Allow editing of all documentations up to and including those on the current date and time" +msgstr "" + +#: aleksis/apps/alsijil/preferences.py:183 +msgid "Set time range for which documentations may be edited" +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 @@ -666,24 +644,17 @@ msgid "Date" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:30 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:122 msgid "Period" 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 "Викладачі" - #: 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/class_register/person.html:161 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:21 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:46 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:123 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323 msgid "Tardiness" msgstr "ЗапізненнÑ" @@ -693,15 +664,52 @@ msgid "Excuse" msgstr "ПоÑÑненнÑ" #: aleksis/apps/alsijil/tables.py:156 -#, python-brace-format -msgid "{value}' late" +#, fuzzy, python-brace-format +#| msgid "{value}' late" +msgid "{value}' tardiness" msgstr "{value}' затримка" +#: aleksis/apps/alsijil/tasks.py:26 +msgid "Load data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:49 +#, fuzzy +#| msgid "Start date" +msgid "Sort data ..." +msgstr "Дата початку" + +#: aleksis/apps/alsijil/tasks.py:64 +msgid "Load lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:104 +msgid "Sort lesson data ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:133 +#, fuzzy +#| msgid "Statistics" +msgid "Load statistics ..." +msgstr "СтатиÑтика" + +#: aleksis/apps/alsijil/tasks.py:173 +msgid "Generate template ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:179 +msgid "Generate PDF ..." +msgstr "" + +#: aleksis/apps/alsijil/tasks.py:185 +msgid "PDF generation failed" +msgstr "" + #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5 #: 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:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:380 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:140 msgid "Register absence" msgstr "РеєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´ÑутноÑті" @@ -740,13 +748,11 @@ 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" -" Залежних уроків немає. РеєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑку ні на що не " -"впливає.\n" +" Залежних уроків немає. РеєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑку ні на що не впливає.\n" " " #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:57 @@ -757,26 +763,36 @@ msgstr "Скинути ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° 'не відÑутній'" msgid "Cancel" msgstr "СкаÑувати" +#: 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 "УÑÑ– уроки" + +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8 +msgid "My groups" +msgstr "Мої групи" + #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21 msgid "Students" 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 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:47 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:59 msgid "Students list" 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: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 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:10 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:19 msgid "Week view" msgstr "Тижневий оглÑд" @@ -791,8 +807,8 @@ msgstr "Ролі" #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:50 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:20 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:42 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:51 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:66 msgid "Generate printout" msgstr "Підготувати Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ" @@ -809,39 +825,25 @@ msgstr "Ñтуденти" msgid "Lesson" msgstr "Урок" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28 -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:37 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:83 msgid "Persons" msgstr "ОÑоби" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:45 msgid "Seating plan" msgstr "План розÑадженнÑ" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46 -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:55 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:32 msgid "Previous" msgstr "Попередній" -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:63 msgid "More" 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 "Мій попередній урок" - -#: 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:105 -msgid "Next" -msgstr "ÐаÑтупний" - -#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161 +#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:114 msgid "" "\n" " This lesson overlaps with holidays and can't be edited.\n" @@ -900,52 +902,57 @@ msgstr "Фільтри" msgid "Filter results" msgstr "Результат фільтрів" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:120 msgid "Statistics on absences, tardiness and remarks" msgstr "СтатиÑтика пропуÑків, запізнень та зауважень" -#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:129 #: 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:25 -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:82 #: 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/class_register/person.html:138 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:133 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:139 #: 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:140 +#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:141 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/class_register/person.html:151 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:104 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313 msgid "Unexcused" msgstr "Ðеобґрунтоване" +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5 +#: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9 +msgid "My students" +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 "СпиÑок Ñтудентів: %(group)s" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:25 msgid "Select" msgstr "Обрати" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:31 msgid "Toggle filters" msgstr "Перемикнути фільтри" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:38 #, python-format msgid "" "CW %(week)s:\n" @@ -954,36 +961,35 @@ msgstr "" "ТЖ %(week)s:\n" " %(instance)s" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:289 msgid "Unfold" msgstr "Розгорнути" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:355 msgid "Visit lesson overview" msgstr "ПереглÑд Ð²Ñ–Ð´Ð²Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÑ€Ð¾ÐºÑƒ" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:393 msgid "unexcused" msgstr "непоÑÑнене" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:396 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:117 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:399 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:126 msgid "Count of tardiness" msgstr "КількіÑть запізень" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:431 msgid "No lessons available" msgstr "Ðемає доÑтупних уроків" -#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439 +#: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:434 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" @@ -1005,17 +1011,13 @@ 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" -" Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуєтьÑÑ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð² до типового " -"поÑÑненнÑ, Ñке додатково буде враховане.\n" -" Ðе кориÑтуйтеÑÑ Ñ†Ð¸Ð¼ Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ поÑÑÐ½ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ Ñкщо не " -"розділÑєте на типи поÑÑнень.\n" +" Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуєтьÑÑ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð² до типового поÑÑненнÑ, Ñке додатково буде враховане.\n" +" Ðе кориÑтуйтеÑÑ Ñ†Ð¸Ð¼ Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ поÑÑÐ½ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ Ñкщо не розділÑєте на типи поÑÑнень.\n" " " #: aleksis/apps/alsijil/templates/alsijil/extra_mark/create.html:6 @@ -1035,6 +1037,11 @@ msgstr "Редагувати додаткову позначку" msgid "Assign group role for %(group)s" msgstr "Призначити роль групи Ð´Ð»Ñ %(group)s" +#: 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 "Призначити роль групи" + #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34 msgid "Assign" msgstr "Призначити" @@ -1089,14 +1096,12 @@ 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 "" "\n" -" Ви можете отримати деÑкі додаткові дії Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– " -"групи піÑÐ»Ñ ÐºÐ»Ñ–ÐºÑƒ\n" +" Ви можете отримати деÑкі додаткові дії Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи піÑÐ»Ñ ÐºÐ»Ñ–ÐºÑƒ\n" " на ім'Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ— оÑоби.\n" " " @@ -1105,24 +1110,21 @@ 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:" -msgstr "" -"Перевірте, будь лаÑка, чи ці запиÑи клаÑного журналу повні та правильні:" +msgid "Please check if the following class register entries are complete and correct:" +msgstr "Перевірте, будь лаÑка, чи ці запиÑи клаÑного журналу повні та правильні:" #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6 #: 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/partials/persons_with_stats.html:29 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:52 #: 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/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/partials/persons_with_stats.html:35 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:58 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143 msgid "(u)" msgstr "(н)" @@ -1146,8 +1148,8 @@ msgid "Unexcused absences" 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/partials/persons_with_stats.html:28 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:51 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138 msgid "Sum (e)" msgstr "Сума (п)" @@ -1164,14 +1166,28 @@ msgstr "РегулÑрні поÑÑÐ½ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑків" 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:25 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +msgid "My previous lesson" +msgstr "Мій попередній урок" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:36 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42 +msgid "My next lesson" +msgstr "Мій наÑтупний урок" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:43 +msgid "Next" +msgstr "ÐаÑтупний" + +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:77 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:91 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7 #, python-format msgid "%(period)s. period" msgstr "%(period)s. урок" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:80 #, python-format msgid "" "\n" @@ -1182,13 +1198,13 @@ msgstr "" " %(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 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:9 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:139 msgid "Save" msgstr "Зберегти" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:20 #, python-format msgid "" "\n" @@ -1199,7 +1215,7 @@ msgstr "" " Попередній урок %(subject)s\n" " " -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:31 #, python-format msgid "" "\n" @@ -1210,11 +1226,11 @@ msgstr "" " ÐаÑтупний урок %(subject)s\n" " " -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:11 msgid "Change history" msgstr "Змінити Ñ–Ñторію" -#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59 +#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58 msgid "Tardiness (in m)" msgstr "Ð—Ð°Ð¿Ñ–Ð·Ð½ÐµÐ½Ð½Ñ (хв)" @@ -1255,15 +1271,12 @@ 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" " " @@ -1283,13 +1296,11 @@ 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" -" Створити новий план розÑÐ°Ð´Ð¶ÐµÐ½Ð½Ñ %(group)s (%(subject)s) у " -"%(room)s\n" +" Створити новий план розÑÐ°Ð´Ð¶ÐµÐ½Ð½Ñ %(group)s (%(subject)s) у %(room)s\n" " " #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78 @@ -1347,27 +1358,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:24 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26 msgid "Primary group" msgstr "ОÑновна група" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16 msgid "Uncounted Absences" msgstr "Ðевраховані пропуÑки" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50 msgid "Sum" msgstr "Сума" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92 msgid "Regular excused" msgstr "РегулÑрні поÑÑненнÑ" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:132 msgid "Show more details" msgstr "Показати більш детально" -#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131 +#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:133 msgid "Details" msgstr "Деталі" @@ -1541,8 +1552,6 @@ 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" msgstr "п" @@ -1554,83 +1563,116 @@ msgstr "Тиждень" msgid "Notes" msgstr "Ðотатки" -#: aleksis/apps/alsijil/views.py:118 -msgid "" -"You either selected an invalid lesson or there is currently no lesson in " -"progress." +#: aleksis/apps/alsijil/views.py:114 +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." +#: aleksis/apps/alsijil/views.py:147 +msgid "You are not allowed to create a lesson documentation for a lesson in the future." msgstr "Вам не дозволено Ñтворювати учбові матеріали Ð´Ð»Ñ ÑƒÑ€Ð¾ÐºÑƒ у майбутньому." -#: aleksis/apps/alsijil/views.py:268 aleksis/apps/alsijil/views.py:266 +#: aleksis/apps/alsijil/views.py:264 msgid "The lesson documentation has been saved." msgstr "Учбовий матеріал збережений." -#: aleksis/apps/alsijil/views.py:302 aleksis/apps/alsijil/views.py:300 +#: aleksis/apps/alsijil/views.py:298 msgid "The personal notes have been saved." msgstr "ОÑобиÑті нотатки збережені." -#: aleksis/apps/alsijil/views.py:1119 aleksis/apps/alsijil/views.py:1079 +#: aleksis/apps/alsijil/views.py:658 +#, fuzzy +#| msgid "Generate printout" +msgid "Generate full register printout for {}" +msgstr "Підготувати Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ" + +#: aleksis/apps/alsijil/views.py:659 +#, fuzzy +#| msgid "Generate printout" +msgid "Generate full register printout …" +msgstr "Підготувати Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ" + +#: aleksis/apps/alsijil/views.py:660 +#, fuzzy +#| msgid "The personal note has been deleted." +msgid "The printout has been generated successfully." +msgstr "ОÑобиÑта нотатка видалена." + +#: aleksis/apps/alsijil/views.py:661 +msgid "There was a problem while generating the printout." +msgstr "" + +#: aleksis/apps/alsijil/views.py:664 +msgid "Download PDF" +msgstr "" + +#: aleksis/apps/alsijil/views.py:1030 msgid "The absence has been saved." msgstr "ПропуÑк збережений." -#: aleksis/apps/alsijil/views.py:1140 aleksis/apps/alsijil/views.py:1100 +#: aleksis/apps/alsijil/views.py:1051 msgid "The personal note has been deleted." msgstr "ОÑобиÑта нотатка видалена." -#: aleksis/apps/alsijil/views.py:1162 aleksis/apps/alsijil/views.py:1122 +#: aleksis/apps/alsijil/views.py:1074 msgid "The extra mark has been created." msgstr "Додаткова позначка Ñторена." -#: aleksis/apps/alsijil/views.py:1174 aleksis/apps/alsijil/views.py:1134 +#: aleksis/apps/alsijil/views.py:1086 msgid "The extra mark has been saved." msgstr "Додаткова позначка збережена." -#: aleksis/apps/alsijil/views.py:1185 aleksis/apps/alsijil/views.py:1145 +#: aleksis/apps/alsijil/views.py:1097 msgid "The extra mark has been deleted." msgstr "Додаткова позначка видалена." -#: aleksis/apps/alsijil/views.py:1206 aleksis/apps/alsijil/views.py:1166 +#: aleksis/apps/alsijil/views.py:1119 msgid "The excuse type has been created." msgstr "Тип поÑÑÐ½ÐµÐ½Ð½Ñ Ñтворений." -#: aleksis/apps/alsijil/views.py:1218 aleksis/apps/alsijil/views.py:1178 +#: aleksis/apps/alsijil/views.py:1131 msgid "The excuse type has been saved." msgstr "Тип поÑÑÐ½ÐµÐ½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ð¹." -#: aleksis/apps/alsijil/views.py:1229 aleksis/apps/alsijil/views.py:1189 +#: aleksis/apps/alsijil/views.py:1142 msgid "The excuse type has been deleted." msgstr "Тип поÑÑÐ½ÐµÐ½Ð½Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð¸Ð¹." -#: aleksis/apps/alsijil/views.py:1250 aleksis/apps/alsijil/views.py:1210 +#: aleksis/apps/alsijil/views.py:1164 msgid "The group role has been created." msgstr "Роль групи Ñтворена." -#: aleksis/apps/alsijil/views.py:1262 aleksis/apps/alsijil/views.py:1222 +#: aleksis/apps/alsijil/views.py:1176 msgid "The group role has been saved." msgstr "Роль групи збережена." -#: aleksis/apps/alsijil/views.py:1273 aleksis/apps/alsijil/views.py:1233 +#: aleksis/apps/alsijil/views.py:1187 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 +#: aleksis/apps/alsijil/views.py:1221 aleksis/apps/alsijil/views.py:1253 msgid "The group role has been assigned." msgstr "Роль групи призначена." -#: aleksis/apps/alsijil/views.py:1357 aleksis/apps/alsijil/views.py:1317 +#: aleksis/apps/alsijil/views.py:1272 msgid "The group role assignment has been saved." msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи збережене." -#: aleksis/apps/alsijil/views.py:1378 aleksis/apps/alsijil/views.py:1338 +#: aleksis/apps/alsijil/views.py:1293 msgid "The group role assignment has been stopped." msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи зупинене." -#: aleksis/apps/alsijil/views.py:1391 aleksis/apps/alsijil/views.py:1351 +#: aleksis/apps/alsijil/views.py:1306 msgid "The group role assignment has been deleted." msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð»Ñ– групи видалене." + +#~ msgid "Current lesson" +#~ msgstr "Поточний урок" + +#~ msgid "Current week" +#~ msgstr "Поточний тиждень" + +#~ msgid "My overview" +#~ msgstr "Мій оглÑд" + +#~ msgid "Manage group roles" +#~ msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð»Ñми групи" diff --git a/aleksis/apps/alsijil/managers.py b/aleksis/apps/alsijil/managers.py index 2e8b2e558e78c84ac83674840f0a3f8b2eb259c5..7d0130805275359672d1337133eacd1b0a2b62ad 100644 --- a/aleksis/apps/alsijil/managers.py +++ b/aleksis/apps/alsijil/managers.py @@ -11,7 +11,7 @@ from django.utils.translation import gettext as _ from calendarweek import CalendarWeek from aleksis.apps.chronos.managers import DateRangeQuerySetMixin -from aleksis.core.managers import AlekSISBaseManagerWithoutMigrations +from aleksis.core.managers import AlekSISBaseManagerWithoutMigrations, PolymorphicBaseManager if TYPE_CHECKING: from aleksis.core.models import Group @@ -187,3 +187,27 @@ class GroupRoleAssignmentQuerySet(DateRangeQuerySetMixin, QuerySet): def for_group(self, group: "Group"): """Filter all role assignments for a group.""" return self.filter(Q(groups=group) | Q(groups__child_groups=group)) + + +class DocumentationManager(PolymorphicBaseManager): + """Manager adding specific methods to documentations.""" + + def get_queryset(self): + """Ensure often used related data are loaded as well.""" + return ( + super() + .get_queryset() + .select_related( + "course", + "subject", + ) + .prefetch_related("teachers") + ) + + +class ParticipationStatusManager(PolymorphicBaseManager): + """Manager adding specific methods to participation statuses.""" + + def get_queryset(self): + """Ensure often used related data are loaded as well.""" + return super().get_queryset().select_related("person", "absence_reason", "base_absence") diff --git a/aleksis/apps/alsijil/migrations/0022_documentation_participation_touched_at.py b/aleksis/apps/alsijil/migrations/0022_documentation_participation_touched_at.py new file mode 100644 index 0000000000000000000000000000000000000000..ef09ddca37a893128571818368982e29bd0c219f --- /dev/null +++ b/aleksis/apps/alsijil/migrations/0022_documentation_participation_touched_at.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.6 on 2024-06-06 09:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('alsijil', '0021_remove_participationstatus_absent_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='documentation', + name='participation_touched_at', + field=models.DateTimeField(blank=True, null=True, verbose_name='Participation touched at'), + ), + ] diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 2449efb3176ed973fbc11368b562bc891ff23f2e..9e68ccd06773dc8b0f6ee65ccd16c81319b94a8b 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -9,8 +9,9 @@ from django.db.models import QuerySet from django.db.models.constraints import CheckConstraint from django.db.models.query_utils import Q from django.urls import reverse +from django.utils import timezone from django.utils.formats import date_format -from django.utils.timezone import localdate, localtime +from django.utils.timezone import localdate, localtime, now from django.utils.translation import gettext_lazy as _ from calendarweek import CalendarWeek @@ -24,12 +25,14 @@ from aleksis.apps.alsijil.data_checks import ( PersonalNoteOnHolidaysDataCheck, ) from aleksis.apps.alsijil.managers import ( + DocumentationManager, GroupRoleAssignmentManager, GroupRoleAssignmentQuerySet, GroupRoleManager, GroupRoleQuerySet, LessonDocumentationManager, LessonDocumentationQuerySet, + ParticipationStatusManager, PersonalNoteManager, PersonalNoteQuerySet, ) @@ -42,7 +45,7 @@ from aleksis.apps.kolego.models import Absence as KolegoAbsence from aleksis.apps.kolego.models import AbsenceReason from aleksis.core.data_checks import field_validation_data_check_factory from aleksis.core.mixins import ExtensibleModel, GlobalPermissionModel -from aleksis.core.models import CalendarEvent, Group, SchoolTerm +from aleksis.core.models import CalendarEvent, Group, Person, SchoolTerm from aleksis.core.util.core_helpers import get_site_preferences from aleksis.core.util.model_helpers import ICONS @@ -460,6 +463,8 @@ class Documentation(CalendarEvent): # FIXME: DataCheck + objects = DocumentationManager() + course = models.ForeignKey( Course, models.PROTECT, @@ -485,6 +490,11 @@ class Documentation(CalendarEvent): homework = models.CharField(verbose_name=_("Homework"), max_length=255, blank=True) group_note = models.CharField(verbose_name=_("Group Note"), max_length=255, blank=True) + # Used to track whether participations have been filled in + participation_touched_at = models.DateTimeField( + blank=True, null=True, verbose_name=_("Participation touched at") + ) + def get_subject(self) -> str: if self.subject: return self.subject @@ -660,29 +670,12 @@ class Documentation(CalendarEvent): amends=lesson_event, course=course, subject=subject, - topic="", - homework="", - group_note="", ) obj.teachers.set(teachers.all()) obj.save() # Create Participation Statuses - # Cannot use djangos bulk_create method, as then the save method of the - # superclass wouldn't be called - - for member in lesson_event.all_members: - # TODO: Check for preexisting absences in kolego - # TODO: maybe only create if the lesson start is in the past - status = ParticipationStatus.objects.create( - person=member, - related_documentation=obj, - datetime_start=datetime_start, - datetime_end=datetime_end, - timezone=lesson_event.timezone, - ) - status.groups_of_person.set(member.member_of.all()) - status.save() + obj.touch() return obj @@ -692,15 +685,66 @@ class Documentation(CalendarEvent): return cls.create_from_lesson_event( user, *cls.parse_dummy(_id), - ) + ), True - return cls.objects.get(id=_id) + return cls.objects.get(id=_id), False def touch(self): - # TODO: check if participation statuses etc. are created correctly. - # might require some extra work, as the object may have been created - # recently, so checking again would be overkill. - pass + """Ensure that participation statuses are created for this documentation.""" + if ( + self.participation_touched_at + or not self.amends + or self.value_start_datetime(self) > now() + ): + # There is no source to update from or it's too early + return + + lesson_event: LessonEvent = self.amends + all_members = lesson_event.all_members + member_pks = [p.pk for p in all_members] + + new_persons = Person.objects.filter(Q(pk__in=member_pks)).prefetch_related("member_of") + + # Get absences from Kolego + events = KolegoAbsence.get_single_events( + self.value_start_datetime(self), + self.value_end_datetime(self), + None, + {"persons": member_pks}, + with_reference_object=True, + ) + kolego_absences_map = {a["REFERENCE_OBJECT"].person: a["REFERENCE_OBJECT"] for a in events} + + new_participations = [] + new_groups_of_person = [] + for person in new_persons: + participation_status = ParticipationStatus( + person=person, + related_documentation=self, + datetime_start=self.datetime_start, + datetime_end=self.datetime_end, + timezone=self.timezone, + ) + + # Take over data from Kolego absence + if person in kolego_absences_map: + participation_status.fill_from_kolego(kolego_absences_map[person]) + + participation_status.save() + + new_groups_of_person += [ + ParticipationStatus.groups_of_person.through( + group=group, participationstatus=participation_status + ) + for group in person.member_of.all() + ] + new_participations.append(participation_status) + ParticipationStatus.groups_of_person.through.objects.bulk_create(new_groups_of_person) + + self.participation_touched_at = timezone.now() + self.save() + + return new_participations class ParticipationStatus(CalendarEvent): @@ -712,6 +756,8 @@ class ParticipationStatus(CalendarEvent): # FIXME: DataChecks + objects = ParticipationStatusManager() + person = models.ForeignKey( "core.Person", models.CASCADE, related_name="participations", verbose_name=_("Person") ) @@ -744,8 +790,13 @@ class ParticipationStatus(CalendarEvent): verbose_name=_("Base Absence"), ) + def fill_from_kolego(self, kolego_absence: KolegoAbsence): + """Take over data from a Kolego absence.""" + self.base_absence = kolego_absence + self.absence_reason = kolego_absence.reason + def __str__(self) -> str: - return f"{self.related_documentation}, {self.person}" + return f"{self.related_documentation.id}, {self.person}" class Meta: verbose_name = _("Participation Status") diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index b7fa4d04a23df031ff479870c17cf5f1a3d53446..9045598fdf362f0bedb57424fd73bb450d80d669 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -12,8 +12,10 @@ from aleksis.core.util.predicates import ( from .util.predicates import ( can_edit_documentation, + can_edit_participation_status, can_view_any_documentation, can_view_documentation, + can_view_participation_status, has_lesson_group_object_perm, has_person_group_object_perm, has_personal_note_group_perm, @@ -24,6 +26,7 @@ from .util.predicates import ( is_group_owner, is_group_role_assignment_group_owner, is_in_allowed_time_range, + is_in_allowed_time_range_for_participation_status, is_lesson_event_group_owner, is_lesson_event_teacher, is_lesson_original_teacher, @@ -414,3 +417,21 @@ edit_documentation_predicate = ( ) add_perm("alsijil.edit_documentation_rule", edit_documentation_predicate) add_perm("alsijil.delete_documentation_rule", edit_documentation_predicate) + +view_participation_status_for_documentation_predicate = has_person & ( + has_global_perm("alsijil.change_participationstatus") | can_view_participation_status +) +add_perm( + "alsijil.view_participation_status_for_documentation_rule", + view_participation_status_for_documentation_predicate, +) + +edit_participation_status_for_documentation_predicate = ( + has_person + & (has_global_perm("alsijil.change_participationstatus") | can_edit_participation_status) + & is_in_allowed_time_range_for_participation_status +) +add_perm( + "alsijil.edit_participation_status_for_documentation_rule", + edit_participation_status_for_documentation_predicate, +) diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py index f503b01d85e9142be6b51f3450256b0d80936416..2da84d2a244026e8612154e3d3b7a0b79f542fe5 100644 --- a/aleksis/apps/alsijil/schema/__init__.py +++ b/aleksis/apps/alsijil/schema/__init__.py @@ -19,6 +19,8 @@ from .documentation import ( DocumentationType, LessonsForPersonType, TouchDocumentationMutation, + LessonsForPersonType, + TouchDocumentationMutation, ) from .extra_marks import ( ExtraMarkBatchCreateMutation, @@ -32,6 +34,7 @@ from .personal_note import ( PersonalNoteBatchDeleteMutation, PersonalNoteBatchPatchMutation, ) +from .participation_status import ParticipationStatusBatchPatchMutation class Query(graphene.ObjectType): diff --git a/aleksis/apps/alsijil/schema/documentation.py b/aleksis/apps/alsijil/schema/documentation.py index 72017279c97c3e9ccf7c6f642d621eaaaf62ffd4..4a0055064abd0a9cc1bb79850390da318a808b4a 100644 --- a/aleksis/apps/alsijil/schema/documentation.py +++ b/aleksis/apps/alsijil/schema/documentation.py @@ -2,7 +2,6 @@ from django.core.exceptions import PermissionDenied import graphene from graphene_django.types import DjangoObjectType -from guardian.shortcuts import get_objects_for_user from reversion import create_revision, set_comment, set_user from aleksis.apps.alsijil.util.predicates import can_edit_documentation, is_in_allowed_time_range @@ -71,16 +70,15 @@ class DocumentationType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectTyp @staticmethod def resolve_participations(root: Documentation, info, **kwargs): - # TODO: probably check for permission + if not info.context.user.has_perm( + "alsijil.view_participation_status_for_documentation", root + ): + return [] # A dummy documentation will not have any participations if str(root.pk).startswith("DUMMY") or not hasattr(root, "participations"): return [] - return root.participations.all() - - @classmethod - def get_queryset(cls, queryset, info): - return get_objects_for_user(info.context.user, "alsijil.view_documentation", queryset) + return root.participations.select_related("absence_reason", "base_absence").all() class DocumentationInputType(graphene.InputObjectType): @@ -111,7 +109,7 @@ class DocumentationBatchCreateOrUpdateMutation(graphene.Mutation): # Sadly, we can't use the update_or_create method since create_defaults # is only introduced in Django 5.0 - obj = Documentation.get_or_create_by_id(_id, info.context.user) + obj, __ = Documentation.get_or_create_by_id(_id, info.context.user) if not info.context.user.has_perm("alsijil.edit_documentation_rule", obj): raise PermissionDenied() @@ -148,6 +146,16 @@ class TouchDocumentationMutation(graphene.Mutation): documentation = graphene.Field(DocumentationType) def mutate(root, info, documentation_id): - documentation = Documentation.get_or_create_by_id(documentation_id, info.context.user) - documentation.touch() + documentation, created = Documentation.get_or_create_by_id( + documentation_id, info.context.user + ) + + if not info.context.user.has_perm( + "alsijil.edit_participation_status_for_documentation_rule", documentation + ): + raise PermissionDenied() + + if not created: + documentation.touch() + return TouchDocumentationMutation(documentation=documentation) diff --git a/aleksis/apps/alsijil/schema/participation_status.py b/aleksis/apps/alsijil/schema/participation_status.py index d12ea83addc0e1cf3b2910d8dd7f5ba1e519eaed..ddff69e7c3e7631ea74132f6f42869c41a04e06e 100644 --- a/aleksis/apps/alsijil/schema/participation_status.py +++ b/aleksis/apps/alsijil/schema/participation_status.py @@ -1,3 +1,5 @@ +from django.core.exceptions import PermissionDenied + import graphene from graphene_django import DjangoObjectType @@ -51,5 +53,15 @@ class ParticipationStatusBatchPatchMutation(BaseBatchPatchMutation): class Meta: model = ParticipationStatus fields = ("id", "absence_reason") # Only the reason can be updated after creation - permissions = ("alsijil.change_participation_status",) # FIXME return_field_name = "participationStatuses" + + @classmethod + def check_permissions(cls, root, info, input, *args, **kwargs): # noqa: A002 + pass + + @classmethod + def after_update_obj(cls, root, info, input, obj, full_input): # noqa: A002 + if not info.context.user.has_perm( + "alsijil.edit_participation_status_for_documentation_rule", obj.related_documentation + ): + raise PermissionDenied() diff --git a/aleksis/apps/alsijil/urls.py b/aleksis/apps/alsijil/urls.py index b06aebd352774727bb6bddca9dec8a0e28846a69..edc0b4fa81cfb50e1f268d9dd21b3d9dda2c033a 100644 --- a/aleksis/apps/alsijil/urls.py +++ b/aleksis/apps/alsijil/urls.py @@ -3,52 +3,6 @@ from django.urls import path from . import views urlpatterns = [ - path("lesson", views.register_object, {"model": "lesson"}, name="lesson_period"), - path( - "lesson/<int:year>/<int:week>/<int:id_>", - views.register_object, - {"model": "lesson"}, - name="lesson_period", - ), - path( - "extra_lesson/<int:id_>/", - views.register_object, - {"model": "extra_lesson"}, - name="extra_lesson", - ), - path( - "event/<int:id_>/", - views.register_object, - {"model": "event"}, - name="event", - ), - path("week/", views.week_view, name="week_view"), - path("week/<int:year>/<int:week>/", views.week_view, name="week_view_by_week"), - path("week/year/cw/", views.week_view, name="week_view_placeholders"), - path("week/<str:type_>/<int:id_>/", views.week_view, name="week_view"), - path( - "week/year/cw/<str:type_>/<int:id_>/", - views.week_view, - name="week_view_placeholders", - ), - path( - "week/<int:year>/<int:week>/<str:type_>/<int:id_>/", - views.week_view, - name="week_view_by_week", - ), - path("print/group/<int:id_>", views.full_register_group, name="full_register_group"), - path("groups/", views.my_groups, name="my_groups"), - path("groups/<int:pk>/", views.StudentsList.as_view(), name="students_list"), - path("persons/", views.my_students, name="my_students"), - path("persons/<int:id_>/", views.overview_person, name="overview_person"), - path("me/", views.overview_person, name="overview_me"), - path( - "notes/<int:pk>/delete/", - views.DeletePersonalNoteView.as_view(), - name="delete_personal_note", - ), - path("absence/new/<int:id_>/", views.register_absence, name="register_absence"), - path("absence/new/", views.register_absence, name="register_absence"), path("extra_marks/", views.ExtraMarkListView.as_view(), name="extra_marks"), path( "extra_marks/create/", @@ -65,22 +19,6 @@ urlpatterns = [ views.ExtraMarkDeleteView.as_view(), name="delete_extra_mark", ), - path("excuse_types/", views.ExcuseTypeListView.as_view(), name="excuse_types"), - path( - "excuse_types/create/", - views.ExcuseTypeCreateView.as_view(), - name="create_excuse_type", - ), - path( - "excuse_types/<int:pk>/edit/", - views.ExcuseTypeEditView.as_view(), - name="edit_excuse_type", - ), - path( - "excuse_types/<int:pk>/delete/", - views.ExcuseTypeDeleteView.as_view(), - name="delete_excuse_type", - ), path("group_roles/", views.GroupRoleListView.as_view(), name="group_roles"), path("group_roles/create/", views.GroupRoleCreateView.as_view(), name="create_group_role"), path( @@ -128,5 +66,4 @@ urlpatterns = [ views.AssignGroupRoleMultipleView.as_view(), name="assign_group_role_multiple", ), - path("all/", views.AllRegisterObjectsView.as_view(), name="all_register_objects"), ] diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index fe7746948d807f3afede2a8fd3a11b41358965f5..9f06195e279b6e9bc9564731146d33ea7995498d 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -2,7 +2,7 @@ from typing import Any, Union from django.contrib.auth.models import User from django.db.models import Q -from django.utils.timezone import localdate, localtime +from django.utils.timezone import localdate, now from rules import predicate @@ -420,11 +420,17 @@ def can_view_any_documentation(user: User): """Predicate which checks if the user is allowed to view any documentation.""" allowed_lesson_events = LessonEvent.objects.related_to_person(user.person) - return Documentation.objects.filter( + if allowed_lesson_events.exists(): + return True + + if Documentation.objects.filter( Q(teachers=user.person) | Q(amends__in=allowed_lesson_events) | Q(course__teachers=user.person) - ).exists() + ).exists(): + return True + + return False @predicate @@ -440,6 +446,34 @@ def can_edit_documentation(user: User, obj: Documentation): return False +@predicate +def can_view_participation_status(user: User, obj: Documentation): + """Predicate which checks if the user is allowed to view participation for a documentation.""" + if obj: + if is_documentation_teacher(user, obj): + return True + if obj.amends: + return is_lesson_event_teacher(user, obj.amends) | is_lesson_event_group_owner( + user, obj.amends + ) + if obj.course: + return is_course_teacher(user, obj.course) + return False + + +@predicate +def can_edit_participation_status(user: User, obj: Documentation): + """Predicate which checks if the user is allowed to edit participation for a documentation.""" + if obj: + if is_documentation_teacher(user, obj): + return True + if obj.amends: + return is_lesson_event_teacher(user, obj.amends) | is_lesson_event_group_owner( + user, obj.amends + ) + return False + + @predicate def is_in_allowed_time_range(user: User, obj: Documentation): """Predicate which checks if the documentation is in the allowed time range for editing.""" @@ -447,12 +481,20 @@ def is_in_allowed_time_range(user: User, obj: Documentation): get_site_preferences()["alsijil__allow_edit_future_documentations"] == "all" or ( get_site_preferences()["alsijil__allow_edit_future_documentations"] == "current_day" - and obj.datetime_start.date() <= localdate() + and obj.value_start_datetime(obj).date() <= localdate() ) or ( get_site_preferences()["alsijil__allow_edit_future_documentations"] == "current_time" - and obj.datetime_start <= localtime() + and obj.value_start_datetime(obj) <= now() ) ): return True return False + + +@predicate +def is_in_allowed_time_range_for_participation_status(user: User, obj: Documentation): + """Predicate which checks if the documentation is in the allowed time range for editing.""" + if obj and obj.value_start_datetime(obj) <= now(): + return True + return False diff --git a/docs/conf.py b/docs/conf.py index b37b0f814f16734100037dfe13bc1d8a4e007456..b13eb0d33210fef5bab89a0c80b5dfe53e812c8a 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 = "3.0" +version = "4.0" # The full version, including alpha/beta/rc tags -release = "3.0.1.dev0" +release = "4.0.0.dev0" # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index 4ee946cab6399279af3e4de7029f283e64114384..03a0772bee8aa34ffc35dc565a1762b87745abbb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "AlekSIS-App-Alsijil" -version = "4.0.dev0" +version = "4.0.0.dev1" packages = [ { include = "aleksis" } ] @@ -49,10 +49,10 @@ priority = "supplemental" [tool.poetry.dependencies] python = "^3.10" -aleksis-core = "^4.0.0.dev2" -aleksis-app-chronos = "^4.0.0.dev0" +aleksis-core = "^4.0.0.dev7" +aleksis-app-chronos = "^4.0.0.dev3" aleksis-app-stoelindeling = { version = "^3.0.dev1", optional = true } -aleksis-app-kolego = "^0.1.dev0" +aleksis-app-kolego = "^0.1.0.dev2" [tool.poetry.extras] seatingplans = ["aleksis-app-stoelindeling"]