public function updateAction() { // Connect to Riot Api and get champion data $key = ''; $api = new Api($key); $champions = $api->staticData()->getChampions(); // Create transaction $manager = new \Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager->get(); // Insert champion id and champion name into MySQL foreach ($champions as $champion) { // Remove spaces, periods, and apostrophes from names to better correspond with img names $to_remove = array("'", ".", " "); $to_replace = array("", "", ""); $champion_name = $champion->name; $champion_name = str_replace($to_remove, $to_replace, $champion_name); // Insert champion id and name $new_champion = new Champion(); $new_champion->setTransaction($transaction); $new_champion->save(array("champion_id" => $champion->id, "champion_name" => $champion_name)); print "Inserted: " . $champion->id . " " . $champion_name . "<br>"; } $transaction->commit(); }
public function saveAction() { $this->view->title = "Збереження студента"; $errors = array(); !file_exists($this->logFileName) ? $attr = array('mode' => 'w') : ($attr = array()); $logger = new FileAdapter($this->logFileName, $attr); $manager = new \Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager->get(); $indCode = $this->request->get("ind_code"); if ($indCode != NULL) { $logger->log("indCode not NULL"); if ($this->request->isPost()) { $logger->log("POST request finded"); //debug($this->request->get()); if ($this->request->get("uid") == NULL) { $user = new \Users(); $logger->log("new User created"); } else { $user = \Users::findFirst($this->request->get("uid")); if (!$user) { $logger->warning("this User is not finded!"); $user = new \Users(); $logger->log("new User created"); } else { $logger->log("User id is " . $user->id); } } $user->setTransaction($transaction); $logger->log("Transaction started"); $user->name = $this->request->get("name"); $user->last_name = $this->request->get("last_name"); $user->second_name = $this->request->get("second_name"); $user->login = $this->request->get("login"); $user->password = MD5($this->request->get("password")); $user->is_male = $this->request->get("is_male"); $user->is_active = 1; $user->email = $this->request->get("email"); $user->date_registration = date('Y-m-d H:i:s'); $user->birthday = $this->request->get("birthday"); $user->address_home = $this->request->get("address_home"); $user->phome = $this->request->get("phome"); $user->pmobile = $this->request->get("pmobile"); if ($this->request->get("id") == NULL) { $student = new \Students(); $logger->log("new Student created"); } else { $student = \Students::findFirst($this->request->get("id")); if (!$student) { $logger->warning("this Student is not finded!"); $student = new \Students(); $logger->log("new Student created"); } else { $logger->log("Student id is " . $user->id); } } //добавление студента $student->ind_code = $indCode; if (count($this->request->get("student_education")) > 0) { $logger->log("student educations from request count>0, so start to add its"); $studentEducations = array(); //добавление образований $c = 0; foreach ($this->request->get("student_education") as $educ) { $logger->log("Educ cycle #" . $c++); $educJSON = json_decode($educ, true); $se = new \StudentsEducation(); if (!array_key_exists("education_child_id", $educJSON)) { $se->education_id = $educJSON["education_id"]; } else { $se->education_id = $educJSON["education_child_id"]; } $se->institution = $educJSON["institution"]; $se->speciality = $educJSON["speciality"]; $se->qualify = $educJSON["qualify"]; $se->diploma_number = $educJSON["diploma_number"]; $se->diploma_date = $educJSON["diploma_date"]; $logger->log("Educ id = " . $educJSON["education_id"]); $studentEducations[] = $se; } } else { $logger->warning("No educations in request!"); $studentEducations = NULL; } if ($student->StudentsEducation->count() > 0) { $logger->warning("Finded old education(s) (" . $student->StudentsEducation->count() . ") in this Student. Trying to delete all its"); $c = 0; foreach ($student->StudentsEducation as $se) { $logger->log("Educ delation cycle #" . $c++); $se->delete(); } } else { $logger->warning("no old educations finded!"); } $student->StudentsEducation = $studentEducations; //debug($student->StudentsEducation); if (count($this->request->get("student_post")) > 0) { $logger->log("There is Posts in request"); $studentPosts = array(); //добавление должностей $logger->log("new Posts addition"); $c = 0; foreach ($this->request->get("student_post") as $spost) { $logger->log("Posts cycle #" . $c++); $spostJSON = json_decode($spost, true); if (!array_key_exists("brands", $spostJSON)) { $spostJSON = array_values($spostJSON)[0]; } $sp = new \StudentsPosts(); if (array_key_exists("dealer", $spostJSON)) { $sp->dealer = $spostJSON["dealer"]; } if (array_key_exists("post", $spostJSON)) { $sp->post = $spostJSON["post"]; } if (array_key_exists("rate", $spostJSON)) { $sp->rate = $spostJSON["rate"]; } if (array_key_exists("appoint_date", $spostJSON)) { $sp->appoint_date = strtotime($spostJSON["appoint_date"]); } if (array_key_exists("brands", $spostJSON) && count($spostJSON["brands"]) > 0) { // Добавление брендов $logger->log("Brands finded. Triying to add all of " . count($spostJSON["brands"]) . " brands"); $studentsPostsBrands = array(); foreach ($spostJSON["brands"] as $brand) { $spb = new \StudentsPostsBrands(); $spb->brand_id = $brand; $studentsPostsBrands[] = $spb; } $sp->StudentsPostsBrands = $studentsPostsBrands; } else { $logger->warning("no Brands in this Post finded!"); } if (array_key_exists("activities", $spostJSON) && count($spostJSON["activities"]) > 0) { // Добавление напр. деятельности $logger->log("Activities finded. Triying to add all of " . count($spostJSON["activities"]) . " activities"); $studentPostsActivities = array(); foreach ($spostJSON["activities"] as $activity) { $spa = new \StudentsPostsActivities(); $spa->activity_id = $activity; $studentPostsActivities[] = $spa; } $sp->StudentsPostsActivities = $studentPostsActivities; } else { $logger->warning("no Activities in this Post finded!"); } $studentPosts[] = $sp; } } else { $logger->warning("no Posts finded in request!"); $studentPosts = NULL; } if ($student->StudentsPosts->count() > 0) { $logger->log("There is old Posts"); $c = 0; foreach ($student->StudentsPosts as $sp) { $logger->log("old Posts deletion cycle #" . $c++); if ($sp->StudentsPostsActivities->count() > 0) { $logger->log("there is some (" . $sp->StudentsPostsActivities->count() . ") Activities in old Post. Deletion all of it."); foreach ($sp->StudentsPostsActivities as $spa) { if ($spa->delete()) { $logger->log("StudentsPostsActivities id = " . $spa->activity_id . " deleted"); } else { $logger->warning("StudentsPostsActivities id = " . $spa->activity_id . " deletion error!"); } } } else { $logger->warning("No one Activities in old Posts"); } if ($sp->StudentsPostsBrands->count() > 0) { $logger->log("there is some (" . $sp->StudentsPostsBrands->count() . ") Brands in old Post. Deletion all of it."); foreach ($sp->StudentsPostsBrands as $spb) { if ($spb->delete()) { $logger->log("StudentsPostsBrand id = " . $spb->brand_id . " deleted"); } else { $logger->warning("StudentsPostsBrand id = " . $spb->brand_id . " deletion error!"); } } } else { $logger->warning("No one Brands in old Posts"); } $logger->log("Posts id " . $sp->id . " deletion"); if ($sp->delete()) { $logger->log("StudentsPosts id = " . $sp->id . " deleted"); } else { $logger->warning("StudentsPosts id = " . $sp->id . " deletion error!"); } } } else { $logger->warning("no old Posts finded!"); } $logger->log("Add all new Posts to Student"); $student->StudentsPosts = $studentPosts; $logger->log("Add all new Students to User"); $user->Students = array($student); if ($user->save() === false) { $logger->log("User not saved!"); echo '<div class="alert alert-warning" role="alert">Під час збереження студента виникли наступні помилки: <br><ul>'; foreach ($user->getMessages() as $msg) { echo "<li>" . $msg . "</li>"; } echo "</ul></div>"; $transaction->rollback("Під час збереження студента виникли помилки"); } else { if ($transaction->commit()) { if ($this->request->get("id") == NULL) { echo '<div class="alert alert-success" role="alert">Студент доданий успішно!</div>'; } else { echo '<div class="alert alert-success" role="alert">Студент збережений успішно!</div>'; } $logger->log("User saved!"); } else { echo '<div class="alert alert-warning" role="alert">Під час збереження студента виникла помилка транзакції <br><ul>'; $logger->warning("Transaction save errors:"); foreach ($transaction->getMessages() as $msg) { $logger->warning("--- " . $msg); } } } //$user->Students = array(); } } else { echo '<div class="alert alert-warning" role="alert">Під час збереження студента виникла помилка. Вiдсутній ІНН!</div>'; $transaction->rollback("Вiдсутній ІНН!"); $logger->error("No INN!"); } }
/** * Configuration application default DI * * @return FactoryDefault| CLI */ public function getDI() { if ($this->di) { return $this->di; } if ($this->appMode == 'cli') { $di = new FactoryDefault\CLI(); } else { $di = new FactoryDefault(); } //PHP5.3 not support $this in closure $self = $this; /********************************** * DI initialize for MVC core ***********************************/ //$di->set('application', $this); //call loadmodules will overwrite this $di->set('moduleManager', function () use($di) { $moduleManager = new ModuleManager(); $moduleManager->setEventsManager($di->getEventsManager()); return $moduleManager; }, true); //System global events manager $di->set('eventsManager', function () use($di) { $eventsManager = new EventsManager(); $eventsManager->enablePriorities(true); // dispatch caching event handler $eventsManager->attach("dispatch", new DispatchInterceptor(), -1); $eventsManager->enablePriorities(true); return $eventsManager; }, true); $di->set('config', function () use($self) { return $self->diConfig(); }, true); $di->set('router', function () use($self) { return $self->diRouter(); }, true); $di->set('dispatcher', function () use($di) { $dispatcher = new Dispatcher(); $dispatcher->setEventsManager($di->getEventsManager()); return $dispatcher; }, true); $di->set('modelsMetadata', function () use($self) { return $self->diModelsMetadata(); }, true); $di->set('modelsManager', function () use($di) { $config = $di->getConfig(); ModelManager::setDefaultPrefix($config->dbAdapter->prefix); //for solving db master/slave under static find method $modelsManager = new ModelManager(); return $modelsManager; }); $di->set('view', function () use($di) { $view = new View(); $view->setViewsDir(__DIR__ . '/views/'); $view->setEventsManager($di->getEventsManager()); return $view; }); $di->set('session', function () use($self) { return $self->diSession(); }); $di->set('tokenStorage', function () use($self) { return $self->diTokenStorage(); }, true); /********************************** * DI initialize for database ***********************************/ $di->set('dbMaster', function () use($self) { return $self->diDbMaster(); }, true); $di->set('dbSlave', function () use($self) { return $self->diDbSlave(); }, true); $di->set('transactions', function () use($di) { $transactions = new \Phalcon\Mvc\Model\Transaction\Manager(); $transactions->setDbService('dbMaster'); return $transactions; }, true); /********************************** * DI initialize for cache ***********************************/ $di->set('globalCache', function () use($self) { return $self->diGlobalCache(); }, true); $di->set('viewCache', function () use($self) { return $self->diViewCache(); }, true); $di->set('modelsCache', function () use($self) { return $self->diModelsCache(); }, true); $di->set('apiCache', function () use($self) { return $self->diApiCache(); }, true); $di->set('fastCache', function () use($self) { return $self->diFastCache(); }, true); /********************************** * DI initialize for queue ***********************************/ $di->set('queue', function () use($di) { $config = $di->getConfig(); $client = new \GearmanClient(); $client->setTimeout(1000); foreach ($config->queue->servers as $key => $server) { $client->addServer($server->host, $server->port); } return $client; }, true); $di->set('worker', function () use($di) { $config = $di->getConfig(); $worker = new \GearmanWorker(); foreach ($config->queue->servers as $key => $server) { $worker->addServer($server->host, $server->port); } return $worker; }, true); /********************************** * DI initialize for email ***********************************/ $di->set('mailer', function () use($self) { return $self->diMailer(); }, true); $di->set('mailMessage', 'Eva\\EvaEngine\\MailMessage'); $di->set('smsSender', function () use($self) { return $self->diSmsSender(); }, true); /********************************** * DI initialize for helpers ***********************************/ $di->set('url', function () use($di) { $config = $di->getConfig(); $url = new UrlResolver(); $url->setVersionFile($config->staticBaseUriVersionFile); $url->setBaseUri($config->baseUri); $url->setStaticBaseUri($config->staticBaseUri); return $url; }, true); $di->set('escaper', 'Phalcon\\Escaper'); $di->set('tag', function () use($di, $self) { Tag::setDi($di); $self->registerViewHelpers(); return new Tag(); }); $di->set('flash', 'Phalcon\\Flash\\Session'); $di->set('placeholder', 'Eva\\EvaEngine\\View\\Helper\\Placeholder'); $di->set('cookies', function () { $cookies = new \Phalcon\Http\Response\Cookies(); $cookies->useEncryption(false); return $cookies; }); $di->set('translate', function () use($self) { return $self->diTranslate(); }); $di->set('fileSystem', function () use($self) { return $self->diFileSystem(); }); $di->set('logException', function () use($di) { $config = $di->getConfig(); return new FileLogger($config->logger->path . 'error.log'); }); if ($this->appMode == 'cli') { $this->cliDI($di); } IoC::setDI($di); return $this->di = $di; }
/** * Guarda las columnas basicas de una planilla. * Esta operación se utiliza cuando se genera una cabeceraBasica * FIXME: Muy vinculado al codigo, si cambian los nombres de los atributos en la bd, tengo que cambiar aca. */ public static function guardarColumnasBasica($cabecera_id) { try { $data['success'] = true; $data['mensaje'] = "Operación Exitosa"; $retorno = array(); $manager = new \Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager->get(); $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(1); $columna->setColumnaNombre('ORDEN'); $columna->setColumnaClave('Remito.remito_nroOrden'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(2); $columna->setColumnaNombre('REMITO'); $columna->setColumnaClave('Remito.remito_nro'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(3); $columna->setColumnaNombre('PATENTE'); $columna->setColumnaClave('Transporte.transporte_dominio'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(4); $columna->setColumnaNombre('N° INTERNO'); $columna->setColumnaClave('Transporte.transporte_nroInterno'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(5); $columna->setColumnaNombre('TIPO EQUIPO'); $columna->setColumnaClave('Tipoequipo.tipoEquipo_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(6); $columna->setColumnaNombre('TIPO CARGA'); $columna->setColumnaClave('Tipocarga.tipoCarga_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(7); $columna->setColumnaNombre('DNI'); $columna->setColumnaClave('Chofer.chofer_dni'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(8); $columna->setColumnaNombre('CHOFER'); $columna->setColumnaClave('Chofer.chofer_nombreCompleto'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(9); $columna->setColumnaNombre('FECHA'); $columna->setColumnaClave('DATE_FORMAT(Remito.remito_fecha, \'%d/%m/%Y\')'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(10); $columna->setColumnaNombre('CLIENTE'); $columna->setColumnaClave('Cliente.cliente_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(11); $columna->setColumnaNombre('ORIGEN'); $columna->setColumnaClave('Viaje.viaje_origen'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(12); $columna->setColumnaNombre('DESTINO'); $columna->setColumnaClave('Yacimiento.yacimiento_destino'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(13); $columna->setColumnaNombre('EQUIPO/POZO'); $columna->setColumnaClave('Equipopozo.equipoPozo_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(14); $columna->setColumnaNombre('CONCATENADO'); $columna->setColumnaClave('Concatenado.concatenado_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(15); $columna->setColumnaNombre('OPERADORA'); $columna->setColumnaClave('Operadora.operadora_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(16); $columna->setColumnaNombre('LINEA-PSL'); $columna->setColumnaClave('Linea.linea_nombre'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(17); $columna->setColumnaNombre('CENTRO COSTO'); $columna->setColumnaClave('Centrocosto.centroCosto_codigo'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(18); $columna->setColumnaNombre('OBSERVACIONES'); $columna->setColumnaClave('Remito.remito_observacion'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(19); $columna->setColumnaNombre('KM'); $columna->setColumnaClave('Tarifa.tarifa_km'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(20); $columna->setColumnaNombre('HS HIDRO'); $columna->setColumnaClave('tarifa_hsHidro'); //Ahora esta unificado con las hsMalacate FIXME $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(20); $columna->setColumnaNombre('HS MALACATE'); $columna->setColumnaClave('Tarifa.tarifa_hsMalacate'); //Ahora esta unificado con las hsMalacate FIXME $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(21); $columna->setColumnaNombre('HS DE ESPERA'); $columna->setColumnaClave('Tarifa.tarifa_hsStand'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(22); $columna->setColumnaNombre('HS TOTAL SERVICIO'); $columna->setColumnaClave('Tarifa.tarifa_hsServicio'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(23); $columna->setColumnaNombre('CONFORMIDAD RE'); $columna->setColumnaClave('Remito.remito_conformidad'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(24); $columna->setColumnaNombre('MOT NO CONFORM RE'); $columna->setColumnaClave('Remito.remito_noConformidad'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(25); $columna->setColumnaNombre('PDF'); $columna->setColumnaClave('Remito.remito_pdf'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(26); $columna->setColumnaNombre('ADMIN'); $columna->setColumnaClave('Administrar'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $columna = new Columna(); $columna->setTransaction($transaction); $columna->setColumnaCabeceraId($cabecera_id); $columna->setColumnaPosicion(26); $columna->setColumnaNombre('ES FLETERO'); $columna->setColumnaClave('Chofer.chofer_esFletero'); $columna->setColumnaHabilitado(1); $columna->setColumnaExtra(0); if (!$columna->save()) { $transaction->rollback("Ocurrió un problema al guardar una columna"); $data['mensaje'] = "Ocurrio un problema al guardar la columna"; $data['success'] = false; return $data; } $retorno[] = array('columna_id' => $columna->getColumnaId(), 'columna_nombre' => $columna->getColumnaNombre()); /*=================================*/ $transaction->commit(); $data['columnas'] = $retorno; return $data; } catch (Phalcon\Mvc\Model\Transaction\Failed $e) { echo 'FALLO, motivo: ', $e->getMessage(); } }
/** * Guarda una cabecera con las columnas basicas de una planilla. * Esta operación se utiliza cuando se guarda una planilla nueva. * @return boolean */ public static function guardarCabeceraBasica($nombrePlanilla) { try { $manager = new \Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager->get(); $cabecera = new Cabecera(); $cabecera->setTransaction($transaction); $cabecera->setCabeceraNombre($nombrePlanilla); $cabecera->setCabeceraHabilitado(1); $cabecera->setCabeceraFecha(date('Y-m-d')); if (!$cabecera->save()) { $transaction->rollback("Ocurrió un problema al guardar la cabecera [Cabecera.php ln 200]"); return false; } Columna::guardarColumnasBasica($cabecera->getCabeceraId()); $transaction->commit(); return true; } catch (Phalcon\Mvc\Model\Transaction\Failed $e) { echo 'FALLO, motivo: ', $e->getMessage(); return false; } }
/** * Set Dependency Injector with configuration variables * * * @param string $file full path to configuration file * @throws \Exception */ public function setConfig($file) { // static $config; $di = new \Phalcon\DI\FactoryDefault\CLI(); $di->set('config', new \Phalcon\Config(require $file)); $config = $di->get('config'); $adapter = '\\Phalcon\\Db\\Adapter\\Pdo\\' . ucfirst($config->dbMaster->adapter); /** @var Pdo $connMaster */ $connMaster = new $adapter(["host" => $config->dbMaster->host, "port" => $config->dbMaster->port, "username" => $config->dbMaster->username, "password" => $config->dbMaster->password, "dbname" => $config->dbMaster->dbname, "prefix" => $config->dbMaster->prefix, 'options' => [\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES '" . $config->dbMaster->charset . "'", \PDO::ATTR_CASE => \PDO::CASE_LOWER, \PDO::ATTR_PERSISTENT => true]]); $di->set('dbMaster', $connMaster); $caches['cache'] = $config->cache->toArray(); if (!empty($config->cacheSlave)) { foreach ($config->cacheSlave as $cache) { $caches['cacheSlave'][] = $cache->toArray(); } } $adapter = ucfirst($config->cache->adapter); if ($adapter == "Redis") { $cacheAdapter = '\\Engine\\' . $adapter; } else { $cacheAdapter = '\\Phalcon\\Cache\\Backend\\' . $adapter; } $frontEndOptions = ['lifetime' => $config->cache->lifetime]; $cacheDataAdapter = new $cacheAdapter($frontEndOptions, $caches); $di->set('cacheData', $cacheDataAdapter, true); $di->setShared('transactions', function () { $manager = new \Phalcon\Mvc\Model\Transaction\Manager(); return $manager->setDbService("dbMaster"); }); $this->setDI($di); }
public function createAction($r_controller = null, $r_action = null, $r_id = null) { if (!$this->request->isPost()) { return $this->dispatcher->forward(array("controller" => $this->ctlName, "action" => "index")); } $this->tag->setDefault('vue-avancee', $this->request->getPost('vue-avancee')); try { $msg_succes = array(); $manager = new Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager->get(); $igo_geometrie = new IgoGeometrie(); $igo_geometrie->setTransaction($transaction); $this->assigneFromPost($igo_geometrie); if (!$igo_geometrie->save()) { $transaction->rollback(implode('<br> ', $igo_geometrie->getMessages())); } $msg_succes[] = "Géométrie " . $igo_geometrie->id . " créée avec succès"; //TODO le code qui suit devrait être dans le model. Il faudra l'ajuster quand on saura quoi faire avec l'Inclusion des attributs $igo_connexion = IgoConnexion::findFirstById(intval($this->request->getPost("connexion_id"))); if ($igo_connexion) { $msg_succes[] = "Connexion " . $igo_connexion->id . " réutilisée"; } else { //Ajouter la connexion qu'on va utiliser $igo_connexion = new IgoConnexion(); $igo_connexion->setTransaction($transaction); $this->assigneFromPost($igo_connexion); $connexion_type_id = intval($this->request->getPost("connexion_type_id")); if ($connexion_type_id) { $connexion_type = IgoConnexionType::findFirstById($connexion_type_id); $igo_connexion->connexion_type_id = $connexion_type->id; $igo_connexion->nom = $connexion_type->nom; //TODO à synchroniser avec la rétro } if (!$igo_connexion->save()) { $transaction->rollback(implode('<br> ', $igo_connexion->getMessages())); } $msg_succes[] = "Connexion " . $igo_connexion->id . " créée avec succès"; } $igo_couche = new IgoCouche(); $igo_couche->setTransaction($transaction); $this->assigneFromPost($igo_couche); $igo_couche->geometrie_id = $igo_geometrie->id; if (!$igo_couche->save()) { $transaction->rollback(implode('<br> ', $igo_couche->getMessages())); } $msg_succes[] = "Couche " . $igo_couche->id . " créée avec succès"; $igo_classe = new IgoClasse(); $igo_classe->setTransaction($transaction); $this->assigneFromPost($igo_classe); if ($igo_classe->mf_class_def) { $igo_classe->couche_id = $igo_couche->id; if (!$igo_classe->save()) { $transaction->rollback(implode('<br> ', $igo_classe->getMessages())); } $msg_succes[] = "Classe " . $igo_classe->id . " créée avec succès"; } $transaction->commit(); foreach ($msg_succes as $msg) { $this->flash->success($msg); } return; } catch (\Exception $e) { $this->flash->error($e->getMessage()); return $this->dispatcher->forward(array("controller" => "gestion_couche", "action" => "traiteMapfile")); } }
<?php try { $manager = new Phalcon\Mvc\Model\Transaction\Manager(); $transaction = $manager->get(); $robot = new Robots(); $robot->setTransaction($transaction); $robot->name = 'WALL·E'; $robot->created_at = date('Y-m-d'); if ($robot->save() == false) { $transaction->rollback("Can't save robot"); } $robotPart = new RobotParts(); $robotPart->setTransaction($transaction); $robotPart->type = 'head'; if ($robotPart->save() == false) { $transaction->rollback("Can't save robot part"); } $transaction->commit(); } catch (Phalcon\Mvc\Model\Transaction\Failed $e) { echo 'Failed, reason: ', $e->getMessage(); }