コード例 #1
0
 /**
  * Returns a new form for adding roles to the specified permission.
  *
  * @param Permission $permission
  *
  * @return \Orchestra\Contracts\Html\Builder
  */
 public function formRoles(Permission $permission)
 {
     return $this->form->of('permissions.roles', function (FormGrid $form) use($permission) {
         $method = 'POST';
         $url = route('admin.permissions.roles.store', [$permission->id]);
         $form->attributes(compact('method', 'url'));
         $form->with($permission);
         $form->layout('components.form-modal');
         $form->submit = 'Save';
         $form->fieldset(function (Fieldset $fieldset) {
             $fieldset->control('input:select', 'roles[]')->label('Roles')->options(function (Permission $permission) {
                 // We'll only allow users to select permissions that
                 // aren't apart of the current role.
                 return Role::whereDoesntHave('permissions', function (Builder $builder) use($permission) {
                     $builder->whereName($permission->name);
                 })->get()->pluck('label', 'id');
             })->attributes(['class' => 'select-multiple', 'multiple' => true]);
         });
     });
 }