public function createAction() { $usersData = $this->serviceQueryPlugin->getUsers(); if ($this->request->isPost()) { $submitedData = (array) $this->request->getPost(); $serviceEntity = new Service(); if (!empty($submitedData["parent"])) { $parent = $this->doctrineService->find('Application\\Entity\\Service', $submitedData["parent"]); $serviceEntity->setParent($parent); } $this->doctrineService->persist($serviceEntity); $languages = $this->doctrineService->getRepository('Application\\Entity\\Language')->findAll(); foreach ($languages as $lang) { $serviceTemp = new ServiceLang(); $serviceTemp->setEnable(isset($submitedData["enable"][$lang->getCode()]) ? 1 : 0); $serviceTemp->setName($submitedData["name"][$lang->getCode()]); $serviceTemp->setDescription($submitedData["description"][$lang->getCode()]); $serviceTemp->setOrder(0); $serviceTemp->setLanguage($lang); $serviceTemp->setService($serviceEntity); $this->doctrineService->persist($serviceTemp); } $this->serviceQueryPlugin->updateWorkAt($serviceEntity, isset($submitedData["selectedUsers"]) ? $submitedData["selectedUsers"] : array(), $usersData["selected"]); $this->doctrineService->flush(); $this->layout()->message = ['type' => 'success', 'text' => 'new user created successfully.']; } $usersData = $this->serviceQueryPlugin->getUsers(); $services = $this->serviceUiGeneratorPlugin->getForTree($this->language->getId()); return $this->serviceUiGeneratorPlugin->getCreateServiceForm($services, $usersData, $this->language->getCode()); }
protected function createArray(Service $serviceObj, $language_id) { $serviceLangObj = $this->doctrineService->getRepository('Application\\Entity\\ServiceLang')->findOneBy(array("language" => $language_id, "service" => $serviceObj->getId())); return array("id" => $serviceObj->getId(), "label" => $serviceLangObj->getName(), "childList" => $this->getForTree($language_id, $serviceObj->getId())); }
/** * {@inheritDoc} */ public function getName() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', array()); return parent::getName(); }