public function createRootFolderIfNew(Doctrine_Connection $conn = null) { if ($conn == null) { $conn = Doctrine_Manager::connection(); } try { $conn->beginTransaction(); $root_folder = new EiFolder(); $root_folder->setProjectId($this->getProjectId()); $root_folder->setProjectRef($this->getRefId()); $root_folder->setName('Root'); $root_folder->save($conn); $root_node = new EiNode(); $root_node->setProjectId($this->getProjectId()); $root_node->setProjectRef($this->getRefId()); $root_node->setObjId($root_folder->getId()); $root_node->setName('Root'); $root_node->setType('EiFolder'); $root_node->setPosition(1); $root_node->setIsRoot(true); $root_node->setIsShortcut(false); $root_node->setRootId(Null); $root_node->save($conn); $conn->commit(); } catch (Exception $e) { $conn->rollback(); throw $e; } }
public function configure() { unset($this['created_at'], $this['updated_at'], $this['nb_joue'], $this['ei_node_id'], $this['ei_version_structure_id']); $this->widgetSchema['project_id'] = new sfWidgetFormInputHidden(); $this->widgetSchema['project_ref'] = new sfWidgetFormInputHidden(); //Modification des labels $this->widgetSchema->setLabels(array('nom_scenario' => 'Libelle')); if (!$this->isNew()) { $this->widgetSchema['nom_scenario']->setAttribute('class', 'nom_scenario form-control'); } else { $this->widgetSchema['nom_scenario']->setAttribute('class', 'libelle form-control'); } $this->widgetSchema['nom_scenario']->setAttribute('placeholder', 'Enter test suite name ...'); $this->widgetSchema['description']->setAttribute('placeholder', 'Enter a description for test suite ...'); $this->widgetSchema['description']->setAttribute('class', 'description_scenario form-control'); //Imbrication du formulaire pour le noeud parent $root_id = $this->getOption('root_id'); if (isset($root_id) && $root_id != null) { $ei_node = new EiNode(); $ei_node->setIsRoot(false); $ei_node->setProjectId($this->getObject()->getProjectId()); $ei_node->setProjectRef($this->getObject()->getProjectRef()); $ei_node->setObjId($this->getObject()->getId()); $ei_node->setPosition(Doctrine_Core::getTable('EiNode')->getLastPositionInNode($this->getObject()->getProjectId(), $this->getObject()->getProjectRef(), $root_id)); $ei_node->setType('EiScenario'); $ei_node->setRootId($root_id); $this->getObject()->setEiNode($ei_node); //on imbrique le sous formulaire au formulaire de creation d'un scénario $this->embedForm('ei_node', new EiNodeForm($ei_node)); } /* On vérifie à la validation que l'utilisateur possède un package par défaut */ $this->validatorSchema->setPostValidator(new sfValidatorCallback(array('callback' => array($this, 'checkIfDefaultPackageExist')))); }
public function configure() { unset($this['created_at'], $this['updated_at']); $this->widgetSchema["project_ref"] = new sfWidgetFormInputHidden(); $this->widgetSchema["project_id"] = new sfWidgetFormInputHidden(); $this->widgetSchema['name']->setAttributes(array('class' => ' form-control')); //Imbrication du formulaire pour le noeud parent $root_id = $this->getOption('root_id'); if (isset($root_id) && $root_id != null) { $ei_node = new EiNode(); $ei_node->setIsRoot(false); $ei_node->setProjectId($this->getObject()->getProjectId()); $ei_node->setProjectRef($this->getObject()->getProjectRef()); $ei_node->setObjId($this->getObject()->getId()); $ei_node->setPosition(Doctrine_Core::getTable('EiNode')->getLastPositionInNode($this->getObject()->getProjectId(), $this->getObject()->getProjectRef(), $root_id)); $ei_node->setType('EiFolder'); $ei_node->setRootId($root_id); //on imbrique le sous formulaire au formulaire de creation d'un dossier $this->embedForm('ei_node', new EiNodeForm($ei_node)); } }
/** * Créer le noeud contenant les dataSetFolders et les dataSets du scenario. * @param Doctrine_Connection $conn * @return $folder Le dossier nouvelle créé. */ public function createDefaultEiDataSetFolder(Doctrine_Connection $conn) { $folder = new EiNode(); $folder->setIsRoot(false); $folder->setName('Data sets'); $folder->setProjectId($this->getProjectId()); $folder->setProjectRef($this->getProjectRef()); $folder->setType('EiDataSetFolder'); $folder->setPosition(1); $folder->save($conn); $folder->setObjId($folder->getId()); $folder->setRootId($this->ei_node_id); $folder->save($conn); return $folder; }