From a8c160b94fd14baa384d700b1d43cfdd32457371 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Wed, 15 Jan 2020 16:54:10 +0300 Subject: [PATCH] add profile Edit and delete my ads --- .../advs-module/resources/lang/en/message.php | 2 ++ .../advs-module/resources/lang/tr/message.php | 2 ++ .../src/AdvsModuleServiceProvider.php | 7 ++++--- .../src/Http/Controller/advsController.php | 21 +++++++------------ .../profile-module/resources/assets/js/ads.js | 11 ++++++++++ .../resources/lang/en/button.php | 2 ++ .../resources/lang/tr/button.php | 2 ++ .../resources/views/profile/ads.twig | 2 ++ 8 files changed, 33 insertions(+), 16 deletions(-) diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/message.php b/addons/default/visiosoft/advs-module/resources/lang/en/message.php index c6ef2c9b9..09aac36ec 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/message.php @@ -24,4 +24,6 @@ return [ ], 'update_category_info' => 'Please update category.', 'filter_by_search_msg' => 'Filter By Search.', + 'delete_author_error' => 'You cannot delete a post that does not belong to you', + 'success_delete' => 'Ad Deleted', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/tr/message.php b/addons/default/visiosoft/advs-module/resources/lang/tr/message.php index 9510584f9..69ada29be 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/tr/message.php +++ b/addons/default/visiosoft/advs-module/resources/lang/tr/message.php @@ -24,4 +24,6 @@ return [ ], 'update_category_info' => 'Lütfen kategoriyi güncelleyiniz.', 'filter_by_search_msg' => 'Aramanızı Daraltın.', + 'delete_author_error' => 'Size ait olmayan bir ilanı silemezsiniz', + 'success_delete' => 'İlan Silindi', ]; diff --git a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php index b90a22ade..39e7ddb1d 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php @@ -149,8 +149,6 @@ class AdvsModuleServiceProvider extends AddonServiceProvider 'advs/my_advs' => 'Visiosoft\AdvsModule\Http\Controller\advsController@myAdvs', 'advs/my_advs/{params}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@myAdvs', 'advs/edit_advs/{id}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@edit', - 'advs/delete_adv/{id}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@destroy', - 'advs/status/{id},{type}' => [ 'as' => 'visiosoft.module.advs::status', 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@statusAds' @@ -166,7 +164,10 @@ class AdvsModuleServiceProvider extends AddonServiceProvider ], 'mapJson' => 'Visiosoft\AdvsModule\Http\Controller\advsController@mapJson', 'advs/ttr/{id}' => 'Visiosoft\PackagesModule\Http\Controller\packageFEController@advsStatusbyUser', - 'advs/delete/{id}' => 'Visiosoft\AdvsModule\Http\Controller\advsController@softDeleteAdv', + 'advs/delete/{id}' => [ + 'as' => 'advs::delete', + 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@deleteAd', + ], 'check_user' => 'Visiosoft\AdvsModule\Http\Controller\advsController@checkUser', 'keySearch' => 'Visiosoft\AdvsModule\Http\Controller\AjaxController@keySearch', 'adv/addCart/{id}' => [ 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 f13111e84..992cad425 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -339,12 +339,19 @@ class AdvsController extends PublicController return $location; } - public function softDeleteAdv(AdvRepositoryInterface $advs, $id) + public function deleteAd(AdvRepositoryInterface $advs, $id) { + $ad = $this->adv_model->find($id); if (!Auth::user()) { redirect('/login?redirect=' . url()->current())->send(); } + + if ($ad->created_by_id != Auth::id()) { + $this->messages->error(trans('visiosoft.module.advs::message.delete_author_error')); + } + $advs->softDeleteAdv($id); + $this->messages->error(trans('visiosoft.module.advs::message.success_delete')); return back(); } @@ -703,18 +710,6 @@ class AdvsController extends PublicController return $this->view->make('visiosoft.module.advs::new-ad/new-create', compact('id', 'cats_d', 'request', 'Cloudinary', 'cities', 'adv', 'custom_fields')); } - public function destroy($id) - { - - $advs = AdvsAdvsEntryModel::find($id); - if ($advs->id == auth()->user()->id) { - return redirect('/advs/my_advs')->with('success', 'Basariyla Silindi'); - } else { - return "Kendinizin olmayan bir ilani silmeye calisiyorsunuz."; - } - - } - public function statusAds($id, $type, SettingRepositoryInterface $settings, Dispatcher $events) { $ad = $this->adv_model->getAdv($id); diff --git a/addons/default/visiosoft/profile-module/resources/assets/js/ads.js b/addons/default/visiosoft/profile-module/resources/assets/js/ads.js index 392496d8d..3179970df 100644 --- a/addons/default/visiosoft/profile-module/resources/assets/js/ads.js +++ b/addons/default/visiosoft/profile-module/resources/assets/js/ads.js @@ -74,6 +74,17 @@ function dropdownRow(id, type) { passive + "\n"; } + + dropdown += "" + + " " + + edit_ad + + "\n"; + + dropdown += "" + + " " + + delete_ad + + "\n"; + dropdown += ""; return dropdown; diff --git a/addons/default/visiosoft/profile-module/resources/lang/en/button.php b/addons/default/visiosoft/profile-module/resources/lang/en/button.php index 78d618698..ff749c361 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/button.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/button.php @@ -6,4 +6,6 @@ return [ 'show' => 'Show Adress', 'update_password' => 'Update Password', 'update_profile' => 'Update Profile', + 'delete' => 'Delete', + 'edit' => 'Edit', ]; diff --git a/addons/default/visiosoft/profile-module/resources/lang/tr/button.php b/addons/default/visiosoft/profile-module/resources/lang/tr/button.php index 1591a580a..c83de4010 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/tr/button.php +++ b/addons/default/visiosoft/profile-module/resources/lang/tr/button.php @@ -6,4 +6,6 @@ return [ 'show' => 'Göster', 'update_password' => 'Update Password', 'update_profile' => 'Update Profile', + 'delete' => 'Sil', + 'edit' => 'Düzenle', ]; diff --git a/addons/default/visiosoft/profile-module/resources/views/profile/ads.twig b/addons/default/visiosoft/profile-module/resources/views/profile/ads.twig index 2f8fd3e85..f706fb006 100644 --- a/addons/default/visiosoft/profile-module/resources/views/profile/ads.twig +++ b/addons/default/visiosoft/profile-module/resources/views/profile/ads.twig @@ -51,6 +51,8 @@ {{ asset_add('scripts.js','visiosoft.module.profile::assets/js/ads.js') }} {% endblock %} \ No newline at end of file