diff --git a/app/Http/Controllers/ComisionesController.php b/app/Http/Controllers/ComisionesController.php index 4076c37..5b6deaa 100644 --- a/app/Http/Controllers/ComisionesController.php +++ b/app/Http/Controllers/ComisionesController.php @@ -9,8 +9,11 @@ use App\Helpers\PedidosExportHelper; use App\Helpers\TransporteHelper; use App\Http\Resources\GrupoDeCompraResource; use App\Producto; +use App\User; +use App\UserRole; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Log; use League\Csv\CannotInsertRecord; use League\Csv\Exception; @@ -183,4 +186,61 @@ class ComisionesController $records = CsvHelper::getRecords(resource_path(self::PARAMETROS_PATH), "No se pudo leer el archivo."); return iterator_to_array($records); } + + public static function modificarGrupoDeCompra(Request $request, $grupo_de_compra_id) { + $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', + ]); + $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(); + } + $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(); + } }