Compare commits

...

5 Commits

5 changed files with 95 additions and 12 deletions

View File

@ -31,7 +31,7 @@ table {
width: 100%;
}
input {
form#new_schedule_form input {
width: 100%
}

View File

@ -32,6 +32,8 @@ class Schedule(MetaDataModel):
report_sent = models.DateTimeField(_('Report is send to user'), blank=True, null=True, help_text=_('The date and time when the report has sended to the user.'))
peregrine_output_log = models.TextField(_('Peregrine logging'), blank=True, help_text=_('Here you can see the logging of the Peregrine job.'))
def __str__(self):
"""str: Returns a readable name for the schedule. Format is [schedule_name] (employee_name)."""
return '{} ({})'.format(self.name, self.employee)

View File

@ -90,7 +90,7 @@
</tr>
<tr>
<td>
<input type="number" class="form-control" min="0" max="100" id="specialisatie_aantal_artsen_0" name="specialisatie_aantal_artsen_0" aria-describedby="specialisatie_aantal_artsen_0Help" required>
<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>
@ -102,7 +102,7 @@
</tr>
<tr>
<td>
<input type="number" class="form-control" min="0" max="100" id="specialisatie_aantal_kamers_0" name="specialisatie_aantal_kamers_0" aria-describedby="specialisatie_aantal_kamers_0Help" required>
<input type="number" class="form-control" min="1" max="100" id="specialisatie_aantal_kamers_0" name="specialisatie_aantal_kamers_0" aria-describedby="specialisatie_aantal_kamers_0Help" required>
<small id="specialisatie_aantal_kamers_0Help" class="form-text text-muted">Aantal behandelkamers dat beschikbaar is per specialisatie</small>
</td>
</tr>
@ -278,7 +278,19 @@
<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>
@ -290,9 +302,24 @@
<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>
@ -317,7 +344,8 @@
<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 afspraketabel_behandelingenn 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" betekent: zoals het was voor COVID-19<br />30% betekent: als je maar 30% van de patiënten kunt binnenkrijgen, hoeveel afspraken van elk type zou je dan willen inplannen?</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>
@ -406,6 +434,28 @@
<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>
</form>
@ -522,7 +572,7 @@
function calculateBehandelingen() {
let total = 0, percentage = 0;
let ok = true;
let error = false;
jQuery('tr.behandeling').each(function(counter,row){
row = jQuery(row);
@ -541,7 +591,7 @@
if (percentage > (total * 0.3)) {
calc_message = 'U heeft ' + Math.ceil(percentage - (total * 0.3)) + ' teveel afspraken geselecteerd voor het 30% scenario';
class_message = 'alert-danger';
ok = false;
error = true;
} else if ((total * 0.3) - percentage >= 1) {
calc_message = 'U kunt nog '+ Math.floor((total * 0.3) - percentage) +' afspraken toevoegen voor het 30% scenario';
class_message = 'alert-warning';
@ -553,7 +603,7 @@
validate_behandeling_hours();
return ok;
return !error;
}
function sort_behandelingen(n) {
@ -747,7 +797,7 @@
}
});
return error;
return !error;
}
function validate_working_hours() {
@ -755,7 +805,8 @@
jQuery(element).find('select').removeClass('is-invalid');
check_working_hours(element,true);
jQuery(element).find('select').filter(function(){ let value = jQuery(this).val(); return !(value != null && value != '') }).addClass('is-invalid');
})
});
return jQuery('small.text-danger:visible').length == 0;
}

View File

@ -1,15 +1,20 @@
{% load i18n %}
<li class="rug-nav--secondary__item">
<a class="rug-nav--secondary__link js--togglable-switch" data-toggle-class="rug-nav--secondary__link--selected" data-toggle-group="submenu" data-toggle-id="menu-2427370b-9435-44d9-bca7-b93ec9d03cc0-33.31" data-toggle-mode="togglable">{% trans "Menu" %}</a>
<a class="rug-nav--secondary__link js--togglable-switch" data-toggle-class="rug-nav--secondary__link--selected" data-toggle-group="submenu" data-toggle-id="menu-2427370b-9435-44d9-bca7-b93ec9d03cc0-33.31" data-toggle-mode="togglable">{% trans "Het 1,5 meter ziekenhuis" %}</a>
<ul class="rug-nav--secondary__sub rug-nav--secondary__sub--hidden js--togglable-item" data-toggle-class="rug-block" data-toggle-group="submenu" data-toggle-id="menu-2427370b-9435-44d9-bca7-b93ec9d03cc0-33.31">
{% if not user.is_authenticated %}
<li class="rug-nav--secondary__sub__item" data-menu-id="b512aa55-f0cb-4588-9054-302caa5fa951-33.34">
<a class="rug-nav--secondary__sub__link" href="{% url 'schedule:list' %}"><span class="rug-nav--secondary__sub__link-text">{% trans "Schedules" %}</span></a>
<a class="rug-nav--secondary__sub__link" href="{% url 'login' %}"><span class="rug-nav--secondary__sub__link-text">{% trans "Login" %}</span></a>
</li>
{% endif %}
{% if user.is_authenticated %}
<li class="rug-nav--secondary__sub__item" data-menu-id="b512aa55-f0cb-4588-9054-302caa5fa951-33.34">
<a class="rug-nav--secondary__sub__link" href="{% url 'schedule:list' %}"><span class="rug-nav--secondary__sub__link-text">{% trans "Schedule overview" %}</span></a>
</li>
<li class="rug-nav--secondary__sub__item" data-menu-id="b512aa55-f0cb-4588-9054-302caa5fa951-33.35">
<a class="rug-nav--secondary__sub__link" href="{% url 'schedule:new' %}"><span class="rug-nav--secondary__sub__link-text">{% trans "New schedule" %}</span></a>
</li>
{% if user.is_authenticated %}
<li class="rug-nav--secondary__sub__item" data-menu-id="b512aa55-f0cb-4588-9054-302caa5fa951-33.36">
<a class="rug-nav--secondary__sub__link" href="{% url 'logout' %}"><span class="rug-nav--secondary__sub__link-text">{% trans "Logout" %}</span></a>
</li>

View File

@ -0,0 +1,25 @@
{% extends 'base.html' %} <!-- Add this for inheritance -->
{% load i18n %}
{% block title %}{% trans "Login" %}{% endblock %}
{% block pagetitle %}{% trans "Login" %}{% endblock %}
{% block content %}
<p>
<strong>{% trans "Login" %}</strong>
<br />
{% blocktrans %}You can login here to create your schedules. If you do not have a login, please go to the <a href="https://www.rug.nl/cope/projecten/het-anderhalve-meter-ziekenhuis/aanmelden">Signup page</a> {% endblocktrans %}
</p>
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}">
<table>
{{ form.as_table }}
<tr>
<td colspan="2"><input type="submit" value="{% trans "Login" %}"></td>
</tr>
</table>
</form>
<br />
{# Assumes you setup the password_reset view in your URLconf #}
<p><a href="{% url 'password_reset' %}">{% trans "Lost password?" %}</a></p>
{% endblock %}