diff --git a/Modules/Currency/Config/.gitkeep b/Modules/Currency/Config/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Config/config.php b/Modules/Currency/Config/config.php
new file mode 100644
index 00000000..dcf1c905
--- /dev/null
+++ b/Modules/Currency/Config/config.php
@@ -0,0 +1,5 @@
+ 'Currency'
+];
diff --git a/Modules/Currency/Console/.gitkeep b/Modules/Currency/Console/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Database/Migrations/.gitkeep b/Modules/Currency/Database/Migrations/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Database/Migrations/2021_07_31_015923_create_currencies_table.php b/Modules/Currency/Database/Migrations/2021_07_31_015923_create_currencies_table.php
new file mode 100644
index 00000000..878b7641
--- /dev/null
+++ b/Modules/Currency/Database/Migrations/2021_07_31_015923_create_currencies_table.php
@@ -0,0 +1,37 @@
+id();
+ $table->string('currency_name');
+ $table->string('code');
+ $table->string('symbol');
+ $table->string('thousand_separator');
+ $table->string('decimal_separator');
+ $table->integer('exchange_rate')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('currencies');
+ }
+}
diff --git a/Modules/Currency/Database/Seeders/.gitkeep b/Modules/Currency/Database/Seeders/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Database/Seeders/CurrencyDatabaseSeeder.php b/Modules/Currency/Database/Seeders/CurrencyDatabaseSeeder.php
new file mode 100644
index 00000000..93d02813
--- /dev/null
+++ b/Modules/Currency/Database/Seeders/CurrencyDatabaseSeeder.php
@@ -0,0 +1,21 @@
+call("OthersTableSeeder");
+ }
+}
diff --git a/Modules/Currency/Database/factories/.gitkeep b/Modules/Currency/Database/factories/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Entities/.gitkeep b/Modules/Currency/Entities/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Entities/Currency.php b/Modules/Currency/Entities/Currency.php
new file mode 100644
index 00000000..393ae255
--- /dev/null
+++ b/Modules/Currency/Entities/Currency.php
@@ -0,0 +1,14 @@
+render('currency::index');
+ }
+
+
+ public function create() {
+ abort_if(Gate::denies('create_currencies'), 403);
+
+ return view('currency::create');
+ }
+
+
+ public function store(Request $request) {
+ abort_if(Gate::denies('create_currencies'), 403);
+
+ $request->validate([
+ 'currency_name' => 'required|string|max:255',
+ 'code' => 'required|string|max:255',
+ 'symbol' => 'required|string|max:255',
+ 'thousand_separator' => 'required|string|max:255',
+ 'decimal_separator' => 'required|string|max:255',
+ 'exchange_rate' => 'nullable|numeric|max:2147483647'
+ ]);
+
+ Currency::create([
+ 'currency_name' => $request->currency_name,
+ 'code' => Str::upper($request->code),
+ 'symbol' => $request->symbol,
+ 'thousand_separator' => $request->thousand_separator,
+ 'decimal_separator' => $request->decimal_separator,
+ 'exchange_rate' => $request->exchange_rate
+ ]);
+
+ toast('Currency Created!', 'success');
+
+ return redirect()->route('currencies.index');
+ }
+
+
+ public function edit(Currency $currency) {
+ abort_if(Gate::denies('edit_currencies'), 403);
+
+ return view('currency::edit', compact('currency'));
+ }
+
+
+ public function update(Request $request, Currency $currency) {
+ abort_if(Gate::denies('edit_currencies'), 403);
+
+ $request->validate([
+ 'currency_name' => 'required|string|max:255',
+ 'code' => 'required|string|max:255',
+ 'symbol' => 'required|string|max:255',
+ 'thousand_separator' => 'required|string|max:255',
+ 'decimal_separator' => 'required|string|max:255',
+ 'exchange_rate' => 'nullable|numeric|max:2147483647'
+ ]);
+
+ $currency->update([
+ 'currency_name' => $request->currency_name,
+ 'code' => Str::upper($request->code),
+ 'symbol' => $request->symbol,
+ 'thousand_separator' => $request->thousand_separator,
+ 'decimal_separator' => $request->decimal_separator,
+ 'exchange_rate' => $request->exchange_rate
+ ]);
+
+ toast('Currency Updated!', 'info');
+
+ return redirect()->route('currencies.index');
+ }
+
+
+ public function destroy(Currency $currency) {
+ abort_if(Gate::denies('delete_currencies'), 403);
+
+ $currency->delete();
+
+ toast('Currency Deleted!', 'warning');
+
+ return redirect()->route('currencies.index');
+ }
+}
diff --git a/Modules/Currency/Http/Middleware/.gitkeep b/Modules/Currency/Http/Middleware/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Http/Requests/.gitkeep b/Modules/Currency/Http/Requests/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Providers/.gitkeep b/Modules/Currency/Providers/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Providers/CurrencyServiceProvider.php b/Modules/Currency/Providers/CurrencyServiceProvider.php
new file mode 100644
index 00000000..6cb9dcfa
--- /dev/null
+++ b/Modules/Currency/Providers/CurrencyServiceProvider.php
@@ -0,0 +1,112 @@
+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/Currency/Providers/RouteServiceProvider.php b/Modules/Currency/Providers/RouteServiceProvider.php
new file mode 100644
index 00000000..39446964
--- /dev/null
+++ b/Modules/Currency/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('Currency', '/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('Currency', '/Routes/api.php'));
+ }
+}
diff --git a/Modules/Currency/Resources/assets/.gitkeep b/Modules/Currency/Resources/assets/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Resources/assets/js/app.js b/Modules/Currency/Resources/assets/js/app.js
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Resources/assets/sass/app.scss b/Modules/Currency/Resources/assets/sass/app.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Resources/lang/.gitkeep b/Modules/Currency/Resources/lang/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Resources/views/.gitkeep b/Modules/Currency/Resources/views/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Resources/views/create.blade.php b/Modules/Currency/Resources/views/create.blade.php
new file mode 100644
index 00000000..60b3e2c9
--- /dev/null
+++ b/Modules/Currency/Resources/views/create.blade.php
@@ -0,0 +1,69 @@
+@extends('layouts.app')
+
+@section('title', 'Create Currency')
+
+@section('breadcrumb')
+
+ - Home
+ - Currencies
+ - Add
+
+@endsection
+
+@section('content')
+
+@endsection
+
diff --git a/Modules/Currency/Resources/views/edit.blade.php b/Modules/Currency/Resources/views/edit.blade.php
new file mode 100644
index 00000000..99a8bdf4
--- /dev/null
+++ b/Modules/Currency/Resources/views/edit.blade.php
@@ -0,0 +1,70 @@
+@extends('layouts.app')
+
+@section('title', 'Create Customer')
+
+@section('breadcrumb')
+
+ - Home
+ - Currencies
+ - Edit
+
+@endsection
+
+@section('content')
+
+@endsection
+
diff --git a/Modules/Currency/Resources/views/index.blade.php b/Modules/Currency/Resources/views/index.blade.php
new file mode 100644
index 00000000..26bc7b52
--- /dev/null
+++ b/Modules/Currency/Resources/views/index.blade.php
@@ -0,0 +1,40 @@
+@extends('layouts.app')
+
+@section('title', 'Currencies')
+
+@section('third_party_stylesheets')
+
+@endsection
+
+@section('breadcrumb')
+
+ - Home
+ - Currencies
+
+@endsection
+
+@section('content')
+
+@endsection
+
+@push('page_scripts')
+ {!! $dataTable->scripts() !!}
+@endpush
diff --git a/Modules/Currency/Resources/views/partials/actions.blade.php b/Modules/Currency/Resources/views/partials/actions.blade.php
new file mode 100644
index 00000000..f107cf98
--- /dev/null
+++ b/Modules/Currency/Resources/views/partials/actions.blade.php
@@ -0,0 +1,19 @@
+@can('edit_currencies')
+
+
+
+@endcan
+@can('delete_currencies')
+
+@endcan
diff --git a/Modules/Currency/Routes/.gitkeep b/Modules/Currency/Routes/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Routes/api.php b/Modules/Currency/Routes/api.php
new file mode 100644
index 00000000..a146996e
--- /dev/null
+++ b/Modules/Currency/Routes/api.php
@@ -0,0 +1,18 @@
+get('/currency', function (Request $request) {
+ return $request->user();
+});
\ No newline at end of file
diff --git a/Modules/Currency/Routes/web.php b/Modules/Currency/Routes/web.php
new file mode 100644
index 00000000..4587c961
--- /dev/null
+++ b/Modules/Currency/Routes/web.php
@@ -0,0 +1,18 @@
+ 'auth'], function () {
+
+ Route::resource('currencies', 'CurrencyController')->except('show');
+
+});
diff --git a/Modules/Currency/Tests/Feature/.gitkeep b/Modules/Currency/Tests/Feature/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/Tests/Unit/.gitkeep b/Modules/Currency/Tests/Unit/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Modules/Currency/composer.json b/Modules/Currency/composer.json
new file mode 100644
index 00000000..6b499179
--- /dev/null
+++ b/Modules/Currency/composer.json
@@ -0,0 +1,23 @@
+{
+ "name": "nwidart/currency",
+ "description": "",
+ "authors": [
+ {
+ "name": "Nicolas Widart",
+ "email": "n.widart@gmail.com"
+ }
+ ],
+ "extra": {
+ "laravel": {
+ "providers": [],
+ "aliases": {
+
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Modules\\Currency\\": ""
+ }
+ }
+}
diff --git a/Modules/Currency/module.json b/Modules/Currency/module.json
new file mode 100644
index 00000000..3c3f412c
--- /dev/null
+++ b/Modules/Currency/module.json
@@ -0,0 +1,13 @@
+{
+ "name": "Currency",
+ "alias": "currency",
+ "description": "",
+ "keywords": [],
+ "priority": 0,
+ "providers": [
+ "Modules\\Currency\\Providers\\CurrencyServiceProvider"
+ ],
+ "aliases": {},
+ "files": [],
+ "requires": []
+}
diff --git a/Modules/Currency/package.json b/Modules/Currency/package.json
new file mode 100644
index 00000000..4599509f
--- /dev/null
+++ b/Modules/Currency/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/Currency/webpack.mix.js b/Modules/Currency/webpack.mix.js
new file mode 100644
index 00000000..09f4ab9a
--- /dev/null
+++ b/Modules/Currency/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/currency.js')
+ .sass( __dirname + '/Resources/assets/sass/app.scss', 'css/currency.css');
+
+if (mix.inProduction()) {
+ mix.version();
+}
diff --git a/Modules/Expense/Entities/Expense.php b/Modules/Expense/Entities/Expense.php
index f05bb16f..442b68b3 100644
--- a/Modules/Expense/Entities/Expense.php
+++ b/Modules/Expense/Entities/Expense.php
@@ -19,4 +19,12 @@ class Expense extends Model
public function getDateAttribute($value) {
return Carbon::parse($value)->format('d M, Y');
}
+
+ public function setAmountAttribute($value) {
+ $this->attributes['amount'] = ($value * 100);
+ }
+
+ public function getAmountAttribute($value) {
+ return ($value / 100);
+ }
}
diff --git a/Modules/Expense/Http/Controllers/ExpenseController.php b/Modules/Expense/Http/Controllers/ExpenseController.php
index abe57dd5..375ca35b 100644
--- a/Modules/Expense/Http/Controllers/ExpenseController.php
+++ b/Modules/Expense/Http/Controllers/ExpenseController.php
@@ -34,7 +34,7 @@ class ExpenseController extends Controller
'date' => 'required|date',
'reference' => 'required|string|max:255|unique:expenses,reference',
'category_id' => 'required',
- 'amount' => 'required|integer',
+ 'amount' => 'required|numeric|max:2147483647',
'details' => 'nullable|string|max:1000'
]);
@@ -66,7 +66,7 @@ class ExpenseController extends Controller
'date' => 'required|date',
'reference' => 'required|string|max:255|unique:expenses,reference,' . $expense->id,
'category_id' => 'required',
- 'amount' => 'required|integer',
+ 'amount' => 'required|numeric|max:2147483647',
'details' => 'nullable|string|max:1000'
]);
diff --git a/Modules/Expense/Resources/views/expenses/create.blade.php b/Modules/Expense/Resources/views/expenses/create.blade.php
index aabe04ea..994d2204 100644
--- a/Modules/Expense/Resources/views/expenses/create.blade.php
+++ b/Modules/Expense/Resources/views/expenses/create.blade.php
@@ -12,7 +12,7 @@
@section('content')
@@ -73,3 +71,27 @@
@endsection
+@push('page_scripts')
+
+
+@endpush
diff --git a/Modules/People/Database/Seeders/PeopleDatabaseSeeder.php b/Modules/People/Database/Seeders/PeopleDatabaseSeeder.php
index ccdd043a..97bc777f 100644
--- a/Modules/People/Database/Seeders/PeopleDatabaseSeeder.php
+++ b/Modules/People/Database/Seeders/PeopleDatabaseSeeder.php
@@ -4,6 +4,8 @@ namespace Modules\People\Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
+use Modules\People\Entities\Customer;
+use Modules\People\Entities\Supplier;
class PeopleDatabaseSeeder extends Seeder
{
@@ -14,8 +16,7 @@ class PeopleDatabaseSeeder extends Seeder
*/
public function run()
{
- Model::unguard();
-
- // $this->call("OthersTableSeeder");
+ Customer::factory()->count(15)->create();
+ Supplier::factory()->count(6)->create();
}
}
diff --git a/Modules/People/Database/factories/CustomerFactory.php b/Modules/People/Database/factories/CustomerFactory.php
new file mode 100644
index 00000000..11fe6cc2
--- /dev/null
+++ b/Modules/People/Database/factories/CustomerFactory.php
@@ -0,0 +1,32 @@
+ $this->faker->name(),
+ 'customer_email' => $this->faker->safeEmail(),
+ 'customer_phone' => $this->faker->phoneNumber(),
+ 'city' => $this->faker->city(),
+ 'country' => $this->faker->country(),
+ 'address' => $this->faker->streetAddress()
+ ];
+ }
+}
+
diff --git a/Modules/People/Database/factories/SupplierFactory.php b/Modules/People/Database/factories/SupplierFactory.php
new file mode 100644
index 00000000..919b140e
--- /dev/null
+++ b/Modules/People/Database/factories/SupplierFactory.php
@@ -0,0 +1,32 @@
+ $this->faker->name(),
+ 'supplier_email' => $this->faker->safeEmail(),
+ 'supplier_phone' => $this->faker->phoneNumber(),
+ 'city' => $this->faker->city(),
+ 'country' => $this->faker->country(),
+ 'address' => $this->faker->streetAddress()
+ ];
+ }
+}
+
diff --git a/Modules/People/Entities/Customer.php b/Modules/People/Entities/Customer.php
index 1866e916..ebabceba 100644
--- a/Modules/People/Entities/Customer.php
+++ b/Modules/People/Entities/Customer.php
@@ -12,4 +12,8 @@ class Customer extends Model
protected $guarded = [];
+ protected static function newFactory() {
+ return \Modules\People\Database\factories\CustomerFactory::new();
+ }
+
}
diff --git a/Modules/People/Entities/Supplier.php b/Modules/People/Entities/Supplier.php
index 04cdbec6..9ec771c8 100644
--- a/Modules/People/Entities/Supplier.php
+++ b/Modules/People/Entities/Supplier.php
@@ -11,4 +11,7 @@ class Supplier extends Model
protected $guarded = [];
+ protected static function newFactory() {
+ return \Modules\People\Database\factories\SupplierFactory::new();
+ }
}
diff --git a/Modules/People/Http/Controllers/CustomersController.php b/Modules/People/Http/Controllers/CustomersController.php
index 691b2931..e3b2a1f8 100644
--- a/Modules/People/Http/Controllers/CustomersController.php
+++ b/Modules/People/Http/Controllers/CustomersController.php
@@ -31,7 +31,7 @@ class CustomersController extends Controller
$request->validate([
'customer_name' => 'required|string|max:255',
- 'customer_phone' => 'required|numeric',
+ 'customer_phone' => 'required|max:255',
'customer_email' => 'required|email|max:255',
'city' => 'required|string|max:255',
'country' => 'required|string|max:255',
@@ -72,7 +72,7 @@ class CustomersController extends Controller
$request->validate([
'customer_name' => 'required|string|max:255',
- 'customer_phone' => 'required|numeric',
+ 'customer_phone' => 'required|max:255',
'customer_email' => 'required|email|max:255',
'city' => 'required|string|max:255',
'country' => 'required|string|max:255',
diff --git a/Modules/People/Http/Controllers/SuppliersController.php b/Modules/People/Http/Controllers/SuppliersController.php
index 182342d3..28cf424d 100644
--- a/Modules/People/Http/Controllers/SuppliersController.php
+++ b/Modules/People/Http/Controllers/SuppliersController.php
@@ -31,7 +31,7 @@ class SuppliersController extends Controller
$request->validate([
'supplier_name' => 'required|string|max:255',
- 'supplier_phone' => 'required|numeric',
+ 'supplier_phone' => 'required|max:255',
'supplier_email' => 'required|email|max:255',
'city' => 'required|string|max:255',
'country' => 'required|string|max:255',
@@ -72,7 +72,7 @@ class SuppliersController extends Controller
$request->validate([
'supplier_name' => 'required|string|max:255',
- 'supplier_phone' => 'required|numeric',
+ 'supplier_phone' => 'required|max:255',
'supplier_email' => 'required|email|max:255',
'city' => 'required|string|max:255',
'country' => 'required|string|max:255',
diff --git a/Modules/Product/Entities/Product.php b/Modules/Product/Entities/Product.php
index 56dfa03d..c2583846 100644
--- a/Modules/Product/Entities/Product.php
+++ b/Modules/Product/Entities/Product.php
@@ -24,4 +24,20 @@ class Product extends Model implements HasMedia
$this->addMediaCollection('default')
->useFallbackUrl('/images/fallback_product_image.png');
}
+
+ public function setProductCostAttribute($value) {
+ $this->attributes['product_cost'] = ($value * 100);
+ }
+
+ public function getProductCostAttribute($value) {
+ return ($value / 100);
+ }
+
+ public function setProductPriceAttribute($value) {
+ $this->attributes['product_price'] = ($value * 100);
+ }
+
+ public function getProductPriceAttribute($value) {
+ return ($value / 100);
+ }
}
diff --git a/Modules/Product/Http/Requests/ProductCreateRequest.php b/Modules/Product/Http/Requests/ProductCreateRequest.php
index 5b8d8f4e..c65e3f12 100644
--- a/Modules/Product/Http/Requests/ProductCreateRequest.php
+++ b/Modules/Product/Http/Requests/ProductCreateRequest.php
@@ -19,8 +19,8 @@ class ProductCreateRequest extends FormRequest
'product_code' => ['required', 'string', 'max:255', 'unique:products,product_code'],
'product_barcode_symbology' => ['required', 'string', 'max:255'],
'product_quantity' => ['required', 'integer', 'min:1'],
- 'product_cost' => ['required', 'integer'],
- 'product_price' => ['required', 'integer'],
+ 'product_cost' => ['required', 'numeric', 'max:2147483647'],
+ 'product_price' => ['required', 'numeric', 'max:2147483647'],
'product_stock_alert' => ['required', 'integer', 'min:0'],
'product_order_tax' => ['nullable', 'integer', 'min:1'],
'product_tax_type' => ['nullable', 'integer'],
diff --git a/Modules/Product/Http/Requests/ProductUpdateRequest.php b/Modules/Product/Http/Requests/ProductUpdateRequest.php
index b220a6ae..65287dd0 100644
--- a/Modules/Product/Http/Requests/ProductUpdateRequest.php
+++ b/Modules/Product/Http/Requests/ProductUpdateRequest.php
@@ -20,8 +20,8 @@ class ProductUpdateRequest extends FormRequest
'product_code' => ['required', 'string', 'max:255', 'unique:products,product_code,' . $this->product->id],
'product_barcode_symbology' => ['required', 'string', 'max:255'],
'product_quantity' => ['required', 'integer', 'min:1'],
- 'product_cost' => ['required', 'integer'],
- 'product_price' => ['required', 'integer'],
+ 'product_cost' => ['required', 'numeric', 'max:2147483647'],
+ 'product_price' => ['required', 'numeric', 'max:2147483647'],
'product_stock_alert' => ['required', 'integer', 'min:0'],
'product_order_tax' => ['nullable', 'integer', 'min:1'],
'product_tax_type' => ['nullable', 'integer'],
diff --git a/Modules/Product/Resources/views/products/create.blade.php b/Modules/Product/Resources/views/products/create.blade.php
index cbf43367..c86a6f6b 100644
--- a/Modules/Product/Resources/views/products/create.blade.php
+++ b/Modules/Product/Resources/views/products/create.blade.php
@@ -16,7 +16,7 @@
@section('content')
-