Skip to content
Snippets Groups Projects
Commit e07ed1c8 authored by Moritz Strohm's avatar Moritz Strohm Committed by David Siegfried
Browse files

TIC #93

parent bed8eba8
No related branches found
No related tags found
No related merge requests found
......@@ -53,7 +53,8 @@ class Resources_RoomRequestController extends AuthenticatedController
if (Request::get('reset_filter')) {
$this->filter = [
'marked' => -1,
'own_requests' => 1
'own_requests' => 1,
'request_status' => 'open'
];
} else {
if (Request::option('institut_id')) {
......@@ -62,6 +63,9 @@ class Resources_RoomRequestController extends AuthenticatedController
if (Request::option('semester_id')) {
$GLOBALS['user']->cfg->store('MY_COURSES_SELECTED_CYCLE', Request::option('semester_id'));
}
if (Request::option('request_status')) {
$this->filter['request_status'] = Request::get('request_status');
}
if (!Semester::find($GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE)) {
$GLOBALS['user']->cfg->MY_COURSES_SELECTED_CYCLE = Semester::findCurrent()->id;
}
......@@ -183,7 +187,15 @@ class Resources_RoomRequestController extends AuthenticatedController
*/
protected function getFilteredRoomRequests()
{
$sql = "resource_requests.closed < '1' AND (resource_id IN ( :room_ids) ";
$sql = '';
if ($this->filter['request_status'] == 'closed') {
$sql .= "resource_requests.closed IN ('1', '2') ";
} elseif ($this->filter['request_status'] == 'denied') {
$sql .= "resource_requests.closed = '3' ";
} else {
$sql .= "resource_requests.closed < '1' ";
}
$sql .= "AND (resource_id IN ( :room_ids) ";
$sql_params = [
'room_ids' => $this->selected_room_ids
];
......@@ -408,6 +420,20 @@ class Resources_RoomRequestController extends AuthenticatedController
$semester_selector->setSelection($this->filter['semester']);
$sidebar->addWidget($semester_selector);
$request_status_selector = new SelectWidget(
_('Status der Anfrage'),
$this->overviewURL(),
'request_status'
);
$request_status_selector->setOptions(
[
'open' => _('offen'),
'closed' => _('bearbeitet'),
'denied' => _('abgelehnt')
]
);
$sidebar->addWidget($request_status_selector);
$list = new SelectWidget(
_('Veranstaltungstypfilter'),
$this->overviewURL(),
......@@ -608,6 +634,8 @@ class Resources_RoomRequestController extends AuthenticatedController
$this->entries_per_page
);
$this->requests = $requests;
$this->request_status = $this->filter['request_status'];
}
public function index_action($request_id = null)
......
......@@ -3,14 +3,34 @@
action="<?= $controller->link_for('room_request/assign') ?>">
<table class="default sortable-table request-list" data-sortlist="[[8, 0]]">
<caption>
<?= sprintf(
ngettext(
'Anfragenliste (%d Anfrage)',
'Anfragenliste (%d Anfragen)',
<? if ($request_status == 'closed') : ?>
<?= sprintf(
ngettext(
'Anfragenliste (%d bearbeitete Anfrage)',
'Anfragenliste (%d bearbeitete Anfragen)',
$count_requests
),
$count_requests
),
$count_requests
) ?>
) ?>
<? elseif ($request_status == 'denied') : ?>
<?= sprintf(
ngettext(
'Anfragenliste (%d abgelehnte Anfrage)',
'Anfragenliste (%d abgelehnte Anfragen)',
$count_requests
),
$count_requests
) ?>
<? else : ?>
<?= sprintf(
ngettext(
'Anfragenliste (%d Anfrage)',
'Anfragenliste (%d Anfragen)',
$count_requests
),
$count_requests
) ?>
<? endif ?>
</caption>
<thead>
<tr>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment