diff --git a/app/Enums/InvoicingUnit.php b/app/Enums/InvoicingUnit.php new file mode 100644 index 0000000..4feb138 --- /dev/null +++ b/app/Enums/InvoicingUnit.php @@ -0,0 +1,36 @@ + 'PCE', + 'kgm' => 'KGM', + 'colis' => 'COLIS', + ]; + } + + protected static function labels(): array + { + return [ + 'pce' => __('Pièce'), + 'kgm' => __('Kg'), + 'colis' => __('Colis'), + ]; + } + + public function __toString(): string + { + return (string)$this->label; + } +} diff --git a/app/Enums/OrderUnit.php b/app/Enums/OrderUnit.php new file mode 100644 index 0000000..6256c01 --- /dev/null +++ b/app/Enums/OrderUnit.php @@ -0,0 +1,36 @@ + 'PCE', + 'kgm' => 'KGM', + 'colis' => 'COLIS', + ]; + } + + protected static function labels(): array + { + return [ + 'pce' => __('Pièce'), + 'kgm' => __('Kg'), + 'colis' => __('Colis'), + ]; + } + + public function __toString(): string + { + return (string)$this->label; + } +} diff --git a/app/Http/Controllers/Bo/OrdersController.php b/app/Http/Controllers/Bo/OrdersController.php index d100713..2e9d335 100644 --- a/app/Http/Controllers/Bo/OrdersController.php +++ b/app/Http/Controllers/Bo/OrdersController.php @@ -260,7 +260,7 @@ class OrdersController extends Controller { $activestep = 3; - $magasin = Magasin::first(); + $magasin = Magasin::all(); //first(); $availCreneaux = array(); //plus besoin car chargé par le composant vue. diff --git a/app/Http/Controllers/Bo/ProductsController.php b/app/Http/Controllers/Bo/ProductsController.php index 03737f2..6a4c0b1 100644 --- a/app/Http/Controllers/Bo/ProductsController.php +++ b/app/Http/Controllers/Bo/ProductsController.php @@ -232,7 +232,9 @@ class ProductsController extends Controller $picture = $request->picture; $picture_large = $request->picture_large; $price = $request->price; + $invoicing_unit = $request->invoicing_unit; $priceBuy = $request->price_buy; + $order_unit = $request->order_unit; $stock = $request->stock; $reference = $request->reference; $sell_unit = $request->sell_unit; @@ -307,7 +309,9 @@ class ProductsController extends Controller $product->description = $description; $product->price = $price; + $product->invoicing_unit = $invoicing_unit; $product->price_buy = $priceBuy; + $product->order_unit = $order_unit; $product->stock = $stock; $product->reference = $reference; $product->sell_unit = $sell_unit; diff --git a/app/Jobs/CsvOrderWrite.php b/app/Jobs/CsvOrderWrite.php index 7c7ef22..1c894ae 100644 --- a/app/Jobs/CsvOrderWrite.php +++ b/app/Jobs/CsvOrderWrite.php @@ -76,7 +76,7 @@ class CsvOrderWrite extends CsvJobs foreach ($orderlines as $orderline) { $product = $orderline->product; - $unité_commande = $product->sell_unit ?? 'PCE'; //COLIS, KGM, PCE (faut il introduire un nouveau champs type unité de commande) + $unité_commande = $product->order_unit ?? 'PCE'; //COLIS, KGM, PCE (faut il introduire un nouveau champs type unité de commande) $code_client = preg_replace('/[^\d]/', '', $customer->salarie->matricule); //matricule rh transmis sans les lettres de l'identifiant windows //convert to date object diff --git a/config/app.php b/config/app.php index e84603e..0f34bc0 100644 --- a/config/app.php +++ b/config/app.php @@ -243,6 +243,8 @@ return [ 'LogType' => \App\Enums\LogType::class, 'SettingRegisterMode' => \App\Enums\SettingRegisterMode::class, 'SellUnit' => \App\Enums\SellUnit::class, + 'OrderUnit' => \App\Enums\OrderUnit::class, + 'InvoicingUnit' => \App\Enums\InvoicingUnit::class, ], ]; diff --git a/database/migrations/2021_07_27_103748_add_required_for_order_export_fields_to_products_table.php b/database/migrations/2021_07_27_103748_add_required_for_order_export_fields_to_products_table.php new file mode 100644 index 0000000..1f723ec --- /dev/null +++ b/database/migrations/2021_07_27_103748_add_required_for_order_export_fields_to_products_table.php @@ -0,0 +1,37 @@ +string('order_unit')->nullable()->after('sell_unit'); //unité de commande + //add invoicing_unit + $table->string('invoicing_unit')->nullable()->after('price'); //unité de facturation + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('products', function (Blueprint $table) { + $table->dropColumn('order_unit'); + $table->dropColumn('invoicing_unit'); + }); + } +} diff --git a/resources/lang/fr/validation.php b/resources/lang/fr/validation.php index 4714848..967b0f9 100644 --- a/resources/lang/fr/validation.php +++ b/resources/lang/fr/validation.php @@ -138,6 +138,9 @@ return [ ], 'selectedcreneau' => [ 'required' => 'Vous devez choisir un horaire de retrait pour votre commande.', + ], + 'selectedmagasin' => [ + 'required' => 'Vous devez choisir un point de retrait pour votre commande.', ] ], diff --git a/resources/views/bo/products/create.blade.php b/resources/views/bo/products/create.blade.php index bfc74ab..983a47e 100644 --- a/resources/views/bo/products/create.blade.php +++ b/resources/views/bo/products/create.blade.php @@ -54,20 +54,40 @@
+ @if (config('bosettings.regate_orders')) +
+ + +
+ @endif
- - + +
- + @if (config('bosettings.sell_unit_management') == "strict")
+
+ + +
@@ -118,20 +131,40 @@
+ @if (config('bosettings.regate_orders')) +
+ + +
+ @endif
- - + +
- + @if (config('bosettings.sell_unit_management') == "strict")