Code Duplication    Length = 15-15 lines in 4 locations

code/model/DNProject.php 4 locations

@@ 324-338 (lines=15) @@
321
	 *
322
	 * @return bool
323
	 */
324
	public function canRestore($member = null) {
325
		if ($this->allowedAny(
326
			[
327
				DNRoot::ALLOW_PROD_SNAPSHOT,
328
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
329
			],
330
			$member
331
		)
332
		) {
333
			return true;
334
		}
335
336
		return (bool) $this->Environments()->filterByCallback(function ($env) use ($member) {
337
			return $env->canRestore($member);
338
		})->Count();
339
	}
340
341
	/**
@@ 345-359 (lines=15) @@
342
	 * @param Member|null $member
343
	 * @return bool
344
	 */
345
	public function canBackup($member = null) {
346
		if ($this->allowedAny(
347
			[
348
				DNRoot::ALLOW_PROD_SNAPSHOT,
349
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
350
			],
351
			$member
352
		)
353
		) {
354
			return true;
355
		}
356
357
		return (bool) $this->Environments()->filterByCallback(function ($env) use ($member) {
358
			return $env->canBackup($member);
359
		})->Count();
360
	}
361
362
	/**
@@ 366-380 (lines=15) @@
363
	 * @param Member|null $member
364
	 * @return bool
365
	 */
366
	public function canUploadArchive($member = null) {
367
		if ($this->allowedAny(
368
			[
369
				DNRoot::ALLOW_PROD_SNAPSHOT,
370
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
371
			],
372
			$member
373
		)
374
		) {
375
			return true;
376
		}
377
378
		return (bool) $this->Environments()->filterByCallback(function ($env) use ($member) {
379
			return $env->canUploadArchive($member);
380
		})->Count();
381
	}
382
383
	/**
@@ 387-401 (lines=15) @@
384
	 * @param Member|null $member
385
	 * @return bool
386
	 */
387
	public function canDownloadArchive($member = null) {
388
		if ($this->allowedAny(
389
			[
390
				DNRoot::ALLOW_PROD_SNAPSHOT,
391
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
392
			],
393
			$member
394
		)
395
		) {
396
			return true;
397
		}
398
399
		return (bool) $this->Environments()->filterByCallback(function ($env) use ($member) {
400
			return $env->canDownloadArchive($member);
401
		})->Count();
402
	}
403
404
	/**