Fixed track chairs CRUD permission for summit admin
Change-Id: I5abf83941a472255062d33292404bea5a6f8fee1 Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
@@ -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
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user