public function nuevoAction() { //Roles disponibles $rolesCollection = \RolQuery::create()->find(); $rolesArray = array(); foreach ($rolesCollection as $rol) { $rolesArray[$rol->getIdrol()] = $rol->getRolNombre(); } $form = new \Empleados\Form\EmpleadoForm($rolesArray); $request = $this->getRequest(); if ($request->isPost()) { //Si hicieron POST $post_data = $request->getPost(); //filtro $filer = new \Empleados\Filter\EmpleadoFilter(); $form->setInputFilter($filer->getInputFilter()); //Le ponemos los datos a nuestro formulario $form->setData($request->getPost()); //Validamos nuestro formulario de articulo if ($form->isValid()) { $empleado = new \Empleado(); //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Articulo foreach ($form->getData() as $key => $value) { if ($key == 'empleado_password') { $empleado->setByName($key, md5($value), \BasePeer::TYPE_FIELDNAME); } else { $empleado->setByName($key, $value, \BasePeer::TYPE_FIELDNAME); } } //La imagen if (!empty($_FILES)) { if (!empty($_FILES["name"])) { $date = new \DateTime(); $upload_folder = '/img/empleados/'; $tipo_archivo = $_FILES['empleado_imagen']['type']; $tipo_archivo = explode('/', $tipo_archivo); $tipo_archivo = $tipo_archivo[1]; $nombre_archivo = 'empleado-' . $date->getTimestamp() . '.' . $tipo_archivo; $tmp_archivo = $_FILES['empleado_imagen']['tmp_name']; $archivador = $upload_folder . $nombre_archivo; if (!move_uploaded_file($tmp_archivo, $_SERVER["DOCUMENT_ROOT"] . $archivador)) { return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => false, 'msg' => 'Ocurrio un error al subir el archivo. No pudo guardarse.', 'status' => 'error'))); } $empleado->setEmpleadoImagen($archivador); } } $empleado->save(); if (!$empleado->isPrimaryKeyNull()) { //Ya se guardo y por lo tanto tiene un pk //Agregamos un mensaje $this->flashMessenger()->addMessage('Empleado guardado exitosamente!'); //Redireccionamos a nuestro list $this->redirect()->toRoute('empleados'); } } } return new ViewModel(array('form' => $form, 'modulos' => $modulos)); }