Agregado metodo, ruta, logica de vuex para obtener rol del usuario logeado

This commit is contained in:
Alejandro Tasistro 2025-05-22 21:04:17 -03:00
parent 181fbf924f
commit 128dd05b9a
3 changed files with 17 additions and 4 deletions

View file

@ -11,12 +11,16 @@ use Illuminate\Support\Facades\Auth;
class UserController extends Controller
{
public function rol(Request $request) {
return ["rol" => UserRole::find($request->user()->role_id)->nombre];
}
public function grupoDeCompra(Request $request)
{
$user = Auth::user();
$result = [ 'grupo_de_compra' => null, ];
$grupo_de_compra = GrupoDeCompra::find($user->grupo_de_compra_id);
switch (UserRole::find($user->role_id)->nombre ?? 'error') {
switch (UserRole::findOrFail($user->role_id)->nombre) {
case 'barrio':
$result['grupo_de_compra'] = new GrupoDeCompraReducido($grupo_de_compra);
break;

View file

@ -5,6 +5,7 @@ const state = {
grupos_de_compra: null,
region_elegida: null,
grupo_de_compra_elegido: null,
rol: null,
};
const mutations = {
@ -18,6 +19,9 @@ const mutations = {
selectGrupoDeCompra(state, { grupo_de_compra }) {
state.grupo_de_compra_elegido = grupo_de_compra;
},
setRol(state, { rol }) {
state.rol = rol;
},
};
const actions = {
@ -28,17 +32,21 @@ const actions = {
async selectRegion({ commit }, { region }) {
const response = await axios.get("/api/grupos-de-compra");
commit('setRegionYBarrios', { region: region, grupos_de_compra: response.data[region] });
},
async getRol({ commit }) {
const response = await axios.get("/user/rol");
commit('setRol', { rol: response.data.rol });
}
};
const getters = {
admin() {
adminUrl() {
return window.location.pathname.startsWith('/admin');
},
mensajes() {
return {
mensaje: `Contraseña de ${getters.admin() ? 'administración ' : ''}del barrio`,
ayuda: `Si no la sabés, consultá a ${getters.admin() ? 'la comisión informática ' : 'tus compañerxs'}.`
mensaje: `Contraseña de ${getters.adminUrl() ? 'administración ' : ''}del barrio`,
ayuda: `Si no la sabés, consultá a ${getters.adminUrl() ? 'la comisión informática ' : 'tus compañerxs'}.`
};
},
};

View file

@ -25,6 +25,7 @@ Auth::routes(['register' => false]);
Route::get('/', 'RouteController@home')->name('home');
Route::middleware(['auth'])->group(function () {
Route::get('/user/rol', 'UserController@rol')->name('user.rol');
Route::get('/user/grupo_de_compra', 'UserController@grupoDeCompra');
});