/
home
/
techb158
/
immovalet.com
/
platform
/
core
/
acl
/
src
/
Forms
/
/home/techb158/immovalet.com/platform/core/acl/src/Forms
mkdir
upload
Name
Size
Mode
Actions
PasswordForm.php
2340
0644
edit
dl
rm
ProfileForm.php
2529
0644
edit
dl
rm
RoleForm.php
4441
0644
edit
dl
rm
UserForm.php
4802
0644
edit
dl
rm
Edit:
/home/techb158/immovalet.com/platform/core/acl/src/Forms/RoleForm.php
(4441B)
<?php namespace Botble\ACL\Forms; use Assets; use Botble\ACL\Http\Requests\RoleCreateRequest; use Botble\ACL\Models\Role; use Botble\Base\Forms\FormAbstract; use Illuminate\Support\Arr; class RoleForm extends FormAbstract { /** * {@inheritDoc} */ public function buildForm() { Assets::addStyles(['jquery-ui', 'jqueryTree']) ->addScripts(['jquery-ui', 'jqueryTree']) ->addScriptsDirectly('vendor/core/core/acl/js/role.js'); $flags = $this->getAvailablePermissions(); $children = $this->getPermissionTree($flags); $active = []; if ($this->getModel()) { $active = array_keys($this->getModel()->permissions); } $this ->setupModel(new Role) ->setValidatorClass(RoleCreateRequest::class) ->withCustomFields() ->add('name', 'text', [ 'label' => trans('core/base::forms.name'), 'label_attr' => ['class' => 'control-label required'], 'attr' => [ 'placeholder' => trans('core/base::forms.name_placeholder'), 'data-counter' => 120, ], ]) ->add('description', 'textarea', [ 'label' => trans('core/base::forms.description'), 'label_attr' => ['class' => 'control-label required'], 'attr' => [ 'rows' => 4, 'placeholder' => trans('core/base::forms.description_placeholder'), 'data-counter' => 400, ], ]) ->add('is_default', 'onOff', [ 'label' => trans('core/base::forms.is_default'), 'label_attr' => ['class' => 'control-label'], 'default_value' => false, ]) ->addMetaBoxes([ 'permissions' => [ 'title' => trans('core/acl::permissions.permission_flags'), 'content' => view('core/acl::roles.permissions', compact('active', 'flags', 'children'))->render(), ], ]) ->setActionButtons(view('core/acl::roles.actions', ['role' => $this->getModel()])->render()); } /** * @return array */ protected function getAvailablePermissions(): array { $permissions = []; $configuration = config(strtolower('cms-permissions')); if (!empty($configuration)) { foreach ($configuration as $config) { $permissions[$config['flag']] = $config; } } $types = ['core', 'packages', 'plugins']; foreach ($types as $type) { $permissions = array_merge($permissions, $this->getAvailablePermissionForEachType($type)); } return $permissions; } /** * @param string $type * @return array */ protected function getAvailablePermissionForEachType($type) { $permissions = []; foreach (scan_folder(platform_path($type)) as $module) { $configuration = config(strtolower($type . '.' . $module . '.permissions')); if (!empty($configuration)) { foreach ($configuration as $config) { $permissions[$config['flag']] = $config; } } } return $permissions; } /** * @param array $permissions * @return array */ protected function getPermissionTree($permissions): array { $sortedFlag = $permissions; sort($sortedFlag); $children['root'] = $this->getChildren('root', $sortedFlag); foreach (array_keys($permissions) as $key) { $childrenReturned = $this->getChildren($key, $permissions); if (count($childrenReturned) > 0) { $children[$key] = $childrenReturned; } } return $children; } /** * @param int $parentId * @param array $allFlags * @return mixed */ protected function getChildren($parentId, array $allFlags) { $newFlagArray = []; foreach ($allFlags as $flagDetails) { if (Arr::get($flagDetails, 'parent_flag', 'root') == $parentId) { $newFlagArray[] = $flagDetails['flag']; } } return $newFlagArray; } }
Save
cmd:
run