Skip to content

Commit eafe1fc

Browse files
committed
Action: make getHighestGroupedAction obsoleted
* Mark getHighestGroupedAction() deprecated. * Add ActionGateway::getHighestGrouped as a replacement. * Rewrite all getHighestGroupedAction() into ActionGateway::getHighestGrouped() calls.
1 parent 542247e commit eafe1fc

File tree

218 files changed

+767
-417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+767
-417
lines changed

functions.php

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
use Gibbon\Services\Format;
2323
use Gibbon\Contracts\Comms\Mailer;
2424
use Gibbon\Domain\Students\MedicalGateway;
25+
use Gibbon\Domain\System\ActionGateway;
2526
use Gibbon\Domain\System\AlertLevelGateway;
2627
use Gibbon\Domain\System\LogGateway;
2728
use Gibbon\Domain\System\SettingGateway;
@@ -377,7 +378,7 @@ function getPasswordPolicy($guid, $connection2)
377378

378379
function getFastFinder($connection2, $guid)
379380
{
380-
global $session;
381+
global $session, $container;
381382
$form = Form::create('fastFinder', Url::fromHandlerRoute('indexFindRedirect.php'), 'get');
382383
$form->setClass('blank fullWidth');
383384

@@ -396,7 +397,7 @@ function getFastFinder($connection2, $guid)
396397
->addValidation('Validate.Presence', 'failureMessage: " "')
397398
->append('<input type="submit" style="height:34px;padding:0 1rem;" value="'.__('Go').'">');
398399

399-
$highestActionClass = getHighestGroupedAction($guid, '/modules/Planner/planner.php', $connection2);
400+
$highestActionClass = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Planner/planner.php');
400401

401402
$templateData = [
402403
'roleCategory' => getRoleCategory($session->get('gibbonRoleIDCurrent'), $connection2),
@@ -777,7 +778,22 @@ function getHighestMedicalRisk($guid, $gibbonPersonID, $connection2)
777778
return $output;
778779
}
779780

780-
//Looks at the grouped actions accessible to the user in the current module and returns the highest
781+
/**
782+
* Looks at the grouped actions accessible to the user in the current
783+
* module and returns the highest.
784+
*
785+
* @deprecated v25
786+
* Use ActionGateway::getHighestGrouped instead.
787+
*
788+
* @since v12
789+
* @version v23
790+
*
791+
* @param string $guid
792+
* @param string $address
793+
* @param \PDO $connection2
794+
*
795+
* @return string|false
796+
*/
781797
function getHighestGroupedAction($guid, $address, $connection2)
782798
{
783799
global $session;
@@ -905,7 +921,8 @@ function getAlertBar($guid, $connection2, $gibbonPersonID, $privacy = '', $divEx
905921

906922
$target = ($target == "_blank") ? "_blank" : "_self";
907923

908-
$highestAction = getHighestGroupedAction($guid, '/modules/Students/student_view_details.php', $connection2);
924+
/** @var string|false */
925+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Students/student_view_details.php');
909926
if ($highestAction == 'View Student Profile_full' or $highestAction == 'View Student Profile_fullNoNotes' or $highestAction == 'View Student Profile_fullEditAllNotes') {
910927
// Individual Needs
911928
$dataAlert = array('gibbonPersonID' => $gibbonPersonID);

index_fastFinder_ajax.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,17 @@
3737
// Cancel out early for empty searches
3838
if (empty($searchTerm)) die('[]');
3939

40+
/** @var ActionGateway */
41+
$actionGateway = $container->get(ActionGateway::class);
42+
4043
// Check access levels
4144
$studentIsAccessible = isActionAccessible($guid, $connection2, '/modules/students/student_view.php');
42-
$highestActionStudent = getHighestGroupedAction($guid, '/modules/students/student_view.php', $connection2);
45+
$highestActionStudent = $actionGateway->getHighestGrouped('/modules/students/student_view.php');
4346

4447
$staffIsAccessible = isActionAccessible($guid, $connection2, '/modules/Staff/staff_view.php');
4548
$classIsAccessible = false;
4649
$alarmIsAccessible = isActionAccessible($guid, $connection2, '/modules/System Admin/alarm.php');
47-
$highestActionClass = getHighestGroupedAction($guid, '/modules/Planner/planner.php', $connection2);
50+
$highestActionClass = $actionGateway->getHighestGrouped('/modules/Planner/planner.php');
4851
if (isActionAccessible($guid, $connection2, '/modules/Planner/planner.php') and $highestActionClass != 'Lesson Planner_viewMyChildrensClasses') {
4952
$classIsAccessible = true;
5053
}
@@ -60,7 +63,7 @@
6063
} else {
6164
$actions = $session->get('fastFinderActions');
6265
}
63-
66+
6467
if (!empty($actions) && is_array($actions)) {
6568
foreach ($actions as $action) {
6669
// Add actions that match the search query to the result set
@@ -145,12 +148,12 @@
145148
WHEN gibbonPerson.studentID LIKE :search THEN concat(surname, ', ', preferredName, ' (', gibbonFormGroup.name, ', ', gibbonPerson.studentID, ')')
146149
WHEN gibbonPerson.firstName LIKE :search AND firstName<>preferredName THEN concat(surname, ', ', firstName, ' \"', preferredName, '\" (', gibbonFormGroup.name, ')' )
147150
ELSE concat(surname, ', ', preferredName, ' (', gibbonFormGroup.name, ')') END) AS name,
148-
NULL as type
151+
NULL as type
149152
FROM gibbonPerson, gibbonStudentEnrolment, gibbonFormGroup, gibbonFamilyChild, gibbonFamilyAdult
150153
WHERE gibbonPerson.gibbonPersonID=gibbonStudentEnrolment.gibbonPersonID
151-
AND gibbonStudentEnrolment.gibbonFormGroupID=gibbonFormGroup.gibbonFormGroupID
154+
AND gibbonStudentEnrolment.gibbonFormGroupID=gibbonFormGroup.gibbonFormGroupID
152155
AND gibbonFamilyAdult.gibbonPersonID=:gibbonPersonID
153-
AND gibbonFamilyChild.gibbonPersonID=gibbonPerson.gibbonPersonID
156+
AND gibbonFamilyChild.gibbonPersonID=gibbonPerson.gibbonPersonID
154157
AND gibbonFamilyChild.gibbonFamilyID=gibbonFamilyAdult.gibbonFamilyID";
155158
}
156159
// Allow individuals to only search themselves
@@ -164,7 +167,7 @@
164167
NULL as type
165168
FROM gibbonPerson, gibbonStudentEnrolment, gibbonFormGroup
166169
WHERE gibbonPerson.gibbonPersonID=gibbonStudentEnrolment.gibbonPersonID
167-
AND gibbonStudentEnrolment.gibbonFormGroupID=gibbonFormGroup.gibbonFormGroupID
170+
AND gibbonStudentEnrolment.gibbonFormGroupID=gibbonFormGroup.gibbonFormGroupID
168171
AND gibbonPerson.gibbonPersonID=:gibbonPersonID";
169172
}
170173
// Allow searching of all students

modules/Activities/activities_attendance.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
*/
1919

20+
use Gibbon\Domain\System\ActionGateway;
2021
use Gibbon\Forms\Form;
2122
use Gibbon\Services\Format;
2223

@@ -34,7 +35,7 @@
3435
echo __('Choose Activity');
3536
echo '</h2>';
3637

37-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_attendance.php', $connection2);
38+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_attendance.php');
3839
$gibbonActivityID = null;
3940
if (isset($_GET['gibbonActivityID'])) {
4041
$gibbonActivityID = $_GET['gibbonActivityID'];
@@ -180,7 +181,7 @@
180181

181182
$form->addHiddenValue('address', $session->get('address'));
182183
$form->addHiddenValue('gibbonPersonID', $session->get('gibbonPersonID'));
183-
184+
184185
if (isActionAccessible($guid, $connection2, '/modules/Activities/report_attendanceExport.php')) {
185186
$form->addHeaderAction('download', __('Export to Excel'))
186187
->setURL('/modules/Activities/report_attendanceExport.php')

modules/Activities/activities_attendanceProcess.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
*/
1919
use Gibbon\Data\Validator;
20+
use Gibbon\Domain\System\ActionGateway;
2021

2122
require_once '../../gibbon.php';
2223

@@ -34,7 +35,7 @@
3435

3536
$gibbonPersonID = $_POST['gibbonPersonID'] ?? '';
3637

37-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_attendance.php', $connection2);
38+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_attendance.php');
3839

3940
if($highestAction == "Enter Activity Attendance_leader") {
4041
try {

modules/Activities/activities_manage_enrolment.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919

2020
use Gibbon\Domain\School\SchoolYearTermGateway;
21+
use Gibbon\Domain\System\ActionGateway;
2122
use Gibbon\Domain\System\SettingGateway;
2223
use Gibbon\Forms\Form;
2324
use Gibbon\Services\Format;
@@ -33,7 +34,7 @@
3334
//Proceed!
3435
$gibbonActivityID = (isset($_GET['gibbonActivityID']))? $_GET['gibbonActivityID'] : null;
3536

36-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_manage_enrolment.php', $connection2);
37+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_manage_enrolment.php');
3738
if ($highestAction == 'My Activities_viewEditEnrolment') {
3839

3940
$data = array('gibbonPersonID' => $gibbon->session->get('gibbonPersonID'), 'gibbonSchoolYearID' => $gibbon->session->get('gibbonSchoolYearID'), 'gibbonActivityID' => $gibbonActivityID);

modules/Activities/activities_manage_enrolment_add.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919

2020
use Gibbon\Domain\School\SchoolYearTermGateway;
21+
use Gibbon\Domain\System\ActionGateway;
2122
use Gibbon\Domain\System\SettingGateway;
2223
use Gibbon\Forms\Form;
2324
use Gibbon\Services\Format;
@@ -32,7 +33,7 @@
3233
//Proceed!
3334
$gibbonActivityID = (isset($_GET['gibbonActivityID']))? $_GET['gibbonActivityID'] : null;
3435

35-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_manage_enrolment.php', $connection2);
36+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_manage_enrolment.php');
3637
if ($highestAction == 'My Activities_viewEditEnrolment') {
3738
$data = array('gibbonPersonID' => $session->get('gibbonPersonID'), 'gibbonSchoolYearID' => $session->get('gibbonSchoolYearID'), 'gibbonActivityID' => $gibbonActivityID);
3839
$sql = "SELECT gibbonActivity.*, NULL as status, gibbonActivityStaff.role FROM gibbonActivity JOIN gibbonActivityStaff ON (gibbonActivity.gibbonActivityID=gibbonActivityStaff.gibbonActivityID) WHERE gibbonActivity.gibbonActivityID=:gibbonActivityID AND gibbonActivityStaff.gibbonPersonID=:gibbonPersonID AND gibbonActivityStaff.role='Organiser' AND gibbonSchoolYearID=:gibbonSchoolYearID AND active='Y' ORDER BY name";

modules/Activities/activities_manage_enrolment_delete.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
*/
1919

20+
use Gibbon\Domain\System\ActionGateway;
2021
use Gibbon\Forms\Prefab\DeleteForm;
2122

2223
if (isActionAccessible($guid, $connection2, '/modules/Activities/activities_manage_enrolment_delete.php') == false) {
@@ -26,7 +27,7 @@
2627
//Proceed!
2728
$gibbonActivityID = (isset($_GET['gibbonActivityID']))? $_GET['gibbonActivityID'] : null;
2829

29-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_manage_enrolment.php', $connection2);
30+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_manage_enrolment.php');
3031
if ($highestAction == 'My Activities_viewEditEnrolment') {
3132

3233

modules/Activities/activities_manage_enrolment_edit.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919

2020
use Gibbon\Domain\School\SchoolYearTermGateway;
21+
use Gibbon\Domain\System\ActionGateway;
2122
use Gibbon\Domain\System\SettingGateway;
2223
use Gibbon\Forms\Form;
2324
use Gibbon\Services\Format;
@@ -32,7 +33,7 @@
3233
//Proceed!
3334
$gibbonActivityID = (isset($_GET['gibbonActivityID']))? $_GET['gibbonActivityID'] : null;
3435

35-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_manage_enrolment.php', $connection2);
36+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_manage_enrolment.php');
3637
if ($highestAction == 'My Activities_viewEditEnrolment') {
3738

3839

modules/Activities/activities_my.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use Gibbon\Services\Format;
2121
use Gibbon\Tables\DataTable;
2222
use Gibbon\Domain\Activities\ActivityGateway;
23+
use Gibbon\Domain\System\ActionGateway;
2324
use Gibbon\Domain\System\SettingGateway;
2425

2526
//Module includes
@@ -29,13 +30,13 @@
2930
// Access denied
3031
$page->addError(__('You do not have access to this action.'));
3132
} else {
32-
$page->breadcrumbs->add(__('My Activities'));
33+
$page->breadcrumbs->add(__('My Activities'));
3334

34-
$highestAction = getHighestGroupedAction($guid, '/modules/Activities/activities_attendance.php', $connection2);
35+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped('/modules/Activities/activities_attendance.php');
3536
$canAccessEnrolment = isActionAccessible($guid, $connection2, '/modules/Activities/activities_manage_enrolment.php');
3637

3738
$activityGateway = $container->get(ActivityGateway::class);
38-
39+
3940
// CRITERIA
4041
$criteria = $activityGateway->newQueryCriteria()
4142
->sortBy('name')
@@ -75,7 +76,7 @@
7576
->isModal(1000, 550)
7677
->setURL('/modules/Activities/activities_my_full.php');
7778

78-
if ($highestAction == "Enter Activity Attendance" ||
79+
if ($highestAction == "Enter Activity Attendance" ||
7980
($highestAction == "Enter Activity Attendance_leader" && ($activity['role'] == 'Organiser' || $activity['role'] == 'Assistant' || $activity['role'] == 'Coach'))) {
8081
$actions->addAction('attendance', __('Attendance'))
8182
->setIcon('attendance')

modules/Activities/activities_my_full.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919

2020
use Gibbon\Domain\School\SchoolYearTermGateway;
21+
use Gibbon\Domain\System\ActionGateway;
2122
use Gibbon\Domain\System\SettingGateway;
2223
use Gibbon\Services\Format;
2324

@@ -31,7 +32,7 @@
3132
echo '</div>';
3233
} else {
3334
//Get action with highest precendence
34-
$highestAction = getHighestGroupedAction($guid, $_GET['q'], $connection2);
35+
$highestAction = $container->get(ActionGateway::class)->getHighestGrouped($_GET['q']);
3536
if ($highestAction == false) {
3637
echo "<div class='error'>";
3738
echo __('The highest grouped action cannot be determined.');

0 commit comments

Comments
 (0)