Restaurantes se fija en el usuario que esta llamadno
This commit is contained in:
@@ -50,8 +50,8 @@ class RestaurantesController extends Controller {
|
|||||||
app(UuidService::class)->validOrFail($id);
|
app(UuidService::class)->validOrFail($id);
|
||||||
$restaurante = Restaurante::findOrFail($id);
|
$restaurante = Restaurante::findOrFail($id);
|
||||||
|
|
||||||
if(!$request->user->isOnRestaurant($restaurante)){
|
if(!$request->user->isOnRestaurante($restaurante)){
|
||||||
return ModelNotFoundException('restaurante', $restaurante->id);
|
throw new ModelNotFoundException('restaurante', $restaurante->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json($restaurante);
|
return response()->json($restaurante);
|
||||||
@@ -84,6 +84,11 @@ class RestaurantesController extends Controller {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$restaurant = Restaurante::findOrFail($id);
|
$restaurant = Restaurante::findOrFail($id);
|
||||||
|
|
||||||
|
if(!$request->user->isOnRestaurante($restaurant)){
|
||||||
|
throw new ModelNotFoundException('restaurante', $restaurant->id);
|
||||||
|
}
|
||||||
|
|
||||||
$restaurant->nombre = $request->input('nombre');
|
$restaurant->nombre = $request->input('nombre');
|
||||||
$restaurant->save();
|
$restaurant->save();
|
||||||
|
|
||||||
@@ -98,11 +103,19 @@ class RestaurantesController extends Controller {
|
|||||||
|
|
||||||
$restaurant = Restaurante::findOrFail($id);
|
$restaurant = Restaurante::findOrFail($id);
|
||||||
|
|
||||||
if($restaurant->usuarios()->count() > 0) throw new CantDeleteHasChildException("restaurant", "usuario");
|
if($restaurant->canalesVenta()->count() > 0) throw new CantDeleteHasChildException("restaurant", "canal_venta");
|
||||||
if($restaurant->canalesVenta()->count() > 0) throw new CantDeleteHasChildException("restaurant", "canal_venta");
|
if($restaurant->categorias()->count() > 0) throw new CantDeleteHasChildException("restaurant", "categoria");
|
||||||
if($restaurant->sectores()->count() > 0) throw new CantDeleteHasChildException("restaurant", "sector");
|
if($restaurant->compras()->count() > 0) throw new CantDeleteHasChildException("restaurant", "compra");
|
||||||
if($restaurant->zonasProduccion()->count() > 0) throw new CantDeleteHasChildException("restaurant", "zona_produccion");
|
if($restaurant->usuarios()->count() > 0) throw new CantDeleteHasChildException("restaurant", "usuario");
|
||||||
if($restaurant->categorias()->count() > 0) throw new CantDeleteHasChildException("restaurant", "categoria");
|
if($restaurant->sectores()->count() > 0) throw new CantDeleteHasChildException("restaurant", "sector");
|
||||||
|
if($restaurant->zonasProduccion()->count() > 0) throw new CantDeleteHasChildException("restaurant", "zona_produccion");
|
||||||
|
if($restaurant->proveedores()->count() > 0) throw new CantDeleteHasChildException("restaurant", "proveedor");
|
||||||
|
if($restaurant->ingredientes()->count() > 0) throw new CantDeleteHasChildException("restaurant", "ingrediente");
|
||||||
|
if($restaurant->productos()->count() > 0) throw new CantDeleteHasChildException("restaurant", "producto");
|
||||||
|
if($restaurant->ventas()->count() > 0) throw new CantDeleteHasChildException("restaurant", "venta");
|
||||||
|
if($restaurant->boletasElectronicas()->count() > 0) throw new CantDeleteHasChildException("restaurant", "boleta_electronica");
|
||||||
|
if($restaurant->boletasExentas()->count() > 0) throw new CantDeleteHasChildException("restaurant", "boleta_exenta");
|
||||||
|
if($restaurant->cajas()->count() > 0) throw new CantDeleteHasChildException("restaurant", "caja");
|
||||||
|
|
||||||
$restaurant->delete();
|
$restaurant->delete();
|
||||||
return response()->json([], 204);
|
return response()->json([], 204);
|
||||||
|
|||||||
@@ -21,7 +21,11 @@ class UsuariosController extends Controller {
|
|||||||
* Obtiene de forma paginada los usuarios registrados en el backend
|
* Obtiene de forma paginada los usuarios registrados en el backend
|
||||||
*/
|
*/
|
||||||
public function all(Request $request) {
|
public function all(Request $request) {
|
||||||
$usuarios = Usuario::all();
|
if($request->user->isGlobalAdmin()) {
|
||||||
|
$usuarios = Usuario::all();
|
||||||
|
} else {
|
||||||
|
$usuarios = Restaurante::all()->intersect($request->user->restaurantes);
|
||||||
|
}
|
||||||
|
|
||||||
$paginate = app(PaginatorService::class)->paginate(
|
$paginate = app(PaginatorService::class)->paginate(
|
||||||
perPage: $request->input('per_page', 15),
|
perPage: $request->input('per_page', 15),
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ $router->group(['prefix' => 'api/v1', 'middleware' => ['auth', 'log_endpoint']],
|
|||||||
$router->get( '/', ['as' => 'restaurant.all', 'uses' => 'RestaurantesController@all']);
|
$router->get( '/', ['as' => 'restaurant.all', 'uses' => 'RestaurantesController@all']);
|
||||||
$router->get( '/{id}', ['as' => 'restaurant.get', 'uses' => 'RestaurantesController@get']);
|
$router->get( '/{id}', ['as' => 'restaurant.get', 'uses' => 'RestaurantesController@get']);
|
||||||
$router->post( '/', ['as' => 'restaurant.create', 'uses' => 'RestaurantesController@create', 'middleware' => ['role:global_admin']]);
|
$router->post( '/', ['as' => 'restaurant.create', 'uses' => 'RestaurantesController@create', 'middleware' => ['role:global_admin']]);
|
||||||
$router->put( '/{id}', ['as' => 'restaurant.update', 'uses' => 'RestaurantesController@update', 'middleware' => ['role:global_admin']]);
|
$router->put( '/{id}', ['as' => 'restaurant.update', 'uses' => 'RestaurantesController@update', 'middleware' => ['role:admin|global_admin']]);
|
||||||
$router->delete('/{id}', ['as' => 'restaurant.delete', 'uses' => 'RestaurantesController@delete', 'middleware' => ['role:global_admin']]);
|
$router->delete('/{id}', ['as' => 'restaurant.delete', 'uses' => 'RestaurantesController@delete', 'middleware' => ['role:global_admin']]);
|
||||||
|
|
||||||
$router->get( '/{restaurante_id}/canales-venta', ['as' => 'canales-venta.all', 'uses' => 'CanalesVentaController@all', 'middleware' => ['in_restaurante']]);
|
$router->get( '/{restaurante_id}/canales-venta', ['as' => 'canales-venta.all', 'uses' => 'CanalesVentaController@all', 'middleware' => ['in_restaurante']]);
|
||||||
@@ -32,8 +32,8 @@ $router->group(['prefix' => 'api/v1', 'middleware' => ['auth', 'log_endpoint']],
|
|||||||
$router->put( '/{restaurante_id}/canales-venta/{id}', ['as' => 'canales-venta.update', 'uses' => 'CanalesVentaController@update', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->put( '/{restaurante_id}/canales-venta/{id}', ['as' => 'canales-venta.update', 'uses' => 'CanalesVentaController@update', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
$router->delete('/{restaurante_id}/canales-venta/{id}', ['as' => 'canales-venta.delete', 'uses' => 'CanalesVentaController@delete', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->delete('/{restaurante_id}/canales-venta/{id}', ['as' => 'canales-venta.delete', 'uses' => 'CanalesVentaController@delete', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
|
|
||||||
$router->get( '/{restaurante_id}/sectores', ['as' => 'sectores.all', 'uses' => 'SectoresController@all', 'middleware' => ['in_restaurante']);
|
$router->get( '/{restaurante_id}/sectores', ['as' => 'sectores.all', 'uses' => 'SectoresController@all', 'middleware' => ['in_restaurante']]);
|
||||||
$router->get( '/{restaurante_id}/sectores/{id}', ['as' => 'sectores.get', 'uses' => 'SectoresController@get', 'middleware' => ['in_restaurante']);
|
$router->get( '/{restaurante_id}/sectores/{id}', ['as' => 'sectores.get', 'uses' => 'SectoresController@get', 'middleware' => ['in_restaurante']]);
|
||||||
$router->post( '/{restaurante_id}/sectores', ['as' => 'sectores.create', 'uses' => 'SectoresController@create', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->post( '/{restaurante_id}/sectores', ['as' => 'sectores.create', 'uses' => 'SectoresController@create', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
$router->put( '/{restaurante_id}/sectores/{id}', ['as' => 'sectores.update', 'uses' => 'SectoresController@update', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->put( '/{restaurante_id}/sectores/{id}', ['as' => 'sectores.update', 'uses' => 'SectoresController@update', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
$router->delete('/{restaurante_id}/sectores/{id}', ['as' => 'sectores.delete', 'uses' => 'SectoresController@delete', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->delete('/{restaurante_id}/sectores/{id}', ['as' => 'sectores.delete', 'uses' => 'SectoresController@delete', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
@@ -84,7 +84,7 @@ $router->group(['prefix' => 'api/v1', 'middleware' => ['auth', 'log_endpoint']],
|
|||||||
$router->post( '/{restaurante_id}/compras/{id}/ingredientes/{ingrediente_id}', ['as' => 'compras.ingredientes.add', 'uses' => 'ComprasController@addIngrediente', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->post( '/{restaurante_id}/compras/{id}/ingredientes/{ingrediente_id}', ['as' => 'compras.ingredientes.add', 'uses' => 'ComprasController@addIngrediente', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
$router->delete('/{restaurante_id}/compras/{id}/ingredientes/{ingrediente_id}', ['as' => 'compras.ingredientes.delete', 'uses' => 'ComprasController@deleteIngrediente','middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->delete('/{restaurante_id}/compras/{id}/ingredientes/{ingrediente_id}', ['as' => 'compras.ingredientes.delete', 'uses' => 'ComprasController@deleteIngrediente','middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
|
|
||||||
$router->get( '/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.get', 'uses' => 'FacturasController@get', 'middleware' => ['in_restaurante']]]);
|
$router->get( '/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.get', 'uses' => 'FacturasController@get', 'middleware' => ['in_restaurante']]);
|
||||||
$router->post( '/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.create', 'uses' => 'FacturasController@create', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->post( '/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.create', 'uses' => 'FacturasController@create', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
$router->put( '/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.update', 'uses' => 'FacturasController@update', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->put( '/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.update', 'uses' => 'FacturasController@update', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
$router->delete('/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.delete', 'uses' => 'FacturasController@delete', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
$router->delete('/{restaurante_id}/compras/{id}/factura', ['as' => 'factura.delete', 'uses' => 'FacturasController@delete', 'middleware' => ['role:admin|global_admin', 'in_restaurante']]);
|
||||||
|
|||||||
Reference in New Issue
Block a user