Fixed track chairs CRUD permission for summit admin

Change-Id: I5abf83941a472255062d33292404bea5a6f8fee1
Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
smarcet
2021-05-05 12:37:29 -03:00
parent 72b4f221f9
commit bb7fd8eb15
2 changed files with 13 additions and 0 deletions

View File

@@ -5173,6 +5173,7 @@ SQL;
*/
public function isTrackChair(Member $member, PresentationCategory $category = null):bool{
if($member->isAdmin()) return true;
$criteria = Criteria::create();
$criteria->where(Criteria::expr()->eq('member', $member));
$isOnGroup = $member->isOnGroup(IGroup::TrackChairs);
@@ -5192,15 +5193,26 @@ SQL;
return $group->hasMember($member);
})->count() > 0;
}
/**
* @param Member $member
* @return bool
*/
public function isTrackChairAdmin(Member $member):bool{
if($member->isAdmin()) return true;
if($this->isSummitAdmin($member)) return true;
return $this->hasPermissionOnSummit($member) && $member->isOnGroup(IGroup::TrackChairsAdmins);
}
/**
* @param Member $member
* @return bool
*/
public function isSummitAdmin(Member $member):bool{
if($member->isAdmin()) return true;
return $this->hasPermissionOnSummit($member) && $member->isOnGroup(IGroup::SummitAdministrators);
}
/**
* @param PresentationActionType $presentation_action_type
* @return $this

View File

@@ -85,6 +85,7 @@ final class TrackChairService
$current_member = $this->resource_server_ctx->getCurrentUser();
if (is_null($current_member))
throw new AuthzException("User not Found");
$isAuth = $summit->isTrackChairAdmin($current_member);
if (!$isAuth)