Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • AlekSIS/official/AlekSIS-App-Untis
  • sunweaver/AlekSIS-App-Untis
  • cocguPpenda/AlekSIS-App-Untis
  • 0inraMfauri/AlekSIS-App-Untis
4 results
Show changes
Commits on Source (9)
Showing with 2378 additions and 314 deletions
Changelog
=========
`2.0a2`_
--------
New features
~~~~~~~~~~~~
* Import exported Untis database via MySQL import
* Import absence reasons
* Import absences
* Import breaks
* Import classes
* Import events
* Import holidays
* Import lessons
* Import rooms
* Import subjects
* Import substitutions
* Import supervision areas
* Import teachers
* Import time periods
Bugfixes
~~~~~~~~
* None
Minor changes
~~~~~~~~~~~~~
* None
`1.0a1`_
--------
......@@ -22,3 +53,4 @@ Minor changes
* Use bootstrap buttons everywhere
_`1.0a1`: https://edugit.org/Teckids/AlekSIS/AlekSIS-App-Untis/-/tags/1.0a1
_`2.0a2`: https://edugit.org/Teckids/AlekSIS/AlekSIS-App-Untis/-/tags/2.0a2
\ No newline at end of file
......@@ -9,8 +9,21 @@ This is an application for use with the `AlekSIS`_ platform.
Features
--------
This app provides import and export functions to interact with Untis,
a timetable software.
* Import absence reasons
* Import absences
* Import breaks
* Import classes
* Import events
* Import exported Untis database via MySQL import
* Import exported Untis XML files
* Import holidays
* Import lessons
* Import rooms
* Import subjects
* Import substitutions
* Import supervision areas
* Import teachers
* Import time periods
Licence
-------
......@@ -31,5 +44,5 @@ full licence text or on the `European Union Public Licence`_ website
https://joinup.ec.europa.eu/collection/eupl/guidelines-users-and-developers
(including all other official language versions).
.. _AlekSIS: https://edugit.org/AlekSIS/AlekSIS
.. _AlekSIS: https://aleksis.org/
.. _European Union Public Licence: https://eupl.eu/
......@@ -5,7 +5,6 @@ from material import Fieldset
from aleksis.core.forms import EditGroupForm
from aleksis.core.models import Group
from aleksis.core.util.core_helpers import get_site_preferences
class UntisUploadForm(forms.Form):
......@@ -31,5 +30,4 @@ class GroupSubjectForm(forms.ModelForm):
GroupSubjectFormset = forms.modelformset_factory(Group, form=GroupSubjectForm, max_num=0, extra=0)
if get_site_preferences()["untis_mysql__use_course_groups"]:
EditGroupForm.add_node_to_layout(Fieldset(_("UNTIS import"), "untis_subject"))
EditGroupForm.add_node_to_layout(Fieldset(_("UNTIS import"), "untis_subject"))
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-28 13:31+0000\n"
"POT-Creation-Date: 2020-05-04 15:45+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"
......@@ -16,13 +16,14 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#: forms.py:12
#: forms.py:11
msgid "Untis XML export"
msgstr ""
#: forms.py:40
#: forms.py:33
msgid "UNTIS import"
msgstr ""
......@@ -38,75 +39,87 @@ msgstr ""
msgid "Link subjects to groups (for UNTIS MySQL import)"
msgstr ""
#: model_extensions.py:11 model_extensions.py:14 model_extensions.py:31
#: model_extensions.py:34 model_extensions.py:37 model_extensions.py:56
#: model_extensions.py:59 model_extensions.py:62 model_extensions.py:65
#: model_extensions.py:68 model_extensions.py:71 model_extensions.py:74
#: model_extensions.py:9 model_extensions.py:12 model_extensions.py:29
#: model_extensions.py:32 model_extensions.py:35 model_extensions.py:54
#: model_extensions.py:57 model_extensions.py:60 model_extensions.py:63
#: model_extensions.py:66 model_extensions.py:69 model_extensions.py:72
msgid "UNTIS import reference"
msgstr ""
#: model_extensions.py:19
#: model_extensions.py:17
msgid "UNTIS subject"
msgstr ""
#: model_extensions.py:21
msgid "The UNTIS import will use this for matching course groups (along with parent groups)."
#: model_extensions.py:19
msgid ""
"The UNTIS import will use this for matching course groups(along with parent "
"groups)."
msgstr ""
#: model_extensions.py:40
#: model_extensions.py:38
msgid "Lesson id in UNTIS"
msgstr ""
#: model_extensions.py:44 model_extensions.py:52
#: model_extensions.py:42 model_extensions.py:50
msgid "Number of lesson element in UNTIS"
msgstr ""
#: model_extensions.py:48
#: model_extensions.py:46
msgid "Term id in UNTIS"
msgstr ""
#: models.py:4205
#: models.py:4222
msgid "Can do XML import"
msgstr ""
#: models.py:4206
#: models.py:4223
msgid "Can assign subjects to groups"
msgstr ""
#: settings.py:17
msgid "Update values of existing subjects?"
#: preferences.py:8
msgid "UNTIS: MySQL"
msgstr ""
#: preferences.py:16
msgid "Update values of existing subjects"
msgstr ""
#: preferences.py:24
msgid "Update short name of existing persons"
msgstr ""
#: settings.py:20
msgid "Update short name of existing persons?"
#: preferences.py:32
msgid "Update name of existing persons"
msgstr ""
#: settings.py:25
msgid "Update first and last name of existing persons?"
#: preferences.py:40
msgid "Update short name of existing groups"
msgstr ""
#: settings.py:30
msgid "Update short name of existing groups?"
#: preferences.py:48
msgid "Update name of existing groups"
msgstr ""
#: settings.py:33
msgid "Update name of existing groups?"
#: preferences.py:55
msgid "Overwrite group owners"
msgstr ""
#: settings.py:36
msgid "Overwrite existing owners?"
#: preferences.py:64
msgid "Update name of existing rooms"
msgstr ""
#: settings.py:39
msgid "Update name of existing rooms?"
#: preferences.py:72
msgid "Update existing supervision areas"
msgstr ""
#: settings.py:42
msgid "Update values of existing supervision areas?"
#: preferences.py:80
msgid "Use course groups"
msgstr ""
#: settings.py:46
msgid "Build or search course groups for every course instead of setting classes as groups."
#: preferences.py:82
msgid ""
"Build or search course groups for every course instead of setting classes as "
"groups."
msgstr ""
#: templates/untis/groups_subjects.html:7
......@@ -117,16 +130,20 @@ msgstr ""
#: templates/untis/groups_subjects.html:17
msgid ""
"\n"
" You can use this form to assign subjects to groups. Please enter the exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to match course groups while importing from MySQL.\n"
" You can use this form to assign subjects to groups. Please enter the "
"exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to "
"match course groups while importing from MySQL.\n"
" "
msgstr ""
#: templates/untis/groups_subjects.html:27
msgid ""
"\n"
" If there are more than 100 groups, this table will have multiple pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before you saved your changes!</strong>\n"
" If there are more than 100 groups, this table will have multiple "
"pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before "
"you saved your changes!</strong>\n"
" "
msgstr ""
......@@ -175,7 +192,8 @@ msgstr ""
#: templates/untis/xml_import.html:31
msgid ""
"\n"
" Teachers, rooms, subjects and classes and periods will be updated in place.\n"
" Teachers, rooms, subjects and classes and periods will be updated in "
"place.\n"
" "
msgstr ""
......@@ -183,38 +201,38 @@ msgstr ""
msgid "Import data"
msgstr ""
#: util/mysql/importers/lessons.py:49
#: util/mysql/importers/lessons.py:48
msgid "Import lesson {}"
msgstr ""
#: util/mysql/importers/lessons.py:52
#: util/mysql/importers/lessons.py:51
msgid " Skip because missing times"
msgstr ""
#: util/mysql/importers/lessons.py:109
#: util/mysql/importers/lessons.py:108
msgid " Skip because missing subject"
msgstr ""
#: util/xml/xml.py:71
#: util/xml/xml.py:74
#, python-format
msgid "Class %s"
msgstr ""
#: util/xml/xml.py:85
#: util/xml/xml.py:88
#, python-format
msgid "Could not set class teacher of %(class)s to %(teacher)s."
msgstr ""
#: util/xml/xml.py:146
#: util/xml/xml.py:149
#, python-format
msgid "Invalid list of classes: %s"
msgstr ""
#: util/xml/xml.py:154
#: util/xml/xml.py:157
#, python-format
msgid "Failed to import lesson: Teacher %s does not exist."
msgstr ""
#: views.py:54
#: views.py:52
msgid "Your changes were successfully saved."
msgstr ""
......@@ -7,10 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-28 13:31+0000\n"
"POT-Creation-Date: 2020-05-04 15:45+0200\n"
"PO-Revision-Date: 2019-09-15 13:40+0000\n"
"Last-Translator: Tom Teichler <tom.teichler@teckids.org>\n"
"Language-Team: German <https://translate.edugit.org/projects/aleksis-sis/aleksis-app-untis/de/>\n"
"Language-Team: German <https://translate.edugit.org/projects/aleksis-sis/"
"aleksis-app-untis/de/>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
......@@ -18,11 +19,11 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.8\n"
#: forms.py:12
#: forms.py:11
msgid "Untis XML export"
msgstr "Untis-XML-Export"
#: forms.py:40
#: forms.py:33
#, fuzzy
#| msgid "Units import"
msgid "UNTIS import"
......@@ -42,77 +43,89 @@ msgstr "Untis-XML-Export"
msgid "Link subjects to groups (for UNTIS MySQL import)"
msgstr ""
#: model_extensions.py:11 model_extensions.py:14 model_extensions.py:31
#: model_extensions.py:34 model_extensions.py:37 model_extensions.py:56
#: model_extensions.py:59 model_extensions.py:62 model_extensions.py:65
#: model_extensions.py:68 model_extensions.py:71 model_extensions.py:74
#: model_extensions.py:9 model_extensions.py:12 model_extensions.py:29
#: model_extensions.py:32 model_extensions.py:35 model_extensions.py:54
#: model_extensions.py:57 model_extensions.py:60 model_extensions.py:63
#: model_extensions.py:66 model_extensions.py:69 model_extensions.py:72
msgid "UNTIS import reference"
msgstr ""
#: model_extensions.py:19
#: model_extensions.py:17
msgid "UNTIS subject"
msgstr ""
#: model_extensions.py:21
msgid "The UNTIS import will use this for matching course groups (along with parent groups)."
#: model_extensions.py:19
msgid ""
"The UNTIS import will use this for matching course groups(along with parent "
"groups)."
msgstr ""
#: model_extensions.py:40
#: model_extensions.py:38
msgid "Lesson id in UNTIS"
msgstr ""
#: model_extensions.py:44 model_extensions.py:52
#: model_extensions.py:42 model_extensions.py:50
msgid "Number of lesson element in UNTIS"
msgstr ""
#: model_extensions.py:48
#: model_extensions.py:46
msgid "Term id in UNTIS"
msgstr ""
#: models.py:4205
#: models.py:4222
#, fuzzy
#| msgid "Untis XML export"
msgid "Can do XML import"
msgstr "Untis-XML-Export"
#: models.py:4206
#: models.py:4223
msgid "Can assign subjects to groups"
msgstr ""
#: settings.py:17
msgid "Update values of existing subjects?"
#: preferences.py:8
msgid "UNTIS: MySQL"
msgstr ""
#: preferences.py:16
msgid "Update values of existing subjects"
msgstr ""
#: settings.py:20
msgid "Update short name of existing persons?"
#: preferences.py:24
msgid "Update short name of existing persons"
msgstr ""
#: settings.py:25
msgid "Update first and last name of existing persons?"
#: preferences.py:32
msgid "Update name of existing persons"
msgstr ""
#: settings.py:30
msgid "Update short name of existing groups?"
#: preferences.py:40
msgid "Update short name of existing groups"
msgstr ""
#: settings.py:33
msgid "Update name of existing groups?"
#: preferences.py:48
msgid "Update name of existing groups"
msgstr ""
#: settings.py:36
msgid "Overwrite existing owners?"
#: preferences.py:55
msgid "Overwrite group owners"
msgstr ""
#: settings.py:39
msgid "Update name of existing rooms?"
#: preferences.py:64
msgid "Update name of existing rooms"
msgstr ""
#: settings.py:42
msgid "Update values of existing supervision areas?"
#: preferences.py:72
msgid "Update existing supervision areas"
msgstr ""
#: settings.py:46
msgid "Build or search course groups for every course instead of setting classes as groups."
#: preferences.py:80
msgid "Use course groups"
msgstr ""
#: preferences.py:82
msgid ""
"Build or search course groups for every course instead of setting classes as "
"groups."
msgstr ""
#: templates/untis/groups_subjects.html:7
......@@ -123,16 +136,20 @@ msgstr ""
#: templates/untis/groups_subjects.html:17
msgid ""
"\n"
" You can use this form to assign subjects to groups. Please enter the exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to match course groups while importing from MySQL.\n"
" You can use this form to assign subjects to groups. Please enter the "
"exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to "
"match course groups while importing from MySQL.\n"
" "
msgstr ""
#: templates/untis/groups_subjects.html:27
msgid ""
"\n"
" If there are more than 100 groups, this table will have multiple pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before you saved your changes!</strong>\n"
" If there are more than 100 groups, this table will have multiple "
"pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before "
"you saved your changes!</strong>\n"
" "
msgstr ""
......@@ -162,7 +179,8 @@ msgid ""
" "
msgstr ""
"\n"
" Untis bietet eine Funktion zum Exportieren aller Daten als XML-Datei.\n"
" Untis bietet eine Funktion zum Exportieren aller Daten als XML-"
"Datei.\n"
" "
#: templates/untis/xml_import.html:20
......@@ -202,11 +220,13 @@ msgstr ""
#: templates/untis/xml_import.html:31
msgid ""
"\n"
" Teachers, rooms, subjects and classes and periods will be updated in place.\n"
" Teachers, rooms, subjects and classes and periods will be updated in "
"place.\n"
" "
msgstr ""
"\n"
" Lehrer, Räume, Fächer und Klassen und Schulstunden werden aktualisiert.\n"
" Lehrer, Räume, Fächer und Klassen und Schulstunden werden "
"aktualisiert.\n"
" "
#: templates/untis/xml_import.html:40
......@@ -215,39 +235,40 @@ msgstr ""
msgid "Import data"
msgstr "Untis-Daten importieren"
#: util/mysql/importers/lessons.py:49
#: util/mysql/importers/lessons.py:48
msgid "Import lesson {}"
msgstr ""
#: util/mysql/importers/lessons.py:52
#: util/mysql/importers/lessons.py:51
msgid " Skip because missing times"
msgstr ""
#: util/mysql/importers/lessons.py:109
#: util/mysql/importers/lessons.py:108
msgid " Skip because missing subject"
msgstr ""
#: util/xml/xml.py:71
#: util/xml/xml.py:74
#, python-format
msgid "Class %s"
msgstr "Klasse %s"
#: util/xml/xml.py:85
#: util/xml/xml.py:88
#, python-format
msgid "Could not set class teacher of %(class)s to %(teacher)s."
msgstr "Der Klassenlehrer von %(class)s konnte nicht auf %(teacher)s gesetzt werden."
msgstr ""
"Der Klassenlehrer von %(class)s konnte nicht auf %(teacher)s gesetzt werden."
#: util/xml/xml.py:146
#: util/xml/xml.py:149
#, python-format
msgid "Invalid list of classes: %s"
msgstr "Ungültige Liste von Klassen: %s"
#: util/xml/xml.py:154
#: util/xml/xml.py:157
#, python-format
msgid "Failed to import lesson: Teacher %s does not exist."
msgstr "Fehler beim Importieren der Stunde: Lehrer %s existiert nicht."
#: views.py:54
#: views.py:52
msgid "Your changes were successfully saved."
msgstr ""
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-28 13:31+0000\n"
"POT-Creation-Date: 2020-05-04 15:45+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"
......@@ -18,11 +18,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: forms.py:12
#: forms.py:11
msgid "Untis XML export"
msgstr ""
#: forms.py:40
#: forms.py:33
msgid "UNTIS import"
msgstr ""
......@@ -38,75 +38,87 @@ msgstr ""
msgid "Link subjects to groups (for UNTIS MySQL import)"
msgstr ""
#: model_extensions.py:11 model_extensions.py:14 model_extensions.py:31
#: model_extensions.py:34 model_extensions.py:37 model_extensions.py:56
#: model_extensions.py:59 model_extensions.py:62 model_extensions.py:65
#: model_extensions.py:68 model_extensions.py:71 model_extensions.py:74
#: model_extensions.py:9 model_extensions.py:12 model_extensions.py:29
#: model_extensions.py:32 model_extensions.py:35 model_extensions.py:54
#: model_extensions.py:57 model_extensions.py:60 model_extensions.py:63
#: model_extensions.py:66 model_extensions.py:69 model_extensions.py:72
msgid "UNTIS import reference"
msgstr ""
#: model_extensions.py:19
#: model_extensions.py:17
msgid "UNTIS subject"
msgstr ""
#: model_extensions.py:21
msgid "The UNTIS import will use this for matching course groups (along with parent groups)."
#: model_extensions.py:19
msgid ""
"The UNTIS import will use this for matching course groups(along with parent "
"groups)."
msgstr ""
#: model_extensions.py:40
#: model_extensions.py:38
msgid "Lesson id in UNTIS"
msgstr ""
#: model_extensions.py:44 model_extensions.py:52
#: model_extensions.py:42 model_extensions.py:50
msgid "Number of lesson element in UNTIS"
msgstr ""
#: model_extensions.py:48
#: model_extensions.py:46
msgid "Term id in UNTIS"
msgstr ""
#: models.py:4205
#: models.py:4222
msgid "Can do XML import"
msgstr ""
#: models.py:4206
#: models.py:4223
msgid "Can assign subjects to groups"
msgstr ""
#: settings.py:17
msgid "Update values of existing subjects?"
#: preferences.py:8
msgid "UNTIS: MySQL"
msgstr ""
#: preferences.py:16
msgid "Update values of existing subjects"
msgstr ""
#: preferences.py:24
msgid "Update short name of existing persons"
msgstr ""
#: settings.py:20
msgid "Update short name of existing persons?"
#: preferences.py:32
msgid "Update name of existing persons"
msgstr ""
#: settings.py:25
msgid "Update first and last name of existing persons?"
#: preferences.py:40
msgid "Update short name of existing groups"
msgstr ""
#: settings.py:30
msgid "Update short name of existing groups?"
#: preferences.py:48
msgid "Update name of existing groups"
msgstr ""
#: settings.py:33
msgid "Update name of existing groups?"
#: preferences.py:55
msgid "Overwrite group owners"
msgstr ""
#: settings.py:36
msgid "Overwrite existing owners?"
#: preferences.py:64
msgid "Update name of existing rooms"
msgstr ""
#: settings.py:39
msgid "Update name of existing rooms?"
#: preferences.py:72
msgid "Update existing supervision areas"
msgstr ""
#: settings.py:42
msgid "Update values of existing supervision areas?"
#: preferences.py:80
msgid "Use course groups"
msgstr ""
#: settings.py:46
msgid "Build or search course groups for every course instead of setting classes as groups."
#: preferences.py:82
msgid ""
"Build or search course groups for every course instead of setting classes as "
"groups."
msgstr ""
#: templates/untis/groups_subjects.html:7
......@@ -117,16 +129,20 @@ msgstr ""
#: templates/untis/groups_subjects.html:17
msgid ""
"\n"
" You can use this form to assign subjects to groups. Please enter the exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to match course groups while importing from MySQL.\n"
" You can use this form to assign subjects to groups. Please enter the "
"exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to "
"match course groups while importing from MySQL.\n"
" "
msgstr ""
#: templates/untis/groups_subjects.html:27
msgid ""
"\n"
" If there are more than 100 groups, this table will have multiple pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before you saved your changes!</strong>\n"
" If there are more than 100 groups, this table will have multiple "
"pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before "
"you saved your changes!</strong>\n"
" "
msgstr ""
......@@ -175,7 +191,8 @@ msgstr ""
#: templates/untis/xml_import.html:31
msgid ""
"\n"
" Teachers, rooms, subjects and classes and periods will be updated in place.\n"
" Teachers, rooms, subjects and classes and periods will be updated in "
"place.\n"
" "
msgstr ""
......@@ -183,38 +200,38 @@ msgstr ""
msgid "Import data"
msgstr ""
#: util/mysql/importers/lessons.py:49
#: util/mysql/importers/lessons.py:48
msgid "Import lesson {}"
msgstr ""
#: util/mysql/importers/lessons.py:52
#: util/mysql/importers/lessons.py:51
msgid " Skip because missing times"
msgstr ""
#: util/mysql/importers/lessons.py:109
#: util/mysql/importers/lessons.py:108
msgid " Skip because missing subject"
msgstr ""
#: util/xml/xml.py:71
#: util/xml/xml.py:74
#, python-format
msgid "Class %s"
msgstr ""
#: util/xml/xml.py:85
#: util/xml/xml.py:88
#, python-format
msgid "Could not set class teacher of %(class)s to %(teacher)s."
msgstr ""
#: util/xml/xml.py:146
#: util/xml/xml.py:149
#, python-format
msgid "Invalid list of classes: %s"
msgstr ""
#: util/xml/xml.py:154
#: util/xml/xml.py:157
#, python-format
msgid "Failed to import lesson: Teacher %s does not exist."
msgstr ""
#: views.py:54
#: views.py:52
msgid "Your changes were successfully saved."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-28 13:31+0000\n"
"POT-Creation-Date: 2020-05-04 15:45+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"
......@@ -17,11 +17,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:12
#: forms.py:11
msgid "Untis XML export"
msgstr ""
#: forms.py:40
#: forms.py:33
msgid "UNTIS import"
msgstr ""
......@@ -37,75 +37,87 @@ msgstr ""
msgid "Link subjects to groups (for UNTIS MySQL import)"
msgstr ""
#: model_extensions.py:11 model_extensions.py:14 model_extensions.py:31
#: model_extensions.py:34 model_extensions.py:37 model_extensions.py:56
#: model_extensions.py:59 model_extensions.py:62 model_extensions.py:65
#: model_extensions.py:68 model_extensions.py:71 model_extensions.py:74
#: model_extensions.py:9 model_extensions.py:12 model_extensions.py:29
#: model_extensions.py:32 model_extensions.py:35 model_extensions.py:54
#: model_extensions.py:57 model_extensions.py:60 model_extensions.py:63
#: model_extensions.py:66 model_extensions.py:69 model_extensions.py:72
msgid "UNTIS import reference"
msgstr ""
#: model_extensions.py:19
#: model_extensions.py:17
msgid "UNTIS subject"
msgstr ""
#: model_extensions.py:21
msgid "The UNTIS import will use this for matching course groups (along with parent groups)."
#: model_extensions.py:19
msgid ""
"The UNTIS import will use this for matching course groups(along with parent "
"groups)."
msgstr ""
#: model_extensions.py:40
#: model_extensions.py:38
msgid "Lesson id in UNTIS"
msgstr ""
#: model_extensions.py:44 model_extensions.py:52
#: model_extensions.py:42 model_extensions.py:50
msgid "Number of lesson element in UNTIS"
msgstr ""
#: model_extensions.py:48
#: model_extensions.py:46
msgid "Term id in UNTIS"
msgstr ""
#: models.py:4205
#: models.py:4222
msgid "Can do XML import"
msgstr ""
#: models.py:4206
#: models.py:4223
msgid "Can assign subjects to groups"
msgstr ""
#: settings.py:17
msgid "Update values of existing subjects?"
#: preferences.py:8
msgid "UNTIS: MySQL"
msgstr ""
#: preferences.py:16
msgid "Update values of existing subjects"
msgstr ""
#: preferences.py:24
msgid "Update short name of existing persons"
msgstr ""
#: settings.py:20
msgid "Update short name of existing persons?"
#: preferences.py:32
msgid "Update name of existing persons"
msgstr ""
#: settings.py:25
msgid "Update first and last name of existing persons?"
#: preferences.py:40
msgid "Update short name of existing groups"
msgstr ""
#: settings.py:30
msgid "Update short name of existing groups?"
#: preferences.py:48
msgid "Update name of existing groups"
msgstr ""
#: settings.py:33
msgid "Update name of existing groups?"
#: preferences.py:55
msgid "Overwrite group owners"
msgstr ""
#: settings.py:36
msgid "Overwrite existing owners?"
#: preferences.py:64
msgid "Update name of existing rooms"
msgstr ""
#: settings.py:39
msgid "Update name of existing rooms?"
#: preferences.py:72
msgid "Update existing supervision areas"
msgstr ""
#: settings.py:42
msgid "Update values of existing supervision areas?"
#: preferences.py:80
msgid "Use course groups"
msgstr ""
#: settings.py:46
msgid "Build or search course groups for every course instead of setting classes as groups."
#: preferences.py:82
msgid ""
"Build or search course groups for every course instead of setting classes as "
"groups."
msgstr ""
#: templates/untis/groups_subjects.html:7
......@@ -116,16 +128,20 @@ msgstr ""
#: templates/untis/groups_subjects.html:17
msgid ""
"\n"
" You can use this form to assign subjects to groups. Please enter the exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to match course groups while importing from MySQL.\n"
" You can use this form to assign subjects to groups. Please enter the "
"exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to "
"match course groups while importing from MySQL.\n"
" "
msgstr ""
#: templates/untis/groups_subjects.html:27
msgid ""
"\n"
" If there are more than 100 groups, this table will have multiple pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before you saved your changes!</strong>\n"
" If there are more than 100 groups, this table will have multiple "
"pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before "
"you saved your changes!</strong>\n"
" "
msgstr ""
......@@ -174,7 +190,8 @@ msgstr ""
#: templates/untis/xml_import.html:31
msgid ""
"\n"
" Teachers, rooms, subjects and classes and periods will be updated in place.\n"
" Teachers, rooms, subjects and classes and periods will be updated in "
"place.\n"
" "
msgstr ""
......@@ -182,38 +199,38 @@ msgstr ""
msgid "Import data"
msgstr ""
#: util/mysql/importers/lessons.py:49
#: util/mysql/importers/lessons.py:48
msgid "Import lesson {}"
msgstr ""
#: util/mysql/importers/lessons.py:52
#: util/mysql/importers/lessons.py:51
msgid " Skip because missing times"
msgstr ""
#: util/mysql/importers/lessons.py:109
#: util/mysql/importers/lessons.py:108
msgid " Skip because missing subject"
msgstr ""
#: util/xml/xml.py:71
#: util/xml/xml.py:74
#, python-format
msgid "Class %s"
msgstr ""
#: util/xml/xml.py:85
#: util/xml/xml.py:88
#, python-format
msgid "Could not set class teacher of %(class)s to %(teacher)s."
msgstr ""
#: util/xml/xml.py:146
#: util/xml/xml.py:149
#, python-format
msgid "Invalid list of classes: %s"
msgstr ""
#: util/xml/xml.py:154
#: util/xml/xml.py:157
#, python-format
msgid "Failed to import lesson: Teacher %s does not exist."
msgstr ""
#: views.py:54
#: views.py:52
msgid "Your changes were successfully saved."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-28 13:31+0000\n"
"POT-Creation-Date: 2020-05-04 15:45+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"
......@@ -17,11 +17,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:12
#: forms.py:11
msgid "Untis XML export"
msgstr ""
#: forms.py:40
#: forms.py:33
msgid "UNTIS import"
msgstr ""
......@@ -37,75 +37,87 @@ msgstr ""
msgid "Link subjects to groups (for UNTIS MySQL import)"
msgstr ""
#: model_extensions.py:11 model_extensions.py:14 model_extensions.py:31
#: model_extensions.py:34 model_extensions.py:37 model_extensions.py:56
#: model_extensions.py:59 model_extensions.py:62 model_extensions.py:65
#: model_extensions.py:68 model_extensions.py:71 model_extensions.py:74
#: model_extensions.py:9 model_extensions.py:12 model_extensions.py:29
#: model_extensions.py:32 model_extensions.py:35 model_extensions.py:54
#: model_extensions.py:57 model_extensions.py:60 model_extensions.py:63
#: model_extensions.py:66 model_extensions.py:69 model_extensions.py:72
msgid "UNTIS import reference"
msgstr ""
#: model_extensions.py:19
#: model_extensions.py:17
msgid "UNTIS subject"
msgstr ""
#: model_extensions.py:21
msgid "The UNTIS import will use this for matching course groups (along with parent groups)."
#: model_extensions.py:19
msgid ""
"The UNTIS import will use this for matching course groups(along with parent "
"groups)."
msgstr ""
#: model_extensions.py:40
#: model_extensions.py:38
msgid "Lesson id in UNTIS"
msgstr ""
#: model_extensions.py:44 model_extensions.py:52
#: model_extensions.py:42 model_extensions.py:50
msgid "Number of lesson element in UNTIS"
msgstr ""
#: model_extensions.py:48
#: model_extensions.py:46
msgid "Term id in UNTIS"
msgstr ""
#: models.py:4205
#: models.py:4222
msgid "Can do XML import"
msgstr ""
#: models.py:4206
#: models.py:4223
msgid "Can assign subjects to groups"
msgstr ""
#: settings.py:17
msgid "Update values of existing subjects?"
#: preferences.py:8
msgid "UNTIS: MySQL"
msgstr ""
#: preferences.py:16
msgid "Update values of existing subjects"
msgstr ""
#: preferences.py:24
msgid "Update short name of existing persons"
msgstr ""
#: settings.py:20
msgid "Update short name of existing persons?"
#: preferences.py:32
msgid "Update name of existing persons"
msgstr ""
#: settings.py:25
msgid "Update first and last name of existing persons?"
#: preferences.py:40
msgid "Update short name of existing groups"
msgstr ""
#: settings.py:30
msgid "Update short name of existing groups?"
#: preferences.py:48
msgid "Update name of existing groups"
msgstr ""
#: settings.py:33
msgid "Update name of existing groups?"
#: preferences.py:55
msgid "Overwrite group owners"
msgstr ""
#: settings.py:36
msgid "Overwrite existing owners?"
#: preferences.py:64
msgid "Update name of existing rooms"
msgstr ""
#: settings.py:39
msgid "Update name of existing rooms?"
#: preferences.py:72
msgid "Update existing supervision areas"
msgstr ""
#: settings.py:42
msgid "Update values of existing supervision areas?"
#: preferences.py:80
msgid "Use course groups"
msgstr ""
#: settings.py:46
msgid "Build or search course groups for every course instead of setting classes as groups."
#: preferences.py:82
msgid ""
"Build or search course groups for every course instead of setting classes as "
"groups."
msgstr ""
#: templates/untis/groups_subjects.html:7
......@@ -116,16 +128,20 @@ msgstr ""
#: templates/untis/groups_subjects.html:17
msgid ""
"\n"
" You can use this form to assign subjects to groups. Please enter the exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to match course groups while importing from MySQL.\n"
" You can use this form to assign subjects to groups. Please enter the "
"exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to "
"match course groups while importing from MySQL.\n"
" "
msgstr ""
#: templates/untis/groups_subjects.html:27
msgid ""
"\n"
" If there are more than 100 groups, this table will have multiple pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before you saved your changes!</strong>\n"
" If there are more than 100 groups, this table will have multiple "
"pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before "
"you saved your changes!</strong>\n"
" "
msgstr ""
......@@ -174,7 +190,8 @@ msgstr ""
#: templates/untis/xml_import.html:31
msgid ""
"\n"
" Teachers, rooms, subjects and classes and periods will be updated in place.\n"
" Teachers, rooms, subjects and classes and periods will be updated in "
"place.\n"
" "
msgstr ""
......@@ -182,38 +199,38 @@ msgstr ""
msgid "Import data"
msgstr ""
#: util/mysql/importers/lessons.py:49
#: util/mysql/importers/lessons.py:48
msgid "Import lesson {}"
msgstr ""
#: util/mysql/importers/lessons.py:52
#: util/mysql/importers/lessons.py:51
msgid " Skip because missing times"
msgstr ""
#: util/mysql/importers/lessons.py:109
#: util/mysql/importers/lessons.py:108
msgid " Skip because missing subject"
msgstr ""
#: util/xml/xml.py:71
#: util/xml/xml.py:74
#, python-format
msgid "Class %s"
msgstr ""
#: util/xml/xml.py:85
#: util/xml/xml.py:88
#, python-format
msgid "Could not set class teacher of %(class)s to %(teacher)s."
msgstr ""
#: util/xml/xml.py:146
#: util/xml/xml.py:149
#, python-format
msgid "Invalid list of classes: %s"
msgstr ""
#: util/xml/xml.py:154
#: util/xml/xml.py:157
#, python-format
msgid "Failed to import lesson: Teacher %s does not exist."
msgstr ""
#: views.py:54
#: views.py:52
msgid "Your changes were successfully saved."
msgstr ""
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-28 13:31+0000\n"
"POT-Creation-Date: 2020-05-04 15:45+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"
......@@ -17,11 +17,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: forms.py:12
#: forms.py:11
msgid "Untis XML export"
msgstr ""
#: forms.py:40
#: forms.py:33
msgid "UNTIS import"
msgstr ""
......@@ -37,75 +37,87 @@ msgstr ""
msgid "Link subjects to groups (for UNTIS MySQL import)"
msgstr ""
#: model_extensions.py:11 model_extensions.py:14 model_extensions.py:31
#: model_extensions.py:34 model_extensions.py:37 model_extensions.py:56
#: model_extensions.py:59 model_extensions.py:62 model_extensions.py:65
#: model_extensions.py:68 model_extensions.py:71 model_extensions.py:74
#: model_extensions.py:9 model_extensions.py:12 model_extensions.py:29
#: model_extensions.py:32 model_extensions.py:35 model_extensions.py:54
#: model_extensions.py:57 model_extensions.py:60 model_extensions.py:63
#: model_extensions.py:66 model_extensions.py:69 model_extensions.py:72
msgid "UNTIS import reference"
msgstr ""
#: model_extensions.py:19
#: model_extensions.py:17
msgid "UNTIS subject"
msgstr ""
#: model_extensions.py:21
msgid "The UNTIS import will use this for matching course groups (along with parent groups)."
#: model_extensions.py:19
msgid ""
"The UNTIS import will use this for matching course groups(along with parent "
"groups)."
msgstr ""
#: model_extensions.py:40
#: model_extensions.py:38
msgid "Lesson id in UNTIS"
msgstr ""
#: model_extensions.py:44 model_extensions.py:52
#: model_extensions.py:42 model_extensions.py:50
msgid "Number of lesson element in UNTIS"
msgstr ""
#: model_extensions.py:48
#: model_extensions.py:46
msgid "Term id in UNTIS"
msgstr ""
#: models.py:4205
#: models.py:4222
msgid "Can do XML import"
msgstr ""
#: models.py:4206
#: models.py:4223
msgid "Can assign subjects to groups"
msgstr ""
#: settings.py:17
msgid "Update values of existing subjects?"
#: preferences.py:8
msgid "UNTIS: MySQL"
msgstr ""
#: preferences.py:16
msgid "Update values of existing subjects"
msgstr ""
#: preferences.py:24
msgid "Update short name of existing persons"
msgstr ""
#: settings.py:20
msgid "Update short name of existing persons?"
#: preferences.py:32
msgid "Update name of existing persons"
msgstr ""
#: settings.py:25
msgid "Update first and last name of existing persons?"
#: preferences.py:40
msgid "Update short name of existing groups"
msgstr ""
#: settings.py:30
msgid "Update short name of existing groups?"
#: preferences.py:48
msgid "Update name of existing groups"
msgstr ""
#: settings.py:33
msgid "Update name of existing groups?"
#: preferences.py:55
msgid "Overwrite group owners"
msgstr ""
#: settings.py:36
msgid "Overwrite existing owners?"
#: preferences.py:64
msgid "Update name of existing rooms"
msgstr ""
#: settings.py:39
msgid "Update name of existing rooms?"
#: preferences.py:72
msgid "Update existing supervision areas"
msgstr ""
#: settings.py:42
msgid "Update values of existing supervision areas?"
#: preferences.py:80
msgid "Use course groups"
msgstr ""
#: settings.py:46
msgid "Build or search course groups for every course instead of setting classes as groups."
#: preferences.py:82
msgid ""
"Build or search course groups for every course instead of setting classes as "
"groups."
msgstr ""
#: templates/untis/groups_subjects.html:7
......@@ -116,16 +128,20 @@ msgstr ""
#: templates/untis/groups_subjects.html:17
msgid ""
"\n"
" You can use this form to assign subjects to groups. Please enter the exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to match course groups while importing from MySQL.\n"
" You can use this form to assign subjects to groups. Please enter the "
"exact names of the subjects as they are\n"
" saved in UNTIS (case-insensitive). These values are only used to "
"match course groups while importing from MySQL.\n"
" "
msgstr ""
#: templates/untis/groups_subjects.html:27
msgid ""
"\n"
" If there are more than 100 groups, this table will have multiple pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before you saved your changes!</strong>\n"
" If there are more than 100 groups, this table will have multiple "
"pages. That means that you must save your\n"
" changes on every page. <strong>Please don't change the page before "
"you saved your changes!</strong>\n"
" "
msgstr ""
......@@ -174,7 +190,8 @@ msgstr ""
#: templates/untis/xml_import.html:31
msgid ""
"\n"
" Teachers, rooms, subjects and classes and periods will be updated in place.\n"
" Teachers, rooms, subjects and classes and periods will be updated in "
"place.\n"
" "
msgstr ""
......@@ -182,38 +199,38 @@ msgstr ""
msgid "Import data"
msgstr ""
#: util/mysql/importers/lessons.py:49
#: util/mysql/importers/lessons.py:48
msgid "Import lesson {}"
msgstr ""
#: util/mysql/importers/lessons.py:52
#: util/mysql/importers/lessons.py:51
msgid " Skip because missing times"
msgstr ""
#: util/mysql/importers/lessons.py:109
#: util/mysql/importers/lessons.py:108
msgid " Skip because missing subject"
msgstr ""
#: util/xml/xml.py:71
#: util/xml/xml.py:74
#, python-format
msgid "Class %s"
msgstr ""
#: util/xml/xml.py:85
#: util/xml/xml.py:88
#, python-format
msgid "Could not set class teacher of %(class)s to %(teacher)s."
msgstr ""
#: util/xml/xml.py:146
#: util/xml/xml.py:149
#, python-format
msgid "Invalid list of classes: %s"
msgstr ""
#: util/xml/xml.py:154
#: util/xml/xml.py:157
#, python-format
msgid "Failed to import lesson: Teacher %s does not exist."
msgstr ""
#: views.py:54
#: views.py:52
msgid "Your changes were successfully saved."
msgstr ""
This diff is collapsed.
......@@ -4,7 +4,6 @@ from jsonstore import CharField, IntegerField
from aleksis.apps.chronos import models as chronos_models
from aleksis.core import models as core_models
from aleksis.core.util.core_helpers import get_site_preferences
core_models.Person.field(
import_ref_untis=IntegerField(verbose_name=_("UNTIS import reference"), null=True, blank=True)
......@@ -12,18 +11,18 @@ core_models.Person.field(
core_models.Group.field(
import_ref_untis=IntegerField(verbose_name=_("UNTIS import reference"), null=True, blank=True)
)
if get_site_preferences()["untis_mysql__use_course_groups"]:
core_models.Group.field(
untis_subject=CharField(
verbose_name=_("UNTIS subject"),
help_text=_(
"The UNTIS import will use this for matching course groups"
"(along with parent groups)."
core_models.Group.field(
untis_subject=CharField(
verbose_name=_("UNTIS subject"),
help_text=_(
"The UNTIS import will use this for matching course groups"
"(along with parent groups)."
),
blank=True,
max_length=255,
)
blank=True,
max_length=255,
)
)
# Chronos models
chronos_models.Subject.field(
......
from aleksis.core.settings import _settings
DATABASES = {
"untis": {
"ENGINE": "django.db.backends.mysql",
"NAME": _settings.get("untis.database.name", "untis"),
"USER": _settings.get("untis.database.user", "untis"),
"PASSWORD": _settings.get("untis.database.password", None),
"HOST": _settings.get("untis.database.host", "127.0.0.1"),
"PORT": _settings.get("untis.database.port", 3306),
if _settings.get("untis.database.enabled"):
DATABASES = {
"untis": {
"ENGINE": "django.db.backends.mysql",
"NAME": _settings.get("untis.database.name", "untis"),
"USER": _settings.get("untis.database.user", "untis"),
"PASSWORD": _settings.get("untis.database.password", None),
"HOST": _settings.get("untis.database.host", "127.0.0.1"),
"PORT": _settings.get("untis.database.port", 3306),
}
}
}
[tool.poetry]
name = "AlekSIS-App-Untis"
version = "1.0a4.dev0"
version = "2.0a2"
packages = [
{ include = "aleksis" }
]
readme = "README.rst"
description = "AlekSIS (School Information System) — App for Untis import"
authors = ["Dominik George <dominik.george@teckids.org>", "Julian Leucker <leuckeju@katharineum.de>", "Frank Poetzsch-Heffter <p-h@katharineum.de>", "Jonathan Weth <wethjo@katharineum.de>"]
license = "EUPL-1.2"
homepage = "https://aleksis.edugit.io/"
repository = "https://edugit.org/AlekSIS/AlekSIS-App-Untis"
documentation = "https://aleksis.edugit.io/AlekSIS/docs/html/"
authors = ["Dominik George <dominik.george@teckids.org>", "Julian Leucker <leuckeju@katharineum.de>", "Frank Poetzsch-Heffter <p-h@katharineum.de>", "Jonathan Weth <wethjo@katharineum.de>", "Tom Teichler <tom.teichler@teckids.org>", "mirabilos <thorsten.glaser@teckids.org>"]
maintainers = ["Jonathan Weth <wethjo@katharineum.de>", "Dominik George <dominik.george@teckids.org>"]
license = "EUPL-1.2-or-later"
homepage = "https://aleksis.org/"
repository = "https://edugit.org/AlekSIS/official/AlekSIS-App-Untis"
documentation = "https://aleksis.org/AlekSIS/docs/html/"
keywords = ["SIS", "education", "school", "timetable", "plans"]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Web Environment",
"Framework :: Django :: 3.0",
"Intended Audience :: Education",
"Topic :: Education"
"Topic :: Education",
"Typing :: Typed",
]
[tool.poetry.dependencies]
......