From 2a0ed75c9d993691a3e1b9fa9d735d3e60b2694c Mon Sep 17 00:00:00 2001 From: Diatrex Date: Thu, 22 Oct 2020 09:53:58 +0300 Subject: [PATCH 1/6] #2445 When auto approve is closed, the owner can't see his ad --- .../advs-module/src/Http/Controller/advsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index 62c5af4da..5604faefe 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -450,7 +450,7 @@ class AdvsController extends PublicController $adv = $this->adv_repository->getListItemAdv($id); - if ($adv && !$adv->expired()) { + if ($adv && (!$adv->expired()) || $adv->created_by_id === \auth()->id()) { if ($this->adv_model->is_enabled('complaints')) { $complaints = ComplaintsComplainTypesEntryModel::all(); From 06cab5b2033c27bc460a7c32b0e03ee7f38c35d8 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Thu, 22 Oct 2020 09:56:02 +0300 Subject: [PATCH 2/6] #2445 When auto approve is closed, the owner can't see his ad --- .../advs-module/src/Http/Controller/advsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index 5604faefe..db7d0b52d 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -450,7 +450,7 @@ class AdvsController extends PublicController $adv = $this->adv_repository->getListItemAdv($id); - if ($adv && (!$adv->expired()) || $adv->created_by_id === \auth()->id()) { + if ($adv && (!$adv->expired() || $adv->created_by_id === \auth()->id())) { if ($this->adv_model->is_enabled('complaints')) { $complaints = ComplaintsComplainTypesEntryModel::all(); From 508e0ab15d8cc3ce0ff58a60ce069c75edd18f5e Mon Sep 17 00:00:00 2001 From: Diatrex Date: Fri, 23 Oct 2020 10:46:01 +0300 Subject: [PATCH 3/6] #2450 store module (e-madencilik) improvments --- .../advs-module/src/Adv/AdvModel.php | 8 ++ .../src/Adv/Contract/AdvInterface.php | 76 +++++++++++++++++++ 2 files changed, 84 insertions(+) diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php index e48dab82a..4ca026c95 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php @@ -13,6 +13,7 @@ use Visiosoft\LocationModule\Country\CountryModel; use Visiosoft\CartsModule\Cart\Command\GetCart; use Visiosoft\LocationModule\District\DistrictModel; use Visiosoft\LocationModule\Neighborhood\NeighborhoodModel; +use Visiosoft\LocationModule\Village\VillageModel; class AdvModel extends AdvsAdvsEntryModel implements AdvInterface { @@ -373,6 +374,13 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface return $neighborhood ? $neighborhood->name : false; } + public function getVillage() + { + $villageModel = new VillageModel(); + $village = $villageModel->newQuery()->find($this->village); + return $village ? $village->name : false; + } + public function expired() { return $this->finish_at ? $this->finish_at < Carbon::now() : true; diff --git a/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php b/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php index a9cb314fd..586b7a94a 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php @@ -4,5 +4,81 @@ use Anomaly\Streams\Platform\Entry\Contract\EntryInterface; interface AdvInterface extends EntryInterface { + public function is_enabled($slug); + + public function is_enabled_extension($slug); + + public function is_active($id); + + public function getAdv($id = null, $nullable_ad = false, $trashed = false); + + public function userAdv($nullable_ad = false, $checkRole = true); + + public function getAdvByCat($cat_id); + + public function pendingAdvsByUser(); + + public function favsAdvsByUser($fav_ids); + + public function myAdvsByUser(); + + public function foreignCurrency($currency, $price, $isUpdate, $settings); + + public function popularAdvs(); + + public function advsofDay(); + + public function statusAds($id, $status); + + public function finish_at_Ads($id, $endDate); + + public function publish_at_Ads($id); + + public function getLastUserAdv(); + + public function getLocationNames($advs); + + public function isAdv($id); + + public function addCart($item, $quantity = 1, $name = null); + + public function getAdvDetailLinkByModel($object, $type = null); + + public function getAdvDetailLinkByAdId($id); + + public function getAdvimage($id); + + public function getLatestField($slug); + + public function updateStock($id, $quantity); + + public function stockControl($id, $quantity); + + public function saveCustomField($category_id, $field_id, $name); + + public function customfields(); + + public function priceFormat($adv); + + public function AddAdsDefaultCoverImage($ad); + + public function GetAdsDefaultCoverImageByAdId($id); + + public function viewed_Ad($id); + + public function getRecommended($id); + + public function authControl(); + + public function inStock(); + + public function getCity(); + + public function getDistrict(); + + public function getNeighborhood(); + + public function getVillage(); + public function expired(); } From 3f22510051aa1217c67a99b3090dfdd6f85226bf Mon Sep 17 00:00:00 2001 From: Diatrex Date: Fri, 23 Oct 2020 10:55:32 +0300 Subject: [PATCH 4/6] add repo --- addons/default/visiosoft/advs-module/src/Adv/AdvModel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php index 4ca026c95..41949da7a 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php @@ -13,6 +13,7 @@ use Visiosoft\LocationModule\Country\CountryModel; use Visiosoft\CartsModule\Cart\Command\GetCart; use Visiosoft\LocationModule\District\DistrictModel; use Visiosoft\LocationModule\Neighborhood\NeighborhoodModel; +use Visiosoft\LocationModule\Village\Contract\VillageRepositoryInterface; use Visiosoft\LocationModule\Village\VillageModel; class AdvModel extends AdvsAdvsEntryModel implements AdvInterface @@ -376,8 +377,7 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface public function getVillage() { - $villageModel = new VillageModel(); - $village = $villageModel->newQuery()->find($this->village); + $village = app(VillageRepositoryInterface::class)->find($this->village); return $village ? $village->name : false; } From 99a53a863f432bfe19a04574c1804eba61eb26c1 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Fri, 23 Oct 2020 11:17:47 +0300 Subject: [PATCH 5/6] #2466 [packages-module] error when trying to approve package --- addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php b/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php index a843841bd..34a6266a4 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php @@ -451,7 +451,7 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface public function approveAds($adsIDs) { $defaultAdPublishTime = setting_value('visiosoft.module.advs::default_published_time'); - $ads = $this->newQuery()->where('advs_advs.id', $adsIDs)->update([ + $ads = $this->newQuery()->whereIn('advs_advs.id', $adsIDs)->update([ 'status' => 'approved', 'finish_at' => date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' + ' . $defaultAdPublishTime . ' day')), 'publish_at' => date('Y-m-d H:i:s') From beedf72eba409161250431c9acdac4ec6d4299e2 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Fri, 23 Oct 2020 13:49:15 +0300 Subject: [PATCH 6/6] #2417 [packages] users can't see the right to declare (maden) --- .../advs-module/src/Adv/AdvRepository.php | 10 ++++++++++ .../advs-module/src/Adv/Command/GetUserAds.php | 18 ++++++++++++++++++ .../Adv/Contract/AdvRepositoryInterface.php | 2 ++ .../advs-module/src/AdvsModulePlugin.php | 8 +++++++- 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 addons/default/visiosoft/advs-module/src/Adv/Command/GetUserAds.php diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php b/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php index 34a6266a4..a87a12e76 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php @@ -459,4 +459,14 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface return $ads; } + + public function getUserAds($userID = null) + { + $userID = auth_id_if_null($userID); + return $this->newQuery() + ->where('advs_advs.created_by_id', $userID) + ->where('status', 'approved') + ->where('finish_at', '>', date('Y-m-d H:i:s')) + ->get(); + } } diff --git a/addons/default/visiosoft/advs-module/src/Adv/Command/GetUserAds.php b/addons/default/visiosoft/advs-module/src/Adv/Command/GetUserAds.php new file mode 100644 index 000000000..4541f1a40 --- /dev/null +++ b/addons/default/visiosoft/advs-module/src/Adv/Command/GetUserAds.php @@ -0,0 +1,18 @@ +userID = $userID; + } + + public function handle(AdvRepositoryInterface $advRepository) + { + return $advRepository->getUserAds($this->userID); + } +} diff --git a/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvRepositoryInterface.php b/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvRepositoryInterface.php index eb59f6eb2..37104c3f2 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvRepositoryInterface.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvRepositoryInterface.php @@ -46,4 +46,6 @@ interface AdvRepositoryInterface extends EntryRepositoryInterface public function getPopular(); public function approveAds($adsIDs); + + public function getUserAds($userID = null); } diff --git a/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php b/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php index 475def11a..40186316b 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php @@ -7,9 +7,9 @@ use Visiosoft\AdvsModule\Adv\Command\appendRequestURL; use Visiosoft\AdvsModule\Adv\Command\GetAd; use Visiosoft\AdvsModule\Adv\Command\getExchange; use Visiosoft\AdvsModule\Adv\Command\getPopular; +use Visiosoft\AdvsModule\Adv\Command\GetUserAds; use Visiosoft\AdvsModule\Adv\Command\isActive; use Visiosoft\AdvsModule\Adv\Command\LatestAds; -use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface; use Visiosoft\AdvsModule\Currency\Currency; use Visiosoft\AdvsModule\Currency\CurrencyFormat; @@ -78,6 +78,12 @@ class AdvsModulePlugin extends Plugin ->get(); } ), + new \Twig_SimpleFunction( + 'getUserAds', + function ($userID = null) { + return $this->dispatch(new GetUserAds($userID)); + } + ), new \Twig_SimpleFunction( 'getUserPassiveAdvs', function ($user = null) {