Update to Laravel 6

This commit is contained in:
Deon George 2020-01-11 13:36:11 +11:00
parent 8224fba840
commit c941fcb148
19 changed files with 1867 additions and 2161 deletions

View File

@ -2,9 +2,8 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller class LoginController extends Controller
{ {
@ -43,6 +42,11 @@ class LoginController extends Controller
*/ */
public function showLoginForm() public function showLoginForm()
{ {
return view('adminlte::auth.login'); $login_note = '';
if (file_exists('login_note.txt'))
$login_note = file_get_contents('login_note.txt');
return view('adminlte::auth.login')->with('login_note',$login_note);
} }
} }

View File

@ -3,6 +3,7 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
class Site extends Model class Site extends Model
@ -72,7 +73,7 @@ class Site extends Model
'top_menu' => [], 'top_menu' => [],
]; ];
return array_get($default,$key); return Arr::get($default,$key);
} }
public function getSiteLogoAttribute() public function getSiteLogoAttribute()
@ -264,7 +265,7 @@ class Site extends Model
public function aboutus() public function aboutus()
{ {
// @todo To be implemented // @todo To be implemented
return array_get($this->_sampledata(),'aboutus'); return Arr::get($this->_sampledata(),'aboutus');
} }
private function _address() private function _address()

0
artisan Executable file → Normal file
View File

View File

@ -1,42 +1,35 @@
{ {
"name": "laravel/laravel", "name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.", "description": "The Laravel Framework.",
"keywords": [ "keywords": [
"framework", "framework",
"laravel" "laravel"
], ],
"license": "MIT", "license": "MIT",
"type": "project",
"require": { "require": {
"php": "^7.1.3", "php": "^7.2",
"acacha/user": "^0.2.2",
"barryvdh/laravel-debugbar": "^3.2", "barryvdh/laravel-debugbar": "^3.2",
"barryvdh/laravel-snappy": "^0.4.4", "barryvdh/laravel-snappy": "^0.4.6",
"clarkeash/doorman": "^2.0", "clarkeash/doorman": "^4.0",
"creativeorange/gravatar": "^1.0",
"doctrine/dbal": "^2.9",
"fideloper/proxy": "^4.0", "fideloper/proxy": "^4.0",
"h4cc/wkhtmltoimage-amd64": "0.12.x", "h4cc/wkhtmltoimage-amd64": "^0.12.4",
"h4cc/wkhtmltopdf-amd64": "0.12.x", "h4cc/wkhtmltopdf-amd64": "^0.12.4",
"intervention/image": "^2.4", "intervention/image": "^2.5",
"laravel/framework": "5.8.*", "laravel/framework": "^6.4",
"laravel/passport": "^7.3", "laravel/passport": "^8.2",
"laravel/socialite": "^4.1", "laravel/socialite": "^4.2",
"laravel/tinker": "^1.0", "laravel/tinker": "^1.0",
"leenooks/laravel": "^0.3.10", "leenooks/laravel": "^6.0",
"quickbooks/v3-php-sdk": "^5.0", "spatie/laravel-demo-mode": "^2.5",
"spatie/laravel-demo-mode": "^2.2", "spinen/laravel-quickbooks-client": "^3.1"
"spatie/laravel-failed-job-monitor": "^3.0",
"spatie/laravel-sitemap": "^5.2",
"spinen/laravel-quickbooks-client": "^3.0",
"tymon/jwt-auth": "^0.5.12"
}, },
"require-dev": { "require-dev": {
"filp/whoops": "^2.0", "facade/ignition": "1.11.1",
"fzaninotto/faker": "^1.4", "fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"nunomaduro/collision": "^3.0", "nunomaduro/collision": "^3.0",
"phpunit/phpunit": "^7.5" "phpunit/phpunit": "^8.0"
}, },
"config": { "config": {
"optimize-autoloader": true, "optimize-autoloader": true,
@ -66,6 +59,10 @@
{ {
"type": "vcs", "type": "vcs",
"url": "https://dev.leenooks.net/leenooks/laravel" "url": "https://dev.leenooks.net/leenooks/laravel"
},
{
"type": "vcs",
"url": "https://github.com/leenooks/laravel-theme"
} }
], ],
"minimum-stability": "dev", "minimum-stability": "dev",

3754
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -179,11 +179,8 @@ return [
/* /*
* Other Service Providers... * Other Service Providers...
*/ */
Acacha\User\Providers\GuestUserServiceProvider::class,
Orchestra\Asset\AssetServiceProvider::class, Orchestra\Asset\AssetServiceProvider::class,
Collective\Html\HtmlServiceProvider::class, Collective\Html\HtmlServiceProvider::class,
Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,
Barryvdh\Snappy\ServiceProvider::class,
], ],
/* /*

View File

@ -37,7 +37,7 @@ return [
'app_id' => env('PUSHER_APP_ID'), 'app_id' => env('PUSHER_APP_ID'),
'options' => [ 'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'), 'cluster' => env('PUSHER_APP_CLUSTER'),
'encrypted' => true, 'useTLS' => true,
], ],
], ],

View File

@ -1,5 +1,7 @@
<?php <?php
use Illuminate\Support\Str;
return [ return [
/* /*
@ -11,7 +13,8 @@ return [
| using this caching library. This connection is used when another is | using this caching library. This connection is used when another is
| not explicitly specified when executing a given caching function. | not explicitly specified when executing a given caching function.
| |
| Supported: "apc", "array", "database", "file", "memcached", "redis" | Supported: "apc", "array", "database", "file",
| "memcached", "redis", "dynamodb"
| |
*/ */
@ -70,7 +73,16 @@ return [
'redis' => [ 'redis' => [
'driver' => 'redis', 'driver' => 'redis',
'connection' => 'default', 'connection' => 'cache',
],
'dynamodb' => [
'driver' => 'dynamodb',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
'endpoint' => env('DYNAMODB_ENDPOINT'),
], ],
], ],
@ -86,9 +98,6 @@ return [
| |
*/ */
'prefix' => env( 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
'CACHE_PREFIX',
str_slug(env('APP_NAME', 'laravel'), '_').'_cache'
),
]; ];

View File

@ -1,5 +1,7 @@
<?php <?php
use Illuminate\Support\Str;
return [ return [
/* /*
@ -35,27 +37,35 @@ return [
'sqlite' => [ 'sqlite' => [
'driver' => 'sqlite', 'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')), 'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '', 'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
], ],
'mysql' => [ 'mysql' => [
'driver' => 'mysql', 'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'), 'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'), 'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'billing'), 'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'billing'), 'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', 'billing'), 'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''), 'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4', 'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci', 'collation' => 'utf8mb4_unicode_ci',
'prefix' => '', 'prefix' => '',
'prefix_indexes' => true,
'strict' => true, 'strict' => true,
'engine' => null, 'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
], ],
'pgsql' => [ 'pgsql' => [
'driver' => 'pgsql', 'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'), 'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'), 'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'), 'database' => env('DB_DATABASE', 'forge'),
@ -63,12 +73,14 @@ return [
'password' => env('DB_PASSWORD', ''), 'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8', 'charset' => 'utf8',
'prefix' => '', 'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public', 'schema' => 'public',
'sslmode' => 'prefer', 'sslmode' => 'prefer',
], ],
'sqlsrv' => [ 'sqlsrv' => [
'driver' => 'sqlsrv', 'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'), 'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'), 'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'), 'database' => env('DB_DATABASE', 'forge'),
@ -76,20 +88,9 @@ return [
'password' => env('DB_PASSWORD', ''), 'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8', 'charset' => 'utf8',
'prefix' => '', 'prefix' => '',
'prefix_indexes' => true,
], ],
'cockroach' => [
'driver' => 'cockroach',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '26257'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => env('DB_DATABASE', 'forge'),
'sslmode' => 'prefer',
],
], ],
/* /*
@ -111,20 +112,34 @@ return [
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| Redis is an open source, fast, and advanced key-value store that also | Redis is an open source, fast, and advanced key-value store that also
| provides a richer set of commands than a typical key-value systems | provides a richer body of commands than a typical key-value system
| such as APC or Memcached. Laravel makes it easy to dig right in. | such as APC or Memcached. Laravel makes it easy to dig right in.
| |
*/ */
'redis' => [ 'redis' => [
'client' => 'predis', 'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [ 'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'), 'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null), 'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379), 'port' => env('REDIS_PORT', 6379),
'database' => 0, 'database' => env('REDIS_DB', 0),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
], ],
], ],

View File

@ -37,7 +37,7 @@ return [
| may even configure multiple disks of the same driver. Defaults have | may even configure multiple disks of the same driver. Defaults have
| been setup for each driver as an example of the required options. | been setup for each driver as an example of the required options.
| |
| Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" | Supported Drivers: "local", "ftp", "sftp", "s3"
| |
*/ */

View File

@ -1,5 +1,6 @@
<?php <?php
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler; use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler; use Monolog\Handler\SyslogUdpHandler;
@ -89,6 +90,11 @@ return [
'driver' => 'errorlog', 'driver' => 'errorlog',
'level' => 'debug', 'level' => 'debug',
], ],
'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],
], ],
]; ];

View File

@ -11,8 +11,8 @@ return [
| sending of e-mail. You may specify which one you're using throughout | sending of e-mail. You may specify which one you're using throughout
| your application here. By default, Laravel is setup for SMTP mail. | your application here. By default, Laravel is setup for SMTP mail.
| |
| Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses", | Supported: "smtp", "sendmail", "mailgun", "ses",
| "sparkpost", "postmark", "log", "array" | "postmark", "log", "array"
| |
*/ */

View File

@ -80,6 +80,7 @@ return [
*/ */
'failed' => [ 'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database'),
'database' => env('DB_CONNECTION', 'mysql'), 'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs', 'table' => 'failed_jobs',
], ],

View File

@ -8,9 +8,9 @@ return [
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| This file is for storing the credentials for third party services such | This file is for storing the credentials for third party services such
| as Stripe, Mailgun, SparkPost and others. This file provides a sane | as Mailgun, Postmark, AWS and more. This file provides the de facto
| default location for this type of information, allowing packages | location for this type of information, allowing packages to have
| to have a conventional place to find your various credentials. | a conventional file to locate the various service credentials.
| |
*/ */
@ -30,20 +30,6 @@ return [
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
], ],
'sparkpost' => [
'secret' => env('SPARKPOST_SECRET'),
],
'stripe' => [
'model' => App\User::class,
'key' => env('STRIPE_KEY'),
'secret' => env('STRIPE_SECRET'),
'webhook' => [
'secret' => env('STRIPE_WEBHOOK_SECRET'),
'tolerance' => env('STRIPE_WEBHOOK_TOLERANCE', 300),
],
],
'ezypay' => [ 'ezypay' => [
'plugin' => 'DD_EZYPAY', 'plugin' => 'DD_EZYPAY',
'base_uri' => 'https://api.ezypay.com/api/v1/', 'base_uri' => 'https://api.ezypay.com/api/v1/',

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -32,6 +32,7 @@
<address> <address>
<strong>{{ $so->site_name }}</strong><br> <strong>{{ $so->site_name }}</strong><br>
{!! $so->address('html') !!}<br> {!! $so->address('html') !!}<br>
<br>
<strong>Email:</strong> {{ $so->site_email }}<br> <strong>Email:</strong> {{ $so->site_email }}<br>
<strong>Phone:</strong> {{ $so->site_phone }} <strong>Phone:</strong> {{ $so->site_phone }}
</address> </address>
@ -42,11 +43,11 @@
<address> <address>
<strong>{{ $o->account->company }}</strong><br> <strong>{{ $o->account->company }}</strong><br>
{!! $o->account->address('html') !!}<br> {!! $o->account->address('html') !!}<br>
<br>
<strong>Email:</strong> {{ $o->account->email }}<br> <strong>Email:</strong> {{ $o->account->email }}<br>
@if ($o->account->phone) @if ($o->account->phone)
<strong>Phone:</strong> {{ $o->account->phone }}<br> <strong>Phone:</strong> {{ $o->account->phone }}<br>
@endif @endif
<strong>Account:</strong> {{ $o->account->account_id }}
</address> </address>
</div> </div>
{{-- col-sm-offset-2 not working here --}} {{-- col-sm-offset-2 not working here --}}
@ -54,15 +55,17 @@
<div class="col-md-3 invoice-col"> <div class="col-md-3 invoice-col">
<table class="table table-borderless text-right" style="font-size: 1.1rem;"> <table class="table table-borderless text-right" style="font-size: 1.1rem;">
<tr >
<td class="p-0">Account:</td><td class="p-0"><strong>{{ $o->account->account_id }}</strong></td>
</tr>
<tr > <tr >
<td class="p-0">Invoice:</td><td class="p-0"><strong>{{ $o->invoice_id }}</strong></td> <td class="p-0">Invoice:</td><td class="p-0"><strong>{{ $o->invoice_id }}</strong></td>
</tr> </tr>
<tr> <tr>
<td class="p-0">Payment Due:</td><td class="p-0"><strong>{{ $o->due_date->format('Y-m-d') }}</strong></td> <td class="p-0">Payment Due:</td><td class="p-0"><strong>{{ $o->due_date->format('Y-m-d') }}</strong></td>
</tr> </tr>
<tr> <tr>
<td class="p-0">Total:</td><td class="p-0"><strong>${{ number_format($o->total,$o->currency()->rounding) }}</strong></td> <td class="p-0">Total Due:</td><td class="p-0"><strong>${{ number_format($o->total,$o->currency()->rounding) }}</strong></td>
</tr> </tr>
</table> </table>
</div> </div>
@ -72,7 +75,7 @@
<!-- Table row --> <!-- Table row -->
<div class="row"> <div class="row">
<div class="col-12 table-responsive"> <div class="col-12 table-responsive">
<table id="restripe" class="table table-borderless table-striped" width="100%"> <table id="restripe" class="table" width="100%">
<thead> <thead>
<tr> <tr>
<th>Qty</th> <th>Qty</th>
@ -134,7 +137,7 @@
<!-- /.col --> <!-- /.col -->
<div class="offset-2 col-4 table-responsive"> <div class="offset-2 col-4 table-responsive">
<table class="table table-borderless"> <table class="table">
<tr> <tr>
<th colspan="2" style="width:50%">Subtotal:</th> <th colspan="2" style="width:50%">Subtotal:</th>
<td class="text-right">${{ number_format($o->sub_total,$o->currency()->rounding) }}</td> <td class="text-right">${{ number_format($o->sub_total,$o->currency()->rounding) }}</td>
@ -160,9 +163,15 @@
<td class="text-right">${{ number_format($o->paid,$o->currency()->rounding) }}</td> <td class="text-right">${{ number_format($o->paid,$o->currency()->rounding) }}</td>
</tr> </tr>
<tr> <tr>
<th colspan="2">Account Due:</th> <th colspan="2">Invoice Total Due:</th>
<td class="text-right">${{ number_format($o->due,$o->currency()->rounding) }}</td> <td class="text-right">${{ number_format($o->due,$o->currency()->rounding) }}</td>
</tr> </tr>
{{--
<tr>
<th colspan="2">Account Due:</th>
<td class="text-right">${{ number_format($o->account->due,$o->currency()->rounding) }}</td>
</tr>
--}}
@endif @endif
</table> </table>
</div> </div>
@ -173,7 +182,7 @@
<!-- this row will not appear when printing --> <!-- this row will not appear when printing -->
<div class="row d-print-none"> <div class="row d-print-none">
<div class="col-12"> <div class="col-12">
<a href="javascript:window.print();" target="_blank" class="btn btn-default"><i class="fa fa-print"></i> Print</a> <a href="javascript:window.print();" class="btn btn-default"><i class="fa fa-print"></i> Print</a>
@if($o->id) @if($o->id)
<button type="button" class="btn btn-success pull-right"><i class="fa fa-credit-card"></i> Submit Payment</button> <button type="button" class="btn btn-success pull-right"><i class="fa fa-credit-card"></i> Submit Payment</button>
<a href="{{ url(sprintf('u/invoice/%s/pdf',$o->id)) }}" class="btn btn-primary pull-right" style="margin-right: 5px;"> <a href="{{ url(sprintf('u/invoice/%s/pdf',$o->id)) }}" class="btn btn-primary pull-right" style="margin-right: 5px;">