From d60cc44eb1772f37bfbbde2851e5eb949f1d67fa Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Tue, 9 Feb 2021 22:29:25 +0100 Subject: [PATCH] On avance sur LivraisonParSecteurs --- .../Controller/BackOfficeController.php | 7 +- .../LivraisonParSecteurs/Form/CitiesForm.php | 18 +-- .../Loop/AreaCitiesLoop.php | 65 ++++++++++ .../backOffice/default/deliveryarea-edit.html | 4 +- .../default/includes/area-cities.html | 119 +++++------------- .../default/includes/area-schedule.html | 21 ++-- 6 files changed, 128 insertions(+), 106 deletions(-) create mode 100644 local/modules/LivraisonParSecteurs/Loop/AreaCitiesLoop.php diff --git a/local/modules/LivraisonParSecteurs/Controller/BackOfficeController.php b/local/modules/LivraisonParSecteurs/Controller/BackOfficeController.php index 2de766f8..8ece9d53 100644 --- a/local/modules/LivraisonParSecteurs/Controller/BackOfficeController.php +++ b/local/modules/LivraisonParSecteurs/Controller/BackOfficeController.php @@ -76,6 +76,11 @@ class BackOfficeController extends BaseAdminController $error_msg = $this->createStandardFormValidationErrorMessage($ex); } - return $this->render("deliveryarea-edit", Array($error_msg)); + /* Laurent : à faire --> changer le redirect si "Enregistrer et fermer" */ + + if ($this->getRequest()->get('save_mode') == 'stay') + return $this->render("deliveryarea-edit"); + + return $this->render("deliveryarea-list"); } } \ No newline at end of file diff --git a/local/modules/LivraisonParSecteurs/Form/CitiesForm.php b/local/modules/LivraisonParSecteurs/Form/CitiesForm.php index a0eaa3ea..d24d06a0 100644 --- a/local/modules/LivraisonParSecteurs/Form/CitiesForm.php +++ b/local/modules/LivraisonParSecteurs/Form/CitiesForm.php @@ -19,14 +19,18 @@ class CitiesForm extends BaseForm { $this->formBuilder ->add( - 'price', - 'number', + "area_id", + "integer", + [ + "required" => true, + "constraints" => [new Constraints\NotBlank()] + ]) + ->add( + 'zipcode', + 'integer', [ 'constraints' => [new Constraints\NotBlank()], - 'required' => true, - 'label' => $this->translator->trans('Delivery price', [], LivraisonParSecteurs::DOMAIN_NAME), - 'label_attr' => ['for' => 'price'], - 'attr' => array() + 'label' => $this->translator->trans('Delivery price', [], LivraisonParSecteurs::DOMAIN_NAME) ]); } @@ -35,6 +39,6 @@ class CitiesForm extends BaseForm */ public function getName() { - return "lps-area-cities.update"; + return "lps-area-cities-update"; } } diff --git a/local/modules/LivraisonParSecteurs/Loop/AreaCitiesLoop.php b/local/modules/LivraisonParSecteurs/Loop/AreaCitiesLoop.php new file mode 100644 index 00000000..0f7d3b78 --- /dev/null +++ b/local/modules/LivraisonParSecteurs/Loop/AreaCitiesLoop.php @@ -0,0 +1,65 @@ +getResultDataCollection() as $lps_area_cities) { + + $loopResultRow = new LoopResultRow($lps_area_cities); + $loopResultRow + ->set("ID", $lps_area_cities->getId()) + ->set("ZIPCODE", $lps_area_cities->getZipcode()) + ; + $loopResult->addRow($loopResultRow); + } + return $loopResult; + } + + /** + * @inheritdoc + */ + protected function getArgDefinitions() + { + return new ArgumentCollection( + Argument::createIntListTypeArgument('area_id') + ); + } + + /** + * @inheritdoc + */ + public function buildModelCriteria() + { + $query = LpsAreaCityQuery::create(); + if (null != $id = $this->getAreaId()) { + $query->filterByIdArea($id); + } + + return $query->orderByZipcode(); + } + +} diff --git a/local/modules/LivraisonParSecteurs/templates/backOffice/default/deliveryarea-edit.html b/local/modules/LivraisonParSecteurs/templates/backOffice/default/deliveryarea-edit.html index cc7f9aa5..6bb18386 100644 --- a/local/modules/LivraisonParSecteurs/templates/backOffice/default/deliveryarea-edit.html +++ b/local/modules/LivraisonParSecteurs/templates/backOffice/default/deliveryarea-edit.html @@ -35,12 +35,12 @@ {/loop} {loop name="auth-schedule-tab" type="auth" role="ADMIN" resource="admin.schedule" access="VIEW" module="LivraisonParSecteurs"}
- {* {include file="includes/area-schedule.html"} *} + {include file="includes/area-schedule.html"}
{/loop} {loop name="auth-cities-tab" type="auth" role="ADMIN" resource="admin.cities" access="VIEW" module="LivraisonParSecteurs"}
- {* {include file="includes/area-cities.html"} *} + {include file="includes/area-cities.html"}
{/loop} diff --git a/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-cities.html b/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-cities.html index d9318602..327fcac1 100644 --- a/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-cities.html +++ b/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-cities.html @@ -1,88 +1,37 @@ -
-
- - +{form name='lps-area-cities-update'} +
-
- - - - - - - + {if $form_error} +
{$form_error_message}
+ {/if} - - {loop name="dealer-schedules-defaults" type="dealer_schedules" dealer_id=$smarty.get.dealer_id default_period=true order="day,begin"} - - - - - {* Actions *} - - - {/loop} - {elseloop rel="dealer-schedules-defaults"} - - - - {/elseloop} - -
- {loop name="auth-create" type="auth" role="ADMIN" resource="admin.livraisonparsecteurs.schedules" access="CREATE" module="LivraisonParSecteurs"} -
- - - -
- {/loop} -

{intl l="Default Schedules" d="livraisonparsecteurs"}

-
- {intl l="Day" d="livraisonparsecteurs"} - - {intl l="Begin" d="livraisonparsecteurs"} - - {intl l="End" d="livraisonparsecteurs"} - - {intl l="Actions" d="livraisonparsecteurs"} -
- {$DAY_LABEL} - - {format_date date=$BEGIN format="H:i"} - - {format_date date=$END format="H:i"} - -
- {loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="UPDATE" module="Dealer"} - - - - {/loop} - {loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"} - - - - {/loop} - {loop name="auth-delete" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="DELETE" module="Dealer"} - - - - {/loop} -
-
-
- {intl l="There is no Default Schedules" d="livraisonparsecteurs"} -
-
+ {loop name="area" type="lps_area" id="$area_id"} +
+ {form_hidden_fields form=$form} + + {include + file = "includes/inner-form-toolbar.html" + hide_flags = true + hide_submit_buttons = false + page_url = "{url path='/admin/module/LivraisonParSecteurs/edit' area_id=$area_id}" + close_url = "{url path='/admin/module/LivraisonParSecteurs'}" + current_tab = "general" + } + + {form_field form=$form field="area_id"} + + {/form_field} + + + + + {loop name="cities" type="lps_area_cities" area_id="$area_id"} + + {/loop} + +
{$ZIPCODE}
+ +
+ {/loop}
-
\ No newline at end of file +{/form} diff --git a/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-schedule.html b/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-schedule.html index 355ef9b3..95264f73 100644 --- a/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-schedule.html +++ b/local/modules/LivraisonParSecteurs/templates/backOffice/default/includes/area-schedule.html @@ -1,20 +1,17 @@ - -
@@ -35,7 +32,7 @@ - {loop name="dealer-schedules-defaults" type="dealer_schedules" dealer_id=$smarty.get.dealer_id default_period=true order="day,begin"} + {loop name="dealer-schedules-defaults" type="lap_area_schedule" area_id=$area_id} {/elseloop} + +
- {loop name="auth-create" type="auth" role="ADMIN" resource="admin.livraisonparsecteurs.schedules" access="CREATE" module="LivraisonParSecteurs"} + {loop name="auth-create" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"} {/loop} -

{intl l="Default Schedules" d="livraisonparsecteurs"}

+

{intl l="Delivery days" d="livraisonparsecteurs"}

{$DAY_LABEL} @@ -51,7 +48,7 @@
{loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="UPDATE" module="Dealer"} @@ -60,14 +57,14 @@ {/loop} {loop name="auth-edit" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="CREATE" module="Dealer"} {/loop} {loop name="auth-delete" type="auth" role="ADMIN" resource="admin.dealer.schedules" access="DELETE" module="Dealer"} @@ -86,6 +83,8 @@
-
+ \ No newline at end of file