From 92ffb3fefbd28958b690e1308a93277d47dc3dab Mon Sep 17 00:00:00 2001 From: vedatakdogan Date: Thu, 24 Dec 2020 19:17:38 +0300 Subject: [PATCH 1/4] bulk price imp. --- .../resources/js/admin/advanced.js | 22 +++++ .../advs-module/resources/lang/en/view.php | 1 + .../advs-module/resources/lang/tr/view.php | 1 + .../resources/views/admin/table/table.twig | 87 +++++++++++++++++++ .../src/Adv/Table/AdvTableBuilder.php | 12 ++- .../src/Adv/Table/AdvTableColumns.php | 18 +++- .../src/Adv/Table/Views/Advanced.php | 21 +++++ .../Http/Controller/Admin/AdvsController.php | 15 ++++ 8 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 addons/default/visiosoft/advs-module/resources/js/admin/advanced.js create mode 100644 addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig create mode 100644 addons/default/visiosoft/advs-module/src/Adv/Table/Views/Advanced.php diff --git a/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js new file mode 100644 index 000000000..5819fb0e9 --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js @@ -0,0 +1,22 @@ +var getUrlParameter = function getUrlParameter(sParam) { + var sPageURL = window.location.search.substring(1), + sURLVariables = sPageURL.split('&'), + sParameterName, + i; + + for (i = 0; i < sURLVariables.length; i++) { + sParameterName = sURLVariables[i].split('='); + + if (sParameterName[0] === sParam) { + return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); + } + } +}; + + +if (getUrlParameter('view') === "advanced") { + $('.fast-update').on('change', function () { + var value = $(this).val(), entry_id = $(this).data('entry_id'), column = $(this).data('column'); + alert(value,entry_id,column); + }) +} \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/view.php b/addons/default/visiosoft/advs-module/resources/lang/en/view.php index 0a174882a..0ba4fe99f 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/view.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/view.php @@ -2,4 +2,5 @@ return [ 'unfinished' => 'Unfinished', + 'advanced' => 'Advanced', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/tr/view.php b/addons/default/visiosoft/advs-module/resources/lang/tr/view.php index 3f1464b90..b5a71395d 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/tr/view.php +++ b/addons/default/visiosoft/advs-module/resources/lang/tr/view.php @@ -2,4 +2,5 @@ return [ 'unfinished' => 'Bitmemiş', + 'advanced' => 'Gelişmiş', ]; diff --git a/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig b/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig new file mode 100644 index 000000000..0840e2963 --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig @@ -0,0 +1,87 @@ +{{ asset_add("scripts.js", "streams::js/table/table.js") }} + +{% if not actions.empty() %} + {{ asset_add("scripts.js", "streams::js/table/actions.js") }} +{% endif %} + +{% if table.options.sortable %} + {{ asset_add("scripts.js", "streams::js/table/sortable.js") }} +{% endif %} + +
+ + {{ view("streams::table/partials/filters", {'table': table}) }} + {{ view("streams::table/partials/views", {'table': table}) }} + + {{ view(table.options.heading ?: "streams::table/partials/heading", {'table': table}) }} + + {% if not table.rows.empty() %} + {% block card %} +
+ + {{ form_open({ 'url': url_full() }) }} +
+ + + {{ view("streams::table/partials/header", {'table': table}) }} + + {% block body %} + + {% for row in table.rows %} + + + {% if table.options.sortable %} + + {% endif %} + + {% if not table.actions.empty() %} + + {% endif %} + + {% for column in row.columns %} + + {% endfor %} + + + + + {% endfor %} + + + {% endblock %} + + {{ view("streams::table/partials/footer", {'table': table}) }} + +
+ {{ icon('fa fa-arrows handle') }} + + + + + {{ (column.attributes.html) ? column.attributes.html|raw : column.value|raw }} + + {{ buttons(row.buttons)|raw }} +
+
+ {{ form_close() }} + +
+ {% endblock %} + {% else %} + + {% block no_results %} +
+
+ {{ trans(table.options.get('no_results_message', 'streams::message.no_results')) }} +
+
+ {% endblock %} + {% endif %} +
diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php index ecc68bbc4..45466ee3b 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php @@ -19,6 +19,11 @@ class AdvTableBuilder extends TableBuilder 'slug' => 'all', 'text' => 'streams::view.all', ], + 'advanced' => [ + 'view' => All::class, + 'slug' => 'advanced', + 'text' => 'module::view.advanced', + ], 'trash', 'unfinished' => [ 'view' => unfinished::class @@ -74,6 +79,7 @@ class AdvTableBuilder extends TableBuilder 'order_by' => [ 'id' => 'DESC', ], + 'table_view' => 'visiosoft.module.advs::admin/table/table' ]; /** @@ -81,6 +87,10 @@ class AdvTableBuilder extends TableBuilder * * @var array */ - protected $assets = []; + protected $assets = [ + 'scripts.js' => [ + 'visiosoft.module.advs::js/admin/advanced.js' + ], + ]; } diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php index 2854914eb..87e2280e1 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php @@ -1,6 +1,7 @@ setColumns([ + $columns = [ 'cover_photo' => [ 'value' => function (EntryInterface $entry) { return ""; - }, + } ], 'name' => [ @@ -59,7 +60,18 @@ class AdvTableColumns 'created_by' => [ 'value' => 'entry.created_by.name', ], - ]); + ]; + + if ($builder->isActiveView('advanced')) { + + $columns['price']['attributes'] = [ + 'html' => function (EntryModel $entry) { + return ''; + } + ]; + } + + $builder->setColumns($columns); } } diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/Views/Advanced.php b/addons/default/visiosoft/advs-module/src/Adv/Table/Views/Advanced.php new file mode 100644 index 000000000..f32c3e23e --- /dev/null +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/Views/Advanced.php @@ -0,0 +1,21 @@ +where('slug', ""); + } + +} 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 2cf4c14a2..d05a65092 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 @@ -204,4 +204,19 @@ class AdvsController extends AdminController { return Excel::download(new AdvsExport(), 'advs-' . time() . '.xlsx'); } + + public function advancedEdit() + { + $available_colmuns + if() + if ($this->request->has('advanced_column') and $this->request->has('advanced_entry_id') and $this->request->has('advanced_value')) { + $entry_id = $this->request->get('advanced_entry_id'); + $column = $this->request->get('advanced_column'); + $value = $this->request->get('advanced_value'); + if ($entry = $this->advRepository->find($entry_id)) { + $entry->setAttribute($column, $value); + $entry->save(); + } + } + } } From 5c19b9cc30018e7f3ae9b66b93ad792cd9a83eb3 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Mon, 28 Dec 2020 12:36:50 +0300 Subject: [PATCH 2/4] fixed maintenance mode --- app/Listeners/EnableMaintenanceMode.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Listeners/EnableMaintenanceMode.php b/app/Listeners/EnableMaintenanceMode.php index 9aa9fb8ba..0baa89f1b 100755 --- a/app/Listeners/EnableMaintenanceMode.php +++ b/app/Listeners/EnableMaintenanceMode.php @@ -11,8 +11,12 @@ class EnableMaintenanceMode { $builder = $event->getBuilder(); if (get_class($builder->getRepository()) === SettingFormRepository::class) { - if ($builder->getFormValues()->has('maintenance') and $builder->getFormValues()->get('maintenance')) { - Artisan::call('down'); + if ($builder->getFormValues()->has('maintenance')) { + if ($builder->getFormValues()->get('maintenance')) { + Artisan::call('down'); + } elseif (config('streams::maintenance.enabled')) { + Artisan::call('up'); + } } } } From fefa061e4eda5d58c2656c903ea96224f6a3bf34 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Mon, 28 Dec 2020 14:12:28 +0300 Subject: [PATCH 3/4] completed advanced update for ads --- .../resources/js/admin/advanced.js | 14 +++++++++++-- .../resources/views/admin/table/table.twig | 3 +++ .../src/Adv/Table/AdvTableColumns.php | 20 ++++++++++++++++++- .../src/AdvsModuleServiceProvider.php | 4 ++++ .../Http/Controller/Admin/AdvsController.php | 4 +--- 5 files changed, 39 insertions(+), 6 deletions(-) diff --git a/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js index 5819fb0e9..7e7c9e4d9 100644 --- a/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js +++ b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js @@ -16,7 +16,17 @@ var getUrlParameter = function getUrlParameter(sParam) { if (getUrlParameter('view') === "advanced") { $('.fast-update').on('change', function () { - var value = $(this).val(), entry_id = $(this).data('entry_id'), column = $(this).data('column'); - alert(value,entry_id,column); + var advanced_value = $(this).val(), advanced_entry_id = $(this).data('entry_id'), + advanced_column = $(this).data('column'), advanced_type = $(this).attr('type'); + + if (advanced_type === "checkbox") { + advanced_value = ($(this).prop('checked')) ? 1 : 0; + } + + crudAjax({ + 'advanced_column': advanced_column, + 'advanced_entry_id': advanced_entry_id, + 'advanced_value': advanced_value + }, advanced_update_url, 'POST') }) } \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig b/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig index 0840e2963..c600670e8 100644 --- a/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig +++ b/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig @@ -85,3 +85,6 @@ {% endblock %} {% endif %} + diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php index 87e2280e1..64f303c65 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableColumns.php @@ -64,9 +64,27 @@ class AdvTableColumns if ($builder->isActiveView('advanced')) { + unset($columns['created_by'], $columns['country']); + $columns['is_get_adv'] = [ + 'attributes' => [ + 'html' => function (EntryModel $entry) { + $checked = ($entry->is_get_adv) ? 'checked' : ''; + return ''; + } + ], + 'class' => 'advs-price', + ]; + $columns['standard_price'] = [ + 'attributes' => [ + 'html' => function (EntryModel $entry) { + return ''; + } + ], + 'class' => 'advs-price', + ]; $columns['price']['attributes'] = [ 'html' => function (EntryModel $entry) { - return ''; + return ''; } ]; } diff --git a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php index 88f672aa8..304b2f03a 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php @@ -46,6 +46,10 @@ class AdvsModuleServiceProvider extends AddonServiceProvider 'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@assetsClear', ], 'admin/advs-users/choose/{advId}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@choose', + 'admin/advs/ajax/advanced/advanced-update' => [ + 'as' => 'visiosoft.module.advs::ajax_advanced_update', + 'uses' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@advancedUpdate', + ], 'admin/class/actions/{id}/{type}' => 'Visiosoft\AdvsModule\Http\Controller\Admin\AdvsController@actions', 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 d05a65092..6962e2e4c 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 @@ -205,10 +205,8 @@ class AdvsController extends AdminController return Excel::download(new AdvsExport(), 'advs-' . time() . '.xlsx'); } - public function advancedEdit() + public function advancedUpdate() { - $available_colmuns - if() if ($this->request->has('advanced_column') and $this->request->has('advanced_entry_id') and $this->request->has('advanced_value')) { $entry_id = $this->request->get('advanced_entry_id'); $column = $this->request->get('advanced_column'); From b265587346dd47fe413922401d10f1ab823ec4a1 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Tue, 29 Dec 2020 16:50:57 +0300 Subject: [PATCH 4/4] remove variable name --- .../visiosoft/advs-module/resources/js/admin/advanced.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js index 7e7c9e4d9..c94938966 100644 --- a/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js +++ b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js @@ -1,4 +1,4 @@ -var getUrlParameter = function getUrlParameter(sParam) { +function getUrlParameter(sParam) { var sPageURL = window.location.search.substring(1), sURLVariables = sPageURL.split('&'), sParameterName,