Arreglada logica para crear y para modificar barrios

This commit is contained in:
Alejandro Tasistro 2025-08-13 01:45:17 -03:00
parent cdbd1504b6
commit 6fe4295577
2 changed files with 63 additions and 61 deletions

View file

@ -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,
]);

View file

@ -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',
];
/**