From 9290c9951f7470b261b0dcf4c82b407a8873348b Mon Sep 17 00:00:00 2001 From: vedatakd Date: Mon, 10 May 2021 13:02:06 +0300 Subject: [PATCH] bid developments --- .../resources/config/settings/settings.php | 7 ++ .../advs-module/resources/lang/en/setting.php | 60 +++++++------ .../resources/views/new-ad/new-create.twig | 89 +++++++++++++++++++ .../src/Adv/Form/AdvFormBuilder.php | 15 +++- .../src/Adv/Table/Handler/Approve.php | 15 +++- .../src/Http/Controller/AdvsController.php | 16 +++- 6 files changed, 165 insertions(+), 37 deletions(-) diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php index d0419b05c..dd64714e4 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php @@ -455,4 +455,11 @@ return [ 'default_value' => false, ] ], + + 'show_finish_and_publish_date' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ], + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php index 58201c5c2..eea84435b 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php @@ -27,7 +27,7 @@ return [ 'favicon' => [ 'name' => 'Favicon', ] - ,'map_coordinates_long' => [ + , 'map_coordinates_long' => [ 'name' => 'Map Long Coordinate', ], 'map_coordinates_lat' => [ @@ -41,7 +41,7 @@ return [ ], 'ogImage' => [ 'name' => 'Social Share Logo', - 'warning' => 'It should be at a resolution of 1200 x 630. ', + 'warning' => 'It should be at a resolution of 1200 x 630. ', ], 'currencies' => [ @@ -52,7 +52,7 @@ return [ ], 'site_address' => [ 'name' => 'Site address', - 'warning' => 'Auto added www. www.sitename.com ', + 'warning' => 'Auto added www. www.sitename.com ', ], 'google_map_key' => [ 'name' => 'Google Map Api Key', @@ -134,9 +134,9 @@ return [ 'market_place' => [ 'name' => 'Market Place', ], - 'price_area_hidden' => [ - 'name' => 'Price Area Hidden', - ], + 'price_area_hidden' => [ + 'name' => 'Price Area Hidden', + ], 'hide_price_filter' => [ 'name' => 'Hide Price Filter', ], @@ -215,18 +215,18 @@ return [ 'name' => 'Hide Created Date', 'instructions' => 'Hide created date in ads detail page', ], - 'hide_listing_header' => [ - 'name' => 'Hide Listing Header', - 'instructions' => 'Hiding to ordering and view types', - ], - 'hide_filter_section' => [ - 'name' => 'Hide Filter Section', - 'instructions' => 'Hiding to left filter area in listing page', - ], - 'hide_seller_info' => [ - 'name' => 'Hide Seller Information', - 'instructions' => 'Hiding to seller infos in ads detail page', - ], + 'hide_listing_header' => [ + 'name' => 'Hide Listing Header', + 'instructions' => 'Hiding to ordering and view types', + ], + 'hide_filter_section' => [ + 'name' => 'Hide Filter Section', + 'instructions' => 'Hiding to left filter area in listing page', + ], + 'hide_seller_info' => [ + 'name' => 'Hide Seller Information', + 'instructions' => 'Hiding to seller infos in ads detail page', + ], 'show_post_ad_agreement' => [ 'name' => 'Show Post Ad Agreement', 'instructions' => 'Turn this on if you want to display a privacy policy agreement on the ad creation page', @@ -251,9 +251,9 @@ return [ 'name' => 'GET Categories', 'instructions' => 'It represents the categories in which the GET property will be valid.' ], - 'disable_sentry' => [ - 'name' => 'Disable Sentry' - ], + 'disable_sentry' => [ + 'name' => 'Disable Sentry' + ], 'watermark' => [ 'name' => 'Watermark', 'instructions' => 'Is watermark active?' @@ -265,11 +265,15 @@ return [ 'show_subcats_mobile' => [ 'name' => 'Show subcategories on mobile view', ], - 'show_price_to_members_only' => [ - 'name' => 'Show Price To Members Only', - ], - 'hide_ad_cat' => [ - 'name' => 'Hide Categories', - 'instructions' => 'Hide categories in ads list' - ] + 'show_price_to_members_only' => [ + 'name' => 'Show Price To Members Only', + ], + 'hide_ad_cat' => [ + 'name' => 'Hide Categories', + 'instructions' => 'Hide categories in ads list' + ], + 'show_finish_and_publish_date' => [ + 'name' => 'Show Finish Date And Publish Date For Create', + 'instructions' => 'Displays the publish_at and finish_at fields on the ad creation page.' + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig b/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig index ae4e1403f..105e9585d 100644 --- a/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig +++ b/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig @@ -135,6 +135,95 @@ +
+
+ + +
+ {{ form.fields.publish_at.input|raw }} +
+
+
+ + +
+ {{ form.fields.finish_at.input|raw }} +
+
+ +
+ + {% if not setting_value('visiosoft.module.advs::hide_options_field') %} {% if not setting_value('visiosoft.module.advs::detailed_product_options') %}
diff --git a/addons/default/visiosoft/advs-module/src/Adv/Form/AdvFormBuilder.php b/addons/default/visiosoft/advs-module/src/Adv/Form/AdvFormBuilder.php index f14c1aadb..0e1352e7c 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Form/AdvFormBuilder.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Form/AdvFormBuilder.php @@ -27,7 +27,7 @@ class AdvFormBuilder extends FormBuilder { $requiredFields = setting_value('visiosoft.module.advs::make_all_fields_required'); - return [ + $fields = [ 'name' => [ 'translatable' => true, 'required' => true, @@ -84,5 +84,18 @@ class AdvFormBuilder extends FormBuilder 'adv_day', 'product_options_value' ]; + + if (setting_value('visiosoft.module.advs::show_finish_and_publish_date')) { + $fields = array_merge($fields, [ + 'finish_at' => [ + 'required' => true, + ], + 'publish_at' => [ + 'required' => true, + ], + ]); + } + + return $fields; } } 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 199f9ae84..78b88175e 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 @@ -17,11 +17,18 @@ class Approve extends ActionHandler if ($ad = $model->newQuery()->find($id)) { - $ad->update([ + $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') - ]); + ]; + + if (!setting_value('visiosoft.module.advs::show_finish_and_publish_date')) { + $update = array_merge($update, [ + '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') + ]); + } + + $ad->update($update); event(new ChangedStatusAd($ad));//Create Notify } 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 5bebc56bb..b22c817c9 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/AdvsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/AdvsController.php @@ -844,11 +844,19 @@ class AdvsController extends PublicController if (setting_value('visiosoft.module.advs::auto_approve') && $autoApprove) { $defaultAdPublishTime = setting_value('visiosoft.module.advs::default_published_time'); - $adv->update([ + + $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') - ]); + ]; + + if (!setting_value('visiosoft.module.advs::show_finish_and_publish_date')) { + $update = array_merge($update, [ + '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') + ]); + } + + $adv->update($update); } $form->render($this->request->update_id);