Example #1
0
 /**
  * Guarda las columnas extras a una planilla determinada
  */
 public function guardarExtraAction()
 {
     if ($this->request->isPost()) {
         if ($this->request->getPost('cabecera_id', 'int') == null || $this->request->getPost('columna') == null) {
             $this->flash->error("Por favor verifique que la planilla y las columnas no esten vacías.");
             return $this->redireccionar('columna/agregarExtra');
         }
         $max = count(Columna::find(array('columna_cabeceraId=:cabeceraId: AND columna_habilitado=1', 'bind' => array('cabeceraId' => $this->request->getPost('cabecera_id', 'int')))));
         $arregloColumnas = $this->request->getPost('columna');
         foreach ($arregloColumnas as $columna) {
             if (!empty($columna)) {
                 $max = $max + 1;
                 $nuevaColumna = new Columna();
                 $nuevaColumna->setColumnaNombre(strtoupper($columna));
                 $cadenaLimpia = $this->limpiarCadena(strtoupper($columna));
                 $nuevaColumna->setColumnaClave(strtoupper(trim($cadenaLimpia)));
                 $nuevaColumna->setColumnaExtra(1);
                 $nuevaColumna->setColumnaPosicion($max);
                 $nuevaColumna->setColumnaCabeceraId($this->request->getPost('cabecera_id', 'int'));
                 $nuevaColumna->setColumnaHabilitado(1);
                 if (!$nuevaColumna->save()) {
                     foreach ($nuevaColumna->getMessages() as $message) {
                         $error[] = $message . " <br>";
                     }
                 }
             }
         }
         $this->flash->success("Operación Exitosa: Las columnas extras se agregaron correctamente.");
     }
     return $this->redireccionar('columna/agregarExtra');
 }
Example #2
0
 /**
  * Guarda todas las columnas extras que se agregaron en la interfaz.
  * Si la cabecera ya existe, agrega mas columnas extras.
  * Si la cabecera no existe, la crea y agrega sus columnas
  */
 public function agregarExtraAction()
 {
     $this->view->disable();
     $error = array();
     // array to hold validation errors
     $data = array();
     $data['success'] = false;
     $data['mensaje'] = "Ups, ha ocurrido un problema.";
     if ($this->request->isPost()) {
         $this->db->begin();
         //si existe el token del formulario y es correcto(evita csrf)
         //if ($this->security->checkToken('token',$this->request->getPost('token'))) {
         if (!$this->request->hasPost('columna')) {
             $error[] = "No puede guardar columnas vacias.";
         } else {
             //$cabeceraId = Cabecera::guardar($this->request->getPost('planilla_nombreCliente'));
             $cabecera_id = $this->request->getPost('cabecera_id', 'int');
             $cabecera = Cabecera::findFirstByCabecera_id($cabecera_id);
             if (!$cabecera) {
                 $error[] = "Hubo un problema, no se encontro la cabecera.";
             } else {
                 $arregloColumnas = $this->request->getPost('columna');
                 $posicion = 26;
                 foreach ($arregloColumnas as $columna) {
                     if (!empty($columna)) {
                         $nuevaColumna = new Columna();
                         $nuevaColumna->setColumnaNombre(strtoupper($columna));
                         $nuevaColumna->setColumnaClave('CLAVE_' . strtoupper($columna));
                         $nuevaColumna->setColumnaExtra(1);
                         $nuevaColumna->setColumnaPosicion($posicion++);
                         $nuevaColumna->setColumnaCabeceraId($cabecera->getCabeceraId());
                         $nuevaColumna->setColumnaHabilitado(1);
                         if (!$nuevaColumna->save()) {
                             foreach ($nuevaColumna->getMessages() as $message) {
                                 $error[] = $message . " <br>";
                             }
                         }
                     } else {
                         $error[] = "Debe ingresar el nombre de la columna";
                     }
                 }
             }
         }
         if (empty($error)) {
             $this->db->commit();
             $todasLasColumnas = $this->modelsManager->createBuilder()->columns('columna_id, columna_nombre')->from('Columna')->where('columna_cabeceraId = :cabecera_id:', array('cabecera_id' => $cabecera->getCabeceraId()))->orderBy('columna_posicion ASC')->getQuery()->execute()->toArray();
             $data['columnas'] = $todasLasColumnas;
             $data['success'] = true;
             $data['mensaje'] = "Operacion Exitosa, las columnas han sido guardadas correctamente";
         } else {
             $this->db->rollback();
             $data['success'] = false;
             $data['mensaje'] = $error;
         }
     }
     echo json_encode($data);
 }