diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index fe02416d..4f5bfd76 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -296,10 +296,11 @@ class JobOrderController extends Controller // did they change invoice? $invoice_items = $req->request->get('invoice_items', []); + $invoice_change = $req->request->get('invoice_change', 0); $promo_id = $req->request->get('invoice_promo'); // call service to generate job order and invoice - $joc->generateJobOrder($obj, $promo_id, $invoice_items, $error_array); + $joc->generateJobOrder($obj, $promo_id, $invoice_change, $invoice_items, $error_array); } @@ -425,8 +426,9 @@ class JobOrderController extends Controller // call service to generate job order and invoice $invoice_items = $req->request->get('invoice_items', []); $promo_id = $req->request->get('invoice_promo'); + $invoice_change = true; - $joc->generateJobOrder($obj, $promo_id, $invoice_items, $error_array); + $joc->generateJobOrder($obj, $promo_id, $invoice_change, $invoice_items, $error_array); } // check if any errors were found diff --git a/src/Service/JobOrderGenerator/ResqJobOrderGenerator.php b/src/Service/JobOrderGenerator/ResqJobOrderGenerator.php index 38e347bc..118dbe97 100644 --- a/src/Service/JobOrderGenerator/ResqJobOrderGenerator.php +++ b/src/Service/JobOrderGenerator/ResqJobOrderGenerator.php @@ -34,11 +34,15 @@ class ResqJobOrderGenerator implements JobOrderGeneratorInterface $this->security = $security; $this->validator = $validator; } - public function generateJobOrder(JobOrder $jo, $promo_id, $invoice_items, &$error_array) + public function generateJobOrder(JobOrder $jo, $promo_id, $invoice_change, $invoice_items, &$error_array) { // TODO: data validation to be moved here - $this->processInvoice($jo, $promo_id, $invoice_items, $error_array); + // check if invoice changed + if ($invoice_change) + { + $this->processInvoice($jo, $promo_id, $invoice_items, $error_array); + } // validate $errors = $this->validator->validate($jo); diff --git a/src/Service/JobOrderGeneratorInterface.php b/src/Service/JobOrderGeneratorInterface.php index fb4d641b..da4090cb 100644 --- a/src/Service/JobOrderGeneratorInterface.php +++ b/src/Service/JobOrderGeneratorInterface.php @@ -8,5 +8,6 @@ use App\Entity\InvoiceItem; interface JobOrderGeneratorInterface { // generate job order - public function generateJobOrder(JobOrder $jo, int $promo_id, array $invoice_items, array &$error_array); + public function generateJobOrder(JobOrder $jo, int $promo_id, bool $invoice_change, + array $invoice_items, array &$error_array); }