| @@ 489-505 (lines=17) @@ | ||
| 486 | * |
|
| 487 | * @throws Exception |
|
| 488 | */ |
|
| 489 | private function editMemberLevel(Circle $circle, Member &$member, $level) { |
|
| 490 | try { |
|
| 491 | $isMod = $circle->getHigherViewer(); |
|
| 492 | $isMod->hasToBeModerator(); |
|
| 493 | $isMod->hasToBeHigherLevel($level); |
|
| 494 | ||
| 495 | $member->hasToBeMember(); |
|
| 496 | $member->cantBeOwner(); |
|
| 497 | $isMod->hasToBeHigherLevel($member->getLevel()); |
|
| 498 | ||
| 499 | $member->setLevel($level); |
|
| 500 | $this->membersRequest->updateMember($member); |
|
| 501 | } catch (Exception $e) { |
|
| 502 | throw $e; |
|
| 503 | } |
|
| 504 | ||
| 505 | } |
|
| 506 | ||
| 507 | /** |
|
| 508 | * @param Circle $circle |
|
| @@ 237-253 (lines=17) @@ | ||
| 234 | * |
|
| 235 | * @throws \Exception |
|
| 236 | */ |
|
| 237 | private function editGroupLevel(Circle $circle, Member &$group, $level) { |
|
| 238 | try { |
|
| 239 | $isMod = $circle->getHigherViewer(); |
|
| 240 | $this->circlesService->hasToBeAdmin($isMod); |
|
| 241 | $isMod->hasToBeHigherLevel($level); |
|
| 242 | ||
| 243 | $group->hasToBeMember(); |
|
| 244 | $group->cantBeOwner(); |
|
| 245 | $isMod->hasToBeHigherLevel($group->getLevel()); |
|
| 246 | ||
| 247 | $group->setLevel($level); |
|
| 248 | $this->membersRequest->updateGroup($group); |
|
| 249 | ||
| 250 | } catch (\Exception $e) { |
|
| 251 | throw $e; |
|
| 252 | } |
|
| 253 | } |
|
| 254 | ||
| 255 | ||
| 256 | /** |
|