diff --git a/app/Http/Controllers/ComisionesController.php b/app/Http/Controllers/ComisionesController.php index 59c2e0f..0561698 100644 --- a/app/Http/Controllers/ComisionesController.php +++ b/app/Http/Controllers/ComisionesController.php @@ -190,98 +190,100 @@ class ComisionesController } public static function modificarGrupoDeCompra(Request $request, $grupo_de_compra_id) { - $request->validate([ + $valid = $request->validate([ 'nombre' => ['nullable','string','regex:/^([a-z]| )+$/i'], 'region' => ['nullable','string','regex:/^([a-z]| |\d)+$/i'], - 'passBarrio' => 'nullable|string|alpha_num', - 'passAdmin' => 'nullable|string|alpha_num', - 'passOllas' => 'nullable|string|alpha_num', + 'passBarrio' => ['nullable','string','alpha_num','min:3'], + 'passAdmin' => ['nullable','string','alpha_num','min:3'], + 'passOllas' => ['nullable','string','alpha_num','min:3'], ]); $grupoDeCompra = GrupoDeCompra::find($grupo_de_compra_id); - if ($request["nombre"]) { - $users = User::where([ - 'grupo_de_compra_id' => $grupoDeCompra->id, - ])->get(); - foreach ($users as $user) { - $user->name = str_replace($grupoDeCompra->nombre, $request['nombre'], $user->name); - $user->save(); + foreach (array_keys($valid) as $key) { + switch ($key) { + case 'nombre': + $users = User::where([ + 'grupo_de_compra_id' => $grupoDeCompra->id, + ])->first(); + foreach ($users as $user) { + $user->name = str_replace($grupoDeCompra->nombre, $valid['nombre'], $user->name); + $user->save(); + } + $grupoDeCompra->nombre = $valid['nombre']; + $grupoDeCompra->save(); + break; + case 'region': + $grupoDeCompra->region = $valid['region']; + $grupoDeCompra->save(); + break; + case 'passBarrio': + $user = User::where([ + 'grupo_de_compra_id' => $grupoDeCompra->id, + 'role_id' => UserRole::where(['nombre' => 'barrio'])->first()->id, + ])->first(); + $user->password = Hash::make($valid['passBarrio']); + $user->save(); + break; + case 'passAdmin': + $user = User::where([ + 'grupo_de_compra_id' => $grupoDeCompra->id, + 'role_id' => UserRole::where(['nombre' => 'admin_barrio'])->first()->id, + ])->first(); + $user->password = Hash::make($valid['passAdmin']); + $user->save(); + break; + case 'passOllas': + $user = User::where([ + 'grupo_de_compra_id' => $grupoDeCompra->id, + 'role_id' => UserRole::where(['nombre' => 'ollas'])->first()->id, + ])->first(); + $user->password = Hash::make($valid['passOllas']); + $user->save(); + break; + default: + break; } - $grupoDeCompra->nombre = $request['nombre']; - $grupoDeCompra->save(); - } - - if ($request["region"]) { - $grupoDeCompra->region = $request['region']; - $grupoDeCompra->save(); - } - - if ($request["passBario"]) { - $user = User::where([ - 'grupo_de_compra_id' => $grupoDeCompra->id, - 'role_id' => UserRole::where(['nombre' => 'barrio'])->first()->id, - ]); - $user->password = Hash::make($request['passBario']); - $user->save(); - } - - if ($request["passAdmin"]) { - $user = User::where([ - 'grupo_de_compra_id' => $grupoDeCompra->id, - 'role_id' => UserRole::where(['nombre' => 'admin_barrio'])->first()->id, - ]); - $user->password = Hash::make($request['passAdmin']); - $user->save(); - } - - if ($request["passOllas"]) { - $user = User::where([ - 'grupo_de_compra_id' => $grupoDeCompra->id, - 'role_id' => UserRole::where(['nombre' => 'ollas'])->first()->id, - ]); - $user->password = Hash::make($request['passOllas']); - $user->save(); } return response()->noContent(); } public static function crearGrupoDeCompra(Request $request) { - $request->validate([ + $valid = $request->validate([ 'nombre' => ['required','string','regex:/^([a-z]| )+$/i'], 'region' => ['required','string','regex:/^([a-z]| |\d)+$/i'], - 'passBarrio' => 'required|string|alpha_num|min:3', - 'passAdmin' => 'required|string|alpha_num|min:3', - 'passOllas' => 'required|string|alpha_num|min:3', + 'passBarrio' => ['required','string','alpha_num','min:3'], + 'passAdmin' => ['required','string','alpha_num','min:3'], + 'passOllas' => ['required','string','alpha_num','min:3'], ]); - - if (GrupoDeCompra::where(["nombre" => $request["nombre"]])->get()->count()) - throw new HttpException(400, "Ya existe un pedido con este nombre"); + if (GrupoDeCompra::where(["nombre" => $valid["nombre"]])->get()->count()) + throw new HttpException(400, "Ya existe un barrio con este nombre."); $gdc = GrupoDeCompra::create([ - 'nombre' => $request['nombre'], - 'region' => $request['region'], + 'nombre' => $valid['nombre'], + 'region' => $valid['region'], 'saldo' => 0, ]); + User::create([ 'grupo_de_compra_id' => $gdc->id, - 'name' => $request['nombre'], - 'password' => Hash::make($request['passBario']), + 'name' => $valid['nombre'], + 'password' => Hash::make($valid['passBarrio']), 'role_id' => UserRole::where('nombre','barrio')->first()->id, ]); User::create([ 'grupo_de_compra_id' => $gdc->id, - 'name' => $request['nombre'] . '_admin', - 'password' => Hash::make($request['passAdmin']), + 'name' => $valid['nombre'] . '_admin', + 'password' => Hash::make($valid['passAdmin']), 'role_id' => UserRole::where('nombre','admin_barrio')->first()->id, ]); User::create([ 'grupo_de_compra_id' => $gdc->id, - 'name' => $request['nombre'] . '_ollas', - 'password' => Hash::make($request['passOllas']), + 'name' => $valid['nombre'] . '_ollas', + 'password' => Hash::make($valid['passOllas']), 'role_id' => UserRole::where('nombre','ollas')->first()->id, ]); diff --git a/app/User.php b/app/User.php index 1dac38b..0b4b2f0 100644 --- a/app/User.php +++ b/app/User.php @@ -16,7 +16,7 @@ class User extends Authenticatable * @var array */ protected $fillable = [ - 'name', 'email', 'password', 'role_id', + 'grupo_de_compra_id', 'name', 'email', 'password', 'role_id', ]; /**