| @@ 395-412 (lines=18) @@ | ||
| 392 | * @param Member|null $member |
|
| 393 | * @return boolean |
|
| 394 | */ |
|
| 395 | public function canDeploy($member = null) |
|
| 396 | { |
|
| 397 | if (!$member) { |
|
| 398 | $member = Member::currentUser(); |
|
| 399 | } |
|
| 400 | if (!$member) { |
|
| 401 | return false; |
|
| 402 | } |
|
| 403 | // Must be logged in to check permissions |
|
| 404 | ||
| 405 | if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
| 406 | if ($this->Project()->allowed(DNRoot::ALLOW_PROD_DEPLOYMENT, $member)) { |
|
| 407 | return true; |
|
| 408 | } |
|
| 409 | } else { |
|
| 410 | if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_DEPLOYMENT, $member)) { |
|
| 411 | return true; |
|
| 412 | } |
|
| 413 | } |
|
| 414 | ||
| 415 | return $this->Deployers()->byID($member->ID) |
|
| @@ 426-443 (lines=18) @@ | ||
| 423 | * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember(); |
|
| 424 | * @return boolean true if $member can restore, and false if they can't. |
|
| 425 | */ |
|
| 426 | public function canRestore($member = null) |
|
| 427 | { |
|
| 428 | if (!$member) { |
|
| 429 | $member = Member::currentUser(); |
|
| 430 | } |
|
| 431 | if (!$member) { |
|
| 432 | return false; |
|
| 433 | } |
|
| 434 | // Must be logged in to check permissions |
|
| 435 | ||
| 436 | if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
| 437 | if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) { |
|
| 438 | return true; |
|
| 439 | } |
|
| 440 | } else { |
|
| 441 | if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) { |
|
| 442 | return true; |
|
| 443 | } |
|
| 444 | } |
|
| 445 | ||
| 446 | return $this->CanRestoreMembers()->byID($member->ID) |
|
| @@ 533-550 (lines=18) @@ | ||
| 530 | * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember(); |
|
| 531 | * @return boolean true if $member can download archives from this environment, false if they can't. |
|
| 532 | */ |
|
| 533 | public function canDownloadArchive($member = null) |
|
| 534 | { |
|
| 535 | if (!$member) { |
|
| 536 | $member = Member::currentUser(); |
|
| 537 | } |
|
| 538 | if (!$member) { |
|
| 539 | return false; |
|
| 540 | } |
|
| 541 | // Must be logged in to check permissions |
|
| 542 | ||
| 543 | if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
| 544 | if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) { |
|
| 545 | return true; |
|
| 546 | } |
|
| 547 | } else { |
|
| 548 | if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) { |
|
| 549 | return true; |
|
| 550 | } |
|
| 551 | } |
|
| 552 | ||
| 553 | return $this->ArchiveDownloaders()->byID($member->ID) |
|
| @@ 609-626 (lines=18) @@ | ||
| 606 | * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember(); |
|
| 607 | * @return boolean true if $member can delete archives from this environment, false if they can't. |
|
| 608 | */ |
|
| 609 | public function canDeleteArchive($member = null) |
|
| 610 | { |
|
| 611 | if (!$member) { |
|
| 612 | $member = Member::currentUser(); |
|
| 613 | } |
|
| 614 | if (!$member) { |
|
| 615 | return false; |
|
| 616 | } |
|
| 617 | // Must be logged in to check permissions |
|
| 618 | ||
| 619 | if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
| 620 | if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) { |
|
| 621 | return true; |
|
| 622 | } |
|
| 623 | } else { |
|
| 624 | if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) { |
|
| 625 | return true; |
|
| 626 | } |
|
| 627 | } |
|
| 628 | ||
| 629 | return $this->ArchiveDeleters()->byID($member->ID) |
|