| @@ 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. |
|