diff --git a/addons/default/visiosoft/advs-module/resources/css/preview.css b/addons/default/visiosoft/advs-module/resources/css/preview.css new file mode 100644 index 000000000..b9099b3b9 --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/css/preview.css @@ -0,0 +1,63 @@ +.preview-wrapper { + border: 4px solid #999; +} +.preview-wrapper:before, .preview-wrapper:after { + content: ''; + position: absolute; + left: 50%; + top: -30px; + width: 0; + height: 0; + border-style: solid; + border-width: 0 39px 30px 39px; + border-color: transparent transparent #999 transparent; + margin-left: -39px; +} +.preview-wrapper:after { + top: inherit; + bottom: -30px; + border-width: 30px 39px 0 39px; + border-color: #999 transparent transparent transparent; +} +.preview-overlay { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + opacity: .07; + background-color: #000; + z-index: 400; +} +.preview-paragraph { + font-size: 15px; + font-weight: bold; + text-align: center; +} +.preview-actions { + margin-top: 3em; + margin-bottom: 4em; +} +.preview-edit { + color: #438ed8; + background: #f7f7f7; + border: 1px solid #f7f7f7; +} +.preview-edit:hover { + background: #eaeaea; + border-color: #eaeaea; + color: #438ed8; +} +.preview-continue { + border-radius: 2px; + color: #fff; + background: #438ed8; +} +.preview-continue:hover { + background: #3c7fc1; + border-color: #3c7fc1; + color: #fff; +} +#compare-sidebar, .dropleft-edit { + display: none; +} \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/field.php b/addons/default/visiosoft/advs-module/resources/lang/en/field.php index 771236d5a..28f352576 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/field.php @@ -270,5 +270,11 @@ return [ 'pending_message_3' => 'Estimated Waiting Time', 'pending_message_4' => 'The time spent in the approval process will be added to the doping time.', 'pending_message_5' => 'No transactions can be made from the call center regarding the ad in the approval process.', - 'hours' => 'hours' + 'hours' => 'hours', + + // Preview page + 'preview_text' => [ + 'part_1' => 'If the following information about your ad is correct, click the "Continue" button and go to the next step.', + 'part_2' => 'If not, click the "Edit" button.', + ] ]; diff --git a/addons/default/visiosoft/advs-module/resources/views/new-ad/preview/partials/preview-window.twig b/addons/default/visiosoft/advs-module/resources/views/new-ad/preview/partials/preview-window.twig new file mode 100644 index 000000000..70ca67e5d --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/views/new-ad/preview/partials/preview-window.twig @@ -0,0 +1,33 @@ +{% if setting_value('visiosoft.theme.base::breadcrumbs') %} + + {% include "visiosoft.module.advs::ad-detail/partials/breadcrumb" %} + +{% endif %} +

+ {{ adv.title }} + {{ addBlock('ad-detail/title/action',{'adv_id':adv.id})|raw }} +

+ + +
+
+ {% include "visiosoft.module.advs::ad-detail/partials/slider" %} +
+ {% if setting_value('visiosoft.theme.base::ad_details') %} + {% include "visiosoft.module.advs::ad-detail/partials/detail" %} + {% endif %} +
+
+
+ + +{% if setting_value('visiosoft.theme.base::ad_details_tab') %} + + {% if blocks('ad-item-content-block-area') is null %} + {% include "visiosoft.module.advs::ad-detail/partials/content" %} + {% else %} + {{ blocks('ad-item-content-block-area') }} + {% endif %} + + {{ addBlock('ad-detail/widget', {'price': adv.price, 'id': adv.id})|raw }} +{% endif %} \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/views/new-ad/preview/preview.twig b/addons/default/visiosoft/advs-module/resources/views/new-ad/preview/preview.twig new file mode 100644 index 000000000..5162090ea --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/views/new-ad/preview/preview.twig @@ -0,0 +1,41 @@ +{% extends "theme::layouts/default" %} + +{% block content %} +
+

+ {{ trans('visiosoft.module.advs::field.preview_text.part_1') }} +
+ {{ trans('visiosoft.module.advs::field.preview_text.part_2') }} +

+
+
+ {% if isActiveDopings %} + {% set continueLink = url_route('add_doping', [adv.id]) %} + {% else %} + {% set continueLink = url_route('visiosoft.module.advs::edit_adv', [adv.id]) %} + {% endif %} + + {{ trans('visiosoft.module.advs::field.edit') }} + + + {{ trans('visiosoft.module.advs::field.continue') }} + +
+
+ {% include "visiosoft.module.advs::new-ad/preview/partials/preview-window" %} +
+
+
+ + {{ trans('visiosoft.module.advs::field.edit') }} + + + {{ trans('visiosoft.module.advs::field.continue') }} + +
+ + {{ asset_add("styles.css", "visiosoft.module.advs::css/detail.css") }} + {{ asset_add("styles.css", "visiosoft.module.advs::css/preview.css") }} + +{% endblock %} \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php index 64db3eda7..1e3203257 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php @@ -125,6 +125,10 @@ class AdvsModuleServiceProvider extends AddonServiceProvider 'as' => 'adv_detail_seo', 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@view' ], + 'advs/preview/{id}' => [ + 'as' => 'advs_preview', + 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@preview' + ], 'advs/map?country={country}&city[]={city}&district={districts}' => [ 'as' => 'visiosoft.module.advs::show_ad_map_location', 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@map' @@ -151,7 +155,10 @@ 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/edit_advs/{id}' => [ + 'as' => 'visiosoft.module.advs::edit_adv', + 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@edit', + ], 'advs/status/{id},{type}' => [ 'as' => 'visiosoft.module.advs::status', 'uses' => 'Visiosoft\AdvsModule\Http\Controller\advsController@statusAds' 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 5bf9e5a91..8001fc18c 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -387,6 +387,38 @@ class AdvsController extends PublicController } + public function preview($id) + { + $categories = array(); + $categories_id = array(); + + $adv = $this->adv_repository->getListItemAdv($id); + + for ($i = 1; $i <= 10; $i++) { + $cat = "cat" . $i; + if ($adv->$cat != null) { + $item = $this->category_repository->getItem($adv->$cat); + if (!is_null($item)) { + $categories['cat' . $i] = [ + 'name' => $item->name, + 'id' => $item->id + ]; + $categories_id[] = $item->id; + } + + } + } + + if ($this->adv_model->is_enabled('customfields')) { + $features = app('Visiosoft\CustomfieldsModule\Http\Controller\cfController')->view($adv); + } + + $isActiveDopings = $this->adv_model->is_enabled('dopings'); + + return $this->view->make('visiosoft.module.advs::new-ad/preview/preview', + compact('adv', 'categories', 'features', 'isActiveDopings')); + } + public function getLocations() { $table = $this->requestHttp->table; @@ -591,11 +623,7 @@ class AdvsController extends PublicController $events->dispatch(new EditAd($request->update_id, $settings, $adv));//Update Notify } - if ($isActiveDopings) { - return redirect(route('add_doping', [$request->update_id])); - } else { - return redirect('/advs/adv/' . $request->update_id); - } + return redirect(route('advs_preview', [$request->update_id])); } /* New Create Adv */