public function execute($request) { $this->isNew = false; //load config $this->config = ConfigPeer::retrieveByPK($this->configId = $this->getRequestParameter('id')); $this->forward404Unless($this->config); $this->configId = $this->config->getId(); //load model $this->model = $this->config->getModel(); //load other configuration for this model $this->configs = $this->model->getConfigs(); //load series $this->series = $this->model->getSeries(); //get brands $cBrand = new Criteria(); $this->brands = BrandPeer::doSelect($cBrand); $this->selectedBrand = $this->series->getBrandId(); $cFieldCat = new Criteria(); $cFieldCat->addDescendingOrderByColumn(ConfigFieldCategoryPeer::WEIGHT); $this->configFieldCategories = ConfigFieldCategoryPeer::doselect($cFieldCat); $this->setTemplate('config'); }
public function execute($request) { //get params $this->brand = $this->getRequestParameter('brand'); $this->series = $this->getRequestParameter('series'); $this->model = $this->getRequestParameter('model'); $this->configId = $this->getRequestParameter('config_id'); //get image files $this->mainImage = $this->getRequest()->getFiles('main_image'); $this->otherImages = $this->getRequest()->getFiles('other_images'); //print_r($this->otherImages); //exit (); //load/create series and model if (SeriesPeer::isNew($this->series)) { //create new series $seriesObj = new Series(); $seriesObj->setSeriesName($this->series); $seriesObj->setBrandId($this->brand); $seriesObj->save(); //create new model $modelObj = new Model(); $modelObj->setModelName($this->model); $modelObj->setSeries($seriesObj); $modelObj->save(); } else { //load series object $seriesObj = SeriesPeer::getSeriesByName($this->series); if (ModelPeer::isNew($this->model)) { //create new model $modelObj = new Model(); $modelObj->setModelName($this->model); $modelObj->setSeries($seriesObj); $modelObj->save(); } else { $modelObj = ModelPeer::getModelByName($this->model); } } ////////////////////// if (($this->isNew = $this->getRequestParameter('is_new')) == 'true') { //create new config $config = new Config(); $config->setConfigName($this->getRequestParameter('name')); $config->setModel($modelObj); $config->save(); //load config fields $configFields = ConfigFieldPeer::doSelect(new Criteria()); foreach ($configFields as $configField) { //get param if ($this->hasRequestParameter("field_" . $configField->getId())) { //if (strlen($this->getRequestParameter("field_".$configField->getId())) > 0 ) //{ $fieldValue = new FieldValue(); $fieldValue->setConfig($config); $fieldValue->setFieldId($configField->getId()); $fieldValue->setValue($this->getRequestParameter("field_" . $configField->getId())); $fieldValue->save(); //} } } } else { //load config $config = ConfigPeer::retrieveByPK($this->configId); //$config->setConfigName($this->getRequestParameter('name')); $config->setModel($modelObj); $config->save(); //load config fields $configFields = ConfigFieldPeer::doSelect(new Criteria()); foreach ($configFields as $configField) { //get param if ($this->hasRequestParameter("field_" . $configField->getId())) { //if (strlen($this->getRequestParameter("field_".$configField->getId())) > 0 ) //{ $fieldValue = FieldValuePeer::getFieldValue($configField->getId(), $config->getId()); $fieldValue->setValue($this->getRequestParameter("field_" . $configField->getId())); $fieldValue->save(); //} } } } //save main image MediaPeer::saveMedia($this->mainImage, $modelObj->getId(), MediaPeer::IMAGE, 'Model', true); //save other images foreach ($this->otherImages as $image) { MediaPeer::saveMedia($image, $modelObj->getId(), MediaPeer::IMAGE, 'Model', false); } if (($saveAndNew = $this->getRequestParameter('save_and_new')) == 'true') { $this->redirect('config/newconfig'); } else { $this->redirect('config/editconfig?id=' . $config->getId()); } }
public function executeProcessConfigForm(sfWebRequest $request) { $data = $request->getGetParameters(); $config = new Config(); if ($data['cid'] == '-1') { // New Config $config->setModelId($data['mid']); $config->save(); foreach ($data as $field => $value) { if ($field != 'cid' && $field != 'mid') { $fv = new FieldValue(); $fv->setConfigId($config->getId()); $fv->setFieldId(intval($field)); $fv->setValue($value); //echo intval($field)."\n"; $fv->save(); } } } else { $config = ConfigPeer::retrieveByPK($data['cid']); foreach ($data as $field => $value) { if ($field != 'cid' && $field != 'mid') { $c = new Criteria(); $c->add(FieldValuePeer::FIELD_ID, intval($field)); $c->add(FieldValuePeer::CONFIG_ID, $config->getId()); $fv = FieldValuePeer::doSelectOne($c); if (!is_object($fv)) { $fv = new FieldValue(); $fv->setConfigId($config->getId()); $fv->setFieldId(intval($field)); } $fv->setValue($value); //echo intval($fv->getValue())."#"; //print_r($fv, FALSE); $fv->save(); } } } $this->res = $config->getId(); }