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
 /**
  * Nuevo remito por Planilla_id. Reutiliza la vista remito/nuevo.volt
  */
 public function agregarAction($planilla_id)
 {
     $this->assets->collection("headerCss")->addCss('plugins/iCheck/all.css');
     $this->assets->collection('headerJs')->addJs('plugins/iCheck/icheck.min.js');
     if ($planilla_id == null) {
         $this->flash->error("No se encontro la planilla solicitada #{$planilla_id}");
         return $this->redireccionar('remito/nuevoRemitoPorPlanilla');
     }
     $planilla = Planilla::findFirst(array('planilla_id=:planilla_id: AND planilla_armada=1 AND planilla_finalizada=0 AND planilla_habilitado=1 ', 'bind' => array('planilla_id' => $planilla_id)));
     if (!$planilla) {
         $this->flash->error("La planilla con ID {$planilla_id} no se encontró disponible para agregar remitos.");
         return $this->redireccionar('remito/nuevoRemitoPorPlanilla');
     }
     $columnas = Columna::find(array("columna_cabeceraId=:cabecera_id: AND columna_habilitado = 1 AND columna_extra = 1", 'bind' => array('cabecera_id' => $planilla->getPlanillaCabeceraid())));
     if (count($columnas) != 0) {
         $this->view->columnaExtraForm = new ColumnaExtraForm(null, array('extra' => $columnas));
     }
     $this->view->remitoForm = new RemitoForm(null, array('required' => ''));
     $cliente = Cliente::findFirst(array('cliente_id=:cliente_id:', 'bind' => array('cliente_id' => $planilla->getPlanillaClienteId())));
     $this->view->clienteForm = new ClienteNewForm($cliente, array('required' => ''));
     $this->view->planilla = $planilla;
     $this->view->pick('remito/nuevo');
 }
Example #3
0
 /**
  * Busca todas las columnas extras por id.
  * @param $cabecera_id
  * @return array|Columna[]
  */
 public static function verColumnasExtrasOrdenadasByCabeceraId($cabecera_id)
 {
     //Busco todas las columnas para armar el th ordenadamente
     $columnas = Columna::find(array("columna_cabeceraId=:cabecera_id: AND columna_habilitado = 1 AND columna_extra = 1 ORDER BY columna_posicion ASC", 'bind' => array('cabecera_id' => $cabecera_id)));
     if ($columnas) {
         return $columnas;
     }
     return null;
 }
Example #4
0
 /**
  * Permite ver un menu personalizado para cada planilla.
  */
 public function viewAction($planilla_id)
 {
     //Para el modal de eliminacion
     $this->assets->collection('footerInline')->addInlineJs('
         $(document).on("click", ".enviar-dato", function () {
             var id = $(this).data("id");
             $("#cuerpo #id").val( id );
         });
     ');
     $planilla = Planilla::findFirst(array('planilla_id=:planilla:', 'bind' => array('planilla' => $planilla_id)));
     if (!$planilla) {
         $this->flash->error("NO EXISTE LA PLANILLA QUE ESTÁ INTENTANDO ACCEDER");
         return $this->redireccionar('planilla/search');
     }
     if ($planilla->getCabecera() != null) {
         $columnas = Columna::find(array('columna_cabeceraId=:cabecera: AND columna_habilitado=1', 'bind' => array('cabecera' => $planilla->getCabecera()->getCabeceraId())));
         if ($columnas) {
             $this->view->columnas = $columnas;
         }
     }
     //$cliente = Cliente::findFirst(array('cliente_nombre LIKE :nombre:','bind'=>array('nombre'=>$pla)))
     $this->view->planilla = $planilla;
 }
Example #5
0
 /**
  * Devuelve todas las columnas de una cabecera
  */
 public static function getTodasLasColumnasDeshabilitadas($cabecera_id)
 {
     $columnas = Columna::find(array('columna_cabeceraId =:cabecera_id: AND columna_habilitado=0', 'bind' => array('cabecera_id' => $cabecera_id)));
     return $columnas;
 }
Example #6
0
 /**
  * obtiene todas las columnas perteneciente a la planilla seleccionada.
  * Busca la planilla, obtiene la cabecera y recupera todas las columnas por cabecera.
  * [[ AJAX ]]
  */
 public function buscarColumnasPorCabeceraIdAction()
 {
     $this->view->disable();
     $data = array();
     $mensajes = array();
     if (!$this->request->isPost()) {
         $data['success'] = false;
         $mensajes[] = "La URL solicitada no se encuentra disponible.";
     } else {
         if ($this->request->getPost('cabecera_id', 'int') == null) {
             $data['success'] = false;
             $mensajes[] = "Por favor seleccione una Cabecera.";
         } else {
             $cabecera = Cabecera::findFirst(array('cabecera_id = :cabecera_id: AND cabecera_habilitado=1', 'bind' => array('cabecera_id' => $this->request->getPost('cabecera_id', 'int'))));
             if (!$cabecera) {
                 $data['success'] = false;
                 foreach ($cabecera->getMessages() as $mje) {
                     $mensajes[] = $mje . " <br>";
                 }
             } else {
                 $columnas = Columna::find(array('columna_cabeceraId = :cabecera_id: AND columna_habilitado=1', 'bind' => array('cabecera_id' => $cabecera->getCabeceraId()), 'order' => 'columna_posicion ASC'));
                 if ($columnas) {
                     $retorno = array();
                     foreach ($columnas as $col) {
                         $item = array();
                         $item['columna_id'] = $col->getColumnaId();
                         $item['columna_nombre'] = $col->getColumnaNombre();
                         $retorno[] = $item;
                     }
                     if (count($retorno) == 0) {
                         $data['success'] = false;
                         $mensajes[] = 'La planilla seleccionada no contiene una cabecera con columnas para reordenar.';
                     } else {
                         $data['success'] = true;
                         $mensajes[] = 'Operación Exitosa';
                         $data['columnas'] = $retorno;
                     }
                 } else {
                     $data['success'] = false;
                     $mensajes[] = 'No se encontraron columnas referidas a la planilla seleccionada.';
                 }
             }
         }
     }
     $data['mensaje'] = $mensajes;
     echo json_encode($data);
 }