public function testModuleMetadataToFormAdapter()
 {
     $module = new TestModule(null, null);
     $metadata = $module::getMetadata();
     $this->assertEquals(1, $metadata['global']['a']);
     $this->assertEquals(2, $metadata['global']['b']);
     $this->assertEquals(3, $metadata['global']['c']);
     $adapter = new ModuleMetadataToFormAdapter($metadata['global'], get_class($module));
     $moduleForm = $adapter->getModuleForm();
     $this->assertEquals(1, $moduleForm->a);
     $this->assertEquals(2, $moduleForm->b);
     $this->assertEquals(3, $moduleForm->c);
     $singularCompareData = array('en' => 'tes', 'es' => 'tes', 'it' => 'tes', 'fr' => 'tes', 'de' => 'tes');
     $this->assertEquals($singularCompareData, $moduleForm->singularModuleLabels);
     $pluralCompareData = array('en' => 'test', 'es' => 'test', 'it' => 'test', 'fr' => 'test', 'de' => 'test');
     $this->assertEquals($pluralCompareData, $moduleForm->pluralModuleLabels);
 }
Пример #2
0
 public function actionModuleEdit()
 {
     assert('!empty($_GET["moduleClassName"])');
     $module = new $_GET['moduleClassName'](null, null);
     $moduleClassName = get_class($module);
     $metadata = $module::getMetadata();
     $adapter = new ModuleMetadataToFormAdapter($metadata['global'], get_class($module));
     $moduleForm = $adapter->getModuleForm();
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'edit-form') {
         $this->actionModuleValidate($moduleForm);
     }
     if (isset($_POST[get_class($moduleForm)])) {
         $this->actionModuleSave($moduleForm, $module);
     }
     $title = $moduleClassName::getModuleLabelByTypeAndLanguage('Plural') . ': ' . Zurmo::t('DesignerModule', 'General');
     $breadcrumbLinks = array($title);
     $canvasView = new ActionBarAndModuleEditView($this->getId(), $this->getModule()->getId(), $module, $moduleForm, $title);
     $view = new DesignerPageView(ZurmoDefaultAdminViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $canvasView, $breadcrumbLinks, 'DesignerBreadCrumbView'));
     echo $view->render();
 }