From e76bcf2dde85c3008d90124f6c6c246cf0d40ca8 Mon Sep 17 00:00:00 2001 From: Fahim Date: Wed, 28 Jul 2021 18:40:17 +0600 Subject: [PATCH] Tweaks: In Adjustment Module --- Modules/Expense/Config/.gitkeep | 0 Modules/Expense/Config/config.php | 5 + Modules/Expense/Console/.gitkeep | 0 Modules/Expense/Database/Migrations/.gitkeep | 0 Modules/Expense/Database/Seeders/.gitkeep | 0 .../Seeders/ExpenseDatabaseSeeder.php | 21 ++++ Modules/Expense/Database/factories/.gitkeep | 0 Modules/Expense/Entities/.gitkeep | 0 Modules/Expense/Http/Controllers/.gitkeep | 0 .../Http/Controllers/ExpenseController.php | 79 ++++++++++++ Modules/Expense/Http/Middleware/.gitkeep | 0 Modules/Expense/Http/Requests/.gitkeep | 0 Modules/Expense/Providers/.gitkeep | 0 .../Providers/ExpenseServiceProvider.php | 112 ++++++++++++++++++ .../Providers/RouteServiceProvider.php | 69 +++++++++++ Modules/Expense/Resources/assets/.gitkeep | 0 Modules/Expense/Resources/assets/js/app.js | 0 .../Expense/Resources/assets/sass/app.scss | 0 Modules/Expense/Resources/lang/.gitkeep | 0 Modules/Expense/Resources/views/.gitkeep | 0 .../Expense/Resources/views/index.blade.php | 9 ++ .../Resources/views/layouts/master.blade.php | 19 +++ Modules/Expense/Routes/.gitkeep | 0 Modules/Expense/Routes/api.php | 18 +++ Modules/Expense/Routes/web.php | 16 +++ Modules/Expense/Tests/Feature/.gitkeep | 0 Modules/Expense/Tests/Unit/.gitkeep | 0 Modules/Expense/composer.json | 23 ++++ Modules/Expense/module.json | 13 ++ Modules/Expense/package.json | 17 +++ Modules/Expense/webpack.mix.js | 14 +++ config/snappy.php | 1 + modules_statuses.json | 3 +- .../adjustment/product-table.blade.php | 6 +- 34 files changed, 422 insertions(+), 3 deletions(-) create mode 100644 Modules/Expense/Config/.gitkeep create mode 100644 Modules/Expense/Config/config.php create mode 100644 Modules/Expense/Console/.gitkeep create mode 100644 Modules/Expense/Database/Migrations/.gitkeep create mode 100644 Modules/Expense/Database/Seeders/.gitkeep create mode 100644 Modules/Expense/Database/Seeders/ExpenseDatabaseSeeder.php create mode 100644 Modules/Expense/Database/factories/.gitkeep create mode 100644 Modules/Expense/Entities/.gitkeep create mode 100644 Modules/Expense/Http/Controllers/.gitkeep create mode 100644 Modules/Expense/Http/Controllers/ExpenseController.php create mode 100644 Modules/Expense/Http/Middleware/.gitkeep create mode 100644 Modules/Expense/Http/Requests/.gitkeep create mode 100644 Modules/Expense/Providers/.gitkeep create mode 100644 Modules/Expense/Providers/ExpenseServiceProvider.php create mode 100644 Modules/Expense/Providers/RouteServiceProvider.php create mode 100644 Modules/Expense/Resources/assets/.gitkeep create mode 100644 Modules/Expense/Resources/assets/js/app.js create mode 100644 Modules/Expense/Resources/assets/sass/app.scss create mode 100644 Modules/Expense/Resources/lang/.gitkeep create mode 100644 Modules/Expense/Resources/views/.gitkeep create mode 100644 Modules/Expense/Resources/views/index.blade.php create mode 100644 Modules/Expense/Resources/views/layouts/master.blade.php create mode 100644 Modules/Expense/Routes/.gitkeep create mode 100644 Modules/Expense/Routes/api.php create mode 100644 Modules/Expense/Routes/web.php create mode 100644 Modules/Expense/Tests/Feature/.gitkeep create mode 100644 Modules/Expense/Tests/Unit/.gitkeep create mode 100644 Modules/Expense/composer.json create mode 100644 Modules/Expense/module.json create mode 100644 Modules/Expense/package.json create mode 100644 Modules/Expense/webpack.mix.js diff --git a/Modules/Expense/Config/.gitkeep b/Modules/Expense/Config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Config/config.php b/Modules/Expense/Config/config.php new file mode 100644 index 00000000..31207b7c --- /dev/null +++ b/Modules/Expense/Config/config.php @@ -0,0 +1,5 @@ + 'Expense' +]; diff --git a/Modules/Expense/Console/.gitkeep b/Modules/Expense/Console/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Database/Migrations/.gitkeep b/Modules/Expense/Database/Migrations/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Database/Seeders/.gitkeep b/Modules/Expense/Database/Seeders/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Database/Seeders/ExpenseDatabaseSeeder.php b/Modules/Expense/Database/Seeders/ExpenseDatabaseSeeder.php new file mode 100644 index 00000000..4396768e --- /dev/null +++ b/Modules/Expense/Database/Seeders/ExpenseDatabaseSeeder.php @@ -0,0 +1,21 @@ +call("OthersTableSeeder"); + } +} diff --git a/Modules/Expense/Database/factories/.gitkeep b/Modules/Expense/Database/factories/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Entities/.gitkeep b/Modules/Expense/Entities/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Http/Controllers/.gitkeep b/Modules/Expense/Http/Controllers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Http/Controllers/ExpenseController.php b/Modules/Expense/Http/Controllers/ExpenseController.php new file mode 100644 index 00000000..f7886473 --- /dev/null +++ b/Modules/Expense/Http/Controllers/ExpenseController.php @@ -0,0 +1,79 @@ +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/Expense/Providers/RouteServiceProvider.php b/Modules/Expense/Providers/RouteServiceProvider.php new file mode 100644 index 00000000..15097093 --- /dev/null +++ b/Modules/Expense/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('Expense', '/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('Expense', '/Routes/api.php')); + } +} diff --git a/Modules/Expense/Resources/assets/.gitkeep b/Modules/Expense/Resources/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Resources/assets/js/app.js b/Modules/Expense/Resources/assets/js/app.js new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Resources/assets/sass/app.scss b/Modules/Expense/Resources/assets/sass/app.scss new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Resources/lang/.gitkeep b/Modules/Expense/Resources/lang/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Resources/views/.gitkeep b/Modules/Expense/Resources/views/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Resources/views/index.blade.php b/Modules/Expense/Resources/views/index.blade.php new file mode 100644 index 00000000..7b782e98 --- /dev/null +++ b/Modules/Expense/Resources/views/index.blade.php @@ -0,0 +1,9 @@ +@extends('expense::layouts.master') + +@section('content') +

Hello World

+ +

+ This view is loaded from module: {!! config('expense.name') !!} +

+@endsection diff --git a/Modules/Expense/Resources/views/layouts/master.blade.php b/Modules/Expense/Resources/views/layouts/master.blade.php new file mode 100644 index 00000000..eb0367d3 --- /dev/null +++ b/Modules/Expense/Resources/views/layouts/master.blade.php @@ -0,0 +1,19 @@ + + + + + + + Module Expense + + {{-- Laravel Mix - CSS File --}} + {{-- --}} + + + + @yield('content') + + {{-- Laravel Mix - JS File --}} + {{-- --}} + + diff --git a/Modules/Expense/Routes/.gitkeep b/Modules/Expense/Routes/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Routes/api.php b/Modules/Expense/Routes/api.php new file mode 100644 index 00000000..05c07743 --- /dev/null +++ b/Modules/Expense/Routes/api.php @@ -0,0 +1,18 @@ +get('/expense', function (Request $request) { + return $request->user(); +}); \ No newline at end of file diff --git a/Modules/Expense/Routes/web.php b/Modules/Expense/Routes/web.php new file mode 100644 index 00000000..203ee309 --- /dev/null +++ b/Modules/Expense/Routes/web.php @@ -0,0 +1,16 @@ +group(function() { + Route::get('/', 'ExpenseController@index'); +}); diff --git a/Modules/Expense/Tests/Feature/.gitkeep b/Modules/Expense/Tests/Feature/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/Tests/Unit/.gitkeep b/Modules/Expense/Tests/Unit/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Expense/composer.json b/Modules/Expense/composer.json new file mode 100644 index 00000000..702139cf --- /dev/null +++ b/Modules/Expense/composer.json @@ -0,0 +1,23 @@ +{ + "name": "nwidart/expense", + "description": "", + "authors": [ + { + "name": "Nicolas Widart", + "email": "n.widart@gmail.com" + } + ], + "extra": { + "laravel": { + "providers": [], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\Expense\\": "" + } + } +} diff --git a/Modules/Expense/module.json b/Modules/Expense/module.json new file mode 100644 index 00000000..deb8b987 --- /dev/null +++ b/Modules/Expense/module.json @@ -0,0 +1,13 @@ +{ + "name": "Expense", + "alias": "expense", + "description": "", + "keywords": [], + "priority": 0, + "providers": [ + "Modules\\Expense\\Providers\\ExpenseServiceProvider" + ], + "aliases": {}, + "files": [], + "requires": [] +} diff --git a/Modules/Expense/package.json b/Modules/Expense/package.json new file mode 100644 index 00000000..4599509f --- /dev/null +++ b/Modules/Expense/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/Expense/webpack.mix.js b/Modules/Expense/webpack.mix.js new file mode 100644 index 00000000..7cfd4655 --- /dev/null +++ b/Modules/Expense/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/expense.js') + .sass( __dirname + '/Resources/assets/sass/app.scss', 'css/expense.css'); + +if (mix.inProduction()) { + mix.version(); +} diff --git a/config/snappy.php b/config/snappy.php index 13bacf9e..3a37e16b 100644 --- a/config/snappy.php +++ b/config/snappy.php @@ -36,6 +36,7 @@ return [ 'pdf' => [ 'enabled' => true, 'binary' => env('WKHTML_PDF_BINARY', base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),), + //'binary' => env('WKHTML_PDF_BINARY', base_path('"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"'),), 'timeout' => false, 'options' => [ 'enable-local-file-access' => true, diff --git a/modules_statuses.json b/modules_statuses.json index bbbd1ddf..760c4478 100644 --- a/modules_statuses.json +++ b/modules_statuses.json @@ -2,5 +2,6 @@ "Product": true, "Upload": true, "User": true, - "Adjustment": true + "Adjustment": true, + "Expense": true } \ No newline at end of file diff --git a/resources/views/livewire/adjustment/product-table.blade.php b/resources/views/livewire/adjustment/product-table.blade.php index 6e1d6dc3..5814cded 100644 --- a/resources/views/livewire/adjustment/product-table.blade.php +++ b/resources/views/livewire/adjustment/product-table.blade.php @@ -42,11 +42,13 @@ @if(isset($product['type'])) @if($product['type'] == 'add') @elseif($product['type'] == 'sub') @endif @else