public function editarAction() { $id = $this->params()->fromRoute('id'); $request = $this->getRequest(); if ($request->isPost()) { $post_data = $request->getPost(); //INSTANCIAMOS NUESTRA ENTIDAD $entity = \ClienteQuery::create()->findPk($id); //SETIAMOS NUESTROS DATOS CON EXCEPCIONES foreach ($post_data as $key => $value) { if (\ClientePeer::getTableMap()->hasColumn($key) && !empty($value) && $key != 'cliente_cumpleanios') { $entity->setByName($key, $value, \BasePeer::TYPE_FIELDNAME); } } if (!empty($post_data['cliente_cumpleanios'])) { $cliente_cumpleanios = date_create_from_format('d/m/Y', $post_data['cliente_cumpleanios']); $entity->setClienteCumpleanios($cliente_cumpleanios); } $entity->save(); //Agregamos un mensaje $this->flashMessenger()->addSuccessMessage('Registro guardado exitosamente!'); //REDIRECCIONAMOS A LA ENTIDAD QUE ACABAMOS DE CREAR return $this->redirect()->toRoute('admin/clientes/editar', array('id' => $entity->getIdcliente())); } $exist = \ClienteQuery::create()->filterByIdcliente($id)->exists(); if ($exist) { $entity = \ClienteQuery::create()->findPk($id); $empleados = \EmpleadoQuery::create()->filterByIdempleado(1, \Criteria::NOT_EQUAL)->find(); $empleados_array = array(); $empleado = new \Empleado(); foreach ($empleados as $empleado) { $id = $empleado->getIdempleado(); $empleados_array[$id] = $empleado->getEmpleadoNombre() . ' ' . $empleado->getEmpleadoApellidopaterno() . ' ' . $empleado->getEmpleadoApallidomaterno(); } $form = new \Admin\Clientes\Form\ClientesForm($empleados_array); $form->setData($entity->toArray(\BasePeer::TYPE_FIELDNAME)); //LOS ARCHIVOS $files = \ClientearchivoQuery::create()->filterByIdcliente($entity->getIdcliente())->find(); $files_array = array(); $file = new \Clientearchivo(); foreach ($files as $file) { $file_path = $file->getClientearchivoArchivo(); $file_name = explode('files/clientes/' . $entity->getIdcliente() . '/', $file->getClientearchivoArchivo()); $tmp['id'] = $file->getIdclientearchivo(); $tmp['name'] = $file_name[1]; $tmp['size'] = $file->getClientearchivoSize(); $tmp['type'] = mime_content_type($_SERVER['DOCUMENT_ROOT'] . '/' . $file->getClientearchivoArchivo()); $files_array[] = $tmp; } //RETORNAMOS A NUESTRA VISTA $view_model = new ViewModel(); $view_model->setTemplate('admin/clientes/clientes/editar'); $view_model->setVariables(array('entity' => json_encode($entity->toArray(\BasePeer::TYPE_FIELDNAME)), 'successMessages' => json_encode($this->flashMessenger()->getSuccessMessages()), 'form' => $form, 'files' => json_encode($files_array))); return $view_model; } else { return $this->redirect()->toRoute('admin/clientes', array('action' => 'index')); } }