Skip to content

Commit 2cafb52

Browse files
authored
Merge pull request #8768 from ProcessMaker/task/FOUR-28803-L13
Upgrade to Laravel 13
2 parents 12669e2 + 2517209 commit 2cafb52

13 files changed

Lines changed: 2437 additions & 2368 deletions

File tree

.github/workflows/deploy-pm4.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ on:
99
jobs:
1010
run:
1111
name: Run PM4-workflow
12-
uses: processmaker/.github/.github/workflows/deploy-pm4.yml@main
12+
uses: processmaker/.github/.github/workflows/deploy-pm4.yml@testbench
1313
secrets: inherit

ProcessMaker/Console/Commands/IndexedSearchEnable.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,8 @@ private function setConfig($driver, $url = null, $prefix = null)
123123
$env .= "\n\nSCOUT_DRIVER={$driver}";
124124
$env .= "\nELASTIC_HOST={$url}";
125125
break;
126-
case 'sqlite':
127-
$driver = 'tntsearch';
128-
$env .= "\n\nSCOUT_DRIVER={$driver}";
126+
default:
127+
throw new \Exception('Only Elasticsearch is supported for indexed search.');
129128
break;
130129
}
131130

ProcessMaker/Http/Middleware/VerifyCsrfToken.php

Lines changed: 0 additions & 20 deletions
This file was deleted.

ProcessMaker/Models/GroupMember.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,8 @@ public function group()
131131
/**
132132
* Boot the model and register observers
133133
*/
134-
protected static function boot()
134+
protected static function booted()
135135
{
136-
parent::boot();
137-
138136
static::observe(GroupMemberObserver::class);
139137
}
140138
}

ProcessMaker/Providers/ProcessMakerServiceProvider.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@
22

33
namespace ProcessMaker\Providers;
44

5+
use Illuminate\Console\Events\CommandStarting;
56
use Illuminate\Database\Console\Migrations\MigrateCommand;
67
use Illuminate\Database\Eloquent\Factories\Factory;
78
use Illuminate\Filesystem\Filesystem;
89
use Illuminate\Foundation\PackageManifest;
910
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
1011
use Illuminate\Notifications\Events\BroadcastNotificationCreated;
1112
use Illuminate\Notifications\Events\NotificationSent;
12-
use Illuminate\Queue\Events\JobAttempted;
13-
use Illuminate\Queue\Events\JobProcessing;
14-
use Illuminate\Queue\Events\JobRetryRequested;
1513
use Illuminate\Queue\Listener;
1614
use Illuminate\Support\Arr;
1715
use Illuminate\Support\Env;
@@ -22,11 +20,13 @@
2220
use Illuminate\Support\Facades\Log;
2321
use Illuminate\Support\Facades\Route;
2422
use Illuminate\Support\Facades\URL;
25-
use Laravel\Dusk\DuskServiceProvider;
2623
use Laravel\Horizon\Horizon;
2724
use Laravel\Horizon\SystemProcessCounter;
2825
use Laravel\Horizon\WorkerCommandString;
2926
use Lavary\Menu\Menu;
27+
use OpenApi\Analysers\AttributeAnnotationFactory;
28+
use OpenApi\Analysers\DocBlockAnnotationFactory;
29+
use OpenApi\Analysers\ReflectionAnalyser;
3030
use ProcessMaker\Cache\Settings\SettingCacheManager;
3131
use ProcessMaker\Console\Commands\HorizonListen;
3232
use ProcessMaker\Console\Migration\ExtendedMigrateCommand;
@@ -118,12 +118,6 @@ public function register(): void
118118
});
119119
}
120120

121-
// Dusk, if env is appropriate
122-
// TODO Remove Dusk references and remove from composer dependencies
123-
if (!$this->app->environment('production')) {
124-
$this->app->register(DuskServiceProvider::class);
125-
}
126-
127121
// Register our permission services
128122
$this->app->register(PermissionServiceProvider::class);
129123

@@ -331,6 +325,17 @@ protected static function registerEvents(): void
331325
throw new MultitenancyNoTenantFound();
332326
}
333327
});
328+
329+
Facades\Event::listen(function (CommandStarting $event) {
330+
if ($event->command === 'l5-swagger:generate') {
331+
// Set the analyser to use the legacy DocBlockAnnotationFactory. This must
332+
// be set here because this config value is not serializable and cannot be cached.
333+
config(['l5-swagger.defaults.scanOptions.analyser' => new ReflectionAnalyser([
334+
new AttributeAnnotationFactory(),
335+
new DocBlockAnnotationFactory(),
336+
])]);
337+
}
338+
});
334339
}
335340

336341
/**

bootstrap/app.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
$middleware->append(ProcessMakerMiddleware\HideServerHeaders::class);
5252

5353
// Remove CSRF middleware from web group (was disabled in original Kernel.php)
54-
$middleware->removeFromGroup('web', Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class);
54+
$middleware->removeFromGroup('web', Illuminate\Foundation\Http\Middleware\PreventRequestForgery::class);
5555

5656
// Replace Laravel default middleware in web group
5757
$middleware->replaceInGroup('web',

composer.json

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,48 +13,48 @@
1313
"php": "^8.4",
1414
"babenkoivan/elastic-scout-driver": "^4.0",
1515
"bacon/bacon-qr-code": "^2.0",
16-
"codegreencreative/laravel-samlidp": "^5.2",
16+
"codegreencreative/laravel-samlidp": "^5.4",
1717
"composer/semver": "^3.4",
18-
"darkaonline/l5-swagger": "^9.0.1",
18+
"darkaonline/l5-swagger": "^11.0",
19+
"doctrine/annotations": "^2.0",
1920
"doctrine/dbal": "^4.2",
2021
"fakerphp/faker": "^1.24",
2122
"google/apiclient": "^2.18",
2223
"google/protobuf": "^4.33.6",
2324
"guzzlehttp/guzzle": "^7.9",
2425
"igaster/laravel-theme": "^2.0",
2526
"jenssegers/agent": "^2.6",
26-
"laravel/framework": "^12.47",
27-
"laravel/horizon": "^5.30",
27+
"laravel/framework": "^13.0",
28+
"laravel/horizon": "^5.45",
2829
"laravel/pail": "^1.2",
29-
"laravel/passport": "^13.4",
30-
"laravel/scout": "^10.11",
31-
"laravel/telescope": "^5.2",
32-
"laravel/tinker": "^2.10",
30+
"laravel/passport": "^13.7",
31+
"laravel/scout": "^11.1",
32+
"laravel/telescope": "^5.19",
33+
"laravel/tinker": "^3.0",
3334
"laravel/ui": "^4.6",
3435
"lavary/laravel-menu": "^1.8",
3536
"lcobucci/jwt": "^5.6",
3637
"league/commonmark": "^2.8.1",
37-
"mateusjunges/laravel-kafka": "^2.10",
38+
"mateusjunges/laravel-kafka": "^2.11",
3839
"mittwald/vault-php": "^2.1",
3940
"mustache/mustache": "^2.14",
4041
"open-telemetry/api": "^1.8",
4142
"open-telemetry/exporter-otlp": "^1.3",
42-
"open-telemetry/opentelemetry-auto-laravel": "^1.4",
43+
"open-telemetry/opentelemetry-auto-laravel": "dev-main",
4344
"open-telemetry/transport-grpc": "^1.1",
44-
"openai-php/client": "^0.18.0",
45-
"openai-php/laravel": "^0.18.0",
45+
"openai-php/laravel": "^0.19.1",
4646
"paragonie/sodium_compat": "^2.5",
4747
"php-amqplib/php-amqplib": "^3.7",
4848
"php-http/promise": "~1.2.0",
4949
"phpseclib/phpseclib": "^3.0.50",
50-
"pion/laravel-chunk-upload": "^1.5",
50+
"pion/laravel-chunk-upload": "dev-master",
5151
"predis/predis": "^2.3",
5252
"processmaker/docker-executor-lua": "^1.0",
5353
"processmaker/docker-executor-node": "1.1.0",
5454
"processmaker/docker-executor-php": "1.4.1",
5555
"processmaker/laravel-i18next": "dev-master",
5656
"processmaker/nayra": "1.12.4",
57-
"processmaker/pmql": "1.13.2",
57+
"processmaker/pmql": "1.13.3",
5858
"promphp/prometheus_client_php": "^2.12",
5959
"psr/http-message": "^2.0",
6060
"psr/log": "^3.0",
@@ -64,24 +64,23 @@
6464
"ralouphie/getallheaders": "^3.0",
6565
"robrichards/xmlseclibs": "^3.1.5",
6666
"simplesoftwareio/simple-qrcode": "*",
67-
"spatie/laravel-fractal": "^6.3",
68-
"spatie/laravel-html": "^3.11",
69-
"spatie/laravel-medialibrary": "^11.11",
70-
"spatie/laravel-multitenancy": "^4.0",
67+
"spatie/laravel-fractal": "^6.4",
68+
"spatie/laravel-html": "^3.13",
69+
"spatie/laravel-ignition": "^2.12",
70+
"spatie/laravel-medialibrary": "^11.21",
71+
"spatie/laravel-multitenancy": "^4.0.9",
7172
"spomky-labs/otphp": "^11.3",
7273
"symfony/expression-language": "^7.2",
7374
"symfony/http-foundation": "^7.3",
74-
"teamtnt/laravel-scout-tntsearch-driver": "^15.0",
7575
"twilio/sdk": "^8.3",
7676
"typo3/class-alias-loader": "^1.2",
7777
"whichbrowser/parser": "^2.1"
7878
},
7979
"require-dev": {
8080
"filp/whoops": "^2.16",
81-
"laravel/dusk": "^8.2",
81+
"laravel/boost": "^2.4",
8282
"mockery/mockery": "^1.6",
8383
"phpunit/phpunit": "^12.5.8",
84-
"spatie/laravel-ignition": "^2.9",
8584
"squizlabs/php_codesniffer": "^3.11",
8685
"symfony/dom-crawler": "^7.2"
8786
},
@@ -220,6 +219,14 @@
220219
]
221220
},
222221
"repositories": [
222+
{
223+
"type": "vcs",
224+
"url": "https://github.com/ProcessMaker/laravel-chunk-upload.git"
225+
},
226+
{
227+
"type": "vcs",
228+
"url": "https://github.com/ProcessMaker/contrib-auto-laravel.git"
229+
},
223230
{
224231
"type": "vcs",
225232
"url": "https://github.com/ProcessMaker/SocialiteProviders"

0 commit comments

Comments
 (0)