From 264212bc8d11d520b8d809956320e8e2c8755c67 Mon Sep 17 00:00:00 2001 From: "shubhammehrotra.symfony@webkul.com" Date: Mon, 30 Dec 2019 21:36:55 +0530 Subject: [PATCH] save velocity configuration --- .../publishable/assets/css/velocity.css | 1 + ...12_30_155256_create_velocity_meta_data.php | 2 +- .../Webkul/Velocity/src/Helpers/Helper.php | 19 ++++++---- .../Admin/ConfigurationController.php | 38 ++++++++++++++----- .../Webkul/Velocity/src/Http/admin-routes.php | 6 ++- .../Velocity/src/Models/VelocityMetadata.php | 3 ++ .../Resources/assets/sass/components/app.scss | 1 + .../Velocity/src/Resources/lang/en/app.php | 1 + .../views/admin/meta-info/meta-data.blade.php | 23 ++++++++--- 9 files changed, 70 insertions(+), 24 deletions(-) diff --git a/packages/Webkul/Velocity/publishable/assets/css/velocity.css b/packages/Webkul/Velocity/publishable/assets/css/velocity.css index 15e38043d..c27652def 100644 --- a/packages/Webkul/Velocity/publishable/assets/css/velocity.css +++ b/packages/Webkul/Velocity/publishable/assets/css/velocity.css @@ -1721,6 +1721,7 @@ } .product-price .sticker { + display: none; top: 0; left: 0; border: none; diff --git a/packages/Webkul/Velocity/src/Database/Migrations/2019_12_30_155256_create_velocity_meta_data.php b/packages/Webkul/Velocity/src/Database/Migrations/2019_12_30_155256_create_velocity_meta_data.php index 93bd0ed5a..6f386994e 100644 --- a/packages/Webkul/Velocity/src/Database/Migrations/2019_12_30_155256_create_velocity_meta_data.php +++ b/packages/Webkul/Velocity/src/Database/Migrations/2019_12_30_155256_create_velocity_meta_data.php @@ -19,7 +19,7 @@ class CreateVelocityMetaData extends Migration $table->text('home_page_content'); $table->text('footer_left_content'); $table->text('footer_middle_content'); - $table->boolean('slider'); + $table->boolean('slider')->default(0); $table->timestamps(); }); diff --git a/packages/Webkul/Velocity/src/Helpers/Helper.php b/packages/Webkul/Velocity/src/Helpers/Helper.php index 25c930e5d..60e5a1aa4 100644 --- a/packages/Webkul/Velocity/src/Helpers/Helper.php +++ b/packages/Webkul/Velocity/src/Helpers/Helper.php @@ -53,20 +53,20 @@ class Helper extends Review * * @var object */ - protected $velocityMetadata; + protected $velocityMetadataRepository; public function __construct( - VelocityMetadataRepository $velocityMetadata, + VelocityMetadataRepository $velocityMetadataRepository, OrderBrandsRepository $orderBrandsRepository, ProductRepository $productRepository, ProductModel $productModel, AttributeOptionRepository $attributeOption ) { - $this->velocityMetadata = $velocityMetadata; $this->productModel = $productModel; $this->attributeOption = $attributeOption; $this->productRepository = $productRepository; $this->orderBrandsRepository = $orderBrandsRepository; + $this->velocityMetadataRepository = $velocityMetadataRepository; } public function topBrand($order) @@ -172,13 +172,16 @@ class Helper extends Review public function getVelocityMetaData() { - $metaData = $this->velocityMetadata->get(); + try { + $metaData = $this->velocityMetadataRepository->get(); - if (! ($metaData && ($metaData = $metaData[0]))) { - $metaData = null; + if (! ($metaData && isset($metaData[0]) && $metaData = $metaData[0])) { + $metaData = null; + } + + return $metaData; + } catch (\Exception $exception) { } - - return $metaData; } } diff --git a/packages/Webkul/Velocity/src/Http/Controllers/Admin/ConfigurationController.php b/packages/Webkul/Velocity/src/Http/Controllers/Admin/ConfigurationController.php index 2fef4ceba..7055b3af5 100644 --- a/packages/Webkul/Velocity/src/Http/Controllers/Admin/ConfigurationController.php +++ b/packages/Webkul/Velocity/src/Http/Controllers/Admin/ConfigurationController.php @@ -4,6 +4,7 @@ namespace Webkul\Velocity\Http\Controllers\Admin; use DB; use Webkul\Velocity\Repositories\MetadataRepository; +use Webkul\Velocity\Repositories\VelocityMetadataRepository; /** * Category Controller @@ -15,11 +16,11 @@ use Webkul\Velocity\Repositories\MetadataRepository; class ConfigurationController extends Controller { /** - * MetadataRepository object + * VelocityMetadataRepository object * * @var Object */ - protected $metaDataRepository; + protected $velocityMetaDataRepository; /** * Create a new controller instance. @@ -27,19 +28,38 @@ class ConfigurationController extends Controller * @param \Webkul\Velocity\Repositories\MetadataRepository $metaDataRepository */ - public function __construct () - { + public function __construct ( + VelocityMetadataRepository $velocityMetadataRepository + ) { $this->_config = request('_config'); + + $this->velocityMetaDataRepository = $velocityMetadataRepository; } - public function storeMetaData() + public function renderMetaData() { - $metaData = DB::table('velocity_meta_data')->get(); + $velocityHelper = app('Webkul\Velocity\Helpers\Helper'); + $velocityMetaData = $velocityHelper->getVelocityMetaData(); - if (! ($metaData && ($metaData = $metaData[0]))) { - $metaData = null; + return view($this->_config['view'], [ + 'metaData' => $velocityMetaData + ]); + } + + public function storeMetaData($id) + { + if (! request()->get('slider')) { + $params = request()->all() + [ + 'slider' => 0 + ]; + } else { + $params = request()->all(); } - return view($this->_config['view'], compact('metaData')); + $product = $this->velocityMetaDataRepository->update($params, $id); + + session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Velocity Theme'])); + + return redirect()->route($this->_config['redirect']); } } \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Http/admin-routes.php b/packages/Webkul/Velocity/src/Http/admin-routes.php index 528f7d5c2..f7e28f893 100644 --- a/packages/Webkul/Velocity/src/Http/admin-routes.php +++ b/packages/Webkul/Velocity/src/Http/admin-routes.php @@ -63,9 +63,13 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'velocity.admin.category.index' ])->name('velocity.admin.category.mass-delete'); - Route::get('/meta-data', 'ConfigurationController@storeMetaData')->defaults('_config', [ + Route::get('/meta-data', 'ConfigurationController@renderMetaData')->defaults('_config', [ 'view' => 'velocity::admin.meta-info.meta-data' ])->name('velocity.admin.meta-data'); + + Route::post('/meta-data/{id}', 'ConfigurationController@storeMetaData')->defaults('_config', [ + 'redirect' => 'velocity.admin.meta-data' + ])->name('velocity.admin.store.meta-data'); }); }); }); diff --git a/packages/Webkul/Velocity/src/Models/VelocityMetadata.php b/packages/Webkul/Velocity/src/Models/VelocityMetadata.php index 7aff92227..ebbcaa2fe 100644 --- a/packages/Webkul/Velocity/src/Models/VelocityMetadata.php +++ b/packages/Webkul/Velocity/src/Models/VelocityMetadata.php @@ -8,4 +8,7 @@ use Webkul\Velocity\Contracts\VelocityMetadata as VelocityMetadataContract; class VelocityMetadata extends Model implements VelocityMetadataContract { protected $table = 'velocity_meta_data'; + + protected $guarded = []; + } \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss index 3b7c4d993..ea38097c6 100644 --- a/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/components/app.scss @@ -1016,6 +1016,7 @@ .product-price { .sticker { + display: none; top: 0; left: 0; border: none; diff --git a/packages/Webkul/Velocity/src/Resources/lang/en/app.php b/packages/Webkul/Velocity/src/Resources/lang/en/app.php index 56fe3b425..e998e0d5f 100644 --- a/packages/Webkul/Velocity/src/Resources/lang/en/app.php +++ b/packages/Webkul/Velocity/src/Resources/lang/en/app.php @@ -92,6 +92,7 @@ return [ 'title' => 'Velocity meta data', 'home-page-content' => 'Home Page Content', 'footer-left-content' => 'Footer Left Content', + 'activate-slider' => 'Activate Slider', 'footer-left-raw-content' => 'We love to craft softwares and solve the real world problems with the binaries. We are highly committed to our goals. We invest our resources to create world class easy to use softwares and applications for the enterprise business with the top notch, on the edge technology expertise.', 'footer-middle-content' => 'Footer Middle Content', 'update-meta-data' => 'Update Meta Data', diff --git a/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php b/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php index 299034b1b..1ea1481f0 100644 --- a/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php @@ -13,16 +13,29 @@
+ @csrf - @php - $typeView = 'admin::catalog.products.field-types.boolean'; - @endphp +
+ - {{-- @include ($typeView) --}} + +