| @@ 554-568 (lines=15) @@ | ||
| 551 | * @param Member|null $member |
|
| 552 | * @return boolean |
|
| 553 | */ |
|
| 554 | public function canAbort($member = null) { |
|
| 555 | if(!$member) { |
|
| 556 | $member = Member::currentUser(); |
|
| 557 | } |
|
| 558 | if(!$member) { |
|
| 559 | return false; |
|
| 560 | } |
|
| 561 | ||
| 562 | if(Permission::checkMember($member, 'ADMIN')) { |
|
| 563 | return true; |
|
| 564 | } |
|
| 565 | ||
| 566 | return $this->PipelineCancellers()->byID($member->ID) |
|
| 567 | || $member->inGroups($this->PipelineCancellerGroups()); |
|
| 568 | } |
|
| 569 | ||
| 570 | /** |
|
| 571 | * Determine if the specified user can approve any pipelines |
|
| @@ 576-589 (lines=14) @@ | ||
| 573 | * @param Member|null $member |
|
| 574 | * @return boolean |
|
| 575 | */ |
|
| 576 | public function canApprove($member = null) { |
|
| 577 | if(!$member) { |
|
| 578 | $member = Member::currentUser(); |
|
| 579 | } |
|
| 580 | if(!$member) { |
|
| 581 | return false; |
|
| 582 | } |
|
| 583 | ||
| 584 | if(Permission::checkMember($member, 'ADMIN')) { |
|
| 585 | return true; |
|
| 586 | } |
|
| 587 | return $this->PipelineApprovers()->byID($member->ID) |
|
| 588 | || $member->inGroups($this->PipelineApproverGroups()); |
|
| 589 | } |
|
| 590 | ||
| 591 | /** |
|
| 592 | * Allows only selected {@link Member} objects to delete {@link DNDataArchive} objects from this |
|