Code Duplication    Length = 23-23 lines in 2 locations

code/model/DNEnvironment.php 2 locations

@@ 374-396 (lines=23) @@
371
	 * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember();
372
	 * @return boolean true if $member can backup, and false if they can't.
373
	 */
374
	public function canBackup($member = null) {
375
		$project = $this->Project();
376
		if ($project->HasDiskQuota() && $project->HasExceededDiskQuota()) {
377
			return false;
378
		}
379
380
		if (!$member) {
381
			$member = Member::currentUser();
382
		}
383
		// Must be logged in to check permissions
384
		if (!$member) {
385
			return false;
386
		}
387
388
		if ($this->Usage === self::PRODUCTION || $this->Usage === self::UNSPECIFIED) {
389
			if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) {
390
				return true;
391
			}
392
		} else {
393
			if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) {
394
				return true;
395
			}
396
		}
397
398
		return $this->CanBackupMembers()->byID($member->ID)
399
		|| $member->inGroups($this->CanBackupGroups());
@@ 413-435 (lines=23) @@
410
	 * @param Member|null $member The {@link Member} object to test against. If null, uses Member::currentMember();
411
	 * @return boolean true if $member can upload archives linked to this environment, false if they can't.
412
	 */
413
	public function canUploadArchive($member = null) {
414
		$project = $this->Project();
415
		if ($project->HasDiskQuota() && $project->HasExceededDiskQuota()) {
416
			return false;
417
		}
418
419
		if (!$member) {
420
			$member = Member::currentUser();
421
		}
422
		if (!$member) {
423
			return false;
424
		}
425
		// Must be logged in to check permissions
426
427
		if ($this->Usage === self::PRODUCTION || $this->Usage === self::UNSPECIFIED) {
428
			if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) {
429
				return true;
430
			}
431
		} else {
432
			if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) {
433
				return true;
434
			}
435
		}
436
437
		return $this->ArchiveUploaders()->byID($member->ID)
438
		|| $member->inGroups($this->ArchiveUploaderGroups());