From 0c1fb51db050c6508094d1b3149074faac78e045 Mon Sep 17 00:00:00 2001 From: diashalabi Date: Mon, 12 Jul 2021 16:56:40 +0300 Subject: [PATCH 1/6] #4316 module on/off options --- .../resources/config/settings/sections.php | 1 + .../resources/config/settings/settings.php | 16 ++++++++ .../advs-module/resources/lang/en/setting.php | 8 +++- .../src/DefaultadminThemeServiceProvider.php | 7 +++- .../src/Listener/CheckEnabledModules.php | 41 +++++++++++++++++++ 5 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php index 8b322a998..8bb8ee86c 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php @@ -16,6 +16,7 @@ return [ 'free_currencyconverterapi_key', 'hide_price_categories', 'tcmb_exchange_url', + 'enabled_modules', 'enabled_currencies', 'disable_sentry', 'hide_ad_cat', 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 b99a1fa65..1e5371fd3 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php @@ -194,6 +194,22 @@ return [ }, ], ], + 'enabled_modules' => [ + 'type' => 'anomaly.field_type.checkboxes', + 'config' => [ + 'mode' => 'tags', + 'default_value' => function () { + $addons = app('module.collection')->enabled()->pluck('namespace')->all(); + + return $addons; + }, + 'options' => function () { + $addons = app('module.collection')->pluck('namespace', 'namespace'); + + return $addons; + }, + ], + ], 'market_place' => [ 'type' => 'anomaly.field_type.boolean', 'config' => [ 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 9eb3da933..40771e41b 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php @@ -125,6 +125,10 @@ return [ 'enabled_currencies' => [ 'name' => 'Enabled Currencies', ], + 'enabled_modules' => [ + 'name' => 'Enabled Modules', + 'warning' => 'Change at your own risk.', + ], 'google_statistic_code' => [ 'name' => 'Google Statistic Code', ], @@ -133,8 +137,8 @@ return [ ], 'market_place' => [ 'name' => 'Market Place', - 'instructions' => 'If the marketplace is down, your site will act as ecommerce. For example, - some fields in the profile such as ads, dopings, messages, sale, packages and store are not visible and + 'instructions' => 'If the marketplace is down, your site will act as ecommerce. For example, + some fields in the profile such as ads, dopings, messages, sale, packages and store are not visible and removes corporate membership.' ], 'price_area_hidden' => [ diff --git a/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php b/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php index 70fc9b229..1874f99b8 100644 --- a/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php +++ b/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php @@ -2,11 +2,13 @@ use Anomaly\Streams\Platform\Addon\AddonServiceProvider; use Anomaly\Streams\Platform\Ui\ControlPanel\Component\Navigation\Event\SortNavigation; +use Anomaly\Streams\Platform\Ui\Form\Event\FormWasSaved; use Anomaly\Streams\Platform\Ui\Table\Event\TableIsQuerying; use Illuminate\Pagination\AbstractPaginator; use Visiosoft\DefaultadminTheme\Listener\AddGsmFilter; use Visiosoft\DefaultadminTheme\Listener\AddViewAdsButton; use Visiosoft\DefaultadminTheme\Listener\ApplySorting; +use Visiosoft\DefaultadminTheme\Listener\CheckEnabledModules; /** * Class DefaultadminThemeServiceProvider @@ -23,7 +25,10 @@ class DefaultadminThemeServiceProvider extends AddonServiceProvider ], TableIsQuerying::class => [ AddGsmFilter::class, - AddViewAdsButton::class + AddViewAdsButton::class, + ], + FormWasSaved::class => [ + CheckEnabledModules::class, ], ]; diff --git a/addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php b/addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php new file mode 100644 index 000000000..b19292aeb --- /dev/null +++ b/addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php @@ -0,0 +1,41 @@ +moduleRepository = $moduleRepository; + } + + public function handle(FormWasSaved $event) + { + $builder = $event->getBuilder(); + + if (get_class($builder) == SettingFormBuilder::class) { + $value = $builder->getFormFields()->where('field', 'enabled_modules')->first()->getValue(); + $disabledModules = app('module.collection')->whereNotIn('namespace', $value); + $enabledModules = app('module.collection')->whereIn('namespace', $value); + foreach ($disabledModules as $module) { + if ($module->isInstalled()) { + $this->dispatchNow(new UninstallModule($module, true)); + } + } + foreach ($enabledModules as $module) { + if (!$module->isInstalled()) { + $this->dispatchNow(new InstallModule($module, true)); + } + } + } + } +} From 092d5ca13c7d76792e9112ac38201073259e9307 Mon Sep 17 00:00:00 2001 From: diashalabi Date: Wed, 14 Jul 2021 17:12:16 +0300 Subject: [PATCH 2/6] add loaded event for modal load --- .../visiosoft/base-theme/resources/js/modal_include.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/default/visiosoft/base-theme/resources/js/modal_include.js b/addons/default/visiosoft/base-theme/resources/js/modal_include.js index 1e9bc078f..48742635a 100644 --- a/addons/default/visiosoft/base-theme/resources/js/modal_include.js +++ b/addons/default/visiosoft/base-theme/resources/js/modal_include.js @@ -1,5 +1,8 @@ $('.remote').on('show.bs.modal', function (e) { if (typeof e.relatedTarget !== "undefined") { - $(this).find('.modal-content').load(e.relatedTarget.href); + $(this).find('.modal-content').load(e.relatedTarget.href, function () { + const event = new Event('custom.modal.loaded'); + $(this).closest('.modal').get(0).dispatchEvent(event); + }); } -}); \ No newline at end of file +}); From b6fce6972d53e56ea4f391fd23b5ba74a716588b Mon Sep 17 00:00:00 2001 From: diashalabi Date: Thu, 15 Jul 2021 11:33:47 +0300 Subject: [PATCH 3/6] =?UTF-8?q?#4309=20i=C5=9F=20makinas=C4=B1=20needs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/views/new-ad/preview/preview.twig | 8 +++++++- addons/default/visiosoft/advs-module/src/Adv/AdvModel.php | 5 +++++ .../advs-module/src/Adv/Contract/AdvInterface.php | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) 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 index b2f6b6724..d77daf183 100644 --- 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 @@ -17,6 +17,9 @@ {% endif %}
+ + {{ addBlock('advs/preview/button', {'adID': adv.id})|raw }} + {% if isActive('packages') and setting_value('visiosoft.module.packages::move_the_buy_package_to_the_end') and (auth_user().isAdmin or not auth_user().hasPermission('visiosoft.module.packages::packages.no_read')) %} {% set continueLink = url_route('visiosoft.module.packages::add_package', [adv.id]) %} {% elseif isActive('dopings') %} @@ -45,6 +48,9 @@
+ + {{ addBlock('advs/preview/button', {'adID': adv.id})|raw }} + {% if not setting_value('visiosoft.module.advs::hide_configurations') %} @@ -63,4 +69,4 @@ {{ 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 +{% endblock %} diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php index 8acd42a55..1ebe01dd3 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php @@ -505,4 +505,9 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface { $this->update(['status' => $status]); } + + public function canEdit() + { + return $this->created_by_id == \auth()->id() || \auth()->user()->isAdmin(); + } } diff --git a/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php b/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php index be650c398..de1339d4e 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Contract/AdvInterface.php @@ -91,4 +91,6 @@ interface AdvInterface extends EntryInterface public function approve(); public function changeStatus($status); + + public function canEdit(); } From adad7b2fbca8999badb8cf07097d791e94b76af3 Mon Sep 17 00:00:00 2001 From: diashalabi Date: Thu, 15 Jul 2021 11:46:59 +0300 Subject: [PATCH 4/6] =?UTF-8?q?#4309=20i=C5=9F=20makinas=C4=B1=20needs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../advs-module/resources/views/new-ad/preview/preview.twig | 6 ------ 1 file changed, 6 deletions(-) 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 index d77daf183..f35434419 100644 --- 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 @@ -17,9 +17,6 @@ {% endif %}
- - {{ addBlock('advs/preview/button', {'adID': adv.id})|raw }} - {% if isActive('packages') and setting_value('visiosoft.module.packages::move_the_buy_package_to_the_end') and (auth_user().isAdmin or not auth_user().hasPermission('visiosoft.module.packages::packages.no_read')) %} {% set continueLink = url_route('visiosoft.module.packages::add_package', [adv.id]) %} {% elseif isActive('dopings') %} @@ -48,9 +45,6 @@
-
+
{{ trans('visiosoft.module.advs::field.upload_photos') }}
-
+
{{ form.fields.files.input |raw }} @@ -268,6 +268,9 @@
+ + {{ addBlock('advs/create/under-images-field', {'vars': _context})|raw }} + {% set other_fields = addBlock('new-ad/other-fields',{'custom_fields':custom_fields,'id':id}) %} {% if other_fields or (custom_fields and count(custom_fields)) %}
@@ -338,4 +341,4 @@ {{ asset_add("scripts.js", "streams::js/form/form.js") }} {{ asset_add("scripts.js", "streams::js/form/translations.js") }} -{% endblock %} \ No newline at end of file +{% endblock %} From cf6029e453edf1bb584dda2f33ec168033e72848 Mon Sep 17 00:00:00 2001 From: diashalabi Date: Thu, 15 Jul 2021 12:54:12 +0300 Subject: [PATCH 6/6] revert --- .../resources/config/settings/sections.php | 1 - .../resources/config/settings/settings.php | 16 -------- .../advs-module/resources/lang/en/setting.php | 4 -- .../src/DefaultadminThemeServiceProvider.php | 5 --- .../src/Listener/CheckEnabledModules.php | 41 ------------------- 5 files changed, 67 deletions(-) delete mode 100644 addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php index 8bb8ee86c..8b322a998 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php @@ -16,7 +16,6 @@ return [ 'free_currencyconverterapi_key', 'hide_price_categories', 'tcmb_exchange_url', - 'enabled_modules', 'enabled_currencies', 'disable_sentry', 'hide_ad_cat', 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 1e5371fd3..b99a1fa65 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php @@ -194,22 +194,6 @@ return [ }, ], ], - 'enabled_modules' => [ - 'type' => 'anomaly.field_type.checkboxes', - 'config' => [ - 'mode' => 'tags', - 'default_value' => function () { - $addons = app('module.collection')->enabled()->pluck('namespace')->all(); - - return $addons; - }, - 'options' => function () { - $addons = app('module.collection')->pluck('namespace', 'namespace'); - - return $addons; - }, - ], - ], 'market_place' => [ 'type' => 'anomaly.field_type.boolean', 'config' => [ 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 40771e41b..005f2dd3f 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php @@ -125,10 +125,6 @@ return [ 'enabled_currencies' => [ 'name' => 'Enabled Currencies', ], - 'enabled_modules' => [ - 'name' => 'Enabled Modules', - 'warning' => 'Change at your own risk.', - ], 'google_statistic_code' => [ 'name' => 'Google Statistic Code', ], diff --git a/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php b/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php index 1874f99b8..83c91cc4b 100644 --- a/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php +++ b/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php @@ -2,13 +2,11 @@ use Anomaly\Streams\Platform\Addon\AddonServiceProvider; use Anomaly\Streams\Platform\Ui\ControlPanel\Component\Navigation\Event\SortNavigation; -use Anomaly\Streams\Platform\Ui\Form\Event\FormWasSaved; use Anomaly\Streams\Platform\Ui\Table\Event\TableIsQuerying; use Illuminate\Pagination\AbstractPaginator; use Visiosoft\DefaultadminTheme\Listener\AddGsmFilter; use Visiosoft\DefaultadminTheme\Listener\AddViewAdsButton; use Visiosoft\DefaultadminTheme\Listener\ApplySorting; -use Visiosoft\DefaultadminTheme\Listener\CheckEnabledModules; /** * Class DefaultadminThemeServiceProvider @@ -27,9 +25,6 @@ class DefaultadminThemeServiceProvider extends AddonServiceProvider AddGsmFilter::class, AddViewAdsButton::class, ], - FormWasSaved::class => [ - CheckEnabledModules::class, - ], ]; protected $overrides = [ diff --git a/addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php b/addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php deleted file mode 100644 index b19292aeb..000000000 --- a/addons/default/visiosoft/defaultadmin-theme/src/Listener/CheckEnabledModules.php +++ /dev/null @@ -1,41 +0,0 @@ -moduleRepository = $moduleRepository; - } - - public function handle(FormWasSaved $event) - { - $builder = $event->getBuilder(); - - if (get_class($builder) == SettingFormBuilder::class) { - $value = $builder->getFormFields()->where('field', 'enabled_modules')->first()->getValue(); - $disabledModules = app('module.collection')->whereNotIn('namespace', $value); - $enabledModules = app('module.collection')->whereIn('namespace', $value); - foreach ($disabledModules as $module) { - if ($module->isInstalled()) { - $this->dispatchNow(new UninstallModule($module, true)); - } - } - foreach ($enabledModules as $module) { - if (!$module->isInstalled()) { - $this->dispatchNow(new InstallModule($module, true)); - } - } - } - } -}