summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Philipp Litza <janphilipp@litza.de>2011-09-16 12:22:03 +0200
committerJan-Philipp Litza <janphilipp@litza.de>2011-09-16 12:22:03 +0200
commit01463f0ac06ffc1fb23c267bbcb083576849b9d6 (patch)
treee2982682d8bc9278fe858f65ccb45e0a5fd6e21f
parent4309131a7deffe9c2c6c036461ce8b5c60ef799d (diff)
make shift creation more comfortable by automatically selecting mode on changes to the according fields and remembering entries if error occurs
-rw-r--r--includes/pages/admin_shifts.php6
-rw-r--r--templates/admin_shifts.html12
-rw-r--r--templates/admin_shifts_angel_types.html10
3 files changed, 18 insertions, 10 deletions
diff --git a/includes/pages/admin_shifts.php b/includes/pages/admin_shifts.php
index 7ef53d6c..5dacb3ff 100644
--- a/includes/pages/admin_shifts.php
+++ b/includes/pages/admin_shifts.php
@@ -226,7 +226,7 @@ function admin_shifts() {
unset ($_SESSION['admin_shifts_types']);
}
- $room_select = html_select_key('rid', $room_array, '');
+ $room_select = html_select_key('rid', $room_array, $_REQUEST['rid']);
$angel_types = "";
foreach ($types as $type) {
$angel_types .= template_render('../templates/admin_shifts_angel_types.html', array (
@@ -244,9 +244,11 @@ function admin_shifts() {
'end' => date("Y-m-d H:i", $end),
'mode_single_selected' => $_REQUEST['mode'] == 'single' ? 'checked="checked"' : '',
'mode_multi_selected' => $_REQUEST['mode'] == 'multi' ? 'checked="checked"' : '',
+ 'mode_multi_length' => !empty($_REQUEST['length'])? $_REQUEST['length'] : '120',
'mode_variable_selected' => $_REQUEST['mode'] == 'variable' ? 'checked="checked"' : '',
+ 'mode_variable_hours' => !empty($_REQUEST['change_hours'])? $_REQUEST['change_hours'] : '00, 04, 08, 10, 12, 14, 16, 18, 20, 22',
'angelmode_location_selected' => $_REQUEST['angelmode'] == 'location' ? 'checked="checked"' : '',
'angelmode_manually_selected' => $_REQUEST['angelmode'] == 'manually' ? 'checked="checked"' : ''
));
}
-?> \ No newline at end of file
+?>
diff --git a/templates/admin_shifts.html b/templates/admin_shifts.html
index 1fb62bcd..bfcc4623 100644
--- a/templates/admin_shifts.html
+++ b/templates/admin_shifts.html
@@ -34,25 +34,25 @@
</p>
<p>
<label>
- <input type="radio" name="mode" value="multi" %mode_multi_selected%/>
+ <input type="radio" name="mode" id="multi_shifts" value="multi" %mode_multi_selected%/>
</label>Mehrere Schichten erstellen:
</p>
<p>
<label>
Schichtlänge in Minuten:
</label>
- <input type="text" name="length" value="120" />
+ <input type="text" name="length" value="%mode_multi_length%" onchange="document.getElementById('multi_shifts').checked = true;" />
</p>
<p>
<label>
- <input type="radio" name="mode" value="variable" %mode_variable_selected%/>
+ <input type="radio" name="mode" id="var_multi_shifts" value="variable" %mode_variable_selected%/>
</label>Mehrere Schichten mit variabler Länge erstellen:
</p>
<p>
<label>
Schichtwechsel-Stunden:
</label>
- <input type="text" name="change_hours" style="width: 300px;" value="00, 04, 08, 10, 12, 14, 16, 18, 20, 22" />
+ <input type="text" name="change_hours" style="width: 300px;" value="%mode_variable_hours%" onchange="document.getElementById('var_multi_shifts').checked = true;" />
</p><h2>Benötigte Engel:</h2>
<p>
<label>
@@ -61,11 +61,11 @@
</p>
<p>
<label>
- <input type="radio" name="angelmode" value="manually" %angelmode_manually_selected%/>
+ <input type="radio" name="angelmode" id="manual_angelmode" value="manually" %angelmode_manually_selected%/>
</label>Es werden folgende Engel benötigt:
</p>%angel_types%
<p>
<input type="submit" name="preview" value="Vorschau" />
</p>
</fieldset>
-</form> \ No newline at end of file
+</form>
diff --git a/templates/admin_shifts_angel_types.html b/templates/admin_shifts_angel_types.html
index 31d2379c..04e31c81 100644
--- a/templates/admin_shifts_angel_types.html
+++ b/templates/admin_shifts_angel_types.html
@@ -6,11 +6,17 @@
<script type="text/javascript">
document.getElementById("type_%id%_up").onclick = function(e){
document.getElementById("type_%id%").value = (parseInt(document.getElementById("type_%id%").value) + 101) % 100;
- return false;
+ document.getElementById("manual_angelmode").checked = true;
+ return false;
};
document.getElementById("type_%id%_down").onclick = function(e){
document.getElementById("type_%id%").value = (parseInt(document.getElementById("type_%id%").value) +99) % 100;
- return false;
+ document.getElementById("manual_angelmode").checked = true;
+ return false;
+ };
+ document.getElementById("type_%id%").onchange = function(e){
+ document.getElementById("manual_angelmode").checked = true;
+ return false;
};
</script>
</p>