Code Duplication    Length = 15-15 lines in 4 locations

code/model/DNProject.php 4 locations

@@ 264-278 (lines=15) @@
261
	 *
262
	 * @return bool
263
	 */
264
	public function canRestore($member = null) {
265
		if ($this->allowedAny(
266
			array(
267
				DNRoot::ALLOW_PROD_SNAPSHOT,
268
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
269
			),
270
			$member
271
		)) {
272
			return true;
273
		}
274
275
		return (bool)$this->Environments()->filterByCallback(function($env) use($member) {
276
			return $env->canRestore($member);
277
		})->Count();
278
	}
279
280
	/**
281
	 * @param Member|null $member
@@ 284-298 (lines=15) @@
281
	 * @param Member|null $member
282
	 * @return bool
283
	 */
284
	public function canBackup($member = null) {
285
		if ($this->allowedAny(
286
			array(
287
				DNRoot::ALLOW_PROD_SNAPSHOT,
288
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
289
			),
290
			$member
291
		)) {
292
			return true;
293
		}
294
295
		return (bool)$this->Environments()->filterByCallback(function($env) use($member) {
296
			return $env->canBackup($member);
297
		})->Count();
298
	}
299
300
	/**
301
	 * @param Member|null $member
@@ 304-318 (lines=15) @@
301
	 * @param Member|null $member
302
	 * @return bool
303
	 */
304
	public function canUploadArchive($member = null) {
305
		if ($this->allowedAny(
306
			array(
307
				DNRoot::ALLOW_PROD_SNAPSHOT,
308
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
309
			),
310
			$member
311
		)) {
312
			return true;
313
		}
314
315
		return (bool)$this->Environments()->filterByCallback(function($env) use($member) {
316
			return $env->canUploadArchive($member);
317
		})->Count();
318
	}
319
320
	/**
321
	 * @param Member|null $member
@@ 324-338 (lines=15) @@
321
	 * @param Member|null $member
322
	 * @return bool
323
	 */
324
	public function canDownloadArchive($member = null) {
325
		if ($this->allowedAny(
326
			array(
327
				DNRoot::ALLOW_PROD_SNAPSHOT,
328
				DNRoot::ALLOW_NON_PROD_SNAPSHOT
329
			),
330
			$member
331
		)) {
332
			return true;
333
		}
334
335
		return (bool)$this->Environments()->filterByCallback(function($env) use($member) {
336
			return $env->canDownloadArchive($member);
337
		})->Count();
338
	}
339
340
	/**
341
	 * This is a permission check for the front-end only.