Besoin d'aide ?

Afficher mes commandes qui sont pas confirmé dans Nova laravel.

Avatar de KamelBlua
KamelBlua

Bonjour,

Alors déja, qu'est ce que je veux faire ?

Afficher mes commandes qui sont pas confirmé dans Nova laravel.

Oui, car dans ma table "Order", dans la structure j'ai une colonne "confirmed" qui peut être "no" ou "yes".

J'ai bien ma ressource "CancelledOrder", je voulais savoir si quelqu'un pourrais me dire comment faire, sa fait depuis des heures que je cherche sur google, même dans la doc de Nova Laravel et aussi dans ma tête haha.

Car clairement je vois pas ou coder dans ma ressource ?

Voici le code de ma ressource "CancelledOrder" :

<?php

namespace App\Nova;

use Illuminate\Http\Request;
use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\Currency;
use Laravel\Nova\Fields\Heading;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Number;
use Laravel\Nova\Fields\Select;
use Laravel\Nova\Fields\Text;
use Techouse\IntlDateTime\IntlDateTime;
use Techouse\IntlDateTime\LocaleNotSupportedException;

class CancelledOrder extends Resource
{
    /**
     * The model the resource corresponds to.
     *
     * @var string
     */
    public static $model = \App\Order::class;

    public static $group = 'Plateforme';

    public static function label()
    {
        return __('Commandes annulées');
    }
    public static function singularLabel()
    {
        return __('Commandes annulées');
    }

    /**
     * The single value that should be used to represent the resource when being displayed.
     *
     * @var string
     */
    public static $title = 'id';

    /**
     * The columns that should be searched.
     *
     * @var array
     */
    public static $search = [
        'id'
    ];

    /**
     * Get the fields displayed by the resource.
     *
     * @param Request $request
     * @return array
     * @throws LocaleNotSupportedException
     */
    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            Text::make('Nom du client', 'name')
                ->required(),
            BelongsTo::make('Utilisateur rattaché', 'user', Customer::class)
                ->required(),
            IntlDateTime::make('Passée le', 'created_at')
                ->locale('fr')
                ->readonly()
                ->required(),
            Currency::make('Prix', 'total')->currency('EUR')
                ->required(),
            Select::make('Mode de paiement', 'gateway')->options([
                'paypal' => 'PayPal',
                'stripe' => 'Carte Bancaire',
            ])
                ->required()
                ->displayUsingLabels(),
            Number::make('Numéro de téléphone', 'phone')
                ->required(),
            Heading::make('Adresse de livraison'),
            Text::make('Adresse', 'address')
                ->hideFromIndex()
                ->required(),
            Number::make('Code postal', 'postal_code')
                ->hideFromIndex()
                ->required(),
            Text::make('Ville', 'city')
                ->hideFromIndex()
                ->required(),
            Text::make('Pays', 'country')
                ->hideFromIndex()
                ->required(),
            Text::make('Sous-Total', 'subtotal')
                ->default(0)
                ->hideFromIndex()
                ->hideFromDetail()
                ->exceptOnForms(),
            Text::make('Taxes', 'tax')
                ->default(0)
                ->hideFromIndex()
                ->hideFromDetail()
                ->exceptOnForms()
                ->onlyOnDetail(),
            Text::make('Livraison', 'ship_price')
                ->default(0)
                ->hideFromIndex()
                ->hideFromDetail()
                ->exceptOnForms(),
            Select::make('Statut Livraison', 'ship_status')->options([
                'no' => 'En attente',
                'yes' => 'En cours de livraison',
                'received' => 'Reçu',
            ])
                ->required()
                ->displayUsingLabels(),
            Select::make('Confirmée', 'confirmed')->options([
                'no' => 'Non',
                'yes' => 'Oui',
            ])
                ->required()
                ->displayUsingLabels()
                //->hideFromIndex(),
        ];
    }

    public function lenses(Request $request): array
    {
        return [
            new Lenses\showCancelledOrder,
        ];
    }

}

Merci pour votre futur aide :)

Avatar de stockhausen
stockhausen

Salut,

Il faut ajouter un indeQuery https://nova.laravel.com/docs/3.0/resources/authorization.html#index-filtering

Belle soirée

Vous ne pouvez pas répondre à ce sujet.