From afe58a92cd1c157fb7b3eb424dff953c60e90687 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Mon, 13 Apr 2020 09:12:08 +0300 Subject: [PATCH] update event --- .../src/Adv/Event/ChangeStatusAd.php | 16 ------------ .../src/Adv/Event/ChangedStatusAd.php | 19 ++++++++++++++ .../advs-module/src/Adv/Event/CreatedAd.php | 18 +++++++++++++ .../src/Adv/Table/Handler/Approve.php | 6 ++++- .../src/Adv/Table/Handler/Decline.php | 8 +++--- .../Http/Controller/Admin/AdvsController.php | 21 +++++++-------- .../src/Http/Controller/advsController.php | 26 +++++++------------ 7 files changed, 67 insertions(+), 47 deletions(-) delete mode 100644 addons/default/visiosoft/advs-module/src/Adv/Event/ChangeStatusAd.php create mode 100644 addons/default/visiosoft/advs-module/src/Adv/Event/ChangedStatusAd.php create mode 100644 addons/default/visiosoft/advs-module/src/Adv/Event/CreatedAd.php diff --git a/addons/default/visiosoft/advs-module/src/Adv/Event/ChangeStatusAd.php b/addons/default/visiosoft/advs-module/src/Adv/Event/ChangeStatusAd.php deleted file mode 100644 index e38e9a150..000000000 --- a/addons/default/visiosoft/advs-module/src/Adv/Event/ChangeStatusAd.php +++ /dev/null @@ -1,16 +0,0 @@ -request = $request; - $this->settings = $settings; - } - - public function getRequest() - { - return $this; - } -} diff --git a/addons/default/visiosoft/advs-module/src/Adv/Event/ChangedStatusAd.php b/addons/default/visiosoft/advs-module/src/Adv/Event/ChangedStatusAd.php new file mode 100644 index 000000000..5efadc9e4 --- /dev/null +++ b/addons/default/visiosoft/advs-module/src/Adv/Event/ChangedStatusAd.php @@ -0,0 +1,19 @@ +ad = $ad; + } + + public function getAdDetail() + { + return $this->ad; + } +} + diff --git a/addons/default/visiosoft/advs-module/src/Adv/Event/CreatedAd.php b/addons/default/visiosoft/advs-module/src/Adv/Event/CreatedAd.php new file mode 100644 index 000000000..28bb4b64e --- /dev/null +++ b/addons/default/visiosoft/advs-module/src/Adv/Event/CreatedAd.php @@ -0,0 +1,18 @@ +ad = $ad; + } + + public function getAdDetail() + { + return $this->ad; + } +} diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Approve.php b/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Approve.php index c83e87171..c056610c3 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Approve.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Approve.php @@ -2,6 +2,7 @@ use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface; use Anomaly\Streams\Platform\Ui\Table\Component\Action\ActionHandler; +use Visiosoft\AdvsModule\Adv\Event\ChangedStatusAd; use Visiosoft\AdvsModule\Adv\Table\AdvTableBuilder; @@ -14,11 +15,14 @@ class Approve extends ActionHandler foreach ($selected as $id) { $defaultAdPublishTime = $settingRepository->value('visiosoft.module.advs::default_published_time'); - $model->newQuery()->find($id)->update([ + $ad = $model->newQuery()->find($id); + $ad->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') ]); + event(new ChangedStatusAd($ad));//Create Notify + } if ($selected) { diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Decline.php b/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Decline.php index a1b6fc047..704176383 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Decline.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/Handler/Decline.php @@ -1,6 +1,7 @@ find($id); + $ad = $model->find($id); + $ad->status = 'declined'; + $ad->update(); - $entry->status = 'declined'; + event(new ChangedStatusAd($ad));//Create Notify - $entry->update(); } if ($selected) { diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php index 99940f6d9..e5b586a17 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php @@ -15,7 +15,7 @@ use Visiosoft\AdvsModule\Adv\Table\Filter\CityFilterQuery; use Visiosoft\AdvsModule\Adv\Table\Filter\StatusFilterQuery; use Visiosoft\AdvsModule\Adv\Table\Filter\UserFilterQuery; use Visiosoft\AdvsModule\Adv\AdvModel; -use Visiosoft\AdvsModule\Adv\Event\ChangeStatusAd; +use Visiosoft\AdvsModule\Adv\Event\ChangedStatusAd; use Visiosoft\AdvsModule\Adv\Form\AdvFormBuilder; use Visiosoft\AdvsModule\Adv\Table\AdvTableBuilder; use Anomaly\Streams\Platform\Http\Controller\AdminController; @@ -76,7 +76,7 @@ class AdvsController extends AdminController 'change_owner' => [ 'data-toggle' => 'modal', 'data-target' => '#modal', - 'href' => 'admin/advs-users/choose/{entry.id}', + 'href' => 'admin/advs-users/choose/{entry.id}', ] ]); @@ -209,25 +209,24 @@ class AdvsController extends AdminController return $form->render($id); } - public function actions($id, $type, SettingRepositoryInterface $settings, Dispatcher $events) + public function actions($id, $type, SettingRepositoryInterface $settings, AdvModel $advModel) { - $adv = AdvsAdvsEntryModel::query()->where('advs_advs.id', '=', $id)->first(); - $adv->status = $type; + $ad = $advModel->where('advs_advs.id', '=', $id)->first(); + $ad->status = $type; $default_adv_publish = $settings->value('visiosoft.module.advs::default_published_time'); - $adv->finish_at = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' + ' . $default_adv_publish . ' day')); - $adv->publish_at = date('Y-m-d H:i:s'); + $ad->finish_at = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' + ' . $default_adv_publish . ' day')); + $ad->publish_at = date('Y-m-d H:i:s'); //algolia Search Module - $isActiveAlgolia = new AdvModel(); - $isActiveAlgolia = $isActiveAlgolia->is_enabled('algolia'); + $isActiveAlgolia = $advModel->is_enabled('algolia'); if ($isActiveAlgolia) { $algolia = new SearchModel(); $algolia->updateStatus($id, $type, $settings); } - $adv->update(); - $events->dispatch(new ChangeStatusAd($id, $settings));//Create Notify + $ad->update(); + event(new ChangedStatusAd($ad));//Create Notify return back(); } 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 6844f899f..f9058fd83 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -8,6 +8,8 @@ use Anomaly\Streams\Platform\Model\Complaints\ComplaintsComplainTypesEntryModel; use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel; use Anomaly\UsersModule\User\Contract\UserRepositoryInterface; use Visiosoft\AdvsModule\Adv\Command\appendRequestURL; +use Visiosoft\AdvsModule\Adv\Event\ChangedStatusAd; +use Visiosoft\AdvsModule\Adv\Event\CreatedAd; use Visiosoft\AdvsModule\Adv\Event\showAdPhone; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -15,9 +17,6 @@ use Illuminate\Support\Facades\Cookie; use Visiosoft\LocationModule\City\CityRepository; use function PMA\Util\get; use Visiosoft\AdvsModule\Adv\AdvModel; -use Visiosoft\AdvsModule\Adv\Event\ChangeStatusAd; -use Visiosoft\AdvsModule\Adv\Event\CreateAd; -use Visiosoft\AdvsModule\Adv\Event\EditAd; use Visiosoft\AdvsModule\Adv\Event\priceChange; use Visiosoft\AdvsModule\Adv\Event\UpdateAd; use Visiosoft\AdvsModule\Adv\Event\viewAd; @@ -282,11 +281,13 @@ class AdvsController extends PublicController return $this->viewTypeBasedRedirect($viewType, $compact); } - public function fullLink($request, $url, $newParameters) { + public function fullLink($request, $url, $newParameters) + { return $this->dispatch(new appendRequestURL($request, $url, $newParameters)); } - public function viewTypeBasedRedirect($viewType, $compact) { + public function viewTypeBasedRedirect($viewType, $compact) + { if (isset($viewType) and $viewType == 'table') { return $this->view->make('visiosoft.module.advs::list/table', $compact); } elseif (isset($viewType) and $viewType == 'map') { @@ -367,10 +368,10 @@ class AdvsController extends PublicController $this->template->set('meta_keywords', implode(',', explode(' ', $adv->name))); $this->template->set('meta_description', strip_tags($adv->advs_desc, '')); $this->template->set('meta_title', $adv->name . "|" . end($categories)['name']); - if (substr($adv->cover_photo, 0, 4 ) === "http") { + if (substr($adv->cover_photo, 0, 4) === "http") { $coverPhoto = $adv->cover_photo; } else { - if (substr($adv->cover_photo, 0, 1 ) === "/") { + if (substr($adv->cover_photo, 0, 1) === "/") { $coverPhoto = \Illuminate\Support\Facades\Request::root() . $adv->cover_photo; } else { $coverPhoto = \Illuminate\Support\Facades\Request::root() . '/' . $adv->cover_photo; @@ -588,7 +589,6 @@ class AdvsController extends PublicController // Auto approve if (setting_value('visiosoft.module.advs::auto_approve')) { $defaultAdPublishTime = setting_value('visiosoft.module.advs::default_published_time'); - $adv->update([ 'status' => 'approved', 'finish_at' => date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . ' + ' . $defaultAdPublishTime . ' day')), @@ -621,13 +621,7 @@ class AdvsController extends PublicController } return redirect('/advs/edit_advs/' . $request->update_id)->with('cats_d', $cats_d)->with('request', $request); } - - if ($adv->slug == "") { - $events->dispatch(new CreateAd($request->update_id, $settings));//Create Notify - } else { - $events->dispatch(new EditAd($request->update_id, $settings, $adv));//Update Notify - } - + event(new CreatedAd($adv)); return redirect(route('advs_preview', [$request->update_id])); } @@ -732,7 +726,7 @@ class AdvsController extends PublicController } $this->adv_model->statusAds($id, $type); - $events->dispatch(new ChangeStatusAd($id, $settings));//Create Notify + event(new ChangedStatusAd($ad));//Create Notify $this->messages->success(trans('streams::message.edit_success', ['name' => 'Status'])); return back(); }