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