Resolved conflicts

This commit is contained in:
jitendra 2020-08-17 13:36:04 +05:30
commit f93cf2ef80
4 changed files with 106 additions and 31 deletions

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddChannelToVelocityMetaDataTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('velocity_meta_data', function (Blueprint $table) {
$table->text('channel')->after('locale');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('velocity_meta_data', function (Blueprint $table) {
//
});
}
}

View File

@ -214,20 +214,26 @@ class Helper extends Review
*
* @return array
*/
public function getVelocityMetaData($locale = null, $default = true)
public function getVelocityMetaData($locale = null, $channel = null, $default = true)
{
if (! $locale) {
$locale = request()->get('locale') ?: app()->getLocale();
}
if (! $channel) {
$channel = request()->get('channel') ?: 'default';
}
try {
$metaData = $this->velocityMetadataRepository->findOneWhere([
'locale' => $locale
'locale' => $locale,
'channel' => $channel
]);
if (! $metaData && $default) {
$metaData = $this->velocityMetadataRepository->findOneWhere([
'locale' => 'en'
'locale' => 'en',
'channel' => 'default'
]);
}
@ -295,7 +301,7 @@ class Helper extends Review
* @param \Webkul\Product\Contracts\Product $product
* @param bool $list
* @param array $metaInformation
*
*
* @return array
*/
public function formatProduct($product, $list = false, $metaInformation = [])
@ -398,7 +404,7 @@ class Helper extends Review
}
}
}
return $productCollection;
}
}

View File

@ -15,8 +15,16 @@ class ConfigurationController extends Controller
*/
protected $velocityMetaDataRepository;
/**
* Locale
*/
protected $locale;
/**
* Channel
*/
protected $channel;
/**
* Create a new controller instance.
*
@ -28,10 +36,10 @@ class ConfigurationController extends Controller
$this->_config = request('_config');
$this->velocityHelper = app('Webkul\Velocity\Helpers\Helper');
$this->velocityMetaDataRepository = $velocityMetadataRepository;
$this->locale = request()->get('locale') ?: app()->getLocale();
$this->channel = request()->get('channel') ?: 'default';
}
/**
@ -39,12 +47,12 @@ class ConfigurationController extends Controller
*/
public function renderMetaData()
{
$velocityMetaData = $this->velocityHelper->getVelocityMetaData($this->locale, false);
$velocityMetaData = $this->velocityHelper->getVelocityMetaData($this->locale, $this->channel, false);
if (! $velocityMetaData) {
$this->createMetaData($this->locale);
$this->createMetaData($this->locale, $this->channel);
$velocityMetaData = $this->velocityHelper->getVelocityMetaData($this->locale);
$velocityMetaData = $this->velocityHelper->getVelocityMetaData($this->locale, $this->channel);
}
$velocityMetaData->advertisement = $this->manageAddImages(json_decode($velocityMetaData->advertisement, true) ?: []);
@ -112,7 +120,7 @@ class ConfigurationController extends Controller
unset($params['slides']);
$params['locale'] = $this->locale;
// update row
$product = $this->velocityMetaDataRepository->update($params, $id);
@ -125,7 +133,7 @@ class ConfigurationController extends Controller
* @param array $data
* @param int $index
* @param array $advertisement
*
*
* @return array
*/
public function uploadAdvertisementImages($data, $index, $advertisement)
@ -138,13 +146,13 @@ class ConfigurationController extends Controller
if ($image != "") {
$file = 'images.' . $index . '.' . $imageId;
$dir = 'velocity/images';
if (Str::contains($imageId, 'image_')) {
if (request()->hasFile($file) && $image) {
$filter_index = substr($imageId, 6, 1);
if ( isset($data[$filter_index]) ) {
$size = array_key_last($saveData[$index]);
$saveImage[$size + 1] = request()->file($file)->store($dir);
} else {
$saveImage[substr($imageId, 6, 1)] = request()->file($file)->store($dir);
@ -153,13 +161,13 @@ class ConfigurationController extends Controller
} else {
if ( isset($advertisement[$index][$imageId]) && $advertisement[$index][$imageId] && !request()->hasFile($file)) {
$saveImage[$imageId] = $advertisement[$index][$imageId];
unset($advertisement[$index][$imageId]);
}
if (request()->hasFile($file) && isset($advertisement[$index][$imageId])) {
Storage::delete($advertisement[$index][$imageId]);
$saveImage[$imageId] = request()->file($file)->store($dir);
}
}
@ -192,7 +200,7 @@ class ConfigurationController extends Controller
/**
* @param array $data
* @param int $index
*
*
* @return mixed
*/
public function uploadImage($data, $index)
@ -215,7 +223,7 @@ class ConfigurationController extends Controller
/**
* @param array $addImages
*
*
* @return array
*/
public function manageAddImages($addImages)
@ -236,14 +244,15 @@ class ConfigurationController extends Controller
];
}
}
return $imagePaths;
}
private function createMetaData($locale)
private function createMetaData($locale, $channel)
{
\DB::table('velocity_meta_data')->insert([
'locale' => $locale,
'channel' => $channel,
'home_page_content' => "<p>@include('shop::home.advertisements.advertisement-four')@include('shop::home.featured-products') @include('shop::home.product-policy') @include('shop::home.advertisements.advertisement-three') @include('shop::home.new-products') @include('shop::home.advertisements.advertisement-two')</p>",
'footer_left_content' => __('velocity::app.admin.meta-data.footer-left-raw-content'),

View File

@ -5,7 +5,8 @@
@stop
@php
$locale = request()->get('locale') ?: app()->getLocale();
$locale = request()->get('locale') ?: 'en';
$channel = request()->get('channel') ?: 'default';
@endphp
@section('content')
@ -29,12 +30,25 @@
</div>
<input type="hidden" name="locale" value="{{ $locale }}" />
<input type="hidden" name="channel" value="{{ $channel }}" />
<div class="control-group">
<select class="control" id="channel-switcher" onChange="window.location.href = this.value">
@foreach (core()->getAllChannels() as $ch)
<option value="{{ route('velocity.admin.meta-data') . '?channel=' . $ch->code . '&locale=' . $locale }}" {{ ($ch->code) == $channel ? 'selected' : '' }}>
{{ $ch->name }}
</option>
@endforeach
</select>
</div>
<div class="control-group">
<select class="control" id="locale-switcher" onChange="window.location.href = this.value">
@foreach (core()->getAllLocales() as $localeModel)
<option value="{{ route('velocity.admin.meta-data') . '?locale=' . $localeModel->code }}" {{ ($localeModel->code) == $locale ? 'selected' : '' }}>
<option value="{{ route('velocity.admin.meta-data') . '?locale=' . $localeModel->code . '&channel=' . $channel }}" {{ ($localeModel->code) == $locale ? 'selected' : '' }}>
{{ $localeModel->name }}
</option>
@ -62,7 +76,7 @@
class="control"
data-vv-as="&quot;slides&quot;"
{{ $metaData && $metaData->slider ? 'checked' : ''}} />
<span class="slider round"></span>
</label>
</div>
@ -112,7 +126,10 @@
</div>
<div class="control-group">
<label style="width:100%;">{{ __('velocity::app.admin.meta-data.home-page-content') }} <span class="locale">[{{ $metaData ? $metaData->locale : 'en' }}]</span></label>
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.home-page-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : 'default' }} - {{ $metaData ? $metaData->locale : 'en' }}]</span>
</label>
<textarea
class="control"
@ -123,7 +140,10 @@
</div>
<div class="control-group">
<label style="width:100%;">{{ __('velocity::app.admin.meta-data.product-policy') }} <span class="locale">[{{ $metaData ? $metaData->locale : 'en' }}]</span></label>
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.product-policy') }}
<span class="locale">[{{ $metaData ? $metaData->channel : 'default' }} - {{ $metaData ? $metaData->locale : 'en' }}]</span>
</label>
<textarea
class="control"
@ -149,10 +169,9 @@
];
$index = 0;
$currentLocale = request()->get('locale') ?: core()->getCurrentLocale();
foreach ($metaData->get('locale')->all() as $key => $value) {
if ($value->locale == $currentLocale) {
if ($value->locale == $locale) {
$index = $key;
}
}
@ -240,7 +259,10 @@
<accordian :title="'{{ __('velocity::app.admin.meta-data.footer') }}'" :active="false">
<div slot="body">
<div class="control-group">
<label style="width:100%;">{{ __('velocity::app.admin.meta-data.subscription-content') }} <span class="locale">[{{ $metaData ? $metaData->locale : 'en' }}]</span></label>
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.subscription-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : 'default' }} - {{ $metaData ? $metaData->locale : 'en' }}]</span>
</label>
<textarea
class="control"
@ -251,7 +273,10 @@
</div>
<div class="control-group">
<label style="width:100%;">{{ __('velocity::app.admin.meta-data.footer-left-content') }} <span class="locale">[{{ $metaData ? $metaData->locale : 'en' }}]</span></label>
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.footer-left-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : 'default' }} - {{ $metaData ? $metaData->locale : 'en' }}]</span>
</label>
<textarea
class="control"
@ -262,7 +287,10 @@
</div>
<div class="control-group">
<label style="width:100%;">{{ __('velocity::app.admin.meta-data.footer-middle-content') }} <span class="locale">[{{ $metaData ? $metaData->locale : 'en' }}]</span></label>
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.footer-middle-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : 'default' }} - {{ $metaData ? $metaData->locale : 'en' }}]</span>
</label>
<textarea
class="control"