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

@@ -74,4 +74,12 @@ class CardPin extends Model
{
return $this->belongsTo(Branch::class, 'branch_id');
}
/**
* Price for order
*/
public function priceAmount(): float
{
return 3.02;
}
}

View File

@@ -75,4 +75,12 @@ class CardRequisite extends Model
{
return $this->belongsTo(Branch::class, 'branch_id');
}
/**
* Price for order
*/
public function priceAmount(): float
{
return 2.30;
}
}

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.
*/

View File

@@ -94,7 +94,7 @@ class OnlinePaymentRepo
*/
public function generateOrderNumber(mixed $resource): int
{
return ApiKeyHalkbank::generateOrderNumber($resource);
return date('dmyHis');
}
/**