示例#1
0
 public function editar($codigo = '')
 {
     $profesor = new Profesor_model();
     $this->pagina = 'registrar profesor';
     $this->menu = 'menu_profesor';
     $this->titulo = 'modificar profesor';
     $this->estilo = array('formulario', 'profesor', 'backend', 'jquery-te-1.3.3');
     $this->javascript = array('jquery-te-1.3.3.min', 'editor');
     $this->form_validation->set_error_delimiters('<div class="text-error">', '</div>');
     $datos['codigo'] = $codigo;
     $datos['actualizar'] = TRUE;
     $datos['backend'] = TRUE;
     $asignaturas = '';
     $datos['formulario'] = array('nombre' => array('label' => array('accesskey' => 'M', 'name' => 'No<u>m</u>bre'), 'input' => array('class' => 'nombre', 'name' => 'nombre', 'id' => 'nombre', 'maxlength' => '30', 'size' => '35', 'autofocus' => 'autofocus', 'value' => ''), 'requerido' => TRUE), 'apellido1' => array('label' => array('accesskey' => 'L', 'name' => 'Primer ape<u>l</u>lido'), 'input' => array('class' => 'apellidoP', 'name' => 'apellido1', 'id' => 'primerApellido', 'maxlength' => '60', 'size' => '35', 'value' => ''), 'requerido' => TRUE), 'apellido2' => array('label' => array('accesskey' => 'G', 'name' => 'Se<u>g</u>undo apellido'), 'input' => array('class' => 'apellidoM', 'name' => 'apellido2', 'id' => 'segundoApellido', 'maxlength' => '60', 'size' => '35', 'value' => ''), 'requerido' => TRUE), 'fechaNacimiento' => array('label' => array('accesskey' => 'A', 'name' => 'Fech<u>a</u> de nacimiento'), 'input' => array('class' => 'fechaN', 'name' => 'fechaNacimiento', 'id' => 'fNacimiento', 'maxlength' => '10', 'size' => '15', 'placeholder' => 'mm-dd-aaaa', 'value' => ''), 'requerido' => TRUE), 'email' => array('label' => array('accesskey' => 'E', 'name' => '<u>E</u>mail'), 'input' => array('class' => 'email', 'name' => 'email', 'id' => 'email', 'maxlength' => '50', 'size' => '35', 'value' => ''), 'requerido' => TRUE), 'dni' => array('label' => array('accesskey' => 'D', 'name' => '<u>D</u>NI'), 'input' => array('class' => 'dni', 'name' => 'dni', 'id' => 'dni', 'maxlength' => '9', 'size' => '9', 'value' => ''), 'requerido' => TRUE), 'telefono' => array('label' => array('accesskey' => 'T', 'name' => '<u>T</u>elefono'), 'input' => array('class' => 'telefono', 'name' => 'telefono', 'id' => 'telefono', 'maxlength' => '9', 'size' => '9', 'value' => ''), 'requerido' => TRUE), 'ncc' => array('label' => array('accesskey' => 'N', 'name' => '<u>N</u>CC'), 'input' => array('class' => 'ncc', 'name' => 'ncc', 'id' => 'ncc', 'maxlength' => '24', 'size' => '35', 'value' => ''), 'requerido' => TRUE), 'password' => array('label' => array('accesskey' => 'D', 'name' => 'Passwor<u>d</u>'), 'input' => array('class' => 'password', 'name' => 'pass', 'id' => 'pass', 'maxlength' => '20', 'size' => '15', 'autocomplete' => 'off'), 'requerido' => FALSE), 'passconf' => array('label' => array('accesskey' => 'F', 'name' => 'Con<u>f</u>irme el password'), 'input' => array('class' => 'passconf', 'name' => 'passconf', 'id' => 'passconf', 'maxlength' => '20', 'size' => '15', 'autocomplete' => 'off'), 'requerido' => FALSE), 'asignaturas' => array('label' => array('accesskey' => 'I', 'name' => '<u>I</u>mparte'), 'input' => array('class' => 'asig', 'name' => 'asignaturas', 'id' => 'asig'), 'requerido' => FALSE), 'texto' => array('label' => array('accesskey' => 'X', 'name' => 'Te<u>x</u>to'), 'input' => array('class' => 'editor', 'name' => 'texto', 'id' => 'texto', 'type' => 'text', 'value' => ''), 'requerido' => TRUE));
     $datos['boton'] = array('name' => 'button', 'id' => 'boton_registro', 'value' => 'Enviar', 'class' => 'btn btn-primary');
     if (Profesor_model::existe($codigo)) {
         $profesor->datos($codigo);
         $asignaturas = Asignatura_model::obtener('Nombre', 'asc');
         $imparte = $profesor->imparte($codigo);
         $datos['check'] = array();
         foreach ($asignaturas as $asignatura) {
             $aux = array();
             $aux = array('name' => "asignatura[{$asignatura->Codigo}]", 'id' => $asignatura->Nombre, 'value' => 'accept', 'checked' => FALSE);
             if (!empty($imparte)) {
                 foreach ($imparte as $imp) {
                     if ($imp->CodigoAsignatura == $asignatura->Codigo) {
                         $aux['checked'] = TRUE;
                     }
                 }
             }
             array_push($datos['check'], $aux);
         }
         if ($profesor->codigoImagen() != NULL) {
             if (Imagen_model::existe($profesor->codigoImagen())) {
                 $image = new Imagen_model();
                 $datos['imagen'] = $image->ruta($profesor->codigoImagen());
             }
         }
         $datos['formulario']['nombre']['input']['value'] = $profesor->nombre();
         $datos['formulario']['apellido1']['input']['value'] = $profesor->apellido1();
         $datos['formulario']['apellido2']['input']['value'] = $profesor->apellido2();
         $datos['formulario']['fechaNacimiento']['input']['value'] = date("m-d-Y", strtotime($profesor->fechaNacimiento()));
         $datos['formulario']['dni']['input']['value'] = $profesor->dni();
         $datos['formulario']['telefono']['input']['value'] = $profesor->telefono();
         $datos['formulario']['ncc']['input']['value'] = $profesor->ncc();
         $datos['formulario']['email']['input']['value'] = $profesor->email();
         $datos['formulario']['texto']['input']['value'] = $profesor->texto();
         $datos['boton'] = array('class' => 'btn btn-primary', 'name' => 'button', 'id' => 'boton_profesor');
         $email = $profesor->email();
         if ($this->_validarRegistro()) {
             if (isset($_FILES['archivo']) && $_FILES['archivo']['error'] == 0) {
                 $imagenAux = $profesor->codigoImagen();
                 $imagen = new Imagen_model();
                 if ($imagenAux != NULL) {
                     $imagen->actualizar($imagenAux);
                     $datos['imagen'] = $imagen->ruta($imagenAux);
                 } else {
                     $imagen->inicializar();
                     $codigoImagen = $imagen->codigo();
                     $data = array('CodigoImagen' => $codigoImagen);
                     if ($profesor->actualizar($codigo, $data)) {
                         $datos['imagen'] = $imagen->ruta($codigoImagen);
                     }
                 }
             }
             if ($profesor->actualizar($codigo)) {
                 $profesor->eliminarImparte($codigo);
                 if ($this->input->post('asignatura') != '') {
                     foreach ($this->input->post('asignatura') as $key => $asig) {
                         $profesor->imparte($codigo, $key);
                         $asignaturas = Asignatura_model::obtener('Nombre', 'asc');
                         $datos['check'] = array();
                         foreach ($asignaturas as $asignatura) {
                             $aux = array();
                             $check = FALSE;
                             if ($asignatura->Codigo == $key) {
                                 $check = TRUE;
                             }
                             $aux = array('name' => "asignatura[{$asignatura->Codigo}]", 'id' => $asignatura->Nombre, 'value' => 'accept', 'checked' => $check);
                             array_push($datos['check'], $aux);
                         }
                     }
                 }
                 $datos['formulario']['nombre']['input']['value'] = $profesor->nombre();
                 $datos['formulario']['apellido1']['input']['value'] = $profesor->apellido1();
                 $datos['formulario']['apellido2']['input']['value'] = $profesor->apellido2();
                 $datos['formulario']['fechaNacimiento']['input']['value'] = date("m-d-Y", strtotime($profesor->fechaNacimiento()));
                 $datos['formulario']['dni']['input']['value'] = $profesor->dni();
                 $datos['formulario']['ncc']['input']['value'] = $profesor->ncc();
                 $datos['formulario']['email']['input']['value'] = $profesor->email();
                 $datos['formulario']['texto']['input']['value'] = $profesor->texto();
                 $datos['mensaje'] = 'El profesor ha sido actualizado satisfactoriamente';
             } else {
                 $datos['error'] = 'No se ha podido completar la actualización por favor inténtelo de nuevo más tarde';
             }
         }
     } else {
         $datos['error'] = 'No existe el profesor indicado.';
     }
     $this->mostrar($datos);
 }