Skip to content

Commit 1111290

Browse files
committed
chg: [individuals:filtering] Added dropdown for organisation filtering
1 parent acb8fa2 commit 1111290

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/Controller/IndividualsController.php

+9-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,15 @@
1414
class IndividualsController extends AppController
1515
{
1616
public $quickFilterFields = ['uuid', ['email' => true], ['first_name' => true], ['last_name' => true], 'position'];
17-
public $filterFields = ['uuid', 'email', 'first_name', 'last_name', 'position', 'Organisations.id', 'Alignments.type'];
17+
public $filterFields = [
18+
'uuid',
19+
'email',
20+
'first_name',
21+
'last_name',
22+
'position',
23+
'Alignments.type',
24+
['name' => 'Organisations.id', 'multiple' => true, 'options' => 'getAllOrganisations', 'select2' => true],
25+
];
1826
public $containFields = ['Alignments' => 'Organisations'];
1927
public $statisticsFields = ['position'];
2028

src/Model/Table/IndividualsTable.php

+8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Model\Table;
44

55
use App\Model\Table\AppTable;
6+
use Cake\Utility\Hash;
67
use Cake\ORM\Table;
78
use Cake\Validation\Validator;
89
use Cake\ORM\Query;
@@ -137,4 +138,11 @@ public function getValidIndividualsToEdit(object $currentUser): array
137138
)->all()->extract('individual_id')->toArray();
138139
return $validIndividualIds;
139140
}
141+
142+
public function getAllOrganisations($currentUser): array
143+
{
144+
$this->Organisations = \Cake\ORM\TableRegistry::getTableLocator()->get('Organisations');
145+
$orgs = $this->Organisations->find()->select(['id', 'name'])->all()->toList();
146+
return Hash::combine($orgs, '{n}.id', '{n}.name');
147+
}
140148
}

0 commit comments

Comments
 (0)