*/ public static $model = \App\Models\Payment\OnlinePaymentHistory::class; /** * The single value that should be used to represent the resource when being displayed. * * @var string */ public static $title = 'orderId'; /** * The columns that should be searched. * * @var array */ public static $search = [ 'orderId', 'orderNumber', ]; /** * Get the displayable label of the resource. */ public static function label(): string { return __('Online payment history'); } /** * Fields for index * * @param NovaRequest $request * * @return array */ public function fieldsForIndex(NovaRequest $request): array { return [ Text::make('PNR', 'orderNumber'), Text::make('ID', 'orderId'), Text::make('Möçberi', 'amount'), Text::make('Api Client', 'api_client'), Text::make('Desc', 'description'), Badge::make(__('Status'), 'paymentStatus') ->map(OnlinePaymentRepo::statusClasses()) ->addTypes([ 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', ]) ->labels(OnlinePaymentRepo::statusValues()) ->withIcons() ->icons(OnlinePaymentRepo::statusIcons()) ->sortable(), Text::make('username', 'username'), DateTime::make(__('Created at'), 'created_at') ->displayUsing(fn ($date) => $date?->format('H:i, d.m.Y')), ]; } /** * Get the fields displayed by the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ public function fields(NovaRequest $request): array { return [ ID::make()->sortable(), Text::make('amount'), Text::make('orderNumber', 'orderNumber'), Text::make('Api Client', 'api_client'), Text::make('description'), Text::make('orderId', 'orderId'), Text::make('formUrl', 'formUrl'), Text::make('successUrl', 'successUrl'), Select::make(__('Status'), 'paymentStatus') ->displayUsingLabels() ->searchable() ->options(OnlinePaymentRepo::statusValues()) ->fullWidth() ->filterable(), Text::make('callbackStatus', 'callbackStatus'), Text::make('username'), Text::make('online_paymantable_id'), Text::make('online_paymantable_type'), DateTime::make(__('Created at'), 'created_at') ->displayUsing(fn ($date) => $date?->format('H:i, d.m.Y')), DateTime::make(__('Updated at'), 'updated_at') ->displayUsing(fn ($date) => $date?->format('H:i, d.m.Y')), ]; } /** * Get the actions available for the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ public function actions(NovaRequest $request) { return [ CheckOnlinePayment::make() ->icon('rss') ->sole(), ]; } }