diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php index 249fc9b..5b6c28b 100755 --- a/app/Http/Controllers/Auth/RegisteredUserController.php +++ b/app/Http/Controllers/Auth/RegisteredUserController.php @@ -6,6 +6,8 @@ use App\Http\Controllers\Controller; use App\Models\Role; use App\Models\Saldo; use App\Models\User; +use App\Models\Usuario_promo; +use App\Models\Usuario_tarifa; use App\Providers\RouteServiceProvider; use Illuminate\Auth\Events\Registered; use Illuminate\Http\Request; @@ -42,7 +44,6 @@ class RegisteredUserController extends Controller 'password.confirmed' => 'La confirmación de la contraseña no coincide.', 'password.min' => 'La contraseña debe tener al menos 8 caracteres.', 'referral_code.required' => 'El código de referido es obligatorio.', - 'password.confirmed' => 'Las contraseñas no coinciden.', ]); @@ -54,15 +55,12 @@ class RegisteredUserController extends Controller // Determinar el rol del nuevo usuario if ($referralUser) { if ($referralUser->rol->nombre === 'super') { - // Si el referido es "super", asignar "cliente" $rolCliente = Role::where('nombre', 'cliente')->first(); $rol_id = $rolCliente ? $rolCliente->id : null; } else { - // Si no es super, tomar el mismo rol del referido $rol_id = $referralUser->rol_id; } } else { - // Si no tiene referral_code, asignar rol por defecto (cliente) $rolCliente = Role::where('nombre', 'cliente')->first(); $rol_id = $rolCliente ? $rolCliente->id : null; } @@ -75,6 +73,32 @@ class RegisteredUserController extends Controller 'parent_id' => $referralUser ? $referralUser->id : null, ]); + if ($referralUser) { + // Tarifas + $tarifas = $referralUser->usuario_tarifas; + foreach ($tarifas as $tarifa) { + Usuario_tarifa::create([ + 'usuario_id' => $user->id, + 'tarifa_id' => $tarifa->tarifa_id, + 'precio' => $tarifa->precio, + 'visible' => $tarifa->visible, + 'utilidad' => $tarifa->utilidad, + ]); + } + + // Promos + $promos = $referralUser->usuario_promos; + foreach ($promos as $promo) { + Usuario_promo::create([ + 'usuario_id' => $user->id, + 'promocion_id' => $promo->promocion_id, + 'precio' => $promo->precio, + 'visible' => $promo->visible, + 'utilidad' => $promo->utilidad, + ]); + } + } + Saldo::create([ 'usuario_id' => $user->id, 'valor' => 0, diff --git a/app/Models/Usuario_promo.php b/app/Models/Usuario_promo.php index 85f7248..4bd93d5 100755 --- a/app/Models/Usuario_promo.php +++ b/app/Models/Usuario_promo.php @@ -9,7 +9,7 @@ class Usuario_promo extends Model { use HasFactory; - protected $hidden = [ + protected $fillable = [ 'usuario_id', 'promocion_id', 'precio', @@ -17,12 +17,12 @@ class Usuario_promo extends Model 'visible', ]; - public function usuario() + public function usuario() { return $this->belongsTo(User::class, 'usuario_id'); } - public function promocion() + public function promocion() { return $this->belongsTo(Promociones::class, 'promocion_id'); } diff --git a/app/Models/Usuario_tarifa.php b/app/Models/Usuario_tarifa.php index 59bdf3e..1e96a58 100755 --- a/app/Models/Usuario_tarifa.php +++ b/app/Models/Usuario_tarifa.php @@ -16,11 +16,13 @@ class Usuario_tarifa extends Model 'visible', ]; - public function usuario(){ - return $this ->belongsTo(User::class,'usuario_id'); + public function usuario() + { + return $this->belongsTo(User::class, 'usuario_id'); } - public function tarifa(){ - return $this ->belongsTo(Tarifas::class,'tarifa_id'); + public function tarifa() + { + return $this->belongsTo(Tarifas::class, 'tarifa_id'); } } diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 3f588bf..b7c1e54 100755 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -13,6 +13,7 @@ + @vite(['resources/css/app.css', 'resources/js/app.js']) @@ -35,6 +36,7 @@ + @livewireScripts