Skip to content

Commit

Permalink
Merge pull request #3 from justbetter/feature/laravel12
Browse files Browse the repository at this point in the history
Laravel 12 / Nova 5 support
  • Loading branch information
VincentBean authored Feb 17, 2025
2 parents 12f247a + 0d35aa2 commit 593646b
Show file tree
Hide file tree
Showing 7 changed files with 102 additions and 16 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/analyse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: analyse

on: ['push', 'pull_request']

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
php: [8.3, 8.4]
laravel: [11.*]
stability: [prefer-stable]
include:
- laravel: 11.*
testbench: 9.*

name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
coverage: none

- name: Install dependencies
env:
COMPOSER_AUTH: '{"http-basic":{"nova.laravel.com":{"username":"${{secrets.NOVA_USERNAME}}","password":"${{secrets.NOVA_PASSWORD}}"}}}'
run: |
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
composer update --${{ matrix.stability }} --prefer-dist --no-interaction
- name: Analyse
run: composer analyse
34 changes: 34 additions & 0 deletions .github/workflows/style.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: style

on:
push:
branches:
- main
jobs:
style:
name: Style
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.4
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
coverage: none

- name: Install dependencies
env:
COMPOSER_AUTH: '{"http-basic":{"nova.laravel.com":{"username":"${{secrets.NOVA_USERNAME}}","password":"${{secrets.NOVA_PASSWORD}}"}}}'
run: composer install

- name: Style
run: composer fix-style

- name: Commit Changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Fix styling changes
33 changes: 21 additions & 12 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,36 @@
}
],
"require": {
"php": "^8.2",
"php": "^8.3",
"bolechen/nova-activitylog": "^0.5.0",
"justbetter/laravel-magento-customer-prices": "^3.0",
"laravel/nova": "^4.0",
"bolechen/nova-activitylog": "^0.4.0"
"laravel/framework": "^11.0|^12.0",
"laravel/nova": "^5.0"
},
"require-dev": {
"laravel/pint": "^1.16",
"orchestra/testbench": "^9.1",
"phpunit/phpunit": "^11.2",
"larastan/larastan": "^2.9",
"phpstan/phpstan-mockery": "^1.1"
"larastan/larastan": "^3.0",
"laravel/pint": "^1.20",
"orchestra/testbench": "^9.0",
"pestphp/pest": "^3.7",
"phpstan/phpstan-mockery": "^2.0",
"phpunit/phpunit": "^11.5"
},
"autoload": {
"psr-4": {
"JustBetter\\MagentoCustomerPricesNova\\": "src"
}
},
"scripts": {
"analyse": "phpstan",
"analyse": "phpstan --memory-limit=256M",
"style": "pint --test",
"quality": [
"@style",
"@analyse",
"@style"
]
"@test",
"@coverage"
],
"test": "phpunit",
"coverage": "XDEBUG_MODE=coverage php vendor/bin/pest --coverage --min=0"
},
"extra": {
"laravel": {
Expand All @@ -49,7 +55,10 @@
}
},
"config": {
"sort-packages": true
"sort-packages": true,
"allow-plugins": {
"pestphp/pest-plugin": true
}
},
"minimum-stability": "stable",
"prefer-stable": true,
Expand Down
3 changes: 2 additions & 1 deletion src/Nova/Filters/Failed.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;

use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Builder;
use Laravel\Nova\Filters\Filter;
use Laravel\Nova\Http\Requests\NovaRequest;

class Failed extends Filter
{
/** @param Builder $query */
public function apply(NovaRequest $request, $query, $value): Builder
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
{
return match ($value) {
'day' => $query->whereDate('last_failed', '>=', now()->startOfDay()),
Expand Down
3 changes: 2 additions & 1 deletion src/Nova/Filters/Product.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;

use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Builder;
use Laravel\Nova\Filters\Filter;
use Laravel\Nova\Http\Requests\NovaRequest;
Expand All @@ -14,7 +15,7 @@ public function __construct()
}

/** @param Builder $query */
public function apply(NovaRequest $request, $query, $value): Builder
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
{
return $query->whereHas('product', function (Builder $query) use ($value): void {
$query->where('exists_in_magento', '=', $value);
Expand Down
3 changes: 2 additions & 1 deletion src/Nova/Filters/Status.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;

use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Builder;
use Laravel\Nova\Filters\Filter;
use Laravel\Nova\Http\Requests\NovaRequest;

class Status extends Filter
{
/** @param Builder $query */
public function apply(NovaRequest $request, $query, $value): Builder
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
{
return $query->where($value, '=', true);
}
Expand Down
3 changes: 2 additions & 1 deletion src/Nova/Filters/Sync.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;

use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Builder;
use Laravel\Nova\Filters\Filter;
use Laravel\Nova\Http\Requests\NovaRequest;

class Sync extends Filter
{
/** @param Builder $query */
public function apply(NovaRequest $request, $query, $value): Builder
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
{
return $query->where('sync', '=', $value);
}
Expand Down

0 comments on commit 593646b

Please sign in to comment.