This commit is contained in:
2024-05-30 00:02:05 +05:00
parent 12e6c0ca9d
commit 6be7c614c1
5 changed files with 50 additions and 2 deletions

View File

@@ -6,7 +6,6 @@ use App\Models\Branch\Branch;
use App\Models\Order\Card\CardPin\CardPin as CardPinModel;
use App\Nova\Filters\RegionFilter;
use App\Nova\Filters\StatusFilter;
use Illuminate\Database\Eloquent\Builder;
use App\Nova\Nova;
use App\Nova\Resource;
use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForDetail;
@@ -14,10 +13,12 @@ use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForIndex
use App\Repos\Order\Card\CardOrderRepo;
use App\Repos\Order\Card\CardTypeRepo;
use App\Repos\Order\OrderRepo;
use App\Repos\Payment\OnlinePaymentRepo;
use App\Repos\System\Nova\NovaRepo;
use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo;
use App\Rules\OnlyLetters;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
@@ -30,6 +31,7 @@ use Laravel\Nova\Fields\Select;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Panel;
use Laravel\Nova\URL;
use Nurmuhammet\NovaInputmask\NovaInputmask;
class CardPin extends Resource
@@ -151,6 +153,20 @@ class CardPin extends Resource
$model->update(['unique_id' => CardOrderRepo::fillUniqueId($model)]);
}
/**
* Return the location to redirect the user after creation.
*
* @param \Laravel\Nova\Resource $resource
*/
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
{
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
return $payment['status'] === 'success'
? URL::remote($payment['url'])
: sprintf('resources/%s/%s', static::uriKey(), $resource->getKey());
}
/**
* Get the fields for index.
*/

View File

@@ -13,6 +13,7 @@ use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForIndex
use App\Repos\Order\Card\CardOrderRepo;
use App\Repos\Order\Card\CardTypeRepo;
use App\Repos\Order\OrderRepo;
use App\Repos\Payment\OnlinePaymentRepo;
use App\Repos\System\Nova\NovaRepo;
use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo;
@@ -31,6 +32,7 @@ use Laravel\Nova\Fields\Select;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Panel;
use Laravel\Nova\URL;
use Nurmuhammet\NovaInputmask\NovaInputmask;
class CardRequisite extends Resource
@@ -156,6 +158,20 @@ class CardRequisite extends Resource
$model->update(['unique_id' => CardOrderRepo::fillUniqueId($model)]);
}
/**
* Return the location to redirect the user after creation.
*
* @param \Laravel\Nova\Resource $resource
*/
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
{
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
return $payment['status'] === 'success'
? URL::remote($payment['url'])
: sprintf('resources/%s/%s', static::uriKey(), $resource->getKey());
}
/**
* Get the fields for index.
*/