Skip to content

Commit

Permalink
ONly get positions for the current person
Browse files Browse the repository at this point in the history
  • Loading branch information
tobytwigger committed Apr 3, 2020
1 parent 73f1fec commit 48e7033
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
14 changes: 10 additions & 4 deletions app/Support/PositionSettingRetrieval.php
Expand Up @@ -4,8 +4,10 @@

use BristolSU\ControlDB\Contracts\Models\Group;
use BristolSU\ControlDB\Contracts\Repositories\Position;
use BristolSU\Support\Authentication\Contracts\Authentication;
use BristolSU\Support\Logic\Contracts\Audience\LogicAudience;
use BristolSU\Support\Logic\Contracts\LogicRepository;
use BristolSU\Support\Logic\Contracts\LogicTester;
use Exception;
use Illuminate\Support\Facades\Cache;

Expand Down Expand Up @@ -49,14 +51,18 @@ public function getSettings(Group $group)

protected function groupIsForSetting(Group $group, array $setting): bool
{
$user = app(Authentication::class)->getUser();
$role = app(Authentication::class)->getRole();

if (!array_key_exists('logic_id', $setting)) {
return false;
}
$logic = $this->logicRepository->getById($setting['logic_id']);
$groups = collect($this->logicAudience->groupAudience($logic))->map(function (Group $group) {
return $group->id();
});
return $groups->contains($group->id());
return app(LogicTester::class)->evaluate($logic, $user, $group, $role);
// $groups = collect($this->logicAudience->groupAudience($logic))->map(function (Group $group) {
// return $group->id();
// });
// return $groups->contains($group->id());
}

protected function getCacheKey(Group $group)
Expand Down
7 changes: 7 additions & 0 deletions app/Support/RequiredSettingRetrieval.php
Expand Up @@ -4,8 +4,10 @@

use BristolSU\ControlDB\Contracts\Models\Group;
use BristolSU\ControlDB\Contracts\Repositories\Position;
use BristolSU\Support\Authentication\Contracts\Authentication;
use BristolSU\Support\Logic\Contracts\Audience\LogicAudience;
use BristolSU\Support\Logic\Contracts\LogicRepository;
use BristolSU\Support\Logic\Contracts\LogicTester;
use Exception;
use Illuminate\Support\Facades\Cache;

Expand Down Expand Up @@ -53,10 +55,15 @@ protected function getCacheKey(Group $group)

protected function groupIsForSetting(Group $group, array $setting): bool
{
$user = app(Authentication::class)->getUser();
$role = app(Authentication::class)->getRole();

if (!array_key_exists('logic_id', $setting)) {
return false;
}
$logic = $this->logicRepository->getById($setting['logic_id']);
return app(LogicTester::class)->evaluate($logic, $user, $group, $role);

$groups = collect($this->logicAudience->groupAudience($logic))->map(function (Group $group) {
return $group->id();
});
Expand Down

0 comments on commit 48e7033

Please sign in to comment.