public function actionIndex() { $this->needAuthenticate(); $this->Frame->addCss('\\public\\assets\\css\\edit-form.css'); $this->Frame->addCss('\\public\\assets\\css\\main-menu.css'); $moduleId = Param::get('pk')->asInteger(); $view = new ViewModuleShow(); $module = DataSource::factory(Module::cls(), $moduleId); $view->module = $module; $this->Frame->bindView('content', $view); $this->Frame->render(); }
public function getModules() { /** @var Module[] $aModules */ $aModules = $this->findRelationCache($this->getPrimaryKeyName(), Module::cls()); if (empty($aModules)) { $oModules = DataSource::factory(Module::cls()); $oModules->builder()->where("module_id={$this->getPrimaryKey()}"); $aModules = $oModules->findAll(); foreach ($aModules as $oModule) { $this->addRelationCache($this->getPrimaryKeyName(), $oModule); $oModule->addRelationCache('module_id', $this); } } }
public function getModule() { /** @var Module[] $aModules */ $aModules = $this->findRelationCache('module_id', Module::cls()); if (empty($aModules)) { $oModules = DataSource::factory(Module::cls()); $oModules->builder()->where("id={$this->module_id}"); $aModules = $oModules->findAll(); foreach ($aModules as $oModule) { $oModule->addRelationCache('id', $this); $this->addRelationCache('module_id', $oModule); } } return isset($aModules[0]) ? $aModules[0] : null; }
public function actionIndex() { $this->needAuthenticate(); $view = new ViewList(); $view->response = new ViewResponse($this->alertClass, $this->alertHeader, $this->alertText); $view->menu->addItem('Установить', '/admin/modules/show/'); $view->table->caption = 'Модули'; $view->table->tableHead->allowActions = true; $view->table->tableBody->addAction('Просмотр', '/admin/modules/show/', 'glyphicon-sunglasses'); $modules = DataSource::factory(Module::cls()); $modules->builder()->sqlCalcFoundRows(); $view->table->tableBody->data = $modules->findAll(); $view->table->addColumn('id', '№')->addColumn('name', 'Наименование')->addColumn('alias', 'Псевдоним')->addColumn('description', 'Описание')->addColumn('active', 'Активен'); $this->Pagination->prepare(); $this->fillPager($view); $view->table->tableBody->addDecoration('active', new ViewActive('active')); $this->Frame->bindView('content', $view); $this->Frame->render(); }
public function actionAjaxModuleConfig() { $this->needAuthenticate(); $structureId = Param::get('structure_id')->noEmpty('Пропущен обязательный параметр "structure_id".')->asInteger(true, '"structure_id" должен быть числом.'); if ($structureId == 0) { SCMSNotificationLog::instance()->pushError("Не указана целевая структура."); $this->Response->send(); exit; } $moduleId = Param::get('module_id')->noEmpty('Пропущен обязательный параметр "module_id".')->asInteger(true, '"structure_id" должен быть числом.'); /** @var Structure $oStructure */ $oStructure = DataSource::factory(Structure::cls(), $structureId); /** @var Module $oModule */ $oModule = DataSource::factory(Module::cls(), $moduleId == 0 ? null : $moduleId); ob_start(); $view = $this->getModuleConfigView($oStructure, $oModule); $view->render(); $form = ob_get_clean(); $this->Response->send('', ['form' => $form]); }