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