More tidying.
[yaffs-website] / vendor / drupal / console / src / Command / Shared / PermissionTrait.php
1 <?php
2
3 /**
4  * @file
5  * Contains Drupal\Console\Command\Shared\PermissionsTrait.
6  */
7
8 namespace Drupal\Console\Command\Shared;
9
10 use Drupal\Console\Core\Style\DrupalStyle;
11
12 trait PermissionTrait
13 {
14     /**
15      * @param DrupalStyle $output
16      *
17      * @return mixed
18      */
19     public function permissionQuestion(DrupalStyle $output)
20     {
21         $permissions = [];
22         $boolOrNone = ['true','false','none'];
23         while (true) {
24             $permission = $output->ask(
25                 $this->trans('commands.generate.permission.questions.permission'),
26                 'access content'
27             );
28             $title = $output->ask(
29                 $this->trans('commands.generate.permission.questions.title'),
30                 'Access content'
31             );
32             $description = $output->ask(
33                 $this->trans('commands.generate.permission.questions.description'),
34                 'Allow access to my content'
35             );
36             $restrictAccess = $output->choiceNoList(
37                 $this->trans('commands.generate.permission.questions.restrict-access'),
38                 $boolOrNone,
39                 'none'
40             );
41
42             $permission = $this->stringConverter->camelCaseToLowerCase($permission);
43             $title = $this->stringConverter->anyCaseToUcFirst($title);
44
45             array_push(
46                 $permissions,
47                 [
48                     'permission' => $permission,
49                     'title' => $title,
50                     'description' => $description,
51                     'restrict_access' => $restrictAccess,
52                 ]
53             );
54
55             if (!$output->confirm(
56                 $this->trans('commands.generate.permission.questions.add'),
57                 true
58             )
59             ) {
60                 break;
61             }
62         }
63
64         return $permissions;
65     }
66 }