From f9d4295656f02709f5e052a2effea775a0d06787 Mon Sep 17 00:00:00 2001 From: Fahim Date: Wed, 8 Sep 2021 14:39:22 +0600 Subject: [PATCH] Added: Sales Report --- .env.example | 6 +- Modules/Reports/Config/.gitkeep | 0 Modules/Reports/Config/config.php | 5 + Modules/Reports/Console/.gitkeep | 0 Modules/Reports/Database/Migrations/.gitkeep | 0 Modules/Reports/Database/Seeders/.gitkeep | 0 .../Seeders/ReportsDatabaseSeeder.php | 21 + Modules/Reports/Database/factories/.gitkeep | 0 Modules/Reports/Entities/.gitkeep | 0 Modules/Reports/Http/Controllers/.gitkeep | 0 .../Http/Controllers/ReportsController.php | 14 + Modules/Reports/Http/Middleware/.gitkeep | 0 Modules/Reports/Http/Requests/.gitkeep | 0 Modules/Reports/Providers/.gitkeep | 0 .../Providers/ReportsServiceProvider.php | 112 ++++++ .../Providers/RouteServiceProvider.php | 69 ++++ Modules/Reports/Resources/assets/.gitkeep | 0 Modules/Reports/Resources/assets/js/app.js | 0 .../Reports/Resources/assets/sass/app.scss | 0 Modules/Reports/Resources/lang/.gitkeep | 0 Modules/Reports/Resources/views/.gitkeep | 0 .../Resources/views/sales/index.blade.php | 16 + Modules/Reports/Routes/.gitkeep | 0 Modules/Reports/Routes/api.php | 18 + Modules/Reports/Routes/web.php | 18 + Modules/Reports/Tests/Feature/.gitkeep | 0 Modules/Reports/Tests/Unit/.gitkeep | 0 Modules/Reports/composer.json | 23 ++ Modules/Reports/module.json | 13 + Modules/Reports/package.json | 17 + Modules/Reports/webpack.mix.js | 14 + app/Http/Livewire/Reports/SalesReport.php | 60 +++ composer.lock | 378 +++++++++--------- modules_statuses.json | 3 +- resources/views/layouts/menu.blade.php | 19 +- .../livewire/reports/sales-report.blade.php | 156 ++++++++ 36 files changed, 768 insertions(+), 194 deletions(-) create mode 100644 Modules/Reports/Config/.gitkeep create mode 100644 Modules/Reports/Config/config.php create mode 100644 Modules/Reports/Console/.gitkeep create mode 100644 Modules/Reports/Database/Migrations/.gitkeep create mode 100644 Modules/Reports/Database/Seeders/.gitkeep create mode 100644 Modules/Reports/Database/Seeders/ReportsDatabaseSeeder.php create mode 100644 Modules/Reports/Database/factories/.gitkeep create mode 100644 Modules/Reports/Entities/.gitkeep create mode 100644 Modules/Reports/Http/Controllers/.gitkeep create mode 100644 Modules/Reports/Http/Controllers/ReportsController.php create mode 100644 Modules/Reports/Http/Middleware/.gitkeep create mode 100644 Modules/Reports/Http/Requests/.gitkeep create mode 100644 Modules/Reports/Providers/.gitkeep create mode 100644 Modules/Reports/Providers/ReportsServiceProvider.php create mode 100644 Modules/Reports/Providers/RouteServiceProvider.php create mode 100644 Modules/Reports/Resources/assets/.gitkeep create mode 100644 Modules/Reports/Resources/assets/js/app.js create mode 100644 Modules/Reports/Resources/assets/sass/app.scss create mode 100644 Modules/Reports/Resources/lang/.gitkeep create mode 100644 Modules/Reports/Resources/views/.gitkeep create mode 100644 Modules/Reports/Resources/views/sales/index.blade.php create mode 100644 Modules/Reports/Routes/.gitkeep create mode 100644 Modules/Reports/Routes/api.php create mode 100644 Modules/Reports/Routes/web.php create mode 100644 Modules/Reports/Tests/Feature/.gitkeep create mode 100644 Modules/Reports/Tests/Unit/.gitkeep create mode 100644 Modules/Reports/composer.json create mode 100644 Modules/Reports/module.json create mode 100644 Modules/Reports/package.json create mode 100644 Modules/Reports/webpack.mix.js create mode 100644 app/Http/Livewire/Reports/SalesReport.php create mode 100644 resources/views/livewire/reports/sales-report.blade.php diff --git a/.env.example b/.env.example index 35af0d8b..5b7e8f87 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,7 @@ APP_NAME="Triangle POS" APP_ENV=local APP_KEY= APP_DEBUG=true -APP_URL=http://localhost +APP_URL=http://127.0.0.1:8000 DEBUGBAR_ENABLED=false @@ -12,8 +12,8 @@ LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 -DB_DATABASE=laravel -DB_USERNAME=root +DB_DATABASE=triangle_pos +DB_USERNAME= DB_PASSWORD= BROADCAST_DRIVER=log diff --git a/Modules/Reports/Config/.gitkeep b/Modules/Reports/Config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Config/config.php b/Modules/Reports/Config/config.php new file mode 100644 index 00000000..930b23bf --- /dev/null +++ b/Modules/Reports/Config/config.php @@ -0,0 +1,5 @@ + 'Reports' +]; diff --git a/Modules/Reports/Console/.gitkeep b/Modules/Reports/Console/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Database/Migrations/.gitkeep b/Modules/Reports/Database/Migrations/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Database/Seeders/.gitkeep b/Modules/Reports/Database/Seeders/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Database/Seeders/ReportsDatabaseSeeder.php b/Modules/Reports/Database/Seeders/ReportsDatabaseSeeder.php new file mode 100644 index 00000000..9a74917e --- /dev/null +++ b/Modules/Reports/Database/Seeders/ReportsDatabaseSeeder.php @@ -0,0 +1,21 @@ +call("OthersTableSeeder"); + } +} diff --git a/Modules/Reports/Database/factories/.gitkeep b/Modules/Reports/Database/factories/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Entities/.gitkeep b/Modules/Reports/Entities/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Http/Controllers/.gitkeep b/Modules/Reports/Http/Controllers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Http/Controllers/ReportsController.php b/Modules/Reports/Http/Controllers/ReportsController.php new file mode 100644 index 00000000..b4e179c7 --- /dev/null +++ b/Modules/Reports/Http/Controllers/ReportsController.php @@ -0,0 +1,14 @@ +registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->loadMigrationsFrom(module_path($this->moduleName, 'Database/Migrations')); + } + + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + $this->app->register(RouteServiceProvider::class); + } + + /** + * Register config. + * + * @return void + */ + protected function registerConfig() + { + $this->publishes([ + module_path($this->moduleName, 'Config/config.php') => config_path($this->moduleNameLower . '.php'), + ], 'config'); + $this->mergeConfigFrom( + module_path($this->moduleName, 'Config/config.php'), $this->moduleNameLower + ); + } + + /** + * Register views. + * + * @return void + */ + public function registerViews() + { + $viewPath = resource_path('views/modules/' . $this->moduleNameLower); + + $sourcePath = module_path($this->moduleName, 'Resources/views'); + + $this->publishes([ + $sourcePath => $viewPath + ], ['views', $this->moduleNameLower . '-module-views']); + + $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); + } + + /** + * Register translations. + * + * @return void + */ + public function registerTranslations() + { + $langPath = resource_path('lang/modules/' . $this->moduleNameLower); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, $this->moduleNameLower); + } else { + $this->loadTranslationsFrom(module_path($this->moduleName, 'Resources/lang'), $this->moduleNameLower); + } + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides() + { + return []; + } + + private function getPublishableViewPaths(): array + { + $paths = []; + foreach (\Config::get('view.paths') as $path) { + if (is_dir($path . '/modules/' . $this->moduleNameLower)) { + $paths[] = $path . '/modules/' . $this->moduleNameLower; + } + } + return $paths; + } +} diff --git a/Modules/Reports/Providers/RouteServiceProvider.php b/Modules/Reports/Providers/RouteServiceProvider.php new file mode 100644 index 00000000..9708ef3e --- /dev/null +++ b/Modules/Reports/Providers/RouteServiceProvider.php @@ -0,0 +1,69 @@ +mapApiRoutes(); + + $this->mapWebRoutes(); + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapWebRoutes() + { + Route::middleware('web') + ->namespace($this->moduleNamespace) + ->group(module_path('Reports', '/Routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @return void + */ + protected function mapApiRoutes() + { + Route::prefix('api') + ->middleware('api') + ->namespace($this->moduleNamespace) + ->group(module_path('Reports', '/Routes/api.php')); + } +} diff --git a/Modules/Reports/Resources/assets/.gitkeep b/Modules/Reports/Resources/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Resources/assets/js/app.js b/Modules/Reports/Resources/assets/js/app.js new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Resources/assets/sass/app.scss b/Modules/Reports/Resources/assets/sass/app.scss new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Resources/lang/.gitkeep b/Modules/Reports/Resources/lang/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Resources/views/.gitkeep b/Modules/Reports/Resources/views/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Resources/views/sales/index.blade.php b/Modules/Reports/Resources/views/sales/index.blade.php new file mode 100644 index 00000000..b24ec45e --- /dev/null +++ b/Modules/Reports/Resources/views/sales/index.blade.php @@ -0,0 +1,16 @@ +@extends('layouts.app') + +@section('title', 'Sales Report') + +@section('breadcrumb') + +@endsection + +@section('content') +
+ +
+@endsection diff --git a/Modules/Reports/Routes/.gitkeep b/Modules/Reports/Routes/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Routes/api.php b/Modules/Reports/Routes/api.php new file mode 100644 index 00000000..fe429ba7 --- /dev/null +++ b/Modules/Reports/Routes/api.php @@ -0,0 +1,18 @@ +get('/reports', function (Request $request) { + return $request->user(); +}); \ No newline at end of file diff --git a/Modules/Reports/Routes/web.php b/Modules/Reports/Routes/web.php new file mode 100644 index 00000000..c8bb89dc --- /dev/null +++ b/Modules/Reports/Routes/web.php @@ -0,0 +1,18 @@ + 'auth'], function () { + //Sales Report + Route::get('/sales-report', 'ReportsController@salesReport') + ->name('sales-report.index'); +}); diff --git a/Modules/Reports/Tests/Feature/.gitkeep b/Modules/Reports/Tests/Feature/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/Tests/Unit/.gitkeep b/Modules/Reports/Tests/Unit/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Reports/composer.json b/Modules/Reports/composer.json new file mode 100644 index 00000000..2bca43b9 --- /dev/null +++ b/Modules/Reports/composer.json @@ -0,0 +1,23 @@ +{ + "name": "nwidart/reports", + "description": "", + "authors": [ + { + "name": "Nicolas Widart", + "email": "n.widart@gmail.com" + } + ], + "extra": { + "laravel": { + "providers": [], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\Reports\\": "" + } + } +} diff --git a/Modules/Reports/module.json b/Modules/Reports/module.json new file mode 100644 index 00000000..45a01239 --- /dev/null +++ b/Modules/Reports/module.json @@ -0,0 +1,13 @@ +{ + "name": "Reports", + "alias": "reports", + "description": "", + "keywords": [], + "priority": 0, + "providers": [ + "Modules\\Reports\\Providers\\ReportsServiceProvider" + ], + "aliases": {}, + "files": [], + "requires": [] +} diff --git a/Modules/Reports/package.json b/Modules/Reports/package.json new file mode 100644 index 00000000..4599509f --- /dev/null +++ b/Modules/Reports/package.json @@ -0,0 +1,17 @@ +{ + "private": true, + "scripts": { + "dev": "npm run development", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch-poll": "npm run watch -- --watch-poll", + "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "prod": "npm run production", + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + }, + "devDependencies": { + "cross-env": "^7.0", + "laravel-mix": "^5.0.1", + "laravel-mix-merge-manifest": "^0.1.2" + } +} diff --git a/Modules/Reports/webpack.mix.js b/Modules/Reports/webpack.mix.js new file mode 100644 index 00000000..fd6a3f59 --- /dev/null +++ b/Modules/Reports/webpack.mix.js @@ -0,0 +1,14 @@ +const dotenvExpand = require('dotenv-expand'); +dotenvExpand(require('dotenv').config({ path: '../../.env'/*, debug: true*/})); + +const mix = require('laravel-mix'); +require('laravel-mix-merge-manifest'); + +mix.setPublicPath('../../public').mergeManifest(); + +mix.js(__dirname + '/Resources/assets/js/app.js', 'js/reports.js') + .sass( __dirname + '/Resources/assets/sass/app.scss', 'css/reports.css'); + +if (mix.inProduction()) { + mix.version(); +} diff --git a/app/Http/Livewire/Reports/SalesReport.php b/app/Http/Livewire/Reports/SalesReport.php new file mode 100644 index 00000000..65bc8101 --- /dev/null +++ b/app/Http/Livewire/Reports/SalesReport.php @@ -0,0 +1,60 @@ + 'required|date|before:end_date', + 'end_date' => 'required|date|after:start_date', + ]; + + public function mount($customers) { + $this->customers = $customers; + $this->start_date = today()->subDays(30)->format('Y-m-d'); + $this->end_date = today()->format('Y-m-d'); + $this->customer_id = ''; + $this->sale_status = ''; + $this->payment_status = ''; + } + + public function render() { + $sales = Sale::whereDate('date', '>=', $this->start_date) + ->whereDate('date', '<=', $this->end_date) + ->when($this->customer_id, function ($query) { + return $query->where('customer_id', $this->customer_id); + }) + ->when($this->sale_status, function ($query) { + return $query->where('status', $this->sale_status); + }) + ->when($this->payment_status, function ($query) { + return $query->where('payment_status', $this->payment_status); + }) + ->orderBy('date', 'desc')->paginate(10); + + return view('livewire.reports.sales-report', [ + 'sales' => $sales + ]); + } + + public function generateReport() { + $this->validate(); + $this->render(); + } +} diff --git a/composer.lock b/composer.lock index 04aa0bd3..1a8e9741 100644 --- a/composer.lock +++ b/composer.lock @@ -129,16 +129,16 @@ }, { "name": "brick/math", - "version": "0.9.2", + "version": "0.9.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", "shasum": "" }, "require": { @@ -148,7 +148,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.3.2" + "vimeo/psalm": "4.9.2" }, "type": "library", "autoload": { @@ -173,15 +173,19 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.2" + "source": "https://github.com/brick/math/tree/0.9.3" }, "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/brick/math", "type": "tidelift" } ], - "time": "2021-01-20T22:51:39+00:00" + "time": "2021-08-15T20:50:18+00:00" }, { "name": "bumbummen99/shoppingcart", @@ -824,31 +828,26 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.0.1", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" + "reference": "84afea85c6841deeea872f36249a206e878a5de0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", - "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/84afea85c6841deeea872f36249a206e878a5de0", + "reference": "84afea85c6841deeea872f36249a206e878a5de0", "shasum": "" }, "require": { - "php": "^7.0|^8.0", - "phpoption/phpoption": "^1.7.3" + "php": "^7.0 || ^8.0", + "phpoption/phpoption": "^1.8" }, "require-dev": { - "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" + "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { "psr-4": { "GrahamCampbell\\ResultType\\": "src/" @@ -861,7 +860,7 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com" + "email": "hello@gjcampbell.co.uk" } ], "description": "An Implementation Of The Result Type", @@ -874,7 +873,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.2" }, "funding": [ { @@ -886,7 +885,7 @@ "type": "tidelift" } ], - "time": "2020-04-13T13:17:36+00:00" + "time": "2021-08-28T21:34:50+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1331,16 +1330,16 @@ }, { "name": "laravel/framework", - "version": "v8.54.0", + "version": "v8.59.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "7b88554cd1aeb52b7f82689bf244182e7a81894b" + "reference": "51d4755cc6232e7f8abb437567d713fa37661da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/7b88554cd1aeb52b7f82689bf244182e7a81894b", - "reference": "7b88554cd1aeb52b7f82689bf244182e7a81894b", + "url": "https://api.github.com/repos/laravel/framework/zipball/51d4755cc6232e7f8abb437567d713fa37661da2", + "reference": "51d4755cc6232e7f8abb437567d713fa37661da2", "shasum": "" }, "require": { @@ -1413,7 +1412,7 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.186.4", + "aws/aws-sdk-php": "^3.189.0", "doctrine/dbal": "^2.6|^3.0", "filp/whoops": "^2.8", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", @@ -1426,7 +1425,7 @@ "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.186.4).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.189.0).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -1495,7 +1494,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-08-10T14:25:51+00:00" + "time": "2021-09-07T13:29:53+00:00" }, { "name": "laravel/tinker", @@ -1697,21 +1696,21 @@ }, { "name": "league/commonmark", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "0d57f20aa03129ee7ef5f690e634884315d4238c" + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/0d57f20aa03129ee7ef5f690e634884315d4238c", - "reference": "0d57f20aa03129ee7ef5f690e634884315d4238c", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2df87709f44b0dd733df86aef0830dce9b1f0f13", + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13", "shasum": "" }, "require": { "ext-mbstring": "*", - "league/config": "^1.1", + "league/config": "^1.1.1", "php": "^7.4 || ^8.0", "psr/event-dispatcher": "^1.0", "symfony/polyfill-php80": "^1.15" @@ -1804,24 +1803,24 @@ "type": "tidelift" } ], - "time": "2021-07-31T19:15:22+00:00" + "time": "2021-08-14T14:06:04+00:00" }, { "name": "league/config", - "version": "v1.1.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/thephpleague/config.git", - "reference": "20d42d88f12a76ff862e17af4f14a5a4bbfd0925" + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/20d42d88f12a76ff862e17af4f14a5a4bbfd0925", - "reference": "20d42d88f12a76ff862e17af4f14a5a4bbfd0925", + "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", "shasum": "" }, "require": { - "dflydev/dot-access-data": "^3.0", + "dflydev/dot-access-data": "^3.0.1", "nette/schema": "^1.2", "php": "^7.4 || ^8.0" }, @@ -1886,20 +1885,20 @@ "type": "github" } ], - "time": "2021-06-19T15:52:37+00:00" + "time": "2021-08-14T12:15:32+00:00" }, { "name": "league/flysystem", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" + "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/18634df356bfd4119fe3d6156bdb990c414c14ea", + "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea", "shasum": "" }, "require": { @@ -1972,7 +1971,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.5" }, "funding": [ { @@ -1980,7 +1979,7 @@ "type": "other" } ], - "time": "2021-06-23T21:56:05+00:00" + "time": "2021-08-17T13:49:42+00:00" }, { "name": "league/fractal", @@ -2793,16 +2792,16 @@ }, { "name": "nesbot/carbon", - "version": "2.51.1", + "version": "2.53.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922" + "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", - "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", + "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", "shasum": "" }, "require": { @@ -2814,7 +2813,7 @@ }, "require-dev": { "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", @@ -2883,7 +2882,7 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:16:28+00:00" + "time": "2021-09-06T09:29:23+00:00" }, { "name": "nette/schema", @@ -2949,16 +2948,16 @@ }, { "name": "nette/utils", - "version": "v3.2.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" + "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", - "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", + "url": "https://api.github.com/repos/nette/utils/zipball/5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822", + "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822", "shasum": "" }, "require": { @@ -3028,9 +3027,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.2" + "source": "https://github.com/nette/utils/tree/v3.2.3" }, - "time": "2021-03-03T22:53:25+00:00" + "time": "2021-08-16T21:05:00+00:00" }, { "name": "nikic/php-parser", @@ -3340,29 +3339,29 @@ }, { "name": "phpoption/phpoption", - "version": "1.7.5", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28", + "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" + "php": "^7.0 || ^8.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^6.5.14 || ^7.0.20 || ^8.5.19 || ^9.5.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3381,7 +3380,7 @@ }, { "name": "Graham Campbell", - "email": "graham@alt-three.com" + "email": "hello@gjcampbell.co.uk" } ], "description": "Option Type for PHP", @@ -3393,7 +3392,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + "source": "https://github.com/schmittjoh/php-option/tree/1.8.0" }, "funding": [ { @@ -3405,7 +3404,7 @@ "type": "tidelift" } ], - "time": "2020-07-20T17:29:33+00:00" + "time": "2021-08-28T21:27:29+00:00" }, { "name": "psr/container", @@ -4276,16 +4275,16 @@ }, { "name": "spatie/laravel-medialibrary", - "version": "9.7.1", + "version": "9.7.3", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "435f7f010a640ad5c74410e94077f300c3cd1675" + "reference": "fd826877f4b38004d8ba15c43c1bca74b0e51026" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/435f7f010a640ad5c74410e94077f300c3cd1675", - "reference": "435f7f010a640ad5c74410e94077f300c3cd1675", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/fd826877f4b38004d8ba15c43c1bca74b0e51026", + "reference": "fd826877f4b38004d8ba15c43c1bca74b0e51026", "shasum": "" }, "require": { @@ -4365,7 +4364,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/9.7.1" + "source": "https://github.com/spatie/laravel-medialibrary/tree/9.7.3" }, "funding": [ { @@ -4377,20 +4376,20 @@ "type": "github" } ], - "time": "2021-07-29T07:42:53+00:00" + "time": "2021-09-03T21:49:25+00:00" }, { "name": "spatie/laravel-permission", - "version": "4.2.0", + "version": "4.4.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "a6e4122b65094baba7f98df153af0768ef910c85" + "reference": "3c9d7ae7683081ee90a4e2297f4e58aff3492a1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/a6e4122b65094baba7f98df153af0768ef910c85", - "reference": "a6e4122b65094baba7f98df153af0768ef910c85", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/3c9d7ae7683081ee90a4e2297f4e58aff3492a1e", + "reference": "3c9d7ae7683081ee90a4e2297f4e58aff3492a1e", "shasum": "" }, "require": { @@ -4447,7 +4446,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/4.2.0" + "source": "https://github.com/spatie/laravel-permission/tree/4.4.1" }, "funding": [ { @@ -4455,7 +4454,7 @@ "type": "github" } ], - "time": "2021-06-04T23:47:08+00:00" + "time": "2021-09-01T17:40:58+00:00" }, { "name": "spatie/temporary-directory", @@ -4595,16 +4594,16 @@ }, { "name": "symfony/console", - "version": "v5.3.6", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" + "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", - "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a", + "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a", "shasum": "" }, "require": { @@ -4674,7 +4673,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.3.6" + "source": "https://github.com/symfony/console/tree/v5.3.7" }, "funding": [ { @@ -4690,7 +4689,7 @@ "type": "tidelift" } ], - "time": "2021-07-27T19:10:22+00:00" + "time": "2021-08-25T20:02:16+00:00" }, { "name": "symfony/css-selector", @@ -4827,16 +4826,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73" + "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/281f6c4660bcf5844bb0346fe3a4664722fe4c73", - "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321", + "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321", "shasum": "" }, "require": { @@ -4875,7 +4874,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.3.4" + "source": "https://github.com/symfony/error-handler/tree/v5.3.7" }, "funding": [ { @@ -4891,20 +4890,20 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-08-28T15:07:08+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f2fd2208157553874560f3645d4594303058c4bd" + "reference": "ce7b20d69c66a20939d8952b617506a44d102130" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f2fd2208157553874560f3645d4594303058c4bd", - "reference": "f2fd2208157553874560f3645d4594303058c4bd", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ce7b20d69c66a20939d8952b617506a44d102130", + "reference": "ce7b20d69c66a20939d8952b617506a44d102130", "shasum": "" }, "require": { @@ -4960,7 +4959,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.4" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.7" }, "funding": [ { @@ -4976,7 +4975,7 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-08-04T21:20:46+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5059,16 +5058,16 @@ }, { "name": "symfony/finder", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "17f50e06018baec41551a71a15731287dbaab186" + "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186", - "reference": "17f50e06018baec41551a71a15731287dbaab186", + "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93", + "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93", "shasum": "" }, "require": { @@ -5101,7 +5100,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.3.4" + "source": "https://github.com/symfony/finder/tree/v5.3.7" }, "funding": [ { @@ -5117,7 +5116,7 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:54:19+00:00" + "time": "2021-08-04T21:20:46+00:00" }, { "name": "symfony/http-client-contracts", @@ -5199,16 +5198,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.3.6", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75" + "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", - "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", + "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", "shasum": "" }, "require": { @@ -5252,7 +5251,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.6" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.7" }, "funding": [ { @@ -5268,20 +5267,20 @@ "type": "tidelift" } ], - "time": "2021-07-27T17:08:17+00:00" + "time": "2021-08-27T11:20:35+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.3.6", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0" + "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0", - "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a3a78e37935a527b50376c22ac1cec35b57fe787", + "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787", "shasum": "" }, "require": { @@ -5291,7 +5290,7 @@ "symfony/error-handler": "^4.4|^5.0", "symfony/event-dispatcher": "^5.0", "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^5.3", + "symfony/http-foundation": "^5.3.7", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.16" @@ -5364,7 +5363,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.6" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.7" }, "funding": [ { @@ -5380,20 +5379,20 @@ "type": "tidelift" } ], - "time": "2021-07-29T07:06:27+00:00" + "time": "2021-08-30T12:37:19+00:00" }, { "name": "symfony/mime", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "633e4e8afe9e529e5599d71238849a4218dd497b" + "reference": "ae887cb3b044658676129f5e97aeb7e9eb69c2d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/633e4e8afe9e529e5599d71238849a4218dd497b", - "reference": "633e4e8afe9e529e5599d71238849a4218dd497b", + "url": "https://api.github.com/repos/symfony/mime/zipball/ae887cb3b044658676129f5e97aeb7e9eb69c2d8", + "reference": "ae887cb3b044658676129f5e97aeb7e9eb69c2d8", "shasum": "" }, "require": { @@ -5447,7 +5446,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.3.4" + "source": "https://github.com/symfony/mime/tree/v5.3.7" }, "funding": [ { @@ -5463,7 +5462,7 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:40:44+00:00" + "time": "2021-08-20T11:40:01+00:00" }, { "name": "symfony/polyfill-ctype", @@ -6275,16 +6274,16 @@ }, { "name": "symfony/process", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030" + "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030", - "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030", + "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967", + "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967", "shasum": "" }, "require": { @@ -6317,7 +6316,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.3.4" + "source": "https://github.com/symfony/process/tree/v5.3.7" }, "funding": [ { @@ -6333,20 +6332,20 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:54:19+00:00" + "time": "2021-08-04T21:20:46+00:00" }, { "name": "symfony/routing", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4" + "reference": "be865017746fe869007d94220ad3f5297951811b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0a35d2f57d73c46ab6d042ced783b81d09a624c4", - "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4", + "url": "https://api.github.com/repos/symfony/routing/zipball/be865017746fe869007d94220ad3f5297951811b", + "reference": "be865017746fe869007d94220ad3f5297951811b", "shasum": "" }, "require": { @@ -6407,7 +6406,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.3.4" + "source": "https://github.com/symfony/routing/tree/v5.3.7" }, "funding": [ { @@ -6423,7 +6422,7 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-08-04T21:42:42+00:00" }, { "name": "symfony/service-contracts", @@ -6506,16 +6505,16 @@ }, { "name": "symfony/string", - "version": "v5.3.3", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" + "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", - "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5", + "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5", "shasum": "" }, "require": { @@ -6569,7 +6568,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.3.3" + "source": "https://github.com/symfony/string/tree/v5.3.7" }, "funding": [ { @@ -6585,20 +6584,20 @@ "type": "tidelift" } ], - "time": "2021-06-27T11:44:38+00:00" + "time": "2021-08-26T08:00:08+00:00" }, { "name": "symfony/translation", - "version": "v5.3.4", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1" + "reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1", - "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1", + "url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", + "reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", "shasum": "" }, "require": { @@ -6664,7 +6663,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.4" + "source": "https://github.com/symfony/translation/tree/v5.3.7" }, "funding": [ { @@ -6680,7 +6679,7 @@ "type": "tidelift" } ], - "time": "2021-07-25T09:39:16+00:00" + "time": "2021-08-26T08:22:53+00:00" }, { "name": "symfony/translation-contracts", @@ -6762,16 +6761,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.3.6", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0" + "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", - "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", + "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", "shasum": "" }, "require": { @@ -6830,7 +6829,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.6" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.7" }, "funding": [ { @@ -6846,7 +6845,7 @@ "type": "tidelift" } ], - "time": "2021-07-27T01:56:02+00:00" + "time": "2021-08-04T23:19:25+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -7760,16 +7759,16 @@ }, { "name": "facade/ignition", - "version": "2.11.2", + "version": "2.12.0", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7" + "reference": "74dcc32a2895a126d1e5f2cd3bbab499cac66db1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/7c4e7a7da184cd00c7ce6eacc590200bb9672de7", - "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7", + "url": "https://api.github.com/repos/facade/ignition/zipball/74dcc32a2895a126d1e5f2cd3bbab499cac66db1", + "reference": "74dcc32a2895a126d1e5f2cd3bbab499cac66db1", "shasum": "" }, "require": { @@ -7832,7 +7831,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-07-20T14:01:22+00:00" + "time": "2021-08-24T09:53:54+00:00" }, { "name": "facade/ignition-contracts", @@ -7889,21 +7888,21 @@ }, { "name": "fakerphp/faker", - "version": "v1.15.0", + "version": "v1.16.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e" + "reference": "271d384d216e5e5c468a6b28feedf95d49f83b35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/89c6201c74db25fa759ff16e78a4d8f32547770e", - "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/271d384d216e5e5c468a6b28feedf95d49f83b35", + "reference": "271d384d216e5e5c468a6b28feedf95d49f83b35", "shasum": "" }, "require": { "php": "^7.1 || ^8.0", - "psr/container": "^1.0", + "psr/container": "^1.0 || ^2.0", "symfony/deprecation-contracts": "^2.2" }, "conflict": { @@ -7923,7 +7922,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "v1.15-dev" + "dev-main": "v1.16-dev" } }, "autoload": { @@ -7948,22 +7947,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.15.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.16.0" }, - "time": "2021-07-06T20:39:40+00:00" + "time": "2021-09-06T14:53:37+00:00" }, { "name": "filp/whoops", - "version": "2.14.0", + "version": "2.14.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b" + "reference": "15ead64e9828f0fc90932114429c4f7923570cb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b", - "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b", + "url": "https://api.github.com/repos/filp/whoops/zipball/15ead64e9828f0fc90932114429c4f7923570cb1", + "reference": "15ead64e9828f0fc90932114429c4f7923570cb1", "shasum": "" }, "require": { @@ -8013,7 +8012,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.0" + "source": "https://github.com/filp/whoops/tree/2.14.1" }, "funding": [ { @@ -8021,7 +8020,7 @@ "type": "github" } ], - "time": "2021-07-13T12:00:00+00:00" + "time": "2021-08-29T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -8076,16 +8075,16 @@ }, { "name": "laravel/sail", - "version": "v1.9.0", + "version": "v1.10.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "3e1aa8679b10ae9210eebfbc2ee5f3600f356702" + "reference": "267fafeaf0e0311952316ae0f3c765abc7516469" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/3e1aa8679b10ae9210eebfbc2ee5f3600f356702", - "reference": "3e1aa8679b10ae9210eebfbc2ee5f3600f356702", + "url": "https://api.github.com/repos/laravel/sail/zipball/267fafeaf0e0311952316ae0f3c765abc7516469", + "reference": "267fafeaf0e0311952316ae0f3c765abc7516469", "shasum": "" }, "require": { @@ -8132,7 +8131,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2021-08-03T18:51:44+00:00" + "time": "2021-08-23T13:43:27+00:00" }, { "name": "maximebf/debugbar", @@ -8331,16 +8330,16 @@ }, { "name": "nunomaduro/collision", - "version": "v5.8.0", + "version": "v5.9.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "0c3c393462eada1233513664e2d22bb9f69ca393" + "reference": "63456f5c3e8c4bc52bd573e5c85674d64d84fd43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0c3c393462eada1233513664e2d22bb9f69ca393", - "reference": "0c3c393462eada1233513664e2d22bb9f69ca393", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/63456f5c3e8c4bc52bd573e5c85674d64d84fd43", + "reference": "63456f5c3e8c4bc52bd573e5c85674d64d84fd43", "shasum": "" }, "require": { @@ -8415,7 +8414,7 @@ "type": "patreon" } ], - "time": "2021-08-13T14:23:01+00:00" + "time": "2021-08-26T15:32:09+00:00" }, { "name": "phar-io/manifest", @@ -9073,16 +9072,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.8", + "version": "9.5.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb" + "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/191768ccd5c85513b4068bdbe99bb6390c7d54fb", - "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b", + "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b", "shasum": "" }, "require": { @@ -9160,7 +9159,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.8" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.9" }, "funding": [ { @@ -9172,7 +9171,7 @@ "type": "github" } ], - "time": "2021-07-31T15:17:34+00:00" + "time": "2021-08-31T06:47:40+00:00" }, { "name": "sebastian/cli-parser", @@ -10027,6 +10026,7 @@ "type": "github" } ], + "abandoned": true, "time": "2020-09-28T06:45:17+00:00" }, { diff --git a/modules_statuses.json b/modules_statuses.json index 517dd1e3..ee5b40b7 100644 --- a/modules_statuses.json +++ b/modules_statuses.json @@ -12,5 +12,6 @@ "SaleReturn": true, "SalesReturn": true, "PurchasesReturn": true, - "Quotation": true + "Quotation": true, + "Reports": true } \ No newline at end of file diff --git a/resources/views/layouts/menu.blade.php b/resources/views/layouts/menu.blade.php index 2643556b..e249c4b9 100644 --- a/resources/views/layouts/menu.blade.php +++ b/resources/views/layouts/menu.blade.php @@ -133,7 +133,7 @@ @endcan @can('access_sales') -
  • +
  • Sales @@ -233,6 +233,23 @@
  • @endcan +@can('access_sales_report') +
  • + + Reports + + +
  • +@endcan + @can('access_user_management')
  • diff --git a/resources/views/livewire/reports/sales-report.blade.php b/resources/views/livewire/reports/sales-report.blade.php new file mode 100644 index 00000000..e627f1b7 --- /dev/null +++ b/resources/views/livewire/reports/sales-report.blade.php @@ -0,0 +1,156 @@ +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + @error('start_date') + {{ $message }} + @enderror +
    +
    +
    +
    + + + @error('end_date') + {{ $message }} + @enderror +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + Loading... +
    +
    + + + + + + + + + + + + + + @forelse($sales as $sale) + + + + + + + + + + + @empty + + + + @endforelse + +
    DateReferenceCustomerStatusTotalPaidDuePayment Status
    {{ \Carbon\Carbon::parse($sale->date)->format('d M, Y') }}{{ $sale->reference }}{{ $sale->customer_name }} + @if ($sale->status == 'Pending') + + {{ $sale->status }} + + @elseif ($sale->status == 'Shipped') + + {{ $sale->status }} + + @else + + {{ $sale->status }} + + @endif + {{ format_currency($sale->total_amount) }}{{ format_currency($sale->paid_amount) }}{{ format_currency($sale->due_amount) }} + @if ($sale->payment_status == 'Partial') + + {{ $sale->payment_status }} + + @elseif ($sale->payment_status == 'Paid') + + {{ $sale->payment_status }} + + @else + + {{ $sale->payment_status }} + + @endif + +
    + No Sales Data Available! +
    + @if($sales->links()) +
    + {{ $sales->links() }} +
    + @endif +
    +
    +
    +
    +