Working on credit card

This commit is contained in:
2024-01-28 19:54:29 +05:00
parent 0a631aec80
commit 9c22cce13b
11 changed files with 267 additions and 22 deletions

View File

@@ -10,6 +10,7 @@ use App\Nova\Forms\NovaForm;
use App\Nova\Resource;
use App\Nova\Resources\Order\Card\Concerns\CardOrderFieldsForDetail;
use App\Nova\Resources\Order\Card\Concerns\CardOrderFieldsForIndex;
use App\Repos\Order\Card\CardOrderRepo;
use App\Repos\Order\Card\CardStateRepo;
use App\Repos\Order\Card\CardTypeRepo;
use App\Repos\Order\OrderRepo;
@@ -20,6 +21,7 @@ use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo;
use App\Rules\DowranAgaAllowed;
use App\Rules\OnlyLetters;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use Laravel\Nova\Fields\Date;
@@ -125,6 +127,16 @@ class CardOrder extends Resource
return $query->where('user_id', $request->user()->id);
}
/**
* After resource created
* @param Laravel\Nova\Http\Requests\NovaRequest $request
* @param Illuminate\Database\Eloquent\Model $model
*/
public static function afterCreate(NovaRequest $request, Model $model): void
{
CardOrderRepo::created()($model);
}
/**
* Return the location to redirect the user after creation.
*
@@ -132,7 +144,11 @@ class CardOrder extends Resource
*/
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
{
return URL::remote((new OnlinePaymentRepo())->payCardOrder($resource));
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
return $payment['status'] === 'success'
? URL::remote($payment['url'])
: sprintf('resources/%s/%s', static::uriKey(), $resource->getKey());
}
/**
@@ -143,10 +159,7 @@ class CardOrder extends Resource
*/
public static function redirectAfterUpdate(NovaRequest $request, $resource)
{
return URL::remote(
(new OnlinePaymentRepo())
->payCardOrder($resource),
);
return URL::remote((new OnlinePaymentRepo())->payCardOrder($resource));
}
/**
@@ -333,7 +346,7 @@ class CardOrder extends Resource
->creationRules('required')
->updateRules('nullable'),
NovaCustomHtml::make(__('Data'), 'ada')
NovaCustomHtml::make(__('Data'), 'additional_data')
->html(view('orders.cards.contract-agreement')->render())
->fillUsing(NovaForm::fillEmpty()),
]),