-
Notifications
You must be signed in to change notification settings - Fork 294
/
rollGroups.php
62 lines (49 loc) · 2.31 KB
/
rollGroups.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/*
Gibbon, Flexible & Open School System
Copyright (C) 2010, Ross Parker
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
use Gibbon\Tables\DataTable;
use Gibbon\Services\Format;
use Gibbon\Domain\RollGroups\RollGroupGateway;
if (isActionAccessible($guid, $connection2, '/modules/Roll Groups/rollGroups.php') == false) {
//Acess denied
echo "<div class='error'>";
echo __('You do not have access to this action.');
echo '</div>';
} else {
//Proceed!
$page->breadcrumbs->add(__('View Roll Groups'));
echo '<p>';
echo __('This page shows all roll groups in the current school year.');
echo '</p>';
$gateway = $container->get(RollGroupGateway::class);
$rollGroups = $gateway->selectRollGroupsBySchoolYear($_SESSION[$guid]['gibbonSchoolYearID']);
$formatTutorsList = function($row) use ($gateway) {
$tutors = $gateway->selectTutorsByRollGroup($row['gibbonRollGroupID'])->fetchAll();
if (count($tutors) > 1) $tutors[0]['surname'] .= ' ('.__('Main Tutor').')';
return Format::nameList($tutors, 'Staff', false, true);
};
$table = DataTable::create('rollGroups');
$table->addColumn('name', __('Name'));
$table->addColumn('tutors', __('Form Tutors'))->format($formatTutorsList);
$table->addColumn('space', __('Room'));
if (getRoleCategory($_SESSION[$guid]['gibbonRoleIDCurrent'], $connection2) == "Staff") {
$table->addColumn('students', __('Students'));
}
$table->addColumn('website', __('Website'))->format(Format::using('link', 'website'));
$actions = $table->addActionColumn()->addParam('gibbonRollGroupID');
$actions->addAction('view', __('View'))
->setURL('/modules/Roll Groups/rollGroups_details.php');
echo $table->render($rollGroups->toDataSet());
}