diff --git a/src/Controller/ItemPricingController.php b/src/Controller/ItemPricingController.php index 38bc0ce3..f7fd78ec 100644 --- a/src/Controller/ItemPricingController.php +++ b/src/Controller/ItemPricingController.php @@ -56,6 +56,48 @@ class ItemPricingController extends Controller */ public function formSubmit(Request $req, EntityManagerInterface $em) { + $pt_id = $req->request->get('price_tier_id'); + $it_id = $req->request->get('item_type_id'); + $prices = $req->request->get('price'); + + // get the item type + $item_type = $em->getRepository(ItemType::class)->find($it_id); + + if ($pt_id == 0) + { + // default price tier, update battery or service offering, depending on item type + // NOTE: battery and service offering prices or fees are stored as decimal. + if ($item_type->getCode() == 'battery') + { + // get batteries + $items = $em->getRepository(Battery::class)->findBy(['flag_active' => true], ['id' => 'asc']); + } + else + { + // get service offerings + $items = $em->getRepository(ServiceOffering::class)->findBy([], ['id' => 'asc']); + } + + foreach ($items as $item) + { + $item_id = $item->getID(); + if (isset[$prices[$item_id]]) + { + // check item type + if ($item_type->getCode() == 'battery') + $item->setSellingPrice($prices[$item_id]); + else + $item->setFee($prices[$item_id]); + } + } + } + else + { + // get the price tier + $price_tier = $em->getRepository(PriceTier::class)->find($pt_id); + + // TODO: finish this + } } /** @@ -82,19 +124,17 @@ class ItemPricingController extends Controller $pt_prices[$pt_item->getID()] = $pt_item->getPrice(); } } + + // get the prices from battery or service offering, depending on item type + if ($it->getCode() == 'battery') + { + // get batteries + $items = $em->getRepository(Battery::class)->findBy(['flag_active' => true], ['id' => 'asc']); + } else { - // get the prices from battery or service offering, depending on item type - if ($it->getCode() == 'battery') - { - // get batteries - $items = $em->getRepository(Battery::class)->findBy(['flag_active' => true]); - } - else - { - // get service offerings - $items = $em->getRepository(ServiceOffering::class)->findBy([], ['name' => 'asc']); - } + // get service offerings + $items = $em->getRepository(ServiceOffering::class)->findBy([], ['id' => 'asc']); } $data_items = []; @@ -146,7 +186,7 @@ class ItemPricingController extends Controller $batt_item_type = $em->getRepository(ItemType::class)->findOneBy(['code' => 'battery']); // get all active batteries - $batts = $em->getRepository(Battery::class)->findBy(['flag_active' => true]); + $batts = $em->getRepository(Battery::class)->findBy(['flag_active' => true], ['id' => 'asc']); foreach ($batts as $batt) { $batt_set[$batt->getID()] = [ @@ -168,7 +208,7 @@ class ItemPricingController extends Controller $service_item_type = $em->getRepository(ItemType::class)->findOneBy(['code' => 'service_offering']); // get all service offerings - $services = $em->getRepository(ServiceOffering::class)->findBy([], ['name' => 'asc']); + $services = $em->getRepository(ServiceOffering::class)->findBy([], ['id' => 'asc']); $service_set = []; foreach ($services as $service) { diff --git a/templates/item-pricing/form.html.twig b/templates/item-pricing/form.html.twig index c27179a3..0afd23e3 100644 --- a/templates/item-pricing/form.html.twig +++ b/templates/item-pricing/form.html.twig @@ -51,6 +51,7 @@