diff --git a/addons/default/visiosoft/location-module/src/City/Command/GetCities.php b/addons/default/visiosoft/location-module/src/City/Command/GetCities.php new file mode 100644 index 000000000..67fcd53ae --- /dev/null +++ b/addons/default/visiosoft/location-module/src/City/Command/GetCities.php @@ -0,0 +1,34 @@ +country = $country; + } + + + /** + * @param CityModel $groups + * @return |null + */ + public function handle(CityModel $groups) + { + if ($this->country) { + return $groups->where('parent_country_id', $this->country)->get(); + } + return $groups::query()->get(); + } +} diff --git a/addons/default/visiosoft/location-module/src/Country/Command/GetCountries.php b/addons/default/visiosoft/location-module/src/Country/Command/GetCountries.php new file mode 100644 index 000000000..9dfb99a54 --- /dev/null +++ b/addons/default/visiosoft/location-module/src/Country/Command/GetCountries.php @@ -0,0 +1,12 @@ +get(); + } +} diff --git a/addons/default/visiosoft/location-module/src/LocationModulePlugin.php b/addons/default/visiosoft/location-module/src/LocationModulePlugin.php index 0b061185a..8addb2ae4 100644 --- a/addons/default/visiosoft/location-module/src/LocationModulePlugin.php +++ b/addons/default/visiosoft/location-module/src/LocationModulePlugin.php @@ -1,7 +1,9 @@ dispatch(new GetCities($country))) { + return null; + } + + return $ad; + } + ), new \Twig_SimpleFunction( 'getCountry', function ($id) { @@ -60,6 +73,16 @@ class LocationModulePlugin extends Plugin return $ad; } ), + new \Twig_SimpleFunction( + 'getCountries', + function () { + + if (!$ad = $this->dispatch(new GetCountries())) { + return null; + } + return $ad; + } + ), new \Twig_SimpleFunction( 'getVillage', function ($id) {