mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-10 21:22:58 +01:00
Add authentication classes and update steps in Purchase.php
This commit is contained in:
parent
06fec908c6
commit
4f21b6e3d8
@ -13,6 +13,8 @@
|
|||||||
namespace App\Livewire\BillingPortal;
|
namespace App\Livewire\BillingPortal;
|
||||||
|
|
||||||
use App\Libraries\MultiDB;
|
use App\Libraries\MultiDB;
|
||||||
|
use App\Livewire\BillingPortal\Authentication\Login;
|
||||||
|
use App\Livewire\BillingPortal\Authentication\Register;
|
||||||
use App\Livewire\BillingPortal\Authentication\RegisterOrLogin;
|
use App\Livewire\BillingPortal\Authentication\RegisterOrLogin;
|
||||||
use App\Livewire\BillingPortal\Cart\Cart;
|
use App\Livewire\BillingPortal\Cart\Cart;
|
||||||
use App\Livewire\BillingPortal\Payments\Methods;
|
use App\Livewire\BillingPortal\Payments\Methods;
|
||||||
@ -65,17 +67,13 @@ class Purchase extends Component
|
|||||||
'id' => 'rff',
|
'id' => 'rff',
|
||||||
'dependencies' => [Login::class, RegisterOrLogin::class, Register::class],
|
'dependencies' => [Login::class, RegisterOrLogin::class, Register::class],
|
||||||
],
|
],
|
||||||
|
Submit::class => [
|
||||||
|
'id' => 'submit',
|
||||||
|
'dependencies' => [Methods::class],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public array $steps = [];
|
||||||
public static array $steps = [
|
|
||||||
Setup::class,
|
|
||||||
RegisterOrLogin::class,
|
|
||||||
Cart::class,
|
|
||||||
Methods::class,
|
|
||||||
RFF::class,
|
|
||||||
Submit::class,
|
|
||||||
];
|
|
||||||
|
|
||||||
public array $context = [];
|
public array $context = [];
|
||||||
|
|
||||||
@ -99,12 +97,10 @@ class Purchase extends Component
|
|||||||
#[On('purchase.next')]
|
#[On('purchase.next')]
|
||||||
public function handleNext(): void
|
public function handleNext(): void
|
||||||
{
|
{
|
||||||
|
if (count($this->steps) >= 1 && $this->step < count($this->steps) - 1) {
|
||||||
if ($this->step < count($this->steps) - 1) {
|
|
||||||
$this->step++;
|
$this->step++;
|
||||||
|
$this->id = Str::uuid();
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->id = Str::uuid();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[On('purchase.forward')]
|
#[On('purchase.forward')]
|
||||||
@ -133,8 +129,33 @@ class Purchase extends Component
|
|||||||
return "summary-{$this->id}";
|
return "summary-{$this->id}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function defaultSteps() {
|
||||||
|
return [
|
||||||
|
Setup::class,
|
||||||
|
Cart::class,
|
||||||
|
RegisterOrLogin::class,
|
||||||
|
Methods::class,
|
||||||
|
Submit::class,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function mount()
|
public function mount()
|
||||||
{
|
{
|
||||||
|
$classes = collect(self::$dependencies)->mapWithKeys(fn($dependency, $class) => [$dependency['id'] => $class])->toArray();
|
||||||
|
|
||||||
|
if ($this->subscription->steps) {
|
||||||
|
$steps = collect(explode(',', $this->subscription->steps))
|
||||||
|
->map(fn($step) => $classes[$step])
|
||||||
|
->toArray();
|
||||||
|
|
||||||
|
$this->steps = [
|
||||||
|
Setup::class,
|
||||||
|
...$steps,
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$this->steps = self::defaultSteps();
|
||||||
|
}
|
||||||
|
|
||||||
$this->id = Str::uuid();
|
$this->id = Str::uuid();
|
||||||
|
|
||||||
MultiDB::setDb($this->db);
|
MultiDB::setDb($this->db);
|
||||||
|
Loading…
Reference in New Issue
Block a user