?> /> No </td> </tr> </table> </form> <?php $page->addComponent(new TitleComponent("Versíon Tarifa", 2)); $page->partialRender(); ?> <table style ="width:100%;"> <tr> <td style = "border-width:0px;" valign="middle"> <input class="POS Boton OK" type = "button" value = "Nueva Versión" onClick = "" /> </td> </tr> </table> <?php $tabla = new TableComponent(array("nombre" => "Nombre", "activa" => "Activa", "fecha_inicio" => "Fecha Inicial", "fecha_fin" => "Fecha Final", "default" => "Default"), VersionDAO::search(new Version(array("id_tarifa" => $tarifa->getIdTarifa())))); function getCheck($activa) { return $activa == 1 ? "<input type=\"checkbox\" checked disabled>" : "<input type=\"checkbox\" disabled>"; } $tabla->addColRender("activa", "getCheck"); $tabla->addColRender("default", "getCheck"); $tabla->addOnClick("id_version", "(function(a){ window.location = 'tarifas.version.ver.php?vid=' + a; })"); $page->addComponent($tabla); $page->render();
/** * *Pone como default a la version obtenida para esta tarifa. Solo puede haber una version default por tarifa, asi que este metodo le quita el default a la version que lo era anteriormente y lo pone en la version obtenida como parametro. >>>>>>> .r2127 Una version default no puede caducar. * * @param id_version int Id de la version a la que se le dara el default **/ private static function SetDefaultVersion($id_version) { Logger::log("Cambiando version default por la version " . $id_version); //Se valida la version recibida $validar = self::ValidarParametrosVersion($id_version); if (is_string($validar)) { Logger::error($validar); throw new Exception($validar, 901); } $version = VersionDAO::getByPK($id_version); //Si la version recibida tiene definido una fecha de inicio o una fecha de fin, entonces no puede ser default //pues esto implica que caducara if (!is_null($version->getFechaFin()) || !is_null($version->getFechaInicio())) { Logger::error("La version que se intenta hacer default es una con caducidad, las versiones default no pueden tener caducidad"); throw new Exception("La version que se intenta hacer default es una con caducidad, las versiones default no pueden tener caducidad", 901); } //Se valida la tarifa de la version $id_tarifa = $version->getIdTarifa(); $validar = self::ValidarParametrosTarifa($id_tarifa); if (is_string($validar)) { Logger::error("FATAL!!!! " . $validar); throw new Exception("FATAL!!!! " . $validar, 901); } $tarifa = TarifaDAO::getByPK($id_tarifa); //--------------------------------------------------------------------- $versiones_default = VersionDAO::search(new Version(array("id_tarifa" => $id_tarifa, "default" => 1))); //Si existe mas de una version default, se manda error fatal pues ese caso no deberia de ocurrir /*if(count($versiones_default)>1) { Logger::error("FATAL!!!! Se encontro mas de una version default en la tarifa ".$id_tarifa); throw new Exception("FATAL!!!! Se encontro mas de una version default en la tarifa ".$id_tarifa,901); }*/ $version_default = null; //Puede darse el caso que no exista ninguna version default aun. if (count($versiones_default) == 1) { //Se da por hecho que solo hay una version default por tarifa $version_default = $versiones_default[0]; $version_default->setDefault(0); } $version->setDefault(1); $tarifa->setIdVersionDefault($version->getIdVersion()); //----------------------------------------------------------------------- DAO::transBegin(); try { if (!is_null($version_default)) { VersionDAO::save($version_default); } VersionDAO::save($version); TarifaDAO::save($tarifa); } catch (Exception $e) { DAO::transBegin(); Logger::error("No se pudo cambiar la version default: " . $e); throw new Exception("No se pudo cambiar la version default", 901); } DAO::transEnd(); Logger::log("Version default cambiada exitosamente"); }