Пример #1
0
 protected function createComponentFormSet($name)
 {
     $form = new Form($this, $name);
     foreach ($this->resource->related('resource_privilege') as $resourcePrivilege) {
         $form->addCheckbox('privilege_' . $resourcePrivilege->privilege->id, $resourcePrivilege->privilege->name);
     }
     $form->addSubmit('send', $this->translator->translate('admin.form.set'));
     $form->onSuccess[] = [$this, 'submitFormSet'];
     $defaults = array();
     foreach ($this->permissions->where('role_id = ?', $this->row['id'])->where('resource_id = ?', $this->resource['id']) as $permission) {
         $defaults['privilege_' . $permission['privilege_id']] = true;
     }
     $form->setDefaults($defaults);
     return $form;
 }
Пример #2
0
 public function startup()
 {
     parent::startup();
     if ($this->getName() != 'Admin:Sign' && !$this->user->isLoggedIn()) {
         $this->redirect('Sign:default');
     }
     //nastavim prava
     foreach ($this->roles->getAll() as $role) {
         $this->acl->addRole($role['system_name']);
     }
     foreach ($this->resources->getAll() as $resource) {
         $this->acl->addResource($resource['system_name']);
     }
     foreach ($this->permissions->getAll() as $permission) {
         $this->acl->allow($permission->role->system_name, $permission->resource->system_name, $permission->privilege->system_name);
     }
     $this->acl->addRole('super_admin');
     $this->acl->allow('super_admin');
     //homepage a sign maji pristup vsichni
     $this->acl->addResource('homepage');
     $this->acl->allow(\App\AdminModule\Components\Authorizator::ALL, 'homepage');
     $this->acl->addResource('sign');
     $this->acl->allow(\App\AdminModule\Components\Authorizator::ALL, 'sign');
     //vychozi role
     $this->acl->addRole('guest');
     //kontrola prav
     if ($this->getName() != 'Admin:Image' && $this->getAction() != 'ordering' && $this->getAction() != 'orderingCategory' && $this->getAction() != 'deleteImage' && $this->getAction() != 'changePassword' && $this->getAction() != 'getCity' && $this->getAction() != 'download') {
         if (!$this->getUser()->isAllowed($this->getNameSimple(), $this->getAction())) {
             $this->flashMessage($this->translator->translate('admin.login.noAccess'), 'error');
             $this->redirect('Homepage:default');
         }
     }
     //projedu vsek moduly a pokusim se najit presentery
     $presenters = array();
     $vsekDir = dirname(__FILE__) . '/../../../';
     $ch = opendir($vsekDir);
     while (($file = readdir($ch)) !== false) {
         if (!in_array($file, array('.', '..'))) {
             if (file_exists($vsekDir . $file . '/src/setting.xml')) {
                 $xml = simplexml_load_file($vsekDir . $file . '/src/setting.xml');
                 if (isset($xml->presenter)) {
                     $this->menuModules[] = array('name' => (string) $xml->presenter->name, 'resource' => (string) $xml->presenter->resource);
                 }
             }
         }
     }
     closedir($ch);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Permission::truncate();
     factory(Permission::class)->create(['name' => 'ver-usuarios', 'display_name' => 'Ver Usuários', 'description' => 'Permissão para visualizar usuários']);
     factory(Permission::class)->create(['name' => 'criar-usuarios', 'display_name' => 'Criar Usúarios', 'description' => 'Permissão para usuários']);
     factory(Permission::class)->create(['name' => 'list', 'display_name' => 'Listar usuários', 'description' => 'Permissão para Listar usuários']);
     factory(Permission::class)->create(['name' => 'editar-usuarios', 'display_name' => 'Editar usuários', 'description' => 'Permissão para Editar usuários']);
     factory(Permission::class)->create(['name' => 'atualizar-usuarios', 'display_name' => 'Atualizar usuários', 'description' => 'Permissão para Atualizar usuários']);
     factory(Permission::class)->create(['name' => 'excluir-usuarios', 'display_name' => 'Exluir usuários', 'description' => 'Permissão para Exluir usuários']);
     factory(Permission::class, 0)->create();
 }
Пример #4
0
 public function submitFormEdit(Form $form)
 {
     $values = $form->getValues();
     $this->resource->update(array('name' => $values->name, 'system_name' => $values->system_name));
     foreach ($values as $key => $val) {
         if (\Nette\Utils\Strings::startsWith($key, 'privilege_')) {
             $id = explode('_', $key);
             $resourcePrivilege = $this->resource->related('resource_privilege');
             if ($val) {
                 if (!$resourcePrivilege->where('privilege_id = ?', $id[1])->fetch()) {
                     $resourcePrivilege->insert(array('privilege_id' => (int) $id[1]));
                 }
             } else {
                 if ($resourcePrivilege->where('privilege_id = ?', $id[1])->fetch()) {
                     $resourcePrivilege->where('privilege_id = ?', $id[1])->delete();
                     $this->permissions->where('resource_id = ?', $this->resource['id'])->where('privilege_id = ?', $id[1])->delete();
                 }
             }
         }
     }
     $this->flashMessage($this->translator->translate('admin.form.editSuccess'));
     $this->redirect('edit', $this->resource->id);
 }