From f30fb167054b7d2019303ed5016dbba5e9f65add Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Wed, 20 Jan 2021 18:05:42 +0300 Subject: [PATCH] #3126 alibaba-theme improvment "e.3" --- ...soft.module.advs__add_is-buying_fields.php | 25 +++++++++++++++++++ .../advs-module/src/Adv/AdvCriteria.php | 19 ++++++++++++++ .../advs-module/src/Adv/AdvModel.php | 1 + 3 files changed, 45 insertions(+) create mode 100644 addons/default/visiosoft/advs-module/migrations/2021_01_20_082123_visiosoft.module.advs__add_is-buying_fields.php diff --git a/addons/default/visiosoft/advs-module/migrations/2021_01_20_082123_visiosoft.module.advs__add_is-buying_fields.php b/addons/default/visiosoft/advs-module/migrations/2021_01_20_082123_visiosoft.module.advs__add_is-buying_fields.php new file mode 100644 index 000000000..5764620c0 --- /dev/null +++ b/addons/default/visiosoft/advs-module/migrations/2021_01_20_082123_visiosoft.module.advs__add_is-buying_fields.php @@ -0,0 +1,25 @@ + 'advs', + ]; + + protected $fields = [ + 'is_buying' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default' => false, + ] + ], + ]; + + protected $assignments = [ + 'is_buying' + ]; +} diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php b/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php index 6c62c79ae..6ebb52fe2 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php @@ -67,6 +67,25 @@ class AdvCriteria extends EntryCriteria return $ads; } + public function buyingLeads($status = null){ + $advModel = new AdvModel(); + $latest_advs = AdvModel::query() + ->whereDate('finish_at', '>=', date("Y-m-d H:i:s")) + ->where('status', '=', 'approved') + ->where('slug', '!=', '') + ->where('is_buying', ($status == 'buying' ? true : false)) + ->orderBy('publish_at', 'desc') + ->paginate($this->settings->value('streams::per_page')); + + + $ads = $advModel->getLocationNames($latest_advs); + foreach ($ads as $index => $ad) { + $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad, 'list'); + $ads[$index] = $advModel->AddAdsDefaultCoverImage($ad); + } + return $ads; + } + public function allAdvs() { $advModel = new AdvModel(); diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php index b501e7c76..5416c4d80 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php @@ -200,6 +200,7 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface if ($country != null) { $adv->setAttribute('country_name', $country->name); + $adv->setAttribute('country_abv', $country->abv); } if ($city != null) { $adv->setAttribute('city_name', $city->name);