Version 1
[yaffs-website] / vendor / drupal / console / src / Command / Shared / PermissionTrait.php
diff --git a/vendor/drupal/console/src/Command/Shared/PermissionTrait.php b/vendor/drupal/console/src/Command/Shared/PermissionTrait.php
new file mode 100644 (file)
index 0000000..a3e3f67
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+
+/**
+ * @file
+ * Contains Drupal\Console\Command\Shared\PermissionsTrait.
+ */
+
+namespace Drupal\Console\Command\Shared;
+
+use Drupal\Console\Core\Style\DrupalStyle;
+
+trait PermissionTrait
+{
+    /**
+     * @param DrupalStyle $output
+     *
+     * @return mixed
+     */
+    public function permissionQuestion(DrupalStyle $output)
+    {
+        $permissions = [];
+        $boolOrNone = ['true','false','none'];
+        while (true) {
+            $permission = $output->ask(
+                $this->trans('commands.generate.permission.questions.permission'),
+                'access content'
+            );
+            $title = $output->ask(
+                $this->trans('commands.generate.permission.questions.title'),
+                'Access content'
+            );
+            $description = $output->ask(
+                $this->trans('commands.generate.permission.questions.description'),
+                'Allow access to my content'
+            );
+            $restrictAccess = $output->choiceNoList(
+                $this->trans('commands.generate.permission.questions.restrict-access'),
+                $boolOrNone,
+                'none'
+            );
+
+            $permission = $this->stringConverter->camelCaseToLowerCase($permission);
+            $title = $this->stringConverter->anyCaseToUcFirst($title);
+
+            array_push(
+                $permissions,
+                [
+                    'permission' => $permission,
+                    'title' => $title,
+                    'description' => $description,
+                    'restrict_access' => $restrictAccess,
+                ]
+            );
+
+            if (!$output->confirm(
+                $this->trans('commands.generate.permission.questions.add'),
+                true
+            )
+            ) {
+                break;
+            }
+        }
+
+        return $permissions;
+    }
+}