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:
- Aktualizacja vendorów:
composer update --no-dev
- Publikacja seederów:
php artisan vendor:publish --tag=idir.seeds --force
Uwaga: ta operacja podmieni dotychczasowy plik.
- 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.
- Przeładowanie Composera:
composer dump
- Wykonanie seederów:
php artisan db:seed --class="N1ebieski\IDir\Seeds\Install\DefaultRolesAndPermissionsSeeder"
- 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