Se modifican procesos para pagos en linea a travez de stripe

This commit is contained in:
2026-03-12 12:27:26 -06:00
parent fac20ea52d
commit ed2184827d
32 changed files with 703 additions and 506 deletions
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App\Livewire;
use Livewire\Component;
class CarruselInicio extends Component
{
public function render()
{
return view('livewire.carrusel-inicio');
}
}
+18 -6
View File
@@ -2,6 +2,7 @@
namespace App\Livewire;
use App\Models\Alumno;
use App\Models\Pago;
use App\Models\Plan;
use App\Models\Medio;
@@ -12,7 +13,6 @@ use App\Models\Campan;
use App\Models\Plantel;
use Livewire\Component;
use App\Models\Concepto;
use App\Models\Prospecto;
use Livewire\Attributes\On;
use Illuminate\Validation\Rule;
use Spatie\Permission\Models\Role;
@@ -26,6 +26,8 @@ class DataProspecto extends Component
public $activeProspectId = null;
public $pname;
public $papellidoPaterno;
public $papellidoMaterno;
public $pemail;
public $ptelefono;
public $pdireccion;
@@ -121,13 +123,15 @@ class DataProspecto extends Component
public function actualizarProspecto()
{
$user = $this->prospecto->prospectos()->first();
$user = $this->prospecto->alumnos()->first();
if (!$user) return;
try {
$this->validate([
'pname' => 'required',
'papellidoPaterno' => 'required',
'papellidoMaterno' => 'required',
'pemail' => [
'required',
@@ -143,6 +147,8 @@ class DataProspecto extends Component
], [
'pname.required' => 'El nombre es obligatorio',
'papellidoPaterno.required' => 'El apellido paterno es obligatorio',
'papellidoMaterno.required' => 'El apellido materno es obligatorio',
'pemail.required' => 'El correo es obligatorio',
'pemail.email' => 'El correo no es válido',
'pemail.unique' => 'Este correo ya está registrado',
@@ -171,7 +177,9 @@ class DataProspecto extends Component
}
$user->update([
'name' => $this->pname,
'name' => mb_strtoupper($this->pname, 'UTF-8'),
'apellidoPaterno' => mb_strtoupper($this->papellidoPaterno, 'UTF-8'),
'apellidoMaterno' => mb_strtoupper($this->papellidoMaterno, 'UTF-8'),
'email' => $this->pemail,
'telefono' => $this->ptelefono,
'direccion' => $this->pdireccion,
@@ -205,11 +213,13 @@ class DataProspecto extends Component
$this->resetForm();
$this->prospecto = Prospecto::findOrFail($id);
$user = $this->prospecto->prospectos()->first();
$this->prospecto = Alumno::findOrFail($id);
$user = $this->prospecto->alumnos()->first();
if (!$user) return;
$this->pname = $user->name;
$this->papellidoPaterno = $user->apellidoPaterno;
$this->papellidoMaterno = $user->apellidoPaterno;
$this->pemail = $user->email;
$this->ptelefono = $user->telefono;
$this->pdireccion = $user->direccion;
@@ -260,7 +270,6 @@ class DataProspecto extends Component
public function plan()
{
if($this->prospecto->plane_id != $this->selectedplane){
Pago::where('user_id', '=', $this->prospecto->id)->delete();
@@ -313,6 +322,9 @@ class DataProspecto extends Component
{
// Usuario
$this->pname = null;
$this->papellidoPaterno = null;
$this->papellidoMaterno = null;
$this->pname = null;
$this->pemail = null;
$this->ptelefono = null;
$this->pdireccion = null;
+22 -15
View File
@@ -2,28 +2,32 @@
namespace App\Livewire;
use App\Models\Alumno;
use App\Models\Campan;
use App\Models\Medio;
use App\Models\User;
use App\Models\Nivel;
use App\Models\Plan;
use App\Models\Plantel;
use App\Models\Prospecto;
use App\Models\Turno;
use Livewire\Component;
use Spatie\Permission\Models\Role;
use App\Models\User;
use Illuminate\Auth\Notifications\ResetPassword;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Password;
use Illuminate\Support\Str;
use Livewire\Attributes\On;
use Livewire\Component;
use Spatie\Permission\Models\Role;
class ModalProspecto extends Component
{
// Usuario
public $pname;
public $papellidoPaterno;
public $papellidoMaterno;
public $pemail;
public $ptelefono;
public $pdireccion;
public $ppassword;
public $pplantels;
public $proles;
@@ -48,10 +52,11 @@ class ModalProspecto extends Component
{
$this->reset([
'pname',
'papellidoPaterno',
'papellidoMaterno',
'pemail',
'ptelefono',
'pdireccion',
'ppassword',
'pplantels',
'proles',
'selectedNivel',
@@ -108,7 +113,6 @@ class ModalProspecto extends Component
$this->active = "";
}
/* ------------------ GUARDAR ------------------ */
public function guardarProspecto()
{
if (User::where('email', $this->pemail)
@@ -124,24 +128,29 @@ class ModalProspecto extends Component
closeModal: true
);
return;
}
$passwordTemporal = Str::random(12);
$user = User::create([
'name' => $this->pname,
'name' => mb_strtoupper($this->pname, 'UTF-8'),
'apellidoPaterno' => mb_strtoupper($this->papellidoPaterno, 'UTF-8'),
'apellidoMaterno' => mb_strtoupper($this->papellidoMaterno, 'UTF-8'),
'email' => $this->pemail,
'telefono' => $this->ptelefono,
'direccion' => $this->pdireccion,
'password' => Hash::make($this->ppassword),
'password' => Hash::make($passwordTemporal),
'status' => 1
]);
$user->roles()->sync($this->proles);
$user->plantelUsuarios()->sync([$this->pplantels]);
$prospecto = Prospecto::create([
$token = Password::createToken($user);
$user->notify(new ResetPassword($token));
$prospecto = Alumno::create([
'nivel' => $this->selectedNivel,
'plan_id' => $this->selectedplan,
'usuario_registro' => Auth::id(),
@@ -150,7 +159,7 @@ class ModalProspecto extends Component
'medio' => $this->pmedio,
]);
$prospecto->prospectos()->sync([$user->id]);
$prospecto->alumnos()->sync([$user->id]);
$this->dispatch('swal',
icon: 'success',
@@ -165,8 +174,6 @@ class ModalProspecto extends Component
$this->resetForm();
}
/* ------------------ RENDER ------------------ */
public function render()
{
return view('livewire.modal-prospecto', [