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