Skip to content
Snippets Groups Projects
Commit 0430aec4 authored by Elmar Ludwig's avatar Elmar Ludwig Committed by Jan-Hendrik Willms
Browse files

use ID not name as input name, fixes #3011

Closes #3011

Merge request studip/studip!2128
parent c030a40d
No related branches found
No related tags found
No related merge requests found
...@@ -49,7 +49,7 @@ class RoomSearchWidget extends SidebarWidget ...@@ -49,7 +49,7 @@ class RoomSearchWidget extends SidebarWidget
if ($this->defined_properties) { if ($this->defined_properties) {
foreach ($this->defined_properties as $property) { foreach ($this->defined_properties as $property) {
$this->criteria[$property->name] = [ $this->criteria[$property->name] = [
'name' => $property->name, 'name' => $property->id,
'title' => ( 'title' => (
$property->display_name != '' $property->display_name != ''
? $property->display_name ? $property->display_name
...@@ -188,23 +188,25 @@ class RoomSearchWidget extends SidebarWidget ...@@ -188,23 +188,25 @@ class RoomSearchWidget extends SidebarWidget
foreach ($this->criteria as $name => $data) { foreach ($this->criteria as $name => $data) {
if ($name == 'special__time_range') { if ($name == 'special__time_range') {
if (Request::get($name . '_enabled')) { if (Request::get($data['name'] . '_enabled')) {
$data['enabled'] = true; $data['enabled'] = true;
$this->selected_criteria[$name] = $data; $this->selected_criteria[$name] = $data;
if (Request::submitted($name . '_begin_date') if (Request::submittedSome(
|| Request::submitted($name . '_begin_time') $data['name'] . '_begin_date',
|| Request::submitted($name . '_end_date') $data['name'] . '_begin_time',
|| Request::submitted($name . '_end_time')) { $data['name'] . '_end_date',
$data['name'] . '_end_time'
)) {
$submitted_begin = Request::getDateTime( $submitted_begin = Request::getDateTime(
$name . '_begin_date', $data['name'] . '_begin_date',
'd.m.Y', 'd.m.Y',
$name . '_begin_time', $data['name'] . '_begin_time',
'H:i' 'H:i'
); );
$submitted_end = Request::getDateTime( $submitted_end = Request::getDateTime(
$name . '_end_date', $data['name'] . '_end_date',
'd.m.Y', 'd.m.Y',
$name . '_end_time', $data['name'] . '_end_time',
'H:i' 'H:i'
); );
if(!$submitted_begin || !$submitted_end) { if(!$submitted_begin || !$submitted_end) {
...@@ -217,13 +219,13 @@ class RoomSearchWidget extends SidebarWidget ...@@ -217,13 +219,13 @@ class RoomSearchWidget extends SidebarWidget
]; ];
} }
$this->selected_criteria[$name]['day_of_week']['value'] = $this->selected_criteria[$name]['day_of_week']['value'] =
Request::get($name . '_day_of_week'); Request::get($data['name'] . '_day_of_week');
$this->selected_criteria[$name]['semester']['value'] = $this->selected_criteria[$name]['semester']['value'] =
Request::get($name . '_semester_id'); Request::get($data['name'] . '_semester_id');
} }
} else { } else {
if (!empty($data['switch'])) { if (!empty($data['switch'])) {
if (Request::get($name . '_enabled')) { if (Request::get($data['name'] . '_enabled')) {
$data['enabled'] = true; $data['enabled'] = true;
} else { } else {
//The criteria isn't enabled. We can move on to the //The criteria isn't enabled. We can move on to the
...@@ -233,21 +235,23 @@ class RoomSearchWidget extends SidebarWidget ...@@ -233,21 +235,23 @@ class RoomSearchWidget extends SidebarWidget
} }
if ($data['type'] == 'date') { if ($data['type'] == 'date') {
if ($data['range_search']) { if ($data['range_search']) {
if (Request::submitted($name . '_begin_date') if (Request::submittedSome(
|| Request::submitted($name . '_begin_time') $data['name'] . '_begin_date',
|| Request::submitted($name . '_end_date') $data['name'] . '_begin_time',
|| Request::submitted($name . '_end_time')) { $data['name'] . '_end_date',
$data['name'] . '_end_time'
)) {
$this->selected_criteria[$name] = $data; $this->selected_criteria[$name] = $data;
$submitted_begin = Request::getDateTime( $submitted_begin = Request::getDateTime(
$name . '_begin_date', $data['name'] . '_begin_date',
'd.m.Y', 'd.m.Y',
$name . '_begin_time', $data['name'] . '_begin_time',
'H:i' 'H:i'
); );
$submitted_end = Request::getDateTime( $submitted_end = Request::getDateTime(
$name . '_end_date', $data['name'] . '_end_date',
'd.m.Y', 'd.m.Y',
$name . '_end_time', $data['name'] . '_end_time',
'H:i' 'H:i'
); );
if(!$submitted_begin || !$submitted_end) { if(!$submitted_begin || !$submitted_end) {
...@@ -260,36 +264,40 @@ class RoomSearchWidget extends SidebarWidget ...@@ -260,36 +264,40 @@ class RoomSearchWidget extends SidebarWidget
]; ];
} }
} else { } else {
if (Request::submitted($name . '_date') if (Request::submittedSome(
|| Request::submitted($name . '_time')) { $data['name'] . '_date',
$data['name'] . '_time'
)) {
$this->selected_criteria[$name] = $data; $this->selected_criteria[$name] = $data;
$this->selected_criteria[$name]['value'] = $this->selected_criteria[$name]['value'] =
Request::getDateTime( Request::getDateTime(
$name . '_date', $data['name'] . '_date',
'd.m.Y', 'd.m.Y',
$name . '_time', $data['name'] . '_time',
'H:i' 'H:i'
); );
} }
} }
} elseif ($data['type'] === 'num' && $data['range_search']) { } elseif ($data['type'] === 'num' && $data['range_search']) {
if (Request::submitted($name . '_min') if (Request::submittedSome(
|| Request::submitted($name . '_max')) { $data['name'] . '_min',
$data['name'] . '_max'
)) {
$this->selected_criteria[$name] = $data; $this->selected_criteria[$name] = $data;
$this->selected_criteria[$name]['value'] = [ $this->selected_criteria[$name]['value'] = [
Request::get($name . '_min'), Request::get($data['name'] . '_min'),
Request::get($name . '_max') Request::get($data['name'] . '_max')
]; ];
} }
} elseif ($data['type'] === 'bool') { } elseif ($data['type'] === 'bool') {
if (Request::submitted('options_' . $name)) { if (Request::submitted('options_' . $data['name'])) {
$this->selected_criteria[$name] = $data; $this->selected_criteria[$name] = $data;
$this->selected_criteria[$name]['value'] = Request::get($name); $this->selected_criteria[$name]['value'] = Request::get($data['name']);
} }
} else { } else {
if (Request::submitted($name)) { if (Request::submitted($data['name'])) {
$this->selected_criteria[$name] = $data; $this->selected_criteria[$name] = $data;
$this->selected_criteria[$name]['value'] = Request::get($name); $this->selected_criteria[$name]['value'] = Request::get($data['name']);
} }
} }
} }
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
<select class="criteria-selector" <select class="criteria-selector"
title="<?= _('Bitte aus dieser Liste Kriterien für die Raumsuche auswählen.')?>"> title="<?= _('Bitte aus dieser Liste Kriterien für die Raumsuche auswählen.')?>">
<option value=""></option> <option value=""></option>
<? foreach ($criteria as $c): ?> <? foreach ($criteria as $name => $c): ?>
<? if (!$c['optional']) { continue; } ?> <? if (!$c['optional']) { continue; } ?>
<option data-title="<?= htmlReady($c['title'])?>" <option data-title="<?= htmlReady($c['title'])?>"
value="<?= htmlReady($c['name'])?>" value="<?= htmlReady($c['name'])?>"
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
) )
: '' : ''
) ?>" ) ?>"
<?= in_array($c['name'], array_keys($selected_criteria)) <?= in_array($name, array_keys($selected_criteria))
? 'class="invisible"' ? 'class="invisible"'
: ''?>> : ''?>>
<?= htmlReady($c['title']) ?> <?= htmlReady($c['title']) ?>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment