From a6b149ade05263ad6d1af1cf8522e618f039a874 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Mon, 9 Dec 2019 17:50:48 +0300 Subject: [PATCH] create get Neighborhood Detail and get District Detail Function for Twig --- .../src/District/Command/GetDistrict.php | 34 ++++++++++++++++ .../src/LocationModulePlugin.php | 40 +++++++++++++++++++ .../src/LocationModuleServiceProvider.php | 24 ++++++----- .../Neighborhood/Command/GetNeighborhood.php | 34 ++++++++++++++++ 4 files changed, 121 insertions(+), 11 deletions(-) create mode 100644 addons/default/visiosoft/location-module/src/District/Command/GetDistrict.php create mode 100644 addons/default/visiosoft/location-module/src/LocationModulePlugin.php create mode 100644 addons/default/visiosoft/location-module/src/Neighborhood/Command/GetNeighborhood.php diff --git a/addons/default/visiosoft/location-module/src/District/Command/GetDistrict.php b/addons/default/visiosoft/location-module/src/District/Command/GetDistrict.php new file mode 100644 index 000000000..79b7f70cf --- /dev/null +++ b/addons/default/visiosoft/location-module/src/District/Command/GetDistrict.php @@ -0,0 +1,34 @@ +id = $id; + } + + + /** + * @param DistrictModel $groups + * @return |null + */ + public function handle(DistrictModel $groups) + { + if ($this->id) { + return $groups->find($this->id); + } + return null; + } +} diff --git a/addons/default/visiosoft/location-module/src/LocationModulePlugin.php b/addons/default/visiosoft/location-module/src/LocationModulePlugin.php new file mode 100644 index 000000000..23db88713 --- /dev/null +++ b/addons/default/visiosoft/location-module/src/LocationModulePlugin.php @@ -0,0 +1,40 @@ +dispatch(new GetDistrict($id))) { + return null; + } + + return $ad; + } + ), + new \Twig_SimpleFunction( + 'getNeighborhood', + function ($id) { + + if (!$ad = $this->dispatch(new GetNeighborhood($id))) { + return null; + } + + return $ad; + } + ), + ]; + } +} diff --git a/addons/default/visiosoft/location-module/src/LocationModuleServiceProvider.php b/addons/default/visiosoft/location-module/src/LocationModuleServiceProvider.php index 2b52b30bc..b957e4c71 100644 --- a/addons/default/visiosoft/location-module/src/LocationModuleServiceProvider.php +++ b/addons/default/visiosoft/location-module/src/LocationModuleServiceProvider.php @@ -17,7 +17,9 @@ class LocationModuleServiceProvider extends AddonServiceProvider * * @type array|null */ - protected $plugins = []; + protected $plugins = [ + LocationModulePlugin::class + ]; /** * The addon Artisan commands. @@ -46,20 +48,20 @@ class LocationModuleServiceProvider extends AddonServiceProvider * @type array|null */ protected $routes = [ - 'admin/location/village' => 'Visiosoft\LocationModule\Http\Controller\Admin\VillageController@index', - 'admin/location/village/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\VillageController@create', + 'admin/location/village' => 'Visiosoft\LocationModule\Http\Controller\Admin\VillageController@index', + 'admin/location/village/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\VillageController@create', 'admin/location/village/edit/{id}' => 'Visiosoft\LocationModule\Http\Controller\Admin\VillageController@edit', - 'admin/location/' => 'Visiosoft\LocationModule\Http\Controller\Admin\CountriesController@index', - 'admin/location/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\CountriesController@create', + 'admin/location/' => 'Visiosoft\LocationModule\Http\Controller\Admin\CountriesController@index', + 'admin/location/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\CountriesController@create', 'admin/location/edit/{id}' => 'Visiosoft\LocationModule\Http\Controller\Admin\CountriesController@edit', - 'admin/location/cities' => 'Visiosoft\LocationModule\Http\Controller\Admin\CitiesController@index', - 'admin/location/cities/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\CitiesController@create', + 'admin/location/cities' => 'Visiosoft\LocationModule\Http\Controller\Admin\CitiesController@index', + 'admin/location/cities/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\CitiesController@create', 'admin/location/cities/edit/{id}' => 'Visiosoft\LocationModule\Http\Controller\Admin\CitiesController@edit', - 'admin/location/districts' => 'Visiosoft\LocationModule\Http\Controller\Admin\DistrictsController@index', - 'admin/location/districts/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\DistrictsController@create', + 'admin/location/districts' => 'Visiosoft\LocationModule\Http\Controller\Admin\DistrictsController@index', + 'admin/location/districts/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\DistrictsController@create', 'admin/location/districts/edit/{id}' => 'Visiosoft\LocationModule\Http\Controller\Admin\DistrictsController@edit', - 'admin/location/neighborhoods' => 'Visiosoft\LocationModule\Http\Controller\Admin\NeighborhoodsController@index', - 'admin/location/neighborhoods/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\NeighborhoodsController@create', + 'admin/location/neighborhoods' => 'Visiosoft\LocationModule\Http\Controller\Admin\NeighborhoodsController@index', + 'admin/location/neighborhoods/create' => 'Visiosoft\LocationModule\Http\Controller\Admin\NeighborhoodsController@create', 'admin/location/neighborhoods/edit/{id}' => 'Visiosoft\LocationModule\Http\Controller\Admin\NeighborhoodsController@edit', ]; diff --git a/addons/default/visiosoft/location-module/src/Neighborhood/Command/GetNeighborhood.php b/addons/default/visiosoft/location-module/src/Neighborhood/Command/GetNeighborhood.php new file mode 100644 index 000000000..81f92e7dd --- /dev/null +++ b/addons/default/visiosoft/location-module/src/Neighborhood/Command/GetNeighborhood.php @@ -0,0 +1,34 @@ +id = $id; + } + + + /** + * @param NeighborhoodModel $groups + * @return |null + */ + public function handle(NeighborhoodModel $groups) + { + if ($this->id) { + return $groups->find($this->id); + } + return null; + } +}