Code Duplication    Length = 23-23 lines in 2 locations

code/model/DNEnvironment.php 2 locations

@@ 457-479 (lines=23) @@
454
     * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember();
455
     * @return boolean true if $member can backup, and false if they can't.
456
     */
457
    public function canBackup($member = null)
458
    {
459
        $project = $this->Project();
460
        if ($project->HasDiskQuota() && $project->HasExceededDiskQuota()) {
461
            return false;
462
        }
463
464
        if (!$member) {
465
            $member = Member::currentUser();
466
        }
467
        // Must be logged in to check permissions
468
        if (!$member) {
469
            return false;
470
        }
471
472
        if ($this->Usage==='Production' || $this->Usage==='Unspecified') {
473
            if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) {
474
                return true;
475
            }
476
        } else {
477
            if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) {
478
                return true;
479
            }
480
        }
481
482
        return $this->CanBackupMembers()->byID($member->ID)
@@ 497-519 (lines=23) @@
494
     * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember();
495
     * @return boolean true if $member can upload archives linked to this environment, false if they can't.
496
     */
497
    public function canUploadArchive($member = null)
498
    {
499
        $project = $this->Project();
500
        if ($project->HasDiskQuota() && $project->HasExceededDiskQuota()) {
501
            return false;
502
        }
503
504
        if (!$member) {
505
            $member = Member::currentUser();
506
        }
507
        if (!$member) {
508
            return false;
509
        }
510
        // Must be logged in to check permissions
511
512
        if ($this->Usage==='Production' || $this->Usage==='Unspecified') {
513
            if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) {
514
                return true;
515
            }
516
        } else {
517
            if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) {
518
                return true;
519
            }
520
        }
521
522
        return $this->ArchiveUploaders()->byID($member->ID)