| @@ 531-545 (lines=15) @@ | ||
| 528 | * @param Member|null $member |
|
| 529 | * @return boolean |
|
| 530 | */ |
|
| 531 | public function canAbort($member = null) { |
|
| 532 | if(!$member) { |
|
| 533 | $member = Member::currentUser(); |
|
| 534 | } |
|
| 535 | if(!$member) { |
|
| 536 | return false; |
|
| 537 | } |
|
| 538 | ||
| 539 | if(Permission::checkMember($member, 'ADMIN')) { |
|
| 540 | return true; |
|
| 541 | } |
|
| 542 | ||
| 543 | return $this->PipelineCancellers()->byID($member->ID) |
|
| 544 | || $member->inGroups($this->PipelineCancellerGroups()); |
|
| 545 | } |
|
| 546 | ||
| 547 | /** |
|
| 548 | * Determine if the specified user can approve any pipelines |
|
| @@ 553-566 (lines=14) @@ | ||
| 550 | * @param Member|null $member |
|
| 551 | * @return boolean |
|
| 552 | */ |
|
| 553 | public function canApprove($member = null) { |
|
| 554 | if(!$member) { |
|
| 555 | $member = Member::currentUser(); |
|
| 556 | } |
|
| 557 | if(!$member) { |
|
| 558 | return false; |
|
| 559 | } |
|
| 560 | ||
| 561 | if(Permission::checkMember($member, 'ADMIN')) { |
|
| 562 | return true; |
|
| 563 | } |
|
| 564 | return $this->PipelineApprovers()->byID($member->ID) |
|
| 565 | || $member->inGroups($this->PipelineApproverGroups()); |
|
| 566 | } |
|
| 567 | ||
| 568 | /** |
|
| 569 | * Allows only selected {@link Member} objects to delete {@link DNDataArchive} objects from this |
|