4.0.0

Uwaga: aktualizacja typu MAJOR. Wprowadza nowe funkcjonalności.

Zmienić wersję w pliku composer.json w głównym folderze z aplikacją:

"n1ebieski/idir": "^4.0.0"


Z poziomu głównego folderu z aplikacją w SSH wykonać polecenia:

  1. Aktualizacja vendorów:
    composer update --no-dev
  2. Publikacja seederów:
    php artisan vendor:publish --tag=idir.seeds --force
    Uwaga: ta operacja podmieni dotychczasowy plik.
  3. Publikacja plików publicznych js:
    php artisan vendor:publish --tag=idir.public.js --force
    Uwaga: ta operacja podmieni dotychczasowy plik. Jeśli kompilujesz pliki publiczne samodzielnie, musisz to zrobić ponownie w oparciu o nowe assety.
  4. Przeładowanie Composera:
    composer dump
  5. Wykonanie seederów:
    php artisan db:seed --class="N1ebieski\IDir\Seeds\Install\DefaultRolesAndPermissionsSeeder"
  6. Przeładowanie cache:
    php artisan optimize && php artisan config:clear && php artisan cache:clear


# Nowa metoda płatności PayPal

W pliku config/services.php dodać:

    'paypal' => [
        'paypal_express' => [
            'username' => env('PAYPAL_USERNAME'),
            'password' => env('PAYPAL_PASSWORD'),
            'signature' => env('PAYPAL_SIGNATURE'),
            'sandbox' => env('PAYPAL_SANDBOX'),
            'currency' => 'PLN',
            'lang' => 'PL'
        ]
    ],

W pliku resources/views/vendor/idir/web/dir/partials/payment.blade.php dodać na samej górze:

@inject('price', 'N1ebieski\IDir\Models\Price')

Zmienić linię:

                @foreach (['transfer', 'code_transfer', 'code_sms'] as $type)

na:

                @foreach ($price::AVAILABLE as $type)

Po linii:

                        'rules_url' => route('web.page.show', [str_slug(trans('idir::dirs.rules'))])
                    ]) !!}
                </p>
            </div>
            @endif

Dodać:

            @if ($pricesByType('paypal_express')->isNotEmpty())
            <div 
                class="tab-pane fade {{ old('payment_type', $paymentType) === "paypal_express" ? 'show active' : null }}"
                id="nav-paypal_express" 
                role="tabpanel" 
                aria-labelledby="nav-paypal_express-tab"
            >
                <div class="form-group">
                    <label for="payment_paypal_express" class="sr-only"> 
                        {{ trans('idir::dirs.payment_paypal_express') }}
                    </label>
                    <select 
                        class="form-control {{ $isValid('payment_paypal_express') }}" 
                        id="payment_paypal_express" 
                        name="payment_paypal_express"
                    >
                        @foreach ($pricesByType('paypal_express')->sortBy('price') as $price)
                        <option 
                            value="{{ $price->id }}" 
                            {{ old('payment_paypal_express') == $price->id ? 'selected' : null }}
                        >
                            {{ trans('idir::dirs.price', [
                                'price' => $price->price,
                                'currency' => config("services.{$driverByType('paypal_express')}.paypal_express.currency"),
                                'days' => $days = $price->days,
                                'limit' => $days !== null ? 
                                    mb_strtolower(trans('idir::prices.days')) 
                                    : mb_strtolower(trans('idir::prices.unlimited'))
                            ]) }}
                        </option>
                        @endforeach
                    </select>
                    @includeWhen($errors->has('payment_paypal_express'), 'icore::web.partials.errors', ['name' => 'payment_paypal_express'])
                </div>
                <p>
                    {!! trans('idir::dirs.payment.paypal_express.info', [
                        'provider_url' => config("idir.payment.{$driverByType('paypal_express')}.url"),
                        'provider_name' => config("idir.payment.{$driverByType('paypal_express')}.name"),
                        'provider_docs_url' => config("idir.payment.{$driverByType('paypal_express')}.docs_url"),
                        'provider_rules_url' => config("idir.payment.{$driverByType('paypal_express')}.rules_url"),
                        'rules_url' => route('web.page.show', [str_slug(trans('idir::dirs.rules'))])
                    ]) !!}
                </p>
            </div>
            @endif