Пример #1
0
 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();
 }
Пример #2
0
 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);
         }
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
 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();
 }
Пример #5
0
 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]);
 }