1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-19 16:01:34 +02:00

Updates for L9

This commit is contained in:
David Bomba 2022-07-20 16:18:21 +10:00
parent d84d5ba092
commit 2e98a513a7
8 changed files with 442 additions and 539 deletions

View File

@ -94,7 +94,6 @@
},
"require-dev": {
"php": "^7.4|^8.0",
"anahkiasen/former": "^4.2",
"barryvdh/laravel-debugbar": "^3.6",
"brianium/paratest": "^6.1",
"darkaonline/l5-swagger": "8.1.0",

323
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "2a8922fb6a1a7e6a58240a56fb847b93",
"content-hash": "ab46b4192bc11b5b812f0959354a8701",
"packages": [
{
"name": "afosto/yaac",
@ -378,16 +378,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.231.7",
"version": "3.231.9",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "25f7cf72a1d7cf3075436cfbfdc4caed201df3ec"
"reference": "fbda3e544226b44f79ead89de78f220d30ef3796"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/25f7cf72a1d7cf3075436cfbfdc4caed201df3ec",
"reference": "25f7cf72a1d7cf3075436cfbfdc4caed201df3ec",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fbda3e544226b44f79ead89de78f220d30ef3796",
"reference": "fbda3e544226b44f79ead89de78f220d30ef3796",
"shasum": ""
},
"require": {
@ -464,9 +464,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.231.7"
"source": "https://github.com/aws/aws-sdk-php/tree/3.231.9"
},
"time": "2022-07-15T18:16:42+00:00"
"time": "2022-07-19T18:14:37+00:00"
},
{
"name": "bacon/bacon-qr-code",
@ -2169,16 +2169,16 @@
},
{
"name": "google/apiclient-services",
"version": "v0.257.0",
"version": "v0.258.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-api-php-client-services.git",
"reference": "ae109202ee831a1fb70ba824181852e6179c848b"
"reference": "71eb32534aba05e373fe317c1373a9645065881c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/ae109202ee831a1fb70ba824181852e6179c848b",
"reference": "ae109202ee831a1fb70ba824181852e6179c848b",
"url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/71eb32534aba05e373fe317c1373a9645065881c",
"reference": "71eb32534aba05e373fe317c1373a9645065881c",
"shasum": ""
},
"require": {
@ -2207,9 +2207,9 @@
],
"support": {
"issues": "https://github.com/googleapis/google-api-php-client-services/issues",
"source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.257.0"
"source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.258.0"
},
"time": "2022-07-08T01:28:13+00:00"
"time": "2022-07-18T01:10:11+00:00"
},
{
"name": "google/auth",
@ -3478,16 +3478,16 @@
},
{
"name": "laravel/framework",
"version": "v9.20.0",
"version": "v9.21.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "c99868f1c9bf2f5d250993121838db905591864f"
"reference": "a8a529d371faaa38bde087aa6171a5b53a6a8760"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/c99868f1c9bf2f5d250993121838db905591864f",
"reference": "c99868f1c9bf2f5d250993121838db905591864f",
"url": "https://api.github.com/repos/laravel/framework/zipball/a8a529d371faaa38bde087aa6171a5b53a6a8760",
"reference": "a8a529d371faaa38bde087aa6171a5b53a6a8760",
"shasum": ""
},
"require": {
@ -3502,6 +3502,7 @@
"league/flysystem": "^3.0.16",
"monolog/monolog": "^2.0",
"nesbot/carbon": "^2.53.1",
"nunomaduro/termwind": "^1.13",
"php": "^8.0.2",
"psr/container": "^1.1.1|^2.0.1",
"psr/log": "^1.0|^2.0|^3.0",
@ -3653,7 +3654,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2022-07-13T13:26:22+00:00"
"time": "2022-07-19T14:12:19+00:00"
},
{
"name": "laravel/serializable-closure",
@ -4110,16 +4111,16 @@
},
{
"name": "league/commonmark",
"version": "2.3.3",
"version": "2.3.4",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "0da1dca5781dd3cfddbe328224d9a7a62571addc"
"reference": "155ec1c95626b16fda0889cf15904d24890a60d5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/0da1dca5781dd3cfddbe328224d9a7a62571addc",
"reference": "0da1dca5781dd3cfddbe328224d9a7a62571addc",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/155ec1c95626b16fda0889cf15904d24890a60d5",
"reference": "155ec1c95626b16fda0889cf15904d24890a60d5",
"shasum": ""
},
"require": {
@ -4212,7 +4213,7 @@
"type": "tidelift"
}
],
"time": "2022-06-07T21:28:26+00:00"
"time": "2022-07-17T16:25:47+00:00"
},
{
"name": "league/config",
@ -4382,16 +4383,16 @@
},
{
"name": "league/flysystem",
"version": "3.1.0",
"version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "34a68067b7ae3b836ea5e57e1fc432478372a4f5"
"reference": "1a941703dfb649f9b821e7bc425e782f576a805e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/34a68067b7ae3b836ea5e57e1fc432478372a4f5",
"reference": "34a68067b7ae3b836ea5e57e1fc432478372a4f5",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1a941703dfb649f9b821e7bc425e782f576a805e",
"reference": "1a941703dfb649f9b821e7bc425e782f576a805e",
"shasum": ""
},
"require": {
@ -4452,7 +4453,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.1.0"
"source": "https://github.com/thephpleague/flysystem/tree/3.1.1"
},
"funding": [
{
@ -4468,25 +4469,25 @@
"type": "tidelift"
}
],
"time": "2022-06-29T17:29:54+00:00"
"time": "2022-07-18T09:59:40+00:00"
},
{
"name": "league/flysystem-aws-s3-v3",
"version": "3.0.22",
"version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git",
"reference": "e5fc508faf83df2fbd2a215d2b4bea9584906221"
"reference": "fa46ce9fbad9bfc73d8b160ffeb2c1793fe9c73b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/e5fc508faf83df2fbd2a215d2b4bea9584906221",
"reference": "e5fc508faf83df2fbd2a215d2b4bea9584906221",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/fa46ce9fbad9bfc73d8b160ffeb2c1793fe9c73b",
"reference": "fa46ce9fbad9bfc73d8b160ffeb2c1793fe9c73b",
"shasum": ""
},
"require": {
"aws/aws-sdk-php": "^3.132.4",
"league/flysystem": "^2.0.0 || ^3.0.0",
"league/flysystem": "^3.0.0",
"league/mime-type-detection": "^1.0.0",
"php": "^8.0.2"
},
@ -4522,9 +4523,23 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues",
"source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.0.22"
"source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.1.1"
},
"time": "2022-06-29T07:09:46+00:00"
"funding": [
{
"url": "https://offset.earth/frankdejonge",
"type": "custom"
},
{
"url": "https://github.com/frankdejonge",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/league/flysystem",
"type": "tidelift"
}
],
"time": "2022-07-18T09:31:34+00:00"
},
{
"name": "league/fractal",
@ -5696,6 +5711,92 @@
},
"time": "2022-05-31T20:59:12+00:00"
},
{
"name": "nunomaduro/termwind",
"version": "v1.13.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/termwind.git",
"reference": "132a24bd3e8c559e7f14fa14ba1b83772a0f97f8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nunomaduro/termwind/zipball/132a24bd3e8c559e7f14fa14ba1b83772a0f97f8",
"reference": "132a24bd3e8c559e7f14fa14ba1b83772a0f97f8",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^8.0",
"symfony/console": "^5.3.0|^6.0.0"
},
"require-dev": {
"ergebnis/phpstan-rules": "^1.0.",
"illuminate/console": "^8.0|^9.0",
"illuminate/support": "^8.0|^9.0",
"laravel/pint": "^0.2.0",
"pestphp/pest": "^1.21.0",
"pestphp/pest-plugin-mock": "^1.0",
"phpstan/phpstan": "^1.4.6",
"phpstan/phpstan-strict-rules": "^1.1.0",
"symfony/var-dumper": "^5.2.7|^6.0.0",
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Termwind\\Laravel\\TermwindServiceProvider"
]
}
},
"autoload": {
"files": [
"src/Functions.php"
],
"psr-4": {
"Termwind\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nuno Maduro",
"email": "enunomaduro@gmail.com"
}
],
"description": "Its like Tailwind CSS, but for the console.",
"keywords": [
"cli",
"console",
"css",
"package",
"php",
"style"
],
"support": {
"issues": "https://github.com/nunomaduro/termwind/issues",
"source": "https://github.com/nunomaduro/termwind/tree/v1.13.0"
},
"funding": [
{
"url": "https://www.paypal.com/paypalme/enunomaduro",
"type": "custom"
},
{
"url": "https://github.com/nunomaduro",
"type": "github"
},
{
"url": "https://github.com/xiCO2k",
"type": "github"
}
],
"time": "2022-07-01T15:06:55+00:00"
},
{
"name": "nwidart/laravel-modules",
"version": "v8.3.0",
@ -7963,16 +8064,16 @@
},
{
"name": "sentry/sentry",
"version": "3.6.1",
"version": "3.7.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-php.git",
"reference": "5b8f2934b0b20bb01da11c76985ceb5bd6c6af91"
"reference": "877bca3f0f0ac0fc8ec0a218c6070cccea266795"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/5b8f2934b0b20bb01da11c76985ceb5bd6c6af91",
"reference": "5b8f2934b0b20bb01da11c76985ceb5bd6c6af91",
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/877bca3f0f0ac0fc8ec0a218c6070cccea266795",
"reference": "877bca3f0f0ac0fc8ec0a218c6070cccea266795",
"shasum": ""
},
"require": {
@ -8018,7 +8119,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.6.x-dev"
"dev-master": "3.7.x-dev"
}
},
"autoload": {
@ -8052,7 +8153,7 @@
],
"support": {
"issues": "https://github.com/getsentry/sentry-php/issues",
"source": "https://github.com/getsentry/sentry-php/tree/3.6.1"
"source": "https://github.com/getsentry/sentry-php/tree/3.7.0"
},
"funding": [
{
@ -8064,7 +8165,7 @@
"type": "custom"
}
],
"time": "2022-06-27T07:58:00+00:00"
"time": "2022-07-18T07:55:36+00:00"
},
{
"name": "sentry/sentry-laravel",
@ -8277,16 +8378,16 @@
},
{
"name": "socialiteproviders/apple",
"version": "5.2.0",
"version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/SocialiteProviders/Apple.git",
"reference": "b34e1955e65ef6f5f897c8f63ace68297d28e02c"
"reference": "13bfd5ad4a6ab33ecab35d933deba01e9de6e404"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/SocialiteProviders/Apple/zipball/b34e1955e65ef6f5f897c8f63ace68297d28e02c",
"reference": "b34e1955e65ef6f5f897c8f63ace68297d28e02c",
"url": "https://api.github.com/repos/SocialiteProviders/Apple/zipball/13bfd5ad4a6ab33ecab35d933deba01e9de6e404",
"reference": "13bfd5ad4a6ab33ecab35d933deba01e9de6e404",
"shasum": ""
},
"require": {
@ -8344,7 +8445,7 @@
"issues": "https://github.com/socialiteproviders/providers/issues",
"source": "https://github.com/socialiteproviders/providers"
},
"time": "2022-05-26T00:02:22+00:00"
"time": "2022-07-18T08:37:00+00:00"
},
{
"name": "socialiteproviders/manager",
@ -12521,130 +12622,6 @@
],
"time": "2021-03-30T17:13:30+00:00"
},
{
"name": "anahkiasen/former",
"version": "4.7.0",
"source": {
"type": "git",
"url": "https://github.com/formers/former.git",
"reference": "9a88328390abc3add9fb01136688a19b215e6760"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/formers/former/zipball/9a88328390abc3add9fb01136688a19b215e6760",
"reference": "9a88328390abc3add9fb01136688a19b215e6760",
"shasum": ""
},
"require": {
"anahkiasen/html-object": "~1.4",
"illuminate/config": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/container": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/contracts": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/http": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/routing": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/session": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/support": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"illuminate/translation": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"php": "^7.2|^8.0"
},
"require-dev": {
"illuminate/database": "^5.1.3|^6.0|^7.0|^8.0|^9.0",
"mockery/mockery": "^1.3",
"phpunit/phpunit": "^8.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.1-dev"
},
"laravel": {
"providers": [
"Former\\FormerServiceProvider"
],
"aliases": {
"Former": "Former\\Facades\\Former"
}
}
},
"autoload": {
"psr-4": {
"Former\\": [
"src/Former",
"tests"
],
"Laravel\\": "src/Laravel"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Maxime Fabre",
"email": "ehtnam6@gmail.com"
}
],
"description": "A powerful form builder",
"homepage": "http://formers.github.io/former/",
"keywords": [
"bootstrap",
"form",
"foundation",
"laravel"
],
"support": {
"issues": "https://github.com/formers/former/issues",
"source": "https://github.com/formers/former/tree/4.7.0"
},
"time": "2022-02-17T11:50:58+00:00"
},
{
"name": "anahkiasen/html-object",
"version": "1.4.4",
"source": {
"type": "git",
"url": "https://github.com/Anahkiasen/html-object.git",
"reference": "45bb54b91112c064d3906c207259d5c8dcba798f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Anahkiasen/html-object/zipball/45bb54b91112c064d3906c207259d5c8dcba798f",
"reference": "45bb54b91112c064d3906c207259d5c8dcba798f",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"madewithlove/php-cs-fixer-config": "^1.3",
"phpunit/phpunit": "^4.8",
"phpunit/phpunit-dom-assertions": "^0.1.0",
"symfony/css-selector": "^2.6"
},
"type": "library",
"autoload": {
"psr-4": {
"HtmlObject\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anahkiasen",
"email": "ehtnam6@gmail.com"
}
],
"description": "A set of classes to create and manipulate HTML objects abstractions",
"support": {
"issues": "https://github.com/Anahkiasen/html-object/issues",
"source": "https://github.com/Anahkiasen/html-object/tree/master"
},
"time": "2017-05-31T07:52:45+00:00"
},
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.7.0",
@ -16626,5 +16603,5 @@
"platform-dev": {
"php": "^7.4|^8.0"
},
"plugin-api-version": "2.1.0"
"plugin-api-version": "2.3.0"
}

View File

@ -1,116 +0,0 @@
<?php
return [
/*
* DataTables search options.
*/
'search' => [
/*
* Smart search will enclose search keyword with wildcard string "%keyword%".
* SQL: column LIKE "%keyword%"
*/
'smart' => true,
/*
* Multi-term search will explode search keyword using spaces resulting into multiple term search.
*/
'multi_term' => true,
/*
* Case insensitive will search the keyword in lower case format.
* SQL: LOWER(column) LIKE LOWER(keyword)
*/
'case_insensitive' => true,
/*
* Wild card will add "%" in between every characters of the keyword.
* SQL: column LIKE "%k%e%y%w%o%r%d%"
*/
'use_wildcards' => false,
],
/*
* DataTables internal index id response column name.
*/
'index_column' => 'DT_RowIndex',
/*
* List of available builders for DataTables.
* This is where you can register your custom dataTables builder.
*/
'engines' => [
'eloquent' => \Yajra\DataTables\EloquentDataTable::class,
'query' => \Yajra\DataTables\QueryDataTable::class,
'collection' => \Yajra\DataTables\CollectionDataTable::class,
'resource' => \Yajra\DataTables\ApiResourceDataTable::class,
],
/*
* DataTables accepted builder to engine mapping.
* This is where you can override which engine a builder should use
* Note, only change this if you know what you are doing!
*/
'builders' => [
//Illuminate\Database\Eloquent\Relations\Relation::class => 'eloquent',
//Illuminate\Database\Eloquent\Builder::class => 'eloquent',
//Illuminate\Database\Query\Builder::class => 'query',
//Illuminate\Support\Collection::class => 'collection',
],
/*
* Nulls last sql pattern for Posgresql & Oracle.
* For MySQL, use '-%s %s'
*/
'nulls_last_sql' => '%s %s NULLS LAST',
/*
* User friendly message to be displayed on user if error occurs.
* Possible values:
* null - The exception message will be used on error response.
* 'throw' - Throws a \Yajra\DataTables\Exceptions\Exception. Use your custom error handler if needed.
* 'custom message' - Any friendly message to be displayed to the user. You can also use translation key.
*/
'error' => env('DATATABLES_ERROR', null),
/*
* Default columns definition of dataTable utility functions.
*/
'columns' => [
/*
* List of columns hidden/removed on json response.
*/
'excess' => ['rn', 'row_num'],
/*
* List of columns to be escaped. If set to *, all columns are escape.
* Note: You can set the value to empty array to disable XSS protection.
*/
'escape' => '*',
/*
* List of columns that are allowed to display html content.
* Note: Adding columns to list will make us available to XSS attacks.
*/
'raw' => ['action'],
/*
* List of columns are are forbidden from being searched/sorted.
*/
'blacklist' => ['password', 'remember_token'],
/*
* List of columns that are only allowed fo search/sort.
* If set to *, all columns are allowed.
*/
'whitelist' => '*',
],
/*
* JsonResponse header and options config.
*/
'json' => [
'header' => [],
'options' => 0,
],
];

80
config/flare.php Normal file
View File

@ -0,0 +1,80 @@
<?php
use Spatie\FlareClient\FlareMiddleware\AddGitInformation;
use Spatie\FlareClient\FlareMiddleware\RemoveRequestIp;
use Spatie\FlareClient\FlareMiddleware\CensorRequestBodyFields;
use Spatie\FlareClient\FlareMiddleware\CensorRequestHeaders;
use Spatie\LaravelIgnition\FlareMiddleware\AddDumps;
use Spatie\LaravelIgnition\FlareMiddleware\AddEnvironmentInformation;
use Spatie\LaravelIgnition\FlareMiddleware\AddExceptionInformation;
use Spatie\LaravelIgnition\FlareMiddleware\AddJobs;
use Spatie\LaravelIgnition\FlareMiddleware\AddLogs;
use Spatie\LaravelIgnition\FlareMiddleware\AddQueries;
use Spatie\LaravelIgnition\FlareMiddleware\AddNotifierName;
return [
/*
|
|--------------------------------------------------------------------------
| Flare API key
|--------------------------------------------------------------------------
|
| Specify Flare's API key below to enable error reporting to the service.
|
| More info: https://flareapp.io/docs/general/projects
|
*/
'key' => env('FLARE_KEY'),
/*
|--------------------------------------------------------------------------
| Middleware
|--------------------------------------------------------------------------
|
| These middleware will modify the contents of the report sent to Flare.
|
*/
'flare_middleware' => [
RemoveRequestIp::class,
AddGitInformation::class,
AddNotifierName::class,
AddEnvironmentInformation::class,
AddExceptionInformation::class,
AddDumps::class,
AddLogs::class => [
'maximum_number_of_collected_logs' => 200,
],
AddQueries::class => [
'maximum_number_of_collected_queries' => 200,
'report_query_bindings' => true,
],
AddJobs::class => [
'max_chained_job_reporting_depth' => 5,
],
CensorRequestBodyFields::class => [
'censor_fields' => [
'password',
'password_confirmation',
],
],
CensorRequestHeaders::class => [
'headers' => [
'API-KEY',
]
]
],
/*
|--------------------------------------------------------------------------
| Reporting log statements
|--------------------------------------------------------------------------
|
| If this setting is `false` log statements won't be sent as events to Flare,
| no matter which error level you specified in the Flare log channel.
|
*/
'send_logs_as_events' => true,
];

View File

@ -1,99 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Gmail Configuration
|--------------------------------------------------------------------------
|
|
|
| Scopes Available:
|
| * all - Read, send, delete, and manage your email
| * compose - Manage drafts and send emails
| * insert - Insert mail into your mailbox
| * labels - Manage mailbox labels
| * metadata - View your email message metadata such as labels and headers, but not the email body
| * modify - View and modify but not delete your email
| * readonly - View your email messages and settings
| * send - Send email on your behalf
| * settings_basic - Manage your basic mail settings
| * settings_sharing - Manage your sensitive mail settings, including who can manage your mail
|
| Leaving the scopes empty fill use readonly
|
| Credentials File Name
|
*/
'project_id' => env('GOOGLE_PROJECT_ID'),
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect_url' => env('GOOGLE_REDIRECT_URI', '/'),
'state' => null,
'scopes' => [
'readonly',
'modify',
],
/*
|--------------------------------------------------------------------------
| Additional Scopes [URL Style]
|--------------------------------------------------------------------------
|
| 'additional_scopes' => [
| 'https://www.googleapis.com/auth/drive',
| 'https://www.googleapis.com/auth/documents'
| ],
|
|
*/
'additional_scopes' => [
],
'access_type' => 'offline',
'approval_prompt' => 'force',
/*
|--------------------------------------------------------------------------
| Credentials File Name
|--------------------------------------------------------------------------
|
| :email to use, clients email on the file
|
|
*/
'credentials_file_name' => env('GOOGLE_CREDENTIALS_NAME', 'gmail-json'),
/*
|--------------------------------------------------------------------------
| Allow Multiple Credentials
|--------------------------------------------------------------------------
|
| Allow the application to store multiple credential json files.
|
|
*/
'allow_multiple_credentials' => env('GOOGLE_ALLOW_MULTIPLE_CREDENTIALS', false),
/*
|--------------------------------------------------------------------------
| Allow Encryption for json Files
|--------------------------------------------------------------------------
|
| Use Laravel Encrypt in json Files
|
|
*/
'allow_json_encrypt' => env('GOOGLE_ALLOW_JSON_ENCRYPT', false),
];

209
config/ignition.php Normal file
View File

@ -0,0 +1,209 @@
<?php
use Spatie\Ignition\Solutions\SolutionProviders\BadMethodCallSolutionProvider;
use Spatie\Ignition\Solutions\SolutionProviders\MergeConflictSolutionProvider;
use Spatie\Ignition\Solutions\SolutionProviders\UndefinedPropertySolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\DefaultDbNameSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\GenericLaravelExceptionSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\IncorrectValetDbCredentialsSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\InvalidRouteActionSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingAppKeySolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingColumnSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingImportSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingLivewireComponentSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingMixManifestSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingViteManifestSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\RunningLaravelDuskInProductionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\TableNotFoundSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\UndefinedViewVariableSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\UnknownValidationSolutionProvider;
use Spatie\LaravelIgnition\Solutions\SolutionProviders\ViewNotFoundSolutionProvider;
return [
/*
|--------------------------------------------------------------------------
| Editor
|--------------------------------------------------------------------------
|
| Choose your preferred editor to use when clicking any edit button.
|
| Supported: "phpstorm", "vscode", "vscode-insiders", "textmate", "emacs",
| "sublime", "atom", "nova", "macvim", "idea", "netbeans",
| "xdebug"
|
*/
'editor' => env('IGNITION_EDITOR', 'phpstorm'),
/*
|--------------------------------------------------------------------------
| Theme
|--------------------------------------------------------------------------
|
| Here you may specify which theme Ignition should use.
|
| Supported: "light", "dark", "auto"
|
*/
'theme' => env('IGNITION_THEME', 'auto'),
/*
|--------------------------------------------------------------------------
| Sharing
|--------------------------------------------------------------------------
|
| You can share local errors with colleagues or others around the world.
| Sharing is completely free and doesn't require an account on Flare.
|
| If necessary, you can completely disable sharing below.
|
*/
'enable_share_button' => env('IGNITION_SHARING_ENABLED', true),
/*
|--------------------------------------------------------------------------
| Register Ignition commands
|--------------------------------------------------------------------------
|
| Ignition comes with an additional make command that lets you create
| new solution classes more easily. To keep your default Laravel
| installation clean, this command is not registered by default.
|
| You can enable the command registration below.
|
*/
'register_commands' => env('REGISTER_IGNITION_COMMANDS', false),
/*
|--------------------------------------------------------------------------
| Solution Providers
|--------------------------------------------------------------------------
|
| You may specify a list of solution providers (as fully qualified class
| names) that shouldn't be loaded. Ignition will ignore these classes
| and possible solutions provided by them will never be displayed.
|
*/
'solution_providers' => [
// from spatie/ignition
BadMethodCallSolutionProvider::class,
MergeConflictSolutionProvider::class,
UndefinedPropertySolutionProvider::class,
// from spatie/laravel-ignition
IncorrectValetDbCredentialsSolutionProvider::class,
MissingAppKeySolutionProvider::class,
DefaultDbNameSolutionProvider::class,
TableNotFoundSolutionProvider::class,
MissingImportSolutionProvider::class,
InvalidRouteActionSolutionProvider::class,
ViewNotFoundSolutionProvider::class,
RunningLaravelDuskInProductionProvider::class,
MissingColumnSolutionProvider::class,
UnknownValidationSolutionProvider::class,
MissingMixManifestSolutionProvider::class,
MissingViteManifestSolutionProvider::class,
MissingLivewireComponentSolutionProvider::class,
UndefinedViewVariableSolutionProvider::class,
GenericLaravelExceptionSolutionProvider::class,
],
/*
|--------------------------------------------------------------------------
| Ignored Solution Providers
|--------------------------------------------------------------------------
|
| You may specify a list of solution providers (as fully qualified class
| names) that shouldn't be loaded. Ignition will ignore these classes
| and possible solutions provided by them will never be displayed.
|
*/
'ignored_solution_providers' => [
],
/*
|--------------------------------------------------------------------------
| Runnable Solutions
|--------------------------------------------------------------------------
|
| Some solutions that Ignition displays are runnable and can perform
| various tasks. By default, runnable solutions are enabled when your app
| has debug mode enabled. You may also fully disable this feature.
|
| Default: env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS', env('APP_DEBUG', false))
|
*/
'enable_runnable_solutions' => env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS', env('APP_DEBUG', false)),
/*
|--------------------------------------------------------------------------
| Remote Path Mapping
|--------------------------------------------------------------------------
|
| If you are using a remote dev server, like Laravel Homestead, Docker, or
| even a remote VPS, it will be necessary to specify your path mapping.
|
| Leaving one, or both of these, empty or null will not trigger the remote
| URL changes and Ignition will treat your editor links as local files.
|
| "remote_sites_path" is an absolute base path for your sites or projects
| in Homestead, Vagrant, Docker, or another remote development server.
|
| Example value: "/home/vagrant/Code"
|
| "local_sites_path" is an absolute base path for your sites or projects
| on your local computer where your IDE or code editor is running on.
|
| Example values: "/Users/<name>/Code", "C:\Users\<name>\Documents\Code"
|
*/
'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', base_path()),
'local_sites_path' => env('IGNITION_LOCAL_SITES_PATH', ''),
/*
|--------------------------------------------------------------------------
| Housekeeping Endpoint Prefix
|--------------------------------------------------------------------------
|
| Ignition registers a couple of routes when it is enabled. Below you may
| specify a route prefix that will be used to host all internal links.
|
*/
'housekeeping_endpoint_prefix' => '_ignition',
/*
|--------------------------------------------------------------------------
| Settings File
|--------------------------------------------------------------------------
|
| Ignition allows you to save your settings to a specific global file.
|
| If no path is specified, a file with settings will be saved to the user's
| home directory. The directory depends on the OS and its settings but it's
| typically `~/.ignition.json`. In this case, the settings will be applied
| to all of your projects where Ignition is used and the path is not
| specified.
|
| However, if you want to store your settings on a project basis, or you
| want to keep them in another directory, you can specify a path where
| the settings file will be saved. The path should be an existing directory
| with correct write access.
| For example, create a new `ignition` folder in the storage directory and
| use `storage_path('ignition')` as the `settings_file_path`.
|
| Default value: '' (empty string)
*/
'settings_file_path' => '',
];

View File

@ -1,149 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default source repository type
|--------------------------------------------------------------------------
|
| The default source repository type you want to pull your updates from.
|
*/
'default' => env('SELF_UPDATER_SOURCE', 'github'),
/*
|--------------------------------------------------------------------------
| Version installed
|--------------------------------------------------------------------------
|
| Set this to the version of your software installed on your system.
|
*/
'version_installed' => env('SELF_UPDATER_VERSION_INSTALLED', config('ninja.app_tag')),
/*
|--------------------------------------------------------------------------
| Repository types
|--------------------------------------------------------------------------
|
| A repository can be of different types, which can be specified here.
| Current options:
| - github
| - http
|
*/
'repository_types' => [
'github' => [
'type' => 'github',
'repository_vendor' => env('SELF_UPDATER_REPO_VENDOR', 'invoiceninja'),
'repository_name' => env('SELF_UPDATER_REPO_NAME', 'invoiceninja'),
'repository_url' => 'https://github.com/',
'download_path' => env('SELF_UPDATER_DOWNLOAD_PATH', '/tmp'),
'private_access_token' => env('SELF_UPDATER_GITHUB_PRIVATE_ACCESS_TOKEN', ''),
'use_branch' => env('SELF_UPDATER_USE_BRANCH', ''),
],
'http' => [
'type' => 'http',
'repository_url' => env('SELF_UPDATER_REPO_URL', ''),
'pkg_filename_format' => env('SELF_UPDATER_PKG_FILENAME_FORMAT', 'v_VERSION_'),
'download_path' => env('SELF_UPDATER_DOWNLOAD_PATH', '/tmp'),
'private_access_token' => env('SELF_UPDATER_HTTP_PRIVATE_ACCESS_TOKEN', ''),
],
],
/*
|--------------------------------------------------------------------------
| Exclude folders from update
|--------------------------------------------------------------------------
|
| Specific folders which should not be updated and will be skipped during the
| update process.
|
| Here's already a list of good examples to skip. You may want to keep those.
|
*/
'exclude_folders' => [
'__MACOSX',
'node_modules',
'bootstrap/cache',
'bower',
'storage/app',
'storage/framework',
'storage/logs',
'storage/self-update',
'public/storage',
'vendor',
],
/*
|--------------------------------------------------------------------------
| Event Logging
|--------------------------------------------------------------------------
|
| Configure if fired events should be logged
|
*/
'log_events' => env('SELF_UPDATER_LOG_EVENTS', true),
/*
|--------------------------------------------------------------------------
| Notifications
|--------------------------------------------------------------------------
|
| Specify for which events you want to get notifications. Out of the box you can use 'mail'.
|
*/
'notifications' => [
'notifications' => [
\Codedge\Updater\Notifications\Notifications\UpdateSucceeded::class => ['mail'],
\Codedge\Updater\Notifications\Notifications\UpdateFailed::class => ['mail'],
\Codedge\Updater\Notifications\Notifications\UpdateAvailable::class => ['mail'],
],
/*
* Here you can specify the notifiable to which the notifications should be sent. The default
* notifiable will use the variables specified in this config file.
*/
'notifiable' => \Codedge\Updater\Notifications\Notifiable::class,
'mail' => [
'to' => [
'address' => env('SELF_UPDATER_MAILTO_ADDRESS', 'notifications@example.com'),
'name' => env('SELF_UPDATER_MAILTO_NAME', ''),
],
'from' => [
'address' => env('SELF_UPDATER_MAIL_FROM_ADDRESS', 'updater@example.com'),
'name' => env('SELF_UPDATER_MAIL_FROM_NAME', 'Update'),
],
],
],
/*
|---------------------------------------------------------------------------
| Register custom artisan commands
|---------------------------------------------------------------------------
*/
'artisan_commands' => [
'pre_update' => [
//'command:signature' => [
// 'class' => Command class
// 'params' => []
//]
],
'post_update' => [
'postupdate:cleanup' => [
'class' => \App\Console\Commands\PostUpdate::class,
],
],
],
];

View File

@ -9,7 +9,7 @@
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace Tests;
namespace Tests\Feature;
use App\Models\Client;
use App\Models\PurchaseOrder;
@ -18,6 +18,8 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Str;
use Tests\MockAccountData;
use Tests\TestCase;
class PurchaseOrderTest extends TestCase
{