diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 9565bae..d85e473 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -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; diff --git a/resources/js/store/modules/login.js b/resources/js/store/modules/login.js index 6542ab8..bd9b224 100644 --- a/resources/js/store/modules/login.js +++ b/resources/js/store/modules/login.js @@ -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'}.` }; }, }; diff --git a/routes/web.php b/routes/web.php index 3947535..3211ea5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -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'); });