function comprobarPermiso($permiso) { $empleadousuario = UsuarioEmpleado::with('usuario', 'empresa')->where('usuarioid', Auth::user()->id)->first(); $empleado = EmpleadoEmpresaCliente::with('rol')->find($empleadousuario->empleadoid); $bandera = false; if ($empleado->rol) { $roles = RolAccion::with('accion')->where('roles_id', $empleado->rol->roleid)->get(); foreach ($roles as $role) { if ($role->accion->nombre == $permiso) { $bandera = true; break; } } } return $bandera; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { $rules = array('nombre' => array('required'), 'descripcion' => array('required'), 'permisos' => array('required')); $messages = array('nombre.required' => 'Campo requerido', 'descripcion.required' => 'Campo requerido', 'permisos.required' => 'Se necesita un permiso como mínimo'); $validator = Validator::make(Input::all(), $rules, $messages); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } else { $permisos = Input::get('permisos'); if (Auth::user()->tipousuarios_id == 2) { $empresausuario = UsuarioEmpresaRenta::with('usuario', 'empresa')->where('usuarios_id', Auth::user()->id)->first(); $empresaid = $empresausuario->empresas_renta_id; } else { if (Auth::user()->tipousuarios_id == 3) { $empresausuario = UsuarioEmpleado::with('usuario', 'empresa')->where('usuarioid', Auth::user()->id)->first(); $empresaid = $empresausuario->empresarentaid; } } $comprueba = Rol::where('nombre', Input::get('nombre'))->where('empresas_renta_id', $empresaid)->where('id', '!=', $id)->first(); if ($comprueba) { Session::flash('mensaje', 'Ya existe el nombre del puesto!'); return Redirect::back()->withInput(); } //return Input::get('permisos'); $rol = Rol::find($id); $rol->nombre = Input::get('nombre'); $rol->descripcion = Input::get('descripcion'); $rol->save(); //Eliminar los anterioes $rol->acciones()->delete(); foreach ($permisos as $permiso) { $rolaccion = new RolAccion(); $rolaccion->roles_id = $rol->id; $rolaccion->acciones_id = $permiso; $rolaccion->empresarentaid = $empresaid; $rolaccion->save(); } if (Auth::user()->tipousuarios_id == 2) { Session::flash('mensaje', 'Se ha creado correctamente!'); return Redirect::to('administradorempresa/roles'); } else { if (Auth::user()->tipousuarios_id == 3) { Session::flash('mensaje', 'Se ha creado correctamente!'); return Redirect::to('administradorempleado/roles'); } } } }