Compare commits
8 Commits
36f5d7a77f
...
master
Author | SHA1 | Date | |
---|---|---|---|
4663b4c026 | |||
1a581420fa | |||
ac39be54cc | |||
7a74048f57 | |||
18d7c8e56a | |||
330515d8c4 | |||
95a0c7e842 | |||
d4fd598923 |
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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"
|
||||
@ -42,7 +42,7 @@ msgstr ""
|
||||
msgid "Welcome at RUG"
|
||||
msgstr ""
|
||||
|
||||
#: apps/RUG_template/templates/base.html:85
|
||||
#: apps/RUG_template/templates/base.html:83
|
||||
msgid "Language selection"
|
||||
msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-05-19 12:05+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
@ -42,7 +42,7 @@ msgstr "Logouit"
|
||||
msgid "Welcome at RUG"
|
||||
msgstr "Welkom bij de RUG"
|
||||
|
||||
#: apps/RUG_template/templates/base.html:85
|
||||
#: apps/RUG_template/templates/base.html:83
|
||||
msgid "Language selection"
|
||||
msgstr "Taal keuze"
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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"
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-05-15 12:46+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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"
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-05-15 12:43+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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"
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-05-15 12:47+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -6,4 +6,5 @@ from .models import Schedule
|
||||
class ScheduleForm(forms.Form):
|
||||
name = forms.CharField(label=_('Department name'), help_text=_('Enter a descriptive name for this schedule'), max_length=100)
|
||||
email = forms.CharField(label=_('Email address for results'), help_text=_('When the job is done, the results will be sent to this email address'), max_length=100)
|
||||
json = forms.CharField(label=_('Email address for results'), help_text=_('When the job is done, the results will be sent to this email address'), widget=forms.HiddenInput(), strip=True)
|
||||
json = forms.CharField(label=_('JSON form data'), help_text=_('The RAW JSON data of the saved form'), widget=forms.HiddenInput(), strip=True)
|
||||
status = forms.CharField(label=_('Status'), help_text=_('The status of this schedule.'), max_length=10, widget=forms.HiddenInput() )
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps/schedule/admin.py:18 apps/schedule/models.py:68
|
||||
#: apps/schedule/admin.py:18 apps/schedule/models.py:75
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
@ -38,113 +38,125 @@ msgstr ""
|
||||
msgid "Enter a descriptive name for this schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/forms.py:8 apps/schedule/forms.py:9
|
||||
#: apps/schedule/forms.py:8
|
||||
msgid "Email address for results"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/forms.py:8 apps/schedule/forms.py:9
|
||||
#: apps/schedule/forms.py:8
|
||||
msgid "When the job is done, the results will be sent to this email address"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:29
|
||||
msgid "schedule"
|
||||
#: apps/schedule/forms.py:9
|
||||
msgid "JSON form data"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:30
|
||||
msgid "schedules"
|
||||
#: apps/schedule/forms.py:9
|
||||
msgid "The RAW JSON data of the saved form"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:64
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:65
|
||||
msgid "Accepted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:66
|
||||
msgid "Processing"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:67
|
||||
msgid "Processed"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:69
|
||||
msgid "Invalid"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:70
|
||||
msgid "Failure"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:72
|
||||
msgid "Select the employee that is responsible for this schedule request"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:74
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:13
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:74
|
||||
msgid "Name of the schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:75
|
||||
msgid "Email address"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:75
|
||||
msgid "Email address where the results will be sent to."
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:77
|
||||
#: apps/schedule/forms.py:10 apps/schedule/models.py:84
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:16
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:77
|
||||
#: apps/schedule/forms.py:10 apps/schedule/models.py:84
|
||||
msgid "The status of this schedule."
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:31
|
||||
msgid "schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:32
|
||||
msgid "schedules"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:70
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:71
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:72
|
||||
msgid "Accepted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:73
|
||||
msgid "Processing"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:74
|
||||
msgid "Processed"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:76
|
||||
msgid "Invalid"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:77
|
||||
msgid "Failure"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:79
|
||||
msgid "Select the employee that is responsible for this schedule request"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:13
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
msgid "Name of the schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:82
|
||||
msgid "Email address"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:82
|
||||
msgid "Email address where the results will be sent to."
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:86
|
||||
msgid "Schedule input"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:79
|
||||
#: apps/schedule/models.py:86
|
||||
msgid "The schedule input in JSON format based on the form data"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
#: apps/schedule/models.py:88
|
||||
msgid "Peregrine JSON output"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
#: apps/schedule/models.py:88
|
||||
msgid "The results from the Peregrine job in JSON"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:83
|
||||
#: apps/schedule/models.py:90
|
||||
msgid "Peregrine binary output"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:83
|
||||
#: apps/schedule/models.py:90
|
||||
msgid "This is the output in binary format from the Peregrine cluster"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:85
|
||||
#: apps/schedule/models.py:92
|
||||
msgid "Report is send to user"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:85
|
||||
#: apps/schedule/models.py:92
|
||||
msgid "The date and time when the report has sended to the user."
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:87
|
||||
#: apps/schedule/models.py:94
|
||||
msgid "Peregrine logging"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/models.py:87
|
||||
#: apps/schedule/models.py:94
|
||||
msgid "Here you can see the logging of the Peregrine job."
|
||||
msgstr ""
|
||||
|
||||
@ -170,16 +182,41 @@ msgstr ""
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:33
|
||||
msgid "Resume"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:35
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:41
|
||||
msgid "No schedules available"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:5
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:6
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:7
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:16
|
||||
msgid "Resume schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:9
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:18
|
||||
msgid "Clone schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:5
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:6
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:11
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:20
|
||||
msgid "New schedule"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:432
|
||||
msgid "Save as draft"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:434
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:821
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
|
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"PO-Revision-Date: 2020-05-19 12:07+0200\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-06-08 13:44+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
@ -18,7 +18,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: apps/schedule/admin.py:18 apps/schedule/models.py:68
|
||||
#: apps/schedule/admin.py:18 apps/schedule/models.py:75
|
||||
msgid "Done"
|
||||
msgstr "Klaar"
|
||||
|
||||
@ -38,115 +38,125 @@ msgstr "Afdelingsnaam"
|
||||
msgid "Enter a descriptive name for this schedule"
|
||||
msgstr "Voer een beschrijvende naam in voor dit schema"
|
||||
|
||||
#: apps/schedule/forms.py:8 apps/schedule/forms.py:9
|
||||
#: apps/schedule/forms.py:8
|
||||
msgid "Email address for results"
|
||||
msgstr "E-mailadres voor resultaten"
|
||||
|
||||
#: apps/schedule/forms.py:8 apps/schedule/forms.py:9
|
||||
#: apps/schedule/forms.py:8
|
||||
msgid "When the job is done, the results will be sent to this email address"
|
||||
msgstr ""
|
||||
"Als de klus geklaard is, worden de resultaten naar dit e-mailadres gestuurd"
|
||||
msgstr "Als de klus geklaard is, worden de resultaten naar dit e-mailadres gestuurd"
|
||||
|
||||
#: apps/schedule/models.py:29
|
||||
msgid "schedule"
|
||||
msgstr "rooster"
|
||||
#: apps/schedule/forms.py:9
|
||||
msgid "JSON form data"
|
||||
msgstr "JSON formulier data"
|
||||
|
||||
#: apps/schedule/models.py:30
|
||||
msgid "schedules"
|
||||
msgstr "roosters"
|
||||
#: apps/schedule/forms.py:9
|
||||
msgid "The RAW JSON data of the saved form"
|
||||
msgstr "De rauwe JSON data van het opgeslagen formulier"
|
||||
|
||||
#: apps/schedule/models.py:64
|
||||
msgid "New"
|
||||
msgstr "Nieuw"
|
||||
|
||||
#: apps/schedule/models.py:65
|
||||
msgid "Accepted"
|
||||
msgstr "Geaccepteerd"
|
||||
|
||||
#: apps/schedule/models.py:66
|
||||
msgid "Processing"
|
||||
msgstr "Verwerken"
|
||||
|
||||
#: apps/schedule/models.py:67
|
||||
msgid "Processed"
|
||||
msgstr "Verwerkt"
|
||||
|
||||
#: apps/schedule/models.py:69
|
||||
msgid "Invalid"
|
||||
msgstr "Ongeldig"
|
||||
|
||||
#: apps/schedule/models.py:70
|
||||
msgid "Failure"
|
||||
msgstr "Error"
|
||||
|
||||
#: apps/schedule/models.py:72
|
||||
msgid "Select the employee that is responsible for this schedule request"
|
||||
msgstr ""
|
||||
"Selecteer de medewerker die verantwoordelijk is voor dit roosterverzoek"
|
||||
|
||||
#: apps/schedule/models.py:74
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:13
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#: apps/schedule/models.py:74
|
||||
msgid "Name of the schedule"
|
||||
msgstr "Naam van de rooster"
|
||||
|
||||
#: apps/schedule/models.py:75
|
||||
msgid "Email address"
|
||||
msgstr "E-mailadres"
|
||||
|
||||
#: apps/schedule/models.py:75
|
||||
msgid "Email address where the results will be sent to."
|
||||
msgstr "E-mailadres waar de resultaten naartoe worden gestuurd."
|
||||
|
||||
#: apps/schedule/models.py:77
|
||||
#: apps/schedule/forms.py:10 apps/schedule/models.py:84
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:16
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: apps/schedule/models.py:77
|
||||
#: apps/schedule/forms.py:10 apps/schedule/models.py:84
|
||||
msgid "The status of this schedule."
|
||||
msgstr "De status van dit rooster."
|
||||
|
||||
#: apps/schedule/models.py:31
|
||||
msgid "schedule"
|
||||
msgstr "rooster"
|
||||
|
||||
#: apps/schedule/models.py:32
|
||||
msgid "schedules"
|
||||
msgstr "roosters"
|
||||
|
||||
#: apps/schedule/models.py:70
|
||||
msgid "Draft"
|
||||
msgstr "Concept"
|
||||
|
||||
#: apps/schedule/models.py:71
|
||||
msgid "New"
|
||||
msgstr "Nieuw"
|
||||
|
||||
#: apps/schedule/models.py:72
|
||||
msgid "Accepted"
|
||||
msgstr "Geaccepteerd"
|
||||
|
||||
#: apps/schedule/models.py:73
|
||||
msgid "Processing"
|
||||
msgstr "Verwerken"
|
||||
|
||||
#: apps/schedule/models.py:74
|
||||
msgid "Processed"
|
||||
msgstr "Verwerkt"
|
||||
|
||||
#: apps/schedule/models.py:76
|
||||
msgid "Invalid"
|
||||
msgstr "Ongeldig"
|
||||
|
||||
#: apps/schedule/models.py:77
|
||||
msgid "Failure"
|
||||
msgstr "Error"
|
||||
|
||||
#: apps/schedule/models.py:79
|
||||
msgid "Select the employee that is responsible for this schedule request"
|
||||
msgstr "Selecteer de medewerker die verantwoordelijk is voor dit roosterverzoek"
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:13
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
msgid "Name of the schedule"
|
||||
msgstr "Naam van de rooster"
|
||||
|
||||
#: apps/schedule/models.py:82
|
||||
msgid "Email address"
|
||||
msgstr "E-mailadres"
|
||||
|
||||
#: apps/schedule/models.py:82
|
||||
msgid "Email address where the results will be sent to."
|
||||
msgstr "E-mailadres waar de resultaten naartoe worden gestuurd."
|
||||
|
||||
#: apps/schedule/models.py:86
|
||||
msgid "Schedule input"
|
||||
msgstr "Rooster invoer"
|
||||
|
||||
#: apps/schedule/models.py:79
|
||||
#: apps/schedule/models.py:86
|
||||
msgid "The schedule input in JSON format based on the form data"
|
||||
msgstr "De rooster invoer in JSON-indeling op basis van de formuliergegevens"
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
#: apps/schedule/models.py:88
|
||||
msgid "Peregrine JSON output"
|
||||
msgstr "Peregrine JSON uitvoer"
|
||||
|
||||
#: apps/schedule/models.py:81
|
||||
#: apps/schedule/models.py:88
|
||||
msgid "The results from the Peregrine job in JSON"
|
||||
msgstr "De resultaten van de Peregrine-taak in JSON"
|
||||
|
||||
#: apps/schedule/models.py:83
|
||||
#: apps/schedule/models.py:90
|
||||
msgid "Peregrine binary output"
|
||||
msgstr "Peregrine binaire uitvoer"
|
||||
|
||||
#: apps/schedule/models.py:83
|
||||
#: apps/schedule/models.py:90
|
||||
msgid "This is the output in binary format from the Peregrine cluster"
|
||||
msgstr "Dit is de uitvoer in binair formaat van het Peregrine-cluster"
|
||||
|
||||
#: apps/schedule/models.py:85
|
||||
#: apps/schedule/models.py:92
|
||||
msgid "Report is send to user"
|
||||
msgstr "Rapport is naar gebruiker gestuurd"
|
||||
|
||||
#: apps/schedule/models.py:85
|
||||
#: apps/schedule/models.py:92
|
||||
msgid "The date and time when the report has sended to the user."
|
||||
msgstr "De datum en tijd waarop het rapport naar de gebruiker is verzonden."
|
||||
|
||||
#: apps/schedule/models.py:87
|
||||
#: apps/schedule/models.py:94
|
||||
msgid "Peregrine logging"
|
||||
msgstr "Peregrine log"
|
||||
|
||||
#: apps/schedule/models.py:87
|
||||
#: apps/schedule/models.py:94
|
||||
msgid "Here you can see the logging of the Peregrine job."
|
||||
msgstr "Hier kunt u de logfile van de Peregrine opdracht zien."
|
||||
|
||||
@ -172,31 +182,53 @@ msgstr "Rapport"
|
||||
msgid "Actions"
|
||||
msgstr "Acties"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:33
|
||||
msgid "Resume"
|
||||
msgstr "Hervat"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:35
|
||||
msgid "Clone"
|
||||
msgstr "Dupliceer"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_list.html:41
|
||||
msgid "No schedules available"
|
||||
msgstr "Geen roosters beschikbaar"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:5
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:6
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:7
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:16
|
||||
msgid "Resume schedule"
|
||||
msgstr "Hervat rooster"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:9
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:18
|
||||
msgid "Clone schedule"
|
||||
msgstr "Dupliceer rooster"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:5
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:6
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:11
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:20
|
||||
msgid "New schedule"
|
||||
msgstr "Nieuwe rooster"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:432
|
||||
msgid "Save as draft"
|
||||
msgstr "Sla op als concept"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:434
|
||||
msgid "Submit"
|
||||
msgstr "Verstuur"
|
||||
|
||||
#: apps/schedule/templates/schedule/schedule_new.html:821
|
||||
msgid "and"
|
||||
msgstr "en"
|
||||
|
||||
#~ msgid "Running"
|
||||
#~ msgstr "Bezig"
|
||||
|
||||
#~ msgid "Peregrine input"
|
||||
#~ msgstr "Peregrine invoer"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This is the translated content from the source for use with Peregrine "
|
||||
#~ "cluster"
|
||||
#~ msgstr ""
|
||||
#~ "Dit is de vertaalde inhoud van de bron voor gebruik met Peregrine-cluster"
|
||||
#~ msgid "This is the translated content from the source for use with Peregrine cluster"
|
||||
#~ msgstr "Dit is de vertaalde inhoud van de bron voor gebruik met Peregrine-cluster"
|
||||
|
||||
#~ msgid "Peregrine accepted"
|
||||
#~ msgstr "Peregrine geaccepteerd"
|
||||
|
@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.0.6 on 2020-06-08 08:53
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('schedule', '0006_auto_20200519_1351'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='schedule',
|
||||
name='status',
|
||||
field=models.CharField(choices=[('draft', 'Draft'), ('new', 'New'), ('accepted', 'Accepted'), ('processing', 'Processing'), ('processed', 'Processed'), ('done', 'Done'), ('invalid', 'Invalid'), ('failure', 'Failure')], db_index=True, default='new', help_text='The status of this schedule.', max_length=10, verbose_name='Status'),
|
||||
),
|
||||
]
|
@ -34,6 +34,10 @@ class Schedule(MetaDataModel):
|
||||
class ScheduleStatus(models.TextChoices):
|
||||
"""This is a sub class of Schedule which holds all the possible schedule statuses
|
||||
|
||||
.. data:: DRAFT
|
||||
|
||||
The schedule is just created but not finished. Schedules in this state can be updated later on.
|
||||
|
||||
.. data:: NEW
|
||||
|
||||
The schedule is just created and waiting to be picked up by the Peregrine scripts.
|
||||
@ -63,6 +67,7 @@ class Schedule(MetaDataModel):
|
||||
Something when wrong on Peregrine. Look at the logging output of the Peregrine job
|
||||
|
||||
"""
|
||||
DRAFT = 'draft', _('Draft')
|
||||
NEW = 'new', _('New')
|
||||
ACCEPTED = 'accepted', _('Accepted')
|
||||
PROCESSING = 'processing', _('Processing')
|
||||
|
@ -24,7 +24,13 @@
|
||||
<td>{{ schedule.updated_at|date:"SHORT_DATETIME_FORMAT" }}</td>
|
||||
<td>{{ schedule.get_status_display }}</td>
|
||||
<td>None</td>
|
||||
<td><a href="{% url 'schedule:clone' schedule_id=schedule.id %}">Clone</a></td>
|
||||
<td>
|
||||
{% if schedule.status == 'draft' %}
|
||||
<a href="{% url 'schedule:edit' schedule_id=schedule.id %}">{% trans "Resume" %}</a>
|
||||
{% else %}
|
||||
<a href="{% url 'schedule:clone' schedule_id=schedule.id %}">{% trans "Clone" %}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr>
|
||||
|
@ -2,12 +2,36 @@
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}{% if form.json.value %}{% trans "Clone schedule" %}{% else %}{% trans "New schedule" %}{% endif %}{% endblock %}
|
||||
{% block pagetitle %}{% if form.json.value %}{% trans "Clone schedule" %}{% else %}{% trans "New schedule" %}{% endif %}{% endblock %}
|
||||
{% block title %}
|
||||
{% if form.status.value == 'draft' %}
|
||||
{% trans "Resume schedule" %}
|
||||
{% elif form.json.value %}
|
||||
{% trans "Clone schedule" %}
|
||||
{% else %}
|
||||
{% trans "New schedule" %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block pagetitle %}
|
||||
{% if form.status.value == 'draft' %}
|
||||
{% trans "Resume schedule" %}
|
||||
{% elif form.json.value %}
|
||||
{% trans "Clone schedule" %}
|
||||
{% else %}
|
||||
{% trans "New schedule" %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<form method="POST" action="{% url 'schedule:new' %}" id="new_schedule_form">
|
||||
|
||||
{% if form.status.value == 'draft' %}
|
||||
<form method="POST" action="" id="new_schedule_form">
|
||||
{% else %}
|
||||
<form method="POST" action="{% url 'schedule:new' %}" id="new_schedule_form">
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% csrf_token %}
|
||||
{{ form.json }}
|
||||
{{ form.status }}
|
||||
<h1>Algemene informatie</h1>
|
||||
<p>Als een afdeling meerdere wachtkamers heeft, vul dan dit formulier meerdere keren in; een keer voor elke groep van behandelkamers die een wachtkamer delen.</p>
|
||||
<table>
|
||||
@ -23,7 +47,6 @@
|
||||
<small id="afdelingnaamHelp" class="form-text text-muted">Geef de naam op van de afdeling</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>
|
||||
<label for="id_email">Emailadres voor de resultaten</label>
|
||||
@ -35,7 +58,6 @@
|
||||
<small id="emailadresHelp" class="form-text text-muted">Geef het emailadres op om de uitkomsten te ontvangen</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>
|
||||
<label for="patienten">Aantal patiënten dat kan wachten in wachtkamer</label>
|
||||
@ -49,16 +71,13 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<hr>
|
||||
<br />
|
||||
|
||||
<h1>Specialisaties binnen de afdeling</h1>
|
||||
<div class="poliekliniek_specialisatie">
|
||||
<table>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th>
|
||||
<label for="specialisatie_0" class="h4">Specialisatie 1</label>
|
||||
@ -70,7 +89,6 @@
|
||||
<small id="specialisatie_0Help" class="form-text text-muted" style="float:right;display:none"><a href="#">Verwijder</a></small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>
|
||||
<label for="specialisatie_afkorting_0">Specialisatie afkorting</label>
|
||||
@ -82,19 +100,6 @@
|
||||
<small id="specialisatie_0Help" class="form-text text-muted">Geef een afkorting op voor deze specialisatie. Deze gebruiken wij in de figuren van de rapportage.</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>
|
||||
<label for="specialisatie_aantal_artsen_0">Aantal artsen</label>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="number" class="form-control" min="1" max="100" id="specialisatie_aantal_artsen_0" name="specialisatie_aantal_artsen_0" aria-describedby="specialisatie_aantal_artsen_0Help" required>
|
||||
<small id="specialisatie_aantal_artsen_0Help" class="form-text text-muted">Maximaal aantal artsen dat op enig moment tegelijk aan het werk zou kunnen zijn.</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>
|
||||
<label for="specialisatie_aantal_kamers_0">Aantal behandelkamers</label>
|
||||
@ -106,6 +111,18 @@
|
||||
<small id="specialisatie_aantal_kamers_0Help" class="form-text text-muted">Aantal behandelkamers dat beschikbaar is per specialisatie</small>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<label for="specialisatie_aantal_artsen_0">Aantal artsen</label>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="number" class="form-control" min="1" max="100" id="specialisatie_aantal_artsen_0" name="specialisatie_aantal_artsen_0" aria-describedby="specialisatie_aantal_artsen_0Help" required>
|
||||
<small id="specialisatie_aantal_artsen_0Help" class="form-text text-muted">Maximaal aantal artsen dat op enig moment tegelijk aan het werk kan zijn (dit kan niet meer zijn dan het aantal behandelkamers).<br /><strong>Let op</strong>: dit gaat om fulltime artsen, twee 50% parttime artsen moet worden ingevuld als één arts.</small>
|
||||
<br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<label>Werktijden <small class="text-danger" style="display:none"> Nog niet volledig</small></label>
|
||||
@ -179,7 +196,6 @@
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>ochtendpauze</th>
|
||||
<td>
|
||||
@ -214,7 +230,6 @@
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>lunchpauze</th>
|
||||
<td>
|
||||
@ -252,7 +267,6 @@
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>middagpauze</th>
|
||||
<td>
|
||||
@ -265,19 +279,15 @@
|
||||
<option value="1515">15:15</option>
|
||||
<option value="1530">15:30</option>
|
||||
<option value="1545">15:45</option>
|
||||
|
||||
<option value="1600">16:00</option>
|
||||
<option value="1615">16:15</option>
|
||||
<option value="1630">16:30</option>
|
||||
<option value="1645">16:45</option>
|
||||
|
||||
<option value="1700">17:00</option>
|
||||
<option value="1715">17:15</option>
|
||||
<option value="1730">17:30</option>
|
||||
<option value="1745">17:45</option>
|
||||
|
||||
<option value="1800">18:00</option>
|
||||
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
@ -289,51 +299,38 @@
|
||||
<option value="1515">15:15</option>
|
||||
<option value="1530">15:30</option>
|
||||
<option value="1545">15:45</option>
|
||||
|
||||
<option value="1600">16:00</option>
|
||||
<option value="1615">16:15</option>
|
||||
<option value="1630">16:30</option>
|
||||
<option value="1645">16:45</option>
|
||||
|
||||
<option value="1700">17:00</option>
|
||||
<option value="1715">17:15</option>
|
||||
<option value="1730">17:30</option>
|
||||
<option value="1745">17:45</option>
|
||||
|
||||
<option value="1800">18:00</option>
|
||||
<option value="1815">18:15</option>
|
||||
<option value="1830">18:30</option>
|
||||
<option value="1845">18:45</option>
|
||||
|
||||
<option value="1900">19:00</option>
|
||||
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div style="text-align: center; width: 100%; margin-top: 15px"><a href="#" class="add_specialisatie">klik hier om een extra specialisatie toe te voegen</a></div>
|
||||
|
||||
<br />
|
||||
<hr>
|
||||
<br />
|
||||
|
||||
<h1>Behandelingen</h1>
|
||||
<p>In het model worden slots van 5 minuten gebruikt voor het bepalen van starttijden. etc. Afspraken starten daarmee om bijv. 10.00, 10.05, 10.10.<br />Afspraakduur wordt daarmee ook in veelvouden van 5 minuten gevraagd.</p>
|
||||
<p>Zowel afspraken waar de patiënt fysiek in het ziekenhuis is, als wel telefoongesprekken worden hier gevraagd. Beide type afspraken kunnen in het raster worden gepland.</p>
|
||||
<p>Normaal aantal: Geef hier het aantal afspraken op dat van dit type <strong style="text-decoration: underline">per dag</strong> gebruikelijk was, voordat COVID-19 begon.<br />
|
||||
Gewenst als op 30%: Geef hier het aantal afspraken <strong style="text-decoration: underline">per dag</strong> op dat u zou willen hebben als de afdeling maar op 30% van de normale capaciteit zou kunnen draaien.</p>
|
||||
|
||||
<p>Normaal aantal: Geef hier het aantal afspraken op dat van dit type <strong style="text-decoration: underline">per dag</strong> gebruikelijk was, voordat COVID-19 begon.<br />Gewenst als op 30%: Geef hier het aantal afspraken <strong style="text-decoration: underline">per dag</strong> op dat u zou willen hebben als de afdeling maar op 30% van de normale capaciteit zou kunnen draaien.</p>
|
||||
<table id="tabel_behandelingen">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -384,11 +381,9 @@
|
||||
<option value="phone">telefonisch</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="number" class="form-control behandeling_calc" id="behandeling_100p_0" name="behandeling_100p_0" min="0" max="100" required>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input type="number" class="form-control behandeling_calc" id="behandeling_30p_0" name="behandeling_30p_0" min="0" max="100" required>
|
||||
<small style="float:right;"><a href="#">Verwijder</a></small>
|
||||
@ -396,9 +391,7 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="text-align: center; width: 100%; margin-top: 15px"><a href="#" class="add_behandeling">klik hier om een nieuwe behandeling toe te voegen</a></div>
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="behandeling_calc_summary">
|
||||
@ -406,51 +399,40 @@
|
||||
<td style="text-align: center">0</td>
|
||||
<td style="text-align: center">0</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="behandeling_calc_remarks"></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3" class="behandeling_calc_time">
|
||||
|
||||
</td>
|
||||
<td colspan="3" class="behandeling_calc_time"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<hr>
|
||||
<br />
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><input type="checkbox" value="1" name="privacy_verklaring" required > </td>
|
||||
<td>Met het verzenden van dit formulier gaat u akkoord met de <a href="https://www.rug.nl/about-us/organization/rules-and-regulations/algemeen/20180423-algemeen-privacyverklaring-rug.pdf" target="_blank" title="RUG Privacyverklaring">privacyverklaring</a> van de Rijksuniversiteit Groningen.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input type="checkbox" value="1" name="rug_vrijwaring" required > </td>
|
||||
<td>De Rijksuniversiteit Groningen (RUG) biedt geen garantie terzake van de juistheid of de bruikbaarheid van het door haar ontwikkelde model en aanverwante documenten. De afnemer/gebruiker vrijwaart de RUG voor aanspraken van derden die jegens RUG mochten worden gedaan naar aanleiding van schades, voortvloeiend uit het gebruik of de toepassing van het model en aanverwante documenten. Alle rechten, waaronder de intellectuele eigendomsrechten, op het model en bijbehorende documenten, blijven te allen tijde voorbehouden aan de RUG.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input type="checkbox" value="1" name="data_verwerking" required > </td>
|
||||
<td>De gebruiker geeft de RUG toestemming om de ingevoerde data te verwerken in het kader van wetenschappelijk onderzoek en in het kader van het verbeteren van haar tools. De RUG zal over het onderzoek mogen publiceren, ook in andere vormen dan genoemde eindrapportage. De data kunnen in geanonimiseerde vorm in de publicaties worden opgenomen.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<hr>
|
||||
<br />
|
||||
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" id="save_draft" class="btn btn-primary">{% trans "Save as draft" %}</button>
|
||||
-
|
||||
<button type="submit" id="save_new" class="btn btn-primary">{% trans "Submit" %}</button>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
function addSpecialisatie() {
|
||||
var clone = jQuery('div.poliekliniek_specialisatie:first').clone()
|
||||
@ -501,6 +483,11 @@
|
||||
|
||||
jQuery('input[name^="specialisatie_aantal_artsen_"]').off('change keyup').on('change keyup',function(){
|
||||
calculateBehandelingen();
|
||||
validate_doctors_vs_rooms();
|
||||
});
|
||||
|
||||
jQuery('input[name^="specialisatie_aantal_kamers_"]').off('change keyup').on('change keyup',function(){
|
||||
validate_doctors_vs_rooms();
|
||||
});
|
||||
|
||||
jQuery('div.werktijden select').off('change').on('change',function(event){
|
||||
@ -614,7 +601,6 @@
|
||||
jQuery('div.behandeling_calc_remarks').addClass(class_message).text(calc_message);
|
||||
}
|
||||
|
||||
|
||||
validate_behandeling_hours();
|
||||
|
||||
return !error;
|
||||
@ -692,6 +678,19 @@
|
||||
updateBehandelingen();
|
||||
}
|
||||
|
||||
function validate_doctors_vs_rooms() {
|
||||
//let behandelingen = {};
|
||||
jQuery('div.poliekliniek_specialisatie').each(function(index,element){
|
||||
element = jQuery(element);
|
||||
|
||||
let amount_of_doctors = element.find('input[name^="specialisatie_aantal_artsen_"]').val() * 1;
|
||||
let amount_of_rooms = element.find('input[name^="specialisatie_aantal_kamers_"]').val() * 1;
|
||||
|
||||
// Use HTML5 validators from the browser and chage the max value based on the amount of rooms available
|
||||
element.find('input[name^="specialisatie_aantal_artsen_"]').prop('max',amount_of_rooms);
|
||||
});
|
||||
}
|
||||
|
||||
function validate_behandeling_hours() {
|
||||
let behandelingen = {};
|
||||
jQuery('div.poliekliniek_specialisatie').each(function(index,element){
|
||||
@ -1058,12 +1057,25 @@
|
||||
|
||||
jQuery('input[name^="specialisatie_aantal_artsen_"]').off('change keyup').on('change keyup',function(){
|
||||
calculateBehandelingen();
|
||||
validate_doctors_vs_rooms();
|
||||
});
|
||||
|
||||
jQuery('input[name^="specialisatie_aantal_kamers_"]').off('change keyup').on('change keyup',function(){
|
||||
validate_doctors_vs_rooms();
|
||||
});
|
||||
|
||||
jQuery('tr.behandeling :input').off('change keyup').on('change keyup',function(event){
|
||||
calculateBehandelingen();
|
||||
});
|
||||
|
||||
jQuery('#save_draft').on('click',function(event){
|
||||
jQuery('input#id_status').val('draft');
|
||||
});
|
||||
|
||||
jQuery('#save_new').on('click',function(event){
|
||||
jQuery('input#id_status').val('new');
|
||||
});
|
||||
|
||||
jQuery('form#new_schedule_form').on('submit',function(event){
|
||||
if (validate_working_hours() &&
|
||||
calculateBehandelingen() &&
|
||||
@ -1072,6 +1084,7 @@
|
||||
let formdata = new FormData(this);
|
||||
formdata.delete('csrfmiddlewaretoken');
|
||||
formdata.delete('json');
|
||||
formdata.delete('status');
|
||||
|
||||
// Display the key/value pairs. This is needed to support stupid IE. Mici$oft is still having hardtime playing nice :(
|
||||
let json_data = {};
|
||||
|
@ -7,4 +7,5 @@ urlpatterns = [
|
||||
path('', views.ScheduleListView.as_view(), name='list'),
|
||||
path('new', views.new_or_update_schedule, name='new'),
|
||||
path('<int:schedule_id>/clone', views.new_or_update_schedule, name='clone'),
|
||||
path('<int:schedule_id>/edit', views.new_or_update_schedule, name='edit'),
|
||||
]
|
@ -50,36 +50,59 @@ def new_or_update_schedule(request, schedule_id = None):
|
||||
schedule = None
|
||||
if schedule_id is not None:
|
||||
try:
|
||||
schedule = Schedule.objects.get(pk=schedule_id,employee=request.user.employee)
|
||||
# Try loading an existing schedule. Make sure you only load a schedule that is owned by the logged in user!
|
||||
schedule = Schedule.objects.get(pk = schedule_id, employee = request.user.employee)
|
||||
except Schedule.DoesNotExist:
|
||||
# Schedule does not exist, or you do not own the schedule you try to load. Stop playing around on the url bar ;)
|
||||
pass
|
||||
|
||||
if request.method == 'POST':
|
||||
# Load the form data
|
||||
schedule_form = ScheduleForm(request.POST)
|
||||
|
||||
# Check if minimal input fields are correct
|
||||
if schedule_form.is_valid():
|
||||
new_schedule = Schedule()
|
||||
# First time saving. Create a new, empty schedule
|
||||
# Or when the existing schedule has NOT 'draft' status, which means we are cloning an existing schedule
|
||||
if schedule is None or schedule.status != Schedule.ScheduleStatus.DRAFT:
|
||||
schedule = Schedule()
|
||||
|
||||
# Set the schedule status based on the form pressed button. Either new or draft status
|
||||
schedule.status = Schedule.ScheduleStatus.DRAFT if schedule_form.cleaned_data['status'] == 'draft' else Schedule.ScheduleStatus.NEW
|
||||
|
||||
try:
|
||||
new_schedule.planning_source = json.loads(schedule_form.cleaned_data['json'])
|
||||
# Try loading the JSON data from the form
|
||||
schedule.planning_source = json.loads(schedule_form.cleaned_data['json'])
|
||||
except json.JSONDecodeError as ex:
|
||||
new_schedule.planning_source = json.loads(json.dumps({'error': str(ex)}))
|
||||
new_schedule.status = Schedule.ScheduleStatus.INVALID
|
||||
# Something when wrong. The error is saved instead, and can be read out in the admin area
|
||||
schedule.planning_source = json.loads(json.dumps({'error': str(ex)}))
|
||||
schedule.status = Schedule.ScheduleStatus.INVALID
|
||||
|
||||
new_schedule.employee = request.user.employee
|
||||
new_schedule.name = schedule_form.cleaned_data['name']
|
||||
new_schedule.email = schedule_form.cleaned_data['email']
|
||||
|
||||
new_schedule.save()
|
||||
# Make sure that the logged in user that is creating the schedule does become the owner
|
||||
schedule.employee = request.user.employee
|
||||
# Store name of the schedule
|
||||
schedule.name = schedule_form.cleaned_data['name']
|
||||
# Store email address for the results
|
||||
schedule.email = schedule_form.cleaned_data['email']
|
||||
# Save the schedule to the database
|
||||
schedule.save()
|
||||
|
||||
# Return to overview
|
||||
return redirect('schedule:list')
|
||||
|
||||
else:
|
||||
# We start with a new form. Either new of clone/edit
|
||||
status = 'new'
|
||||
json_form = ''
|
||||
if schedule is not None:
|
||||
schedule = json.dumps(schedule.planning_source)
|
||||
# The schedule is an existing one. So we are in clone/edit mode. So load the current status and JSON data
|
||||
status = schedule.status
|
||||
json_form = json.dumps(schedule.planning_source)
|
||||
|
||||
schedule_form = ScheduleForm(initial={'json' : schedule})
|
||||
# Create the from logic
|
||||
schedule_form = ScheduleForm(initial={'json' : json_form, 'status' : status})
|
||||
|
||||
# Show the form in the browser
|
||||
return render(request, template_name, {
|
||||
'form' : schedule_form,
|
||||
})
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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"
|
||||
|
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"PO-Revision-Date: 2020-05-18 11:10+0200\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-06-08 11:57+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
@ -36,7 +36,7 @@ msgstr "De datum en tijd waarop dit model is bijgewerkt"
|
||||
|
||||
#: templates/menu.html:4
|
||||
msgid "Het 1,5 meter ziekenhuis"
|
||||
msgstr ""
|
||||
msgstr "Het 1,5 meter ziekenhuis"
|
||||
|
||||
#: templates/menu.html:8 templates/registration/login.html:4
|
||||
#: templates/registration/login.html:5 templates/registration/login.html:8
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+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,12 +18,8 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: polyclinic_scheduling/settings.py:129
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: polyclinic_scheduling/settings.py:130
|
||||
msgid "English"
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: polyclinic_scheduling/urls.py:22 polyclinic_scheduling/urls.py:23
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-19 14:11+0000\n"
|
||||
"POT-Creation-Date: 2020-06-08 13:43+0200\n"
|
||||
"PO-Revision-Date: 2020-05-15 12:49+0200\n"
|
||||
"Last-Translator: Joshua Rubingh <j.g.rubingh@rug.nl>\n"
|
||||
"Language-Team: \n"
|
||||
@ -18,14 +18,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: polyclinic_scheduling/settings.py:129
|
||||
#: polyclinic_scheduling/settings.py:130
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlands"
|
||||
|
||||
#: polyclinic_scheduling/settings.py:130
|
||||
msgid "English"
|
||||
msgstr "Engels"
|
||||
|
||||
#: polyclinic_scheduling/urls.py:22 polyclinic_scheduling/urls.py:23
|
||||
msgid "University of Groningen Polyclinic planning tool"
|
||||
msgstr "RUG Poliklinieken planning tool"
|
||||
@ -33,3 +29,6 @@ msgstr "RUG Poliklinieken planning tool"
|
||||
#: polyclinic_scheduling/urls.py:24
|
||||
msgid "Polyclinic planning tool"
|
||||
msgstr "Poliklinieken planning tool"
|
||||
|
||||
#~ msgid "English"
|
||||
#~ msgstr "Engels"
|
||||
|
Reference in New Issue
Block a user