/**
  * Función para contruir el Grocecy CRUD de la tabla Roles
  */
 function abm_roles()
 {
     //Defino submenu
     $this->menu['submenuSeleccionado'] = 'Roles';
     //Creo el objeto crud
     $crud = new grocery_CRUD();
     //Defino Template como datatables.
     //$crud->set_theme('datatables');
     //Defino tabla sobre la que trabajo y tipo de 'Objeto'
     $crud->set_table('Roles');
     $crud->set_subject('Rol');
     //Seteo campos requeridos
     $crud->required_fields('descripcion');
     //Defino nombres para cada campo.
     $crud->display_as('descripcion', 'Descripción');
     //Genero el ABM
     $output = $crud->render();
     //Llamo a la función encargada de mostrar el ABM.
     mostrar_crud($output, '', $this->menu, 'administracion/roles/abm_roles', '', 'administracion/roles/abm_roles_final');
 }
 function editar_horario($idPersonal)
 {
     //Creo el objeto crud
     $crud = new grocery_CRUD();
     //Defino tabla sobre la que trabajo y tipo de 'Objeto'
     $crud->set_table('HorariosPersonal');
     $crud->set_subject('Día');
     $crud->set_relation('diaSemana', 'diasSemana', 'descripcion');
     $crud->change_field_type('idPersonal', 'hidden', $idPersonal);
     //Seteo campos requeridos
     $crud->required_fields('diaSemana, horaEntrada, horaSalida');
     //Defino nombres para cada campo.
     $crud->display_as('diaSemana', 'Día de la Semana');
     $crud->display_as('horaEntrada', 'Hora de Entrada');
     $crud->display_as('horaSalida', 'Hora de Salida');
     //Genero el ABM
     $output = $crud->render();
     //Llamo a la función encargada de mostrar el ABM.
     mostrar_crud($output, '', $this->menu, 'reportes-entrada-salida/personal/abm', '', 'reportes-entrada-salida/personal/abm_final');
 }
 /**
  * Función para contruir el Grocecy CRUD de la tabla Usuarios
  */
 function abm_usuarios()
 {
     //Defino submenu
     $this->menu['submenuSeleccionado'] = 'Usuarios';
     //Creo el objeto crud
     $crud = new grocery_CRUD();
     //Defino Template como datatables.
     //$crud->set_theme('datatables');
     //Defino tabla sobre la que trabajo y tipo de 'Objeto'
     $crud->set_table('Usuarios');
     $crud->set_subject('Usuario');
     //Agrego acción para cambiar contraseña.
     $crud->add_action('Cambiar Contraseña', base_url() . 'assets/grocery_crud/themes/flexigrid/css/images/key.png', 'administracion/usuarios/cambiar_contrasena');
     //Un usuario puede tener un idPersonal asociado.
     $crud->set_relation('idPersonal', 'Personal', 'nombreApellido');
     //Relación con los roles.
     $crud->set_relation_n_n('roles', 'RolesPorUsuario', 'Roles', 'idUsuario', 'idRol', 'descripcion');
     //Seteo Reglas para campos
     $crud->set_rules('contrasena', 'Contraseña', 'required|matches[repetirContrasena]');
     $crud->add_fields('nombreUsuario', 'contrasena', 'repetirContrasena', 'roles', 'idPersonal');
     $crud->edit_fields('roles', 'idPersonal');
     $crud->field_type('contrasena', 'password');
     $crud->field_type('repetirContrasena', 'password');
     //Seteo campos requeridos
     $crud->required_fields('nombreUsuario', 'contrasena', 'repetirContrasena', 'roles');
     //Defino Columnas a Mostrar
     $crud->columns('nombreUsuario', 'roles');
     //Defino nombres para cada campo.
     $crud->display_as('nombreUsuario', 'Nombre de Usuario');
     $crud->display_as('contrasena', 'Contraseña');
     $crud->display_as('repetirContrasena', 'Repetir Contraseña');
     $crud->display_as('roles', 'Roles');
     $crud->display_as('idPersonal', 'Persona Asociada');
     //Hago 'callbacks' para transformar datos antes de inserción/actualización.
     $crud->callback_before_insert(array($this, '_transformar_datos'));
     $crud->callback_before_update(array($this, '_transformar_datos_update'));
     //Genero el ABM
     $output = $crud->render();
     //Llamo a la función encargada de mostrar el ABM.
     mostrar_crud($output, '', $this->menu, 'administracion/usuarios/abm_usuarios', '', 'administracion/usuarios/abm_usuarios_final');
 }