Code Duplication    Length = 15-15 lines in 4 locations

code/model/DNProject.php 4 locations

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