From 0445b71f33c8c0ca992870645b58974f694ca0b3 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Thu, 11 Jun 2026 10:16:03 +0100 Subject: [PATCH] new procinf module --- Modules/Pricing/Config/.gitkeep | 0 Modules/Pricing/Config/config.php | 8 + Modules/Pricing/Console/.gitkeep | 0 Modules/Pricing/Database/Migrations/.gitkeep | 0 Modules/Pricing/Database/Seeders/.gitkeep | 0 .../Seeders/PricingDatabaseSeeder.php | 21 ++ Modules/Pricing/Database/factories/.gitkeep | 0 Modules/Pricing/Helpers/.gitkeep | 0 Modules/Pricing/Helpers/Helper.php | 12 + Modules/Pricing/Http/Controllers/.gitkeep | 0 .../Http/Controllers/PricingController.php | 79 +++++++ Modules/Pricing/Http/Middleware/.gitkeep | 0 Modules/Pricing/Http/Requests/.gitkeep | 0 Modules/Pricing/Models/.gitkeep | 0 Modules/Pricing/Providers/.gitkeep | 0 .../Providers/PricingServiceProvider.php | 155 +++++++++++++ .../Providers/RouteServiceProvider.php | 69 ++++++ Modules/Pricing/Resources/assets/.gitkeep | 0 Modules/Pricing/Resources/assets/js/app.js | 0 .../Pricing/Resources/assets/sass/app.scss | 0 Modules/Pricing/Resources/lang/.gitkeep | 0 Modules/Pricing/Resources/views/.gitkeep | 0 .../Pricing/Resources/views/index.blade.php | 9 + .../Resources/views/layouts/master.blade.php | 19 ++ Modules/Pricing/Routes/.gitkeep | 0 Modules/Pricing/Routes/api.php | 18 ++ Modules/Pricing/Routes/web.php | 16 ++ Modules/Pricing/Support/.gitkeep | 0 Modules/Pricing/Support/ModuleInfo.php | 26 +++ Modules/Pricing/Tests/Browser/.gitkeep | 0 Modules/Pricing/Tests/Feature/.gitkeep | 0 Modules/Pricing/Tests/Unit/.gitkeep | 0 Modules/Pricing/Traits/.gitkeep | 0 Modules/Pricing/View/.gitkeep | 0 Modules/Pricing/composer.json | 29 +++ Modules/Pricing/module.json | 14 ++ Modules/Pricing/package.json | 17 ++ Modules/Pricing/webpack.mix.js | 11 + config/modules.php | 215 +++++++++++++++++- modules_statuses.json | 5 +- .../21f61e9ca584c89ec770720417f0530b.php | 140 ++++++++++++ .../42634dc40de4b30dc1bfd8e4e5216a37.php | 140 ++++++++++++ .../52f11b25b837da8f038135d7f0333077.php | 140 ++++++++++++ .../5b5b77309f4b7f191045e5f4c576e279.php | 67 ++++++ .../6a3f8577bb5893d5c6b28206846a19c9.php | 140 ++++++++++++ .../7c1cf9bb421fbf887cdff4ea5e33db8c.php | 140 ++++++++++++ .../8738ae0d0151ba8518c373d30a966954.php | 140 ++++++++++++ .../96a1d29e16fe91252eff7ac360f0df68.php | 140 ++++++++++++ .../99164f46a080c8d514958312e91a9ba5.php | 48 ++++ .../baa1cf8b19011fad7a6a8433aa3f46a2.php | 140 ++++++++++++ .../bd1292fcb4e235ced2c6a0e395decc9b.php | 140 ++++++++++++ .../e4a92aa5a75a7eea6a82c78a2f2a994e.php | 140 ++++++++++++ .../ee034f19895af1b0d484543ea87b1fa4.php | 42 ++++ .../f407c5224019b100e738e4c1a2968ef4.php | 140 ++++++++++++ .../fe6625f603a7e8e776c7e813e2f60270.php | 140 ++++++++++++ 55 files changed, 2553 insertions(+), 7 deletions(-) create mode 100644 Modules/Pricing/Config/.gitkeep create mode 100644 Modules/Pricing/Config/config.php create mode 100644 Modules/Pricing/Console/.gitkeep create mode 100644 Modules/Pricing/Database/Migrations/.gitkeep create mode 100644 Modules/Pricing/Database/Seeders/.gitkeep create mode 100644 Modules/Pricing/Database/Seeders/PricingDatabaseSeeder.php create mode 100644 Modules/Pricing/Database/factories/.gitkeep create mode 100644 Modules/Pricing/Helpers/.gitkeep create mode 100644 Modules/Pricing/Helpers/Helper.php create mode 100644 Modules/Pricing/Http/Controllers/.gitkeep create mode 100644 Modules/Pricing/Http/Controllers/PricingController.php create mode 100644 Modules/Pricing/Http/Middleware/.gitkeep create mode 100644 Modules/Pricing/Http/Requests/.gitkeep create mode 100644 Modules/Pricing/Models/.gitkeep create mode 100644 Modules/Pricing/Providers/.gitkeep create mode 100644 Modules/Pricing/Providers/PricingServiceProvider.php create mode 100644 Modules/Pricing/Providers/RouteServiceProvider.php create mode 100644 Modules/Pricing/Resources/assets/.gitkeep create mode 100644 Modules/Pricing/Resources/assets/js/app.js create mode 100644 Modules/Pricing/Resources/assets/sass/app.scss create mode 100644 Modules/Pricing/Resources/lang/.gitkeep create mode 100644 Modules/Pricing/Resources/views/.gitkeep create mode 100644 Modules/Pricing/Resources/views/index.blade.php create mode 100644 Modules/Pricing/Resources/views/layouts/master.blade.php create mode 100644 Modules/Pricing/Routes/.gitkeep create mode 100644 Modules/Pricing/Routes/api.php create mode 100644 Modules/Pricing/Routes/web.php create mode 100644 Modules/Pricing/Support/.gitkeep create mode 100644 Modules/Pricing/Support/ModuleInfo.php create mode 100644 Modules/Pricing/Tests/Browser/.gitkeep create mode 100644 Modules/Pricing/Tests/Feature/.gitkeep create mode 100644 Modules/Pricing/Tests/Unit/.gitkeep create mode 100644 Modules/Pricing/Traits/.gitkeep create mode 100644 Modules/Pricing/View/.gitkeep create mode 100644 Modules/Pricing/composer.json create mode 100644 Modules/Pricing/module.json create mode 100644 Modules/Pricing/package.json create mode 100644 Modules/Pricing/webpack.mix.js create mode 100755 storage/framework/views/21f61e9ca584c89ec770720417f0530b.php create mode 100755 storage/framework/views/42634dc40de4b30dc1bfd8e4e5216a37.php create mode 100755 storage/framework/views/52f11b25b837da8f038135d7f0333077.php create mode 100755 storage/framework/views/5b5b77309f4b7f191045e5f4c576e279.php create mode 100755 storage/framework/views/6a3f8577bb5893d5c6b28206846a19c9.php create mode 100755 storage/framework/views/7c1cf9bb421fbf887cdff4ea5e33db8c.php create mode 100755 storage/framework/views/8738ae0d0151ba8518c373d30a966954.php create mode 100755 storage/framework/views/96a1d29e16fe91252eff7ac360f0df68.php create mode 100755 storage/framework/views/99164f46a080c8d514958312e91a9ba5.php create mode 100755 storage/framework/views/baa1cf8b19011fad7a6a8433aa3f46a2.php create mode 100755 storage/framework/views/bd1292fcb4e235ced2c6a0e395decc9b.php create mode 100755 storage/framework/views/e4a92aa5a75a7eea6a82c78a2f2a994e.php create mode 100755 storage/framework/views/ee034f19895af1b0d484543ea87b1fa4.php create mode 100755 storage/framework/views/f407c5224019b100e738e4c1a2968ef4.php create mode 100755 storage/framework/views/fe6625f603a7e8e776c7e813e2f60270.php diff --git a/Modules/Pricing/Config/.gitkeep b/Modules/Pricing/Config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Config/config.php b/Modules/Pricing/Config/config.php new file mode 100644 index 00000000..236bae28 --- /dev/null +++ b/Modules/Pricing/Config/config.php @@ -0,0 +1,8 @@ + 'Pricing', + 'features' => + [ + ], +]; diff --git a/Modules/Pricing/Console/.gitkeep b/Modules/Pricing/Console/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Database/Migrations/.gitkeep b/Modules/Pricing/Database/Migrations/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Database/Seeders/.gitkeep b/Modules/Pricing/Database/Seeders/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Database/Seeders/PricingDatabaseSeeder.php b/Modules/Pricing/Database/Seeders/PricingDatabaseSeeder.php new file mode 100644 index 00000000..3e07becf --- /dev/null +++ b/Modules/Pricing/Database/Seeders/PricingDatabaseSeeder.php @@ -0,0 +1,21 @@ +call("OthersTableSeeder"); + } +} diff --git a/Modules/Pricing/Database/factories/.gitkeep b/Modules/Pricing/Database/factories/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Helpers/.gitkeep b/Modules/Pricing/Helpers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Helpers/Helper.php b/Modules/Pricing/Helpers/Helper.php new file mode 100644 index 00000000..7870ce08 --- /dev/null +++ b/Modules/Pricing/Helpers/Helper.php @@ -0,0 +1,12 @@ +registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->registerHelpers(); + $this->registerCommands(); + $this->loadMigrationsFrom(module_path(ModuleInfo::name(), 'Database/Migrations')); + } + + /** + * Register the service provider. + * + * @return void + */ + public function register(): void + { + $this->app->register(RouteServiceProvider::class); + } + + /** + * Register the helpers. + * + * @return void + */ + protected function registerHelpers(): void + { + foreach (glob(__DIR__.'/../Helpers/*.php') as $filename) { + require_once $filename; + } + } + + /** + * Dynamically Register Commands. + * + * @return void + */ + public function registerCommands(): void + { + if (!$this->app->runningInConsole()) { + return; + } + $commandPath = __DIR__ . '/../Console'; + $commands = collect(File::allFiles($commandPath)) + ->map(function ($file) { + $class = 'Modules\\' . $this->moduleName . '\\Console\\' . $file->getFilenameWithoutExtension(); + return $class; + }) + ->filter(function ($class) { + return class_exists($class); + }) + ->values() + ->all(); + $this->commands($commands); + } + + /** + * Register config. + * + * @return void + */ + protected function registerConfig(): void + { + $this->publishes([ + module_path(ModuleInfo::name(), 'Config/config.php') => config_path( ModuleInfo::nameLower(). '.php'), + ], 'config'); + $this->mergeConfigFrom( + module_path(ModuleInfo::name(), 'Config/config.php'), ModuleInfo::nameLower() + ); + } + + /** + * Register views. + * + * @return void + */ + public function registerViews(): void + { + $viewPath = resource_path('views/modules/' . ModuleInfo::nameLower()); + $sourcePath = module_path(ModuleInfo::name(), 'Resources/views'); + $this->publishes([ + $sourcePath => $viewPath + ], ['views', ModuleInfo::nameLower() . '-module-views']); + $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), ModuleInfo::nameLower()); + } + + /** + * Register translations. + * + * @return void + */ + public function registerTranslations(): void + { + $langPath = resource_path('lang/modules/' . ModuleInfo::nameLower()); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, ModuleInfo::nameLower()); + } else { + $this->loadTranslationsFrom(module_path(ModuleInfo::name(), 'Resources/lang'), ModuleInfo::nameLower()); + } + } + + /** + * Regsiter View Paths + * @return array + */ + private function getPublishableViewPaths(): array + { + $paths = []; + foreach (Config::get('view.paths') as $path) { + if (is_dir($path . '/modules/' . ModuleInfo::nameLower())) { + $paths[] = $path . '/modules/' . ModuleInfo::nameLower(); + } + } + return $paths; + } +} diff --git a/Modules/Pricing/Providers/RouteServiceProvider.php b/Modules/Pricing/Providers/RouteServiceProvider.php new file mode 100644 index 00000000..dc3d35f9 --- /dev/null +++ b/Modules/Pricing/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('Pricing', '/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('Pricing', '/Routes/api.php')); + } +} diff --git a/Modules/Pricing/Resources/assets/.gitkeep b/Modules/Pricing/Resources/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Resources/assets/js/app.js b/Modules/Pricing/Resources/assets/js/app.js new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Resources/assets/sass/app.scss b/Modules/Pricing/Resources/assets/sass/app.scss new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Resources/lang/.gitkeep b/Modules/Pricing/Resources/lang/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Resources/views/.gitkeep b/Modules/Pricing/Resources/views/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Resources/views/index.blade.php b/Modules/Pricing/Resources/views/index.blade.php new file mode 100644 index 00000000..5b13e20c --- /dev/null +++ b/Modules/Pricing/Resources/views/index.blade.php @@ -0,0 +1,9 @@ +@extends('pricing::layouts.master') + +@section('content') +

Hello World

+ +

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

+@endsection diff --git a/Modules/Pricing/Resources/views/layouts/master.blade.php b/Modules/Pricing/Resources/views/layouts/master.blade.php new file mode 100644 index 00000000..6a396da1 --- /dev/null +++ b/Modules/Pricing/Resources/views/layouts/master.blade.php @@ -0,0 +1,19 @@ + + + + + + + Module Pricing + + {{-- Laravel Mix - CSS File --}} + {{-- --}} + + + + @yield('content') + + {{-- Laravel Mix - JS File --}} + {{-- --}} + + diff --git a/Modules/Pricing/Routes/.gitkeep b/Modules/Pricing/Routes/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Routes/api.php b/Modules/Pricing/Routes/api.php new file mode 100644 index 00000000..8d2aeea4 --- /dev/null +++ b/Modules/Pricing/Routes/api.php @@ -0,0 +1,18 @@ +get('/pricing', function (Request $request) { + return $request->user(); +}); \ No newline at end of file diff --git a/Modules/Pricing/Routes/web.php b/Modules/Pricing/Routes/web.php new file mode 100644 index 00000000..2dcb7c83 --- /dev/null +++ b/Modules/Pricing/Routes/web.php @@ -0,0 +1,16 @@ +group(function() { + Route::get('/', 'PricingController@index'); +}); diff --git a/Modules/Pricing/Support/.gitkeep b/Modules/Pricing/Support/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Modules/Pricing/Support/ModuleInfo.php b/Modules/Pricing/Support/ModuleInfo.php new file mode 100644 index 00000000..e5048710 --- /dev/null +++ b/Modules/Pricing/Support/ModuleInfo.php @@ -0,0 +1,26 @@ + 'Modules', + + /* + |-------------------------------------------------------------------------- + | Module Stubs + |-------------------------------------------------------------------------- + | + | Default module stubs. + | + */ + + 'stubs' => [ + 'enabled' => false, + 'path' => base_path() . '/Vendors/mpba/laravel-modules/src/Commands/stubs', + 'files' => [ + 'routes/web' => 'Routes/web.php', + 'routes/api' => 'Routes/api.php', + 'views/index' => 'Resources/views/index.blade.php', + 'views/master' => 'Resources/views/layouts/master.blade.php', + 'scaffold/config' => 'Config/config.php', + 'composer' => 'composer.json', + 'assets/js/app' => 'Resources/assets/js/app.js', + 'assets/sass/app' => 'Resources/assets/sass/app.scss', + 'webpack' => 'webpack.mix.js', + 'package' => 'package.json', + ], + 'replacements' => [ + 'routes/web' => ['LOWER_NAME', 'STUDLY_NAME'], + 'routes/api' => ['LOWER_NAME'], + 'webpack' => ['LOWER_NAME'], + 'json' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'PROVIDER_NAMESPACE'], + 'views/index' => ['LOWER_NAME'], + 'views/master' => ['LOWER_NAME', 'STUDLY_NAME'], + 'scaffold/config' => ['STUDLY_NAME'], + 'composer' => [ + 'LOWER_NAME', + 'STUDLY_NAME', + 'VENDOR', + 'AUTHOR_NAME', + 'AUTHOR_EMAIL', + 'MODULE_NAMESPACE', + 'PROVIDER_NAMESPACE', + ], + ], + 'gitkeep' => true, + ], 'paths' => [ - 'modules' => base_path('Modules'), + /* + |-------------------------------------------------------------------------- + | Modules path + |-------------------------------------------------------------------------- + | + | This path used for save the generated module. This path also will be added + | automatically to list of scanned folders. + | + */ + + 'modules' => base_path('modules'), + /* + |-------------------------------------------------------------------------- + | Modules assets path + |-------------------------------------------------------------------------- + | + | Here you may update the modules assets path. + | + */ + 'assets' => public_path('modules'), + /* + |-------------------------------------------------------------------------- + | The migrations path + |-------------------------------------------------------------------------- + | + | Where you run 'module:publish-migration' command, where do you publish the + | the migration files? + | + */ + 'migration' => base_path('database/migrations'), + /* + |-------------------------------------------------------------------------- + | Generator path + |-------------------------------------------------------------------------- + | Customise the paths where the folders will be generated. + | Set the generate key to false to not generate that folder + */ + 'generator' => [ + 'config' => ['path' => 'Config', 'generate' => true], + 'trait' => ['path' => 'Traits', 'generate' => true], + 'helper' => ['path' => 'Helpers', 'generate' => true], + 'command' => ['path' => 'Console', 'generate' => true], + 'support' => ['path' => 'Support', 'generate' => true], + 'migration' => ['path' => 'Database/Migrations', 'generate' => true], + 'seeder' => ['path' => 'Database/Seeders', 'generate' => true], + 'factory' => ['path' => 'Database/factories', 'generate' => true], + 'model' => ['path' => 'Models', 'generate' => true], + 'routes' => ['path' => 'Routes', 'generate' => true], + 'controller' => ['path' => 'Http/Controllers', 'generate' => true], + 'filter' => ['path' => 'Http/Middleware', 'generate' => true], + 'request' => ['path' => 'Http/Requests', 'generate' => true], + 'provider' => ['path' => 'Providers', 'generate' => true], + 'assets' => ['path' => 'Resources/assets', 'generate' => true], + 'lang' => ['path' => 'Resources/lang', 'generate' => true], + 'views' => ['path' => 'Resources/views', 'generate' => true], + 'test' => ['path' => 'Tests/Unit', 'generate' => true], + 'test-feature' => ['path' => 'Tests/Feature', 'generate' => true], + 'test-browser' => ['path' => 'Tests/Browser', 'generate' => true,], + 'repository' => ['path' => 'Repositories', 'generate' => false], + 'event' => ['path' => 'Events', 'generate' => false], + 'listener' => ['path' => 'Listeners', 'generate' => false], + 'policies' => ['path' => 'Policies', 'generate' => false], + 'rules' => ['path' => 'Rules', 'generate' => false], + 'jobs' => ['path' => 'Jobs', 'generate' => false], + 'emails' => ['path' => 'Emails', 'generate' => false], + 'notifications' => ['path' => 'Notifications', 'generate' => false], + 'resource' => ['path' => 'Transformers', 'generate' => false], + 'component' => ['path' => 'View', 'generate' => true], + ], ], + /* + |-------------------------------------------------------------------------- + | Scan Path + |-------------------------------------------------------------------------- + | + | Here you define which folder will be scanned. By default will scan Vendors + | directory. This is useful if you host the package in packagist website. + | + */ + 'scan' => [ - 'enabled' => true, - 'paths' => [base_path('Modules')], + 'enabled' => false, + 'paths' => [ + base_path('Vendors/*/*'), + ], ], + /* + |-------------------------------------------------------------------------- + | Composer File Template + |-------------------------------------------------------------------------- + | + | Here is the config for composer.json file, generated by this package + | + */ + 'composer' => [ - 'vendor' => 'mpba', - 'author' => ['name' => 'MPBA Limited', 'email' => 'mark.gregory@mpba.co.uk'], + 'Vendors' => 'mpba', + 'author' => [ + 'name' => 'Mark Gregory', + 'email' => 'mark.gregory@mpba.co.uk', + ], ], + /* + |-------------------------------------------------------------------------- + | Caching + |-------------------------------------------------------------------------- + | + | Here is the config for setting up caching feature. + | + */ + 'cache' => [ + 'enabled' => false, + 'key' => 'laravel-modules', + 'lifetime' => 60, + ], + /* + |-------------------------------------------------------------------------- + | Choose what laravel-modules will register as custom namespaces. + | Setting one to false will require you to register that part + | in your own Service Provider class. + |-------------------------------------------------------------------------- + */ + 'register' => [ + 'translations' => true, + /** + * load files on boot or register method + * + * @example boot|register + */ + 'files' => 'register', + ], + + /* + |-------------------------------------------------------------------------- + | Activators + |-------------------------------------------------------------------------- + | + | You can define new types of activators here, file, database etc. The only + | required parameter is 'class'. + | The file activator will store the activation status in storage/installed_modules + */ + 'activators' => [ + 'file' => [ + 'class' => FileActivator::class, + 'statuses-file' => base_path('modules_statuses.json'), + 'cache-key' => 'activator.installed', + 'cache-lifetime' => 604800, + ], + 'database' => [ + 'class' => DatabaseActivator::class, + 'cache-key' => 'activator.installed', + 'cache-lifetime' => 604800, + ], + ], + + 'activator' => 'file', ]; diff --git a/modules_statuses.json b/modules_statuses.json index a51d6263..33580a0d 100644 --- a/modules_statuses.json +++ b/modules_statuses.json @@ -14,5 +14,6 @@ "SentinelIntegration": true, "Shipping": true, "Transportation": true, - "Warehouse": true -} + "Warehouse": true, + "Pricing": true +} \ No newline at end of file diff --git a/storage/framework/views/21f61e9ca584c89ec770720417f0530b.php b/storage/framework/views/21f61e9ca584c89ec770720417f0530b.php new file mode 100755 index 00000000..9284a70f --- /dev/null +++ b/storage/framework/views/21f61e9ca584c89ec770720417f0530b.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Security')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Security'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Security

+

Control roles, permissions, audit visibility, and protected administration actions.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Roles

+

Placeholder area for roles.

+
+
+
+
+
+
+
02
+

Permissions

+

Placeholder area for permissions.

+
+
+
+
+
+
+
03
+

Admin Access

+

Placeholder area for admin access.

+
+
+
+
+
+
+
04
+

Security Audit

+

Placeholder area for security audit.

+
+
+
+ +
+
+
+
+
+

Security workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AreaPermissionRoleAction
RolesSample 1ActiveOpen
PermissionsSample 2ActiveOpen
Admin AccessSample 3ActiveOpen
Security AuditSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/42634dc40de4b30dc1bfd8e4e5216a37.php b/storage/framework/views/42634dc40de4b30dc1bfd8e4e5216a37.php new file mode 100755 index 00000000..cf15f552 --- /dev/null +++ b/storage/framework/views/42634dc40de4b30dc1bfd8e4e5216a37.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Shipping')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Shipping'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Shipping

+

Monitor shipment activity, closed orders, pending loads, and dispatch status.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Open Shipments

+

Placeholder area for open shipments.

+
+
+
+
+
+
+
02
+

Closed Orders

+

Placeholder area for closed orders.

+
+
+
+
+
+
+
03
+

Shipment Close Calls

+

Placeholder area for shipment close calls.

+
+
+
+
+
+
+
04
+

Dispatch Exceptions

+

Placeholder area for dispatch exceptions.

+
+
+
+ +
+
+
+
+
+

Shipping workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShipmentOrderCustomerAction
Open ShipmentsSample 1ActiveOpen
Closed OrdersSample 2ActiveOpen
Shipment Close CallsSample 3ActiveOpen
Dispatch ExceptionsSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/52f11b25b837da8f038135d7f0333077.php b/storage/framework/views/52f11b25b837da8f038135d7f0333077.php new file mode 100755 index 00000000..46a854b0 --- /dev/null +++ b/storage/framework/views/52f11b25b837da8f038135d7f0333077.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('M3 Integration')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('M3 Integration'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

M3 Integration

+

Observe M3 transactions, delivery methods, close shipment calls, and API exchanges.

+
+ + +
+
+
+
+ +
+
+
+
01
+

M3 Transaction Log

+

Placeholder area for m3 transaction log.

+
+
+
+
+
+
+
02
+

M3 Delivery Methods

+

Placeholder area for m3 delivery methods.

+
+
+
+
+
+
+
03
+

Close Shipment API

+

Placeholder area for close shipment api.

+
+
+
+
+
+
+
04
+

M3 Error Queue

+

Placeholder area for m3 error queue.

+
+
+
+ +
+
+
+
+
+

M3 Integration workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TransactionProgramMessageAction
M3 Transaction LogSample 1ActiveOpen
M3 Delivery MethodsSample 2ActiveOpen
Close Shipment APISample 3ActiveOpen
M3 Error QueueSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/5b5b77309f4b7f191045e5f4c576e279.php b/storage/framework/views/5b5b77309f4b7f191045e5f4c576e279.php new file mode 100755 index 00000000..9d10a49a --- /dev/null +++ b/storage/framework/views/5b5b77309f4b7f191045e5f4c576e279.php @@ -0,0 +1,67 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Platform')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Platform'))]); ?> + + +
+
+ addLoop($__currentLoopData); foreach($__currentLoopData as [$label, $value]): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
+

+

+
+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+ +
+
+
+

Recent companies

+

Tenant isolation is enforced by company ownership on every warehouse record.

+
+ Manage companies +
+
+ + + + + + + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $company): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); ?> + +
CompanyUsersWarehousesLicencesStatus
name); ?>users_count); ?>warehouses_count); ?>license_keys_count); ?>is_system_company ? 'System' : ucfirst($company->status)); ?>
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/6a3f8577bb5893d5c6b28206846a19c9.php b/storage/framework/views/6a3f8577bb5893d5c6b28206846a19c9.php new file mode 100755 index 00000000..6a4af623 --- /dev/null +++ b/storage/framework/views/6a3f8577bb5893d5c6b28206846a19c9.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Document Archive')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Document Archive'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Document Archive

+

Search cached Sentinel documents, shipment PDFs, labels, and BOL records.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Sentinel Doc Archive

+

Placeholder area for sentinel doc archive.

+
+
+
+
+
+
+
02
+

Shipment PDFs

+

Placeholder area for shipment pdfs.

+
+
+
+
+
+
+
03
+

Bill of Lading

+

Placeholder area for bill of lading.

+
+
+
+
+
+
+
04
+

Document Search

+

Placeholder area for document search.

+
+
+
+ +
+
+
+
+
+

Document Archive workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DocumentShipmentTypeAction
Sentinel Doc ArchiveSample 1ActiveOpen
Shipment PDFsSample 2ActiveOpen
Bill of LadingSample 3ActiveOpen
Document SearchSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/7c1cf9bb421fbf887cdff4ea5e33db8c.php b/storage/framework/views/7c1cf9bb421fbf887cdff4ea5e33db8c.php new file mode 100755 index 00000000..46038296 --- /dev/null +++ b/storage/framework/views/7c1cf9bb421fbf887cdff4ea5e33db8c.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Replenishment')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Replenishment'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Replenishment

+

Configure replenishment thresholds, review stock gaps, and monitor refill activity.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Replenishment Rules

+

Placeholder area for replenishment rules.

+
+
+
+
+
+
+
02
+

Minimum Stock

+

Placeholder area for minimum stock.

+
+
+
+
+
+
+
03
+

Suggested Transfers

+

Placeholder area for suggested transfers.

+
+
+
+
+
+
+
04
+

Exception Queue

+

Placeholder area for exception queue.

+
+
+
+ +
+
+
+
+
+

Replenishment workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ItemMinimumCurrentAction
Replenishment RulesSample 1ActiveOpen
Minimum StockSample 2ActiveOpen
Suggested TransfersSample 3ActiveOpen
Exception QueueSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/8738ae0d0151ba8518c373d30a966954.php b/storage/framework/views/8738ae0d0151ba8518c373d30a966954.php new file mode 100755 index 00000000..ab498b94 --- /dev/null +++ b/storage/framework/views/8738ae0d0151ba8518c373d30a966954.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Carrier Management')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Carrier Management'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Carrier Management

+

Maintain carriers, services, and shipment routing master data.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Carrier Directory

+

Placeholder area for carrier directory.

+
+
+
+
+
+
+
02
+

Carrier Service Levels

+

Placeholder area for carrier service levels.

+
+
+
+
+
+
+
03
+

Carrier Rules

+

Placeholder area for carrier rules.

+
+
+
+
+
+
+
04
+

Carrier Audit

+

Placeholder area for carrier audit.

+
+
+
+ +
+
+
+
+
+

Carrier Management workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CarrierServiceEnabledAction
Carrier DirectorySample 1ActiveOpen
Carrier Service LevelsSample 2ActiveOpen
Carrier RulesSample 3ActiveOpen
Carrier AuditSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/96a1d29e16fe91252eff7ac360f0df68.php b/storage/framework/views/96a1d29e16fe91252eff7ac360f0df68.php new file mode 100755 index 00000000..e9300ea1 --- /dev/null +++ b/storage/framework/views/96a1d29e16fe91252eff7ac360f0df68.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Transportation')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Transportation'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Transportation

+

Manage truck closure, freight terms, trailers, and transport operations.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Pending Truck Closure

+

Placeholder area for pending truck closure.

+
+
+
+
+
+
+
02
+

Trailer Activity

+

Placeholder area for trailer activity.

+
+
+
+
+
+
+
03
+

Freight Terms

+

Placeholder area for freight terms.

+
+
+
+
+
+
+
04
+

Transport Exceptions

+

Placeholder area for transport exceptions.

+
+
+
+ +
+
+
+
+
+

Transportation workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TrailerCarrierClose StatusAction
Pending Truck ClosureSample 1ActiveOpen
Trailer ActivitySample 2ActiveOpen
Freight TermsSample 3ActiveOpen
Transport ExceptionsSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/99164f46a080c8d514958312e91a9ba5.php b/storage/framework/views/99164f46a080c8d514958312e91a9ba5.php new file mode 100755 index 00000000..7695ad21 --- /dev/null +++ b/storage/framework/views/99164f46a080c8d514958312e91a9ba5.php @@ -0,0 +1,48 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('WMS Dashboard')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('WMS Dashboard'))]); ?> + + +
+
+
+
+

Warehouse management

+

user()->company->name); ?>

+

High-performance tenant-isolated warehouse operations with per-warehouse validation and licence-aware access.

+
+
+

Warehouses

+

Rules

+
+
+
+
+ addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +
+

code); ?>

name); ?>

status); ?>
+

validation_rules_count); ?> validation rules configured.

+
+ popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> +

Create your first warehouse

Warehouses are isolated to your company tenant.

Add warehouse
+ +
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/baa1cf8b19011fad7a6a8433aa3f46a2.php b/storage/framework/views/baa1cf8b19011fad7a6a8433aa3f46a2.php new file mode 100755 index 00000000..facdad9f --- /dev/null +++ b/storage/framework/views/baa1cf8b19011fad7a6a8433aa3f46a2.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Configuration')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Configuration'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Configuration

+

Centralise system settings, warehouse defaults, interface flags, and feature switches.

+
+ + +
+
+
+
+ +
+
+
+
01
+

System Settings

+

Placeholder area for system settings.

+
+
+
+
+
+
+
02
+

Feature Flags

+

Placeholder area for feature flags.

+
+
+
+
+
+
+
03
+

Warehouse Defaults

+

Placeholder area for warehouse defaults.

+
+
+
+
+
+
+
04
+

Interface Settings

+

Placeholder area for interface settings.

+
+
+
+ +
+
+
+
+
+

Configuration workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SettingValueScopeAction
System SettingsSample 1ActiveOpen
Feature FlagsSample 2ActiveOpen
Warehouse DefaultsSample 3ActiveOpen
Interface SettingsSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/bd1292fcb4e235ced2c6a0e395decc9b.php b/storage/framework/views/bd1292fcb4e235ced2c6a0e395decc9b.php new file mode 100755 index 00000000..264479e2 --- /dev/null +++ b/storage/framework/views/bd1292fcb4e235ced2c6a0e395decc9b.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Reporting')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Reporting'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Reporting

+

Provide operational reports for closed orders, user efficiency, and transaction history.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Closed Order Lines

+

Placeholder area for closed order lines.

+
+
+
+
+
+
+
02
+

Daily User Efficiency

+

Placeholder area for daily user efficiency.

+
+
+
+
+
+
+
03
+

Export Centre

+

Placeholder area for export centre.

+
+
+
+
+
+
+
04
+

Report Filters

+

Placeholder area for report filters.

+
+
+
+ +
+
+
+
+
+

Reporting workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ReportPeriodRowsAction
Closed Order LinesSample 1ActiveOpen
Daily User EfficiencySample 2ActiveOpen
Export CentreSample 3ActiveOpen
Report FiltersSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/e4a92aa5a75a7eea6a82c78a2f2a994e.php b/storage/framework/views/e4a92aa5a75a7eea6a82c78a2f2a994e.php new file mode 100755 index 00000000..3188aec1 --- /dev/null +++ b/storage/framework/views/e4a92aa5a75a7eea6a82c78a2f2a994e.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Audit')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Audit'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Audit

+

Review activity logs, data changes, interface events, and administrative actions.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Activity Log

+

Placeholder area for activity log.

+
+
+
+
+
+
+
02
+

Data Changes

+

Placeholder area for data changes.

+
+
+
+
+
+
+
03
+

API Audit

+

Placeholder area for api audit.

+
+
+
+
+
+
+
04
+

User Actions

+

Placeholder area for user actions.

+
+
+
+ +
+
+
+
+
+

Audit workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WhenUserActionAction
Activity LogSample 1ActiveOpen
Data ChangesSample 2ActiveOpen
API AuditSample 3ActiveOpen
User ActionsSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/ee034f19895af1b0d484543ea87b1fa4.php b/storage/framework/views/ee034f19895af1b0d484543ea87b1fa4.php new file mode 100755 index 00000000..98fbf3d6 --- /dev/null +++ b/storage/framework/views/ee034f19895af1b0d484543ea87b1fa4.php @@ -0,0 +1,42 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Warehouses')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Warehouses'))]); ?> + + +
+
+

Warehouses

+
+ + + + + +
+
+
+ addLoop($__currentLoopData); foreach($__currentLoopData as $warehouse): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +

code); ?>

name); ?>

validation_rules_count); ?> rules

+ popLoop(); $loop = $__env->getLastLoop(); ?> +
+ links()); ?> + +
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/f407c5224019b100e738e4c1a2968ef4.php b/storage/framework/views/f407c5224019b100e738e4c1a2968ef4.php new file mode 100755 index 00000000..dc43216e --- /dev/null +++ b/storage/framework/views/f407c5224019b100e738e4c1a2968ef4.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Sentinel Integration')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Sentinel Integration'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Sentinel Integration

+

Track Sentinel API activity, inbound receiver events, and interface status.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Sentinel Receiver

+

Placeholder area for sentinel receiver.

+
+
+
+
+
+
+
02
+

API Activity

+

Placeholder area for api activity.

+
+
+
+
+
+
+
03
+

Interface Health

+

Placeholder area for interface health.

+
+
+
+
+
+
+
04
+

Payload Archive

+

Placeholder area for payload archive.

+
+
+
+ +
+
+
+
+
+

Sentinel Integration workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EndpointReferenceHTTPAction
Sentinel ReceiverSample 1ActiveOpen
API ActivitySample 2ActiveOpen
Interface HealthSample 3ActiveOpen
Payload ArchiveSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file diff --git a/storage/framework/views/fe6625f603a7e8e776c7e813e2f60270.php b/storage/framework/views/fe6625f603a7e8e776c7e813e2f60270.php new file mode 100755 index 00000000..55e355a6 --- /dev/null +++ b/storage/framework/views/fe6625f603a7e8e776c7e813e2f60270.php @@ -0,0 +1,140 @@ + + + 'f4ac99e09542ff494432bc959d4fee61::app','data' => ['title' => __('Inventory Management')]] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?> +withName('layouts::app'); ?> +shouldRender()): ?> +startComponent($component->resolveView(), $component->data()); ?> + +except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?> + +withAttributes(['title' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute(__('Inventory Management'))]); ?> + + +
+
+
+
+
+
+
+
Replacement module
+

Inventory Management

+

Track inventory movement, stock visibility, pallet quantities, and product availability.

+
+ + +
+
+
+
+ +
+
+
+
01
+

Stock Overview

+

Placeholder area for stock overview.

+
+
+
+
+
+
+
02
+

Pallet Quantity Rules

+

Placeholder area for pallet quantity rules.

+
+
+
+
+
+
+
03
+

Inventory Exceptions

+

Placeholder area for inventory exceptions.

+
+
+
+
+
+
+
04
+

Product Movement

+

Placeholder area for product movement.

+
+
+
+ +
+
+
+
+
+

Inventory Management workbench

+

Sample table layout ready to wire into controllers, queries, DataTables, or Livewire.

+
+ +
+ + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Part NumberDescriptionPallet QtyAction
Stock OverviewSample 1ActiveOpen
Pallet Quantity RulesSample 2ActiveOpen
Inventory ExceptionsSample 3ActiveOpen
Product MovementSample 4ActiveOpen
+
+
+
+
+
+
+ renderComponent(); ?> + + + + + + + + + + \ No newline at end of file