Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
e78e61d989
|
|
@ -138,4 +138,118 @@
|
|||
|
||||
* #2227 [fixed] - Grand total column is not visible in invoice pdf, also getting incorrect currency symbol for grand total.
|
||||
|
||||
* #2237 [fixed] - Error when trying to login with app.php locale set to ja
|
||||
* #2237 [fixed] - Error when trying to login with app.php locale set to ja
|
||||
|
||||
* #2239 [fixed] - User should not be able to create multiple channel with same hostname.
|
||||
|
||||
* #2241 [fixed] - Getting exception when save a category with category logo
|
||||
|
||||
* #2242 [fixed] - Velocity Header content status should be enabled by default
|
||||
|
||||
* #2243 [fixed] - Remove Image's Height [in Pixel], Image's Width [in Pixel] ,Image Alignment and Number of Subcategory from Configure->velocity theme.
|
||||
|
||||
* #2245 [fixed] - slider content is not showing in velocity theme
|
||||
|
||||
* #2246 [fixed] - slider disable functionality is not working
|
||||
|
||||
* #2248 [fixed] - Provide an option to remove filter in velocity theme.
|
||||
|
||||
* #2251 [fixed] - configurable product options could not get select
|
||||
|
||||
* #2252 [fixed] - Customer is not able to save his/her address in velocity theme.
|
||||
|
||||
* #2253 [fixed] - Customer is not able to update his/her profile in velocity theme.
|
||||
|
||||
* #2254 [fixed] - Fix layout for remove button in cart page for guest customer
|
||||
|
||||
* #2255 [fixed] - Theme page search bar passing string value
|
||||
|
||||
* #2256 [fixed] - close previous popup if clicks on another item
|
||||
|
||||
* #2257 [fixed] - User profile drop down option should be highlighted on mouse hover
|
||||
|
||||
* #2258 [fixed] - Need space between highlighted text.
|
||||
|
||||
* #2259 [fixed] - Not getting category image on category page in velocity theme.
|
||||
|
||||
* #2260 [fixed] - Not getting the header content.
|
||||
|
||||
* #2261 [fixed] - Not getting option to delete review if customer has reviewed only single product.
|
||||
|
||||
* #2262 [fixed] - Issue with multiple images of same product
|
||||
|
||||
* #2263 [fixed] - Fix issue at review page
|
||||
|
||||
* #2264 [fixed] - Getting internal server error when place an order
|
||||
|
||||
* #2265 [fixed] - Migrate issues with Velocity
|
||||
|
||||
* #2271 [fixed] - When clicking on dropdown icon of all categories, category list didn't get open.
|
||||
|
||||
* #2273 [fixed] - Not getting password reset email for velocity theme
|
||||
|
||||
* #2274 [fixed] - Not able to proceed for checkout after checkout/onepage in case of downloadable product.
|
||||
|
||||
* #2275 [fixed] - Not able to place order for virtual product.
|
||||
|
||||
* #2279 [fixed] - Sort By functionality is not working in velocity theme.
|
||||
|
||||
* #2280 [fixed] - Getting small checkbox on refreshing the product page.
|
||||
|
||||
* #2282 [fixed] - Not getting any validation error message if current date of birth is selected in customer profile.
|
||||
|
||||
* #2285 [fixed] - Layout issue if category length is large.
|
||||
|
||||
* #2288 [fixed] - Getting exception on mass delete of review from admin end.
|
||||
|
||||
* #2293 [fixed] - On mouse hover, remove filter should be display as clickable.
|
||||
|
||||
* #2295 [fixed] - Admin not able to add address for customer if he add data in Vat id field.
|
||||
|
||||
* #2297 [fixed] - Always showing 0 review for product in recently viewed product even if multiple reviews are given to that product.
|
||||
|
||||
* #2299 [fixed] - Vat Id field is not given is customer address form.
|
||||
|
||||
* #2300 [fixed] - Alignment issue on Billing Information page if user enter an email that already exist.
|
||||
|
||||
* #2317 [fixed] - Multiple pop-up opens at a time if product is added in cart and customer click on Welcome Guest to sign-up or login.
|
||||
|
||||
* #2318 [fixed] - Slider content is not showing properly on slider in velocity theme.
|
||||
|
||||
* #2319 [fixed] - UI issue when customer redirect to reset password page through received email.
|
||||
|
||||
* #2320 [fixed] - UI issue in sort by functionality.
|
||||
|
||||
* #2325 [fixed] - Left arrow should be out of the image area.
|
||||
|
||||
* #2328 [fixed] - Only first three viewed product display in recently viewed section, when customer view 4th product it doesn't get updated.
|
||||
|
||||
* #2330 [fixed] - different route found for customer profile edit page for velocity theme
|
||||
|
||||
* #2335 [fixed] - Success alert should be shown while adding product into cart
|
||||
|
||||
* #2336 [fixed] - Issue with multi level category.
|
||||
|
||||
* #2337 [fixed] - Not getting category logo for 3rd level category.
|
||||
|
||||
* #2339 [fixed] - Selected content type is not showing in Content Pages List
|
||||
|
||||
* #2340 [fixed] - Correct the success message on deleting content.
|
||||
|
||||
* #2341 [fixed] - wish listed items should be labeled by move to cart instead of add to cart if product already added in cart
|
||||
|
||||
* #2346 [fixed] - Exception when search product based on selected category from search bar
|
||||
|
||||
* #2355 [fixed] - UI issue when update product policy
|
||||
|
||||
* #2357 [fixed] - Broken image link for locale logo.
|
||||
|
||||
* #2362 [fixed] - Page Link Target of header content always save with self option.
|
||||
|
||||
* #2366 [fixed] - Not able to add logo for category, after saving the category logo gets removed.
|
||||
|
||||
* #2371 [fixed] - Getting exception on updating Category.
|
||||
|
||||
* #2280 [fixed] - In minicart, whole minicart container is showing clickable but only image section gets clicked to redirect to product page.
|
||||
|
||||
* #2281 [fixed] - In minicart, whole minicart container is showing clickable but only image section gets clicked to redirect to product page.
|
||||
|
|
@ -139,9 +139,9 @@ return [
|
|||
'datagrid' => [
|
||||
'mass-ops' => [
|
||||
'method-error' => 'Error! Wrong method detected, please check mass action configuration',
|
||||
'delete-success' => 'Selected index of :resource were successfully deleted',
|
||||
'delete-success' => 'Selected :resource were successfully deleted',
|
||||
'partial-action' => 'Some actions were not performed due restricted system constraints on :resource',
|
||||
'update-success' => 'Selected index of :resource were successfully updated',
|
||||
'update-success' => 'Selected :resource were successfully updated',
|
||||
'no-resource' => 'The resource provided for insufficient for the action'
|
||||
],
|
||||
|
||||
|
|
@ -465,8 +465,8 @@ return [
|
|||
'add-variant-title' => 'Add Variant',
|
||||
'variant-already-exist-message' => 'Variant with same attribute options already exists.',
|
||||
'add-image-btn-title' => 'Add Image',
|
||||
'mass-delete-success' => 'All the selected index of products have been deleted successfully',
|
||||
'mass-update-success' => 'All the selected index of products have been updated successfully',
|
||||
'mass-delete-success' => 'All the selected products have been deleted successfully',
|
||||
'mass-update-success' => 'All the selected products have been updated successfully',
|
||||
'configurable-error' => 'Please select atleast one configurable attribute.',
|
||||
'categories' => 'Categories',
|
||||
'images' => 'Images',
|
||||
|
|
@ -1039,7 +1039,7 @@ return [
|
|||
'code-suffix' => 'Code Suffix',
|
||||
'generate' => 'Generate',
|
||||
'cart-rule-not-defind-error' => 'Cart rule is not defined',
|
||||
'mass-delete-success' => 'All the selected index of coupons have been deleted successfully.',
|
||||
'mass-delete-success' => 'All the selected coupons have been deleted successfully.',
|
||||
'end-other-rules' => 'End Other Rules',
|
||||
'children-categories' => 'Categories (Children Only)',
|
||||
'parent-categories' => 'Categories (Parent Only)',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submi t" class="btn btn-lg btn-primary">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.save') }}
|
||||
</button>
|
||||
</div>
|
||||
|
|
@ -32,13 +32,13 @@
|
|||
<div slot="body">
|
||||
<div class="control-group" :class="[errors.has('name') ? 'has-error' : '']">
|
||||
<label for="name" class="required">{{ __('admin::app.account.name') }}</label>
|
||||
<input type="text" v-validate="'required'" class="control" id="name" name="name" value="{{ $user->name }}" data-vv-as=""{{ __('admin::app.account.name') }}""/>
|
||||
<input type="text" v-validate="'required'" class="control" id="name" name="name" value="{{ old('name') ?: $user->name }}" data-vv-as=""{{ __('admin::app.account.name') }}""/>
|
||||
<span class="control-error" v-if="errors.has('name')">@{{ errors.first('name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<label for="email" class="required">{{ __('admin::app.account.email') }}</label>
|
||||
<input type="text" v-validate="'required|email'" class="control" id="email" name="email" value="{{ $user->email }}" data-vv-as=""{{ __('admin::app.account.email') }}""/>
|
||||
<input type="text" v-validate="'required|email'" class="control" id="email" name="email" value="{{ old('email') ?: $user->email }}" data-vv-as=""{{ __('admin::app.account.email') }}""/>
|
||||
<span class="control-error" v-if="errors.has('email')">@{{ errors.first('email') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.catalog.attributes.code') }}</label>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" value="{{ $attribute->code }}" disabled="disabled" data-vv-as=""{{ __('admin::app.catalog.attributes.code') }}"" v-code/>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" value="{{ old('code') ?: $attribute->code }}" disabled="disabled" data-vv-as=""{{ __('admin::app.catalog.attributes.code') }}"" v-code/>
|
||||
<input type="hidden" name="code" value="{{ $attribute->code }}"/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
{!! view_render_event('bagisto.admin.catalog.family.edit_form_accordian.general.controls.before', ['attributeFamily' => $attributeFamily]) !!}
|
||||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<input type="text" v-validate="'required'" name="code" class="control" id="code" value="{{ $attributeFamily->code }}" disabled="disabled" data-vv-as=""{{ __('admin::app.catalog.families.code') }}"" v-code/>
|
||||
<input type="text" v-validate="'required'" name="code" class="control" id="code" value="{{ old('code') ?: $attributeFamily->code }}" disabled="disabled" data-vv-as=""{{ __('admin::app.catalog.families.code') }}"" v-code/>
|
||||
<input type="hidden" name="code" value="{{ $attributeFamily->code }}"/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -283,7 +283,33 @@
|
|||
|
||||
data: function() {
|
||||
return {
|
||||
links: downloadableLinks
|
||||
links: downloadableLinks,
|
||||
|
||||
old_links: @json(old('downloadable_links'))
|
||||
}
|
||||
},
|
||||
|
||||
created: function() {
|
||||
var index = 0;
|
||||
|
||||
for (var key in this.old_links) {
|
||||
var link = this.old_links[key];
|
||||
|
||||
if (key.indexOf('link_') !== -1) {
|
||||
link['title'] = link["{{$locale}}"]['title'];
|
||||
|
||||
downloadableLinks.push(link);
|
||||
} else {
|
||||
for (var code in link) {
|
||||
if (code === "{{$locale}}") {
|
||||
downloadableLinks[index]['title'] = link[code]['title'];
|
||||
} else {
|
||||
downloadableLinks[index][code] = link[code];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -328,6 +354,30 @@
|
|||
}
|
||||
},
|
||||
|
||||
created: function() {
|
||||
var index = 0;
|
||||
|
||||
for (var key in this.old_links) {
|
||||
var link = this.old_links[key];
|
||||
|
||||
if (key.indexOf('link_') !== -1) {
|
||||
link['title'] = link["{{$locale}}"]['title'];
|
||||
|
||||
downloadableLinks.push(link);
|
||||
} else {
|
||||
for (var code in link) {
|
||||
if (code === "{{$locale}}") {
|
||||
downloadableLinks[index]['title'] = link[code]['title'];
|
||||
} else {
|
||||
downloadableLinks[index][code] = link[code];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
linkInputTitleName: function () {
|
||||
if (this.link.id)
|
||||
|
|
@ -376,7 +426,33 @@
|
|||
|
||||
data: function() {
|
||||
return {
|
||||
samples: downloadableSamples
|
||||
samples: downloadableSamples,
|
||||
|
||||
old_samples: @json(old('downloadable_samples'))
|
||||
}
|
||||
},
|
||||
|
||||
created: function() {
|
||||
var index = 0;
|
||||
|
||||
for (var key in this.old_samples) {
|
||||
var sample = this.old_samples[key];
|
||||
|
||||
if (key.indexOf('sample_') !== -1) {
|
||||
sample['title'] = sample["{{$locale}}"]['title'];
|
||||
|
||||
downloadableSamples.push(sample);
|
||||
} else {
|
||||
for (var code in sample) {
|
||||
if (code === "{{$locale}}") {
|
||||
downloadableSamples[index]['title'] = sample[code]['title'];
|
||||
} else {
|
||||
downloadableSamples[index][code] = sample[code];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -37,25 +37,25 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('company_name') ? 'has-error' : '']">
|
||||
<label for="company_name">{{ __('shop::app.customer.account.address.create.company_name') }}</label>
|
||||
<input type="text" class="control" name="company_name" value="{{ $address->company_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.company_name') }}"">
|
||||
<input type="text" class="control" name="company_name" value="{{ old('company_name') ?: $address->company_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.company_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('company_name')">@{{ errors.first('company_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('first_name') ? 'has-error' : '']">
|
||||
<label for="first_name" class="required">{{ __('shop::app.customer.account.address.create.first_name') }}</label>
|
||||
<input type="text" class="control" name="first_name" v-validate="'required'" value="{{ $address->first_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.first_name') }}"">
|
||||
<input type="text" class="control" name="first_name" v-validate="'required'" value="{{ old('first_name') ?:$address->first_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.first_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('first_name')">@{{ errors.first('first_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('last_name') ? 'has-error' : '']">
|
||||
<label for="last_name" class="required">{{ __('shop::app.customer.account.address.create.last_name') }}</label>
|
||||
<input type="text" class="control" name="last_name" v-validate="'required'" value="{{ $address->last_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.last_name') }}"">
|
||||
<input type="text" class="control" name="last_name" v-validate="'required'" value="{{ old('last_name') ?: $address->last_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.last_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('last_name')">@{{ errors.first('last_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('vat_id') ? 'has-error' : '']">
|
||||
<label for="vat_id">{{ __('shop::app.customer.account.address.create.vat_id') }}</label>
|
||||
<input type="text" class="control" name="vat_id" v-validate="" value="{{ $address->vat_id }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.vat_id') }}"">
|
||||
<input type="text" class="control" name="vat_id" v-validate="" value="{{ old('vat_id') ?: $address->vat_id }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.vat_id') }}"">
|
||||
<span class="control-error" v-if="errors.has('vat_id')">@{{ errors.first('vat_id') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('city') ? 'has-error' : '']">
|
||||
<label for="city" class="required">{{ __('shop::app.customer.account.address.create.city') }}</label>
|
||||
<input type="text" class="control" name="city" v-validate="'required'" value="{{ $address->city }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.city') }}"">
|
||||
<input type="text" class="control" name="city" v-validate="'required'" value="{{ old('city') ?: $address->city }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.city') }}"">
|
||||
<span class="control-error" v-if="errors.has('city')">@{{ errors.first('city') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('postcode') ? 'has-error' : '']">
|
||||
<label for="postcode" class="required">{{ __('shop::app.customer.account.address.create.postcode') }}</label>
|
||||
<input type="text" class="control" name="postcode" v-validate="'required'" value="{{ $address->postcode }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.postcode') }}"">
|
||||
<input type="text" class="control" name="postcode" v-validate="'required'" value="{{ old('postcode') ?: $address->postcode }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.postcode') }}"">
|
||||
<span class="control-error" v-if="errors.has('postcode')">@{{ errors.first('postcode') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -38,20 +38,20 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('first_name') ? 'has-error' : '']">
|
||||
<label for="first_name" class="required"> {{ __('admin::app.customers.customers.first_name') }}</label>
|
||||
<input type="text" class="control" name="first_name" v-validate="'required'" value="{{$customer->first_name}}"
|
||||
<input type="text" class="control" name="first_name" v-validate="'required'" value="{{old('first_name') ?:$customer->first_name}}"
|
||||
data-vv-as=""{{ __('shop::app.customer.signup-form.firstname') }}""/>
|
||||
<span class="control-error" v-if="errors.has('first_name')">@{{ errors.first('first_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('last_name') ? 'has-error' : '']">
|
||||
<label for="last_name" class="required"> {{ __('admin::app.customers.customers.last_name') }}</label>
|
||||
<input type="text" class="control" name="last_name" v-validate="'required'" value="{{$customer->last_name}}" data-vv-as=""{{ __('shop::app.customer.signup-form.lastname') }}"">
|
||||
<input type="text" class="control" name="last_name" v-validate="'required'" value="{{old('last_name') ?:$customer->last_name}}" data-vv-as=""{{ __('shop::app.customer.signup-form.lastname') }}"">
|
||||
<span class="control-error" v-if="errors.has('last_name')">@{{ errors.first('last_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<label for="email" class="required"> {{ __('admin::app.customers.customers.email') }}</label>
|
||||
<input type="email" class="control" name="email" v-validate="'required|email'" value="{{$customer->email}}" data-vv-as=""{{ __('shop::app.customer.signup-form.email') }}"">
|
||||
<input type="email" class="control" name="email" v-validate="'required|email'" value="{{old('email') ?:$customer->email}}" data-vv-as=""{{ __('shop::app.customer.signup-form.email') }}"">
|
||||
<span class="control-error" v-if="errors.has('email')">@{{ errors.first('email') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('date_of_birth') ? 'has-error' : '']">
|
||||
<label for="dob">{{ __('admin::app.customers.customers.date_of_birth') }}</label>
|
||||
<input type="date" class="control" name="date_of_birth" value="{{ $customer->date_of_birth }}" v-validate="" data-vv-as=""{{ __('admin::app.customers.customers.date_of_birth') }}"">
|
||||
<input type="date" class="control" name="date_of_birth" value="{{ old('date_of_birth') ?:$customer->date_of_birth }}" v-validate="" data-vv-as=""{{ __('admin::app.customers.customers.date_of_birth') }}"">
|
||||
<span class="control-error" v-if="errors.has('date_of_birth')">@{{ errors.first('date_of_birth') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ url('/admin/dashboard') }}';"></i>
|
||||
|
||||
|
||||
{{ __('admin::app.customers.groups.edit-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.customers.groups.code') }}</label>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.customers.groups.code') }}"" value="{{ $group->code }}" disabled="disabled"/>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.customers.groups.code') }}"" value="{{ old('code') ?: $group->code }}" disabled="disabled"/>
|
||||
<input type="hidden" name="code" value="{{ $group->code }}"/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
<label for="name" class="required">
|
||||
{{ __('admin::app.customers.groups.name') }}
|
||||
</label>
|
||||
<input type="text" class="control" name="name" v-validate="'required'" value="{{ $group->name }}" data-vv-as=""{{ __('admin::app.customers.groups.name') }}"">
|
||||
<input type="text" class="control" name="name" v-validate="'required'" value="{{ old('name') ?: $group->name }}" data-vv-as=""{{ __('admin::app.customers.groups.name') }}"">
|
||||
<span class="control-error" v-if="errors.has('name')">@{{ errors.first('name') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
<div class="control-group">
|
||||
<label for="name" > {{ __('admin::app.customers.reviews.title') }}</label>
|
||||
<input type="text" class="control" id="name" name="name" value="{{$review->title}}" disabled/>
|
||||
<input type="text" class="control" id="name" name="name" value="{{old('name') ?: $review->title}}" disabled/>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ url('/admin/dashboard') }}';"></i>
|
||||
|
||||
|
||||
{{ __('admin::app.customers.subscribers.title-edit') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
<div class="control-group">
|
||||
<label for="status">{{ __('admin::app.promotions.cart-rules.status') }}</label>
|
||||
<span class="checkbox">
|
||||
<input type="checkbox" id="status" name="status" value="{{ $cartRule->status }}" {{ $cartRule->status ? 'checked' : '' }}>
|
||||
<input type="checkbox" id="status" name="status" value="{{ old('status') ?: $cartRule->status }}" {{ $cartRule->status ? 'checked' : '' }}>
|
||||
<label class="checkbox-view" for="status"></label>
|
||||
{{ __('admin::app.promotions.cart-rules.is-active') }}
|
||||
</span>
|
||||
|
|
@ -243,7 +243,7 @@
|
|||
|
||||
<div class="control-group">
|
||||
<label for="apply_to_shipping">{{ __('admin::app.promotions.cart-rules.apply-to-shipping') }}</label>
|
||||
|
||||
|
||||
<?php $selectedOption = old('apply_to_shipping') ?: $cartRule->apply_to_shipping ?>
|
||||
|
||||
<select class="control" id="apply_to_shipping" name="apply_to_shipping" :disabled="action_type == 'cart_fixed'">
|
||||
|
|
@ -403,7 +403,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('create-coupun-form.coupon_qty') ? 'has-error' : '']">
|
||||
<label for="coupon_qty" class="required">{{ __('admin::app.promotions.cart-rules.coupon-qty') }}</label>
|
||||
|
||||
|
||||
<input v-validate="'required|min_value:1'" class="control" id="coupon_qty" name="coupon_qty" v-model="coupon_format.coupon_qty" data-vv-as=""{{ __('admin::app.promotions.cart-rules.coupon-qty') }}""/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('create-coupun-form.coupon_qty')">
|
||||
|
|
@ -515,11 +515,11 @@
|
|||
|
||||
attribute_type_indexes: {
|
||||
'cart': 0,
|
||||
|
||||
|
||||
'cart_item': 1,
|
||||
|
||||
'product': 2
|
||||
},
|
||||
},
|
||||
|
||||
condition_operators: {
|
||||
'price': [{
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.settings.currencies.code') }}</label>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.settings.currencies.code') }}"" value="{{ $currency->code }}" disabled="disabled"/>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.settings.currencies.code') }}"" value="{{ old('code') ?: $currency->code }}" disabled="disabled"/>
|
||||
<input type="hidden" name="code" value="{{ $currency->code }}"/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="content">
|
||||
|
||||
<form method="POST" action="{{ route('admin.locales.store') }}" @submit.prevent="onSubmit">
|
||||
<form method="POST" action="{{ route('admin.locales.store') }}" @submit.prevent="onSubmit" enctype="multipart/form-data">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="content">
|
||||
|
||||
<form method="POST" action="{{ route('admin.locales.update', $locale->id) }}" @submit.prevent="onSubmit">
|
||||
<form method="POST" action="{{ route('admin.locales.update', $locale->id) }}" @submit.prevent="onSubmit" enctype="multipart/form-data">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.settings.locales.code') }}</label>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.settings.locales.code') }}"" value="{{ $locale->code }}" disabled="disabled"/>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.settings.locales.code') }}"" value="{{ old('code') ?: $locale->code }}" disabled="disabled"/>
|
||||
<input type="hidden" name="code" value="{{ $locale->code }}"/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,11 +46,11 @@
|
|||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.settings.tax-categories.code') }}</label>
|
||||
|
||||
<input v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.configuration.tax-categories.code') }}"" value="{{ $taxCategory->code }}"/>
|
||||
<input v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.configuration.tax-categories.code') }}"" value="{{ old('code') ?: $taxCategory->code }}"/>
|
||||
|
||||
<div class="control-group" :class="[errors.has('name') ? 'has-error' : '']">
|
||||
<label for="name" class="required">{{ __('admin::app.settings.tax-categories.name') }}</label>
|
||||
<input v-validate="'required'" class="control" id="name" name="name" data-vv-as=""{{ __('admin::app.configuration.tax-categories.name') }}"" value="{{ $taxCategory->name }}"/>
|
||||
<input v-validate="'required'" class="control" id="name" name="name" data-vv-as=""{{ __('admin::app.configuration.tax-categories.name') }}"" value="{{ old('name') ?: $taxCategory->name }}"/>
|
||||
|
||||
<div class="control-group" :class="[errors.has('description') ? 'has-error' : '']">
|
||||
<label for="description" class="required">{{ __('admin::app.settings.tax-categories.description') }}</label>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('identifier') ? 'has-error' : '']">
|
||||
<label for="identifier" class="required">{{ __('admin::app.configuration.tax-rates.identifier') }}</label>
|
||||
<input v-validate="'required'" class="control" id="identifier" name="identifier" data-vv-as=""{{ __('admin::app.configuration.tax-rates.identifier') }}"" value="{{ $taxRate->identifier }}" disabled="disabled"/>
|
||||
<input v-validate="'required'" class="control" id="identifier" name="identifier" data-vv-as=""{{ __('admin::app.configuration.tax-rates.identifier') }}"" value="{{ old('identifier') ?: $taxRate->identifier }}" disabled="disabled"/>
|
||||
<input type="hidden" name="identifier" value="{{ $taxRate->identifier }}"/>
|
||||
<span class="control-error" v-if="errors.has('identifier')">@{{ errors.first('identifier') }}</span>
|
||||
</div>
|
||||
|
|
@ -43,26 +43,26 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('zip_from') ? 'has-error' : '']">
|
||||
<label for="zip_from" class="required">{{ __('admin::app.configuration.tax-rates.zip_from') }}</label>
|
||||
<input v-validate="'required'" class="control" id="zip_from" name="zip_from" data-vv-as=""{{ __('admin::app.configuration.tax-rates.zip_from') }}"" value="{{ $taxRate->zip_from }}" />
|
||||
<input v-validate="'required'" class="control" id="zip_from" name="zip_from" data-vv-as=""{{ __('admin::app.configuration.tax-rates.zip_from') }}"" value="{{ old('zip_form') ?: $taxRate->zip_from }}" />
|
||||
<span class="control-error" v-if="errors.has('zip_from')">@{{ errors.first('zip_from') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('zip_to') ? 'has-error' : '']">
|
||||
<label for="zip_to" class="required">{{ __('admin::app.configuration.tax-rates.zip_to') }}</label>
|
||||
<input v-validate="'required'" class="control" id="zip_to" name="zip_to" data-vv-as=""{{ __('admin::app.configuration.tax-rates.zip_to') }}"" value="{{ $taxRate->zip_to }}" />
|
||||
<input v-validate="'required'" class="control" id="zip_to" name="zip_to" data-vv-as=""{{ __('admin::app.configuration.tax-rates.zip_to') }}"" value="{{ old('zip_to') ?: $taxRate->zip_to }}" />
|
||||
<span class="control-error" v-if="errors.has('zip_to')">@{{ errors.first('zip_to') }}</span>
|
||||
</div>
|
||||
@else
|
||||
<div class="control-group" :class="[errors.has('zip_code') ? 'has-error' : '']">
|
||||
<label for="zip_code" class="required">{{ __('admin::app.configuration.tax-rates.zip_code') }}</label>
|
||||
<input v-validate="'required'" class="control" id="zip_code" name="zip_code" data-vv-as=""{{ __('admin::app.configuration.tax-rates.zip_code') }}"" value="{{ $taxRate->zip_code }}" />
|
||||
<input v-validate="'required'" class="control" id="zip_code" name="zip_code" data-vv-as=""{{ __('admin::app.configuration.tax-rates.zip_code') }}"" value="{{ old('zip_code') ?: $taxRate->zip_code }}" />
|
||||
<span class="control-error" v-if="errors.has('zip_code')">@{{ errors.first('zip_code') }}</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="control-group" :class="[errors.has('tax_rate') ? 'has-error' : '']">
|
||||
<label for="tax_rate" class="required">{{ __('admin::app.configuration.tax-rates.tax_rate') }}</label>
|
||||
<input v-validate="'required|min_value:0.0001'" class="control" id="tax_rate" name="tax_rate" data-vv-as=""{{ __('admin::app.configuration.tax-rates.tax_rate') }}"" value="{{ $taxRate->tax_rate }}" />
|
||||
<input v-validate="'required|min_value:0.0001'" class="control" id="tax_rate" name="tax_rate" data-vv-as=""{{ __('admin::app.configuration.tax-rates.tax_rate') }}"" value="{{ old('tax_rate') ?: $taxRate->tax_rate }}" />
|
||||
<span class="control-error" v-if="errors.has('tax_rate')">@{{ errors.first('tax_rate') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -153,7 +153,6 @@ class AttributeController extends Controller
|
|||
public function massDestroy()
|
||||
{
|
||||
$suppressFlash = false;
|
||||
|
||||
if (request()->isMethod('post')) {
|
||||
$indexes = explode(',', request()->input('indexes'));
|
||||
|
||||
|
|
@ -161,10 +160,12 @@ class AttributeController extends Controller
|
|||
$attribute = $this->attributeRepository->find($value);
|
||||
|
||||
try {
|
||||
if (! $attribute->is_user_defined) {
|
||||
continue;
|
||||
} else {
|
||||
if ($attribute->is_user_defined) {
|
||||
$suppressFlash = true;
|
||||
$this->attributeRepository->delete($value);
|
||||
|
||||
} else {
|
||||
session()->flash('error', trans('admin::app.response.user-define-error', ['name' => 'Attribute']));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
report($e);
|
||||
|
|
@ -174,7 +175,7 @@ class AttributeController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if (! $suppressFlash)
|
||||
if ($suppressFlash)
|
||||
session()->flash('success', trans('admin::app.datagrid.mass-ops.delete-success', ['resource' => 'attributes']));
|
||||
else
|
||||
session()->flash('info', trans('admin::app.datagrid.mass-ops.partial-action', ['resource' => 'attributes']));
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ return [
|
|||
'reviews' => 'المراجعات',
|
||||
'wishlist' => 'قائمة الأمنيات',
|
||||
'orders' => 'الطبات',
|
||||
'downloadable-products' => 'المنتجات القابلة للتحميل',
|
||||
],
|
||||
|
||||
'common' => [
|
||||
|
|
@ -166,6 +167,9 @@ return [
|
|||
'fname' => 'الاسم الأول',
|
||||
'lname' => 'الاسم الأخير',
|
||||
'gender' => 'نوع الجنس',
|
||||
'other' => 'آخر',
|
||||
'male' => 'الذكر',
|
||||
'female' => 'أنثى',
|
||||
'dob' => 'تاريخ الميلاد',
|
||||
'phone' => 'الهاتف',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
|
|
@ -194,7 +198,7 @@ return [
|
|||
'contact' => 'معلومات الإتصال',
|
||||
'confirm-delete' => 'هل تريد حقا حذف هذا العنوان؟',
|
||||
'default-delete' => 'لا يمكن تغيير العنوان الافتراضي',
|
||||
'enter-password' => 'Enter Your Password.',
|
||||
'enter-password' => 'ادخل رقمك السري.',
|
||||
],
|
||||
|
||||
'create' => [
|
||||
|
|
@ -221,7 +225,7 @@ return [
|
|||
'delete' => [
|
||||
'success' => 'تم حذف العنوان بنجاح.',
|
||||
'failure' => 'لا يمكن حذف العنوان',
|
||||
'wrong-password' => 'Wrong Password !'
|
||||
'wrong-password' => 'كلمة مرور خاطئة !'
|
||||
]
|
||||
],
|
||||
|
||||
|
|
@ -250,7 +254,7 @@ return [
|
|||
'item-invoice' => '3-الفواتير(:qty_invoiced)',
|
||||
'item-shipped' => 'شحنت(:qty_shipped)',
|
||||
'item-canceled' => 'ملغاة(:qty_canceled)',
|
||||
'item-refunded' => 'Refunded (:qty_refunded)',
|
||||
'item-refunded' => 'ردها (:qty_refunded)',
|
||||
'price' => 'السعر',
|
||||
'total' => 'المجموع',
|
||||
'subtotal' => 'المجموع الفرعي',
|
||||
|
|
@ -285,7 +289,7 @@ return [
|
|||
],
|
||||
|
||||
'wishlist' => [
|
||||
'page-title' => 'Customer - Wishlist',
|
||||
'page-title' => 'العملاء - قائمة الامنيات',
|
||||
'title' => 'قائمة الأمنيات',
|
||||
'deleteall' => 'احذف الكل',
|
||||
'moveall' => 'نقل الكل إلى عربة التوسق',
|
||||
|
|
@ -300,22 +304,22 @@ return [
|
|||
'already' => 'العنصر موجود بالفعل في قائمة أمنياتك',
|
||||
'removed' => 'البند حذف بنجاح من قائمة الأمنيات',
|
||||
'remove-fail' => 'لا يمكن حذف العنصر من قائمة الأماني ، الرجاء المحاولة لاحقا',
|
||||
'empty' => 'You do not have any items in your Wishlist',
|
||||
'empty' => 'ليس لديك أي عناصر في قائمة الأمنيات',
|
||||
'remove-all-success' => 'كل الأشياء من قائمة أمانيك قد أزيلت',
|
||||
],
|
||||
|
||||
'downloadable_products' => [
|
||||
'title' => 'Downloadable Products',
|
||||
'order-id' => 'Order Id',
|
||||
'date' => 'Date',
|
||||
'name' => 'Title',
|
||||
'status' => 'Status',
|
||||
'pending' => 'Pending',
|
||||
'available' => 'Available',
|
||||
'expired' => 'Expired',
|
||||
'remaining-downloads' => 'Remaining Downloads',
|
||||
'unlimited' => 'Unlimited',
|
||||
'download-error' => 'Download link has been expired.'
|
||||
'title' => 'المنتجات القابلة للتحميل',
|
||||
'order-id' => 'رقم التعريف الخاص بالطلب',
|
||||
'date' => 'تاريخ',
|
||||
'name' => 'عنوان',
|
||||
'status' => 'الحالة',
|
||||
'pending' => 'قيد الانتظار',
|
||||
'available' => 'متاح',
|
||||
'expired' => 'منتهية الصلاحية',
|
||||
'remaining-downloads' => 'التنزيلات المتبقية',
|
||||
'unlimited' => 'غير محدود',
|
||||
'download-error' => 'انتهت صلاحية رابط التنزيل.'
|
||||
],
|
||||
|
||||
'review' => [
|
||||
|
|
@ -363,13 +367,13 @@ return [
|
|||
'in-stock' => 'متوفر',
|
||||
'out-of-stock' => 'غير متوفر',
|
||||
'view-all' => 'عرض الكل',
|
||||
'less-quantity' => 'Quantity can not be less than one.',
|
||||
'starting-at' => 'Starting at',
|
||||
'customize-options' => 'Customize Options',
|
||||
'choose-selection' => 'Choose a selection',
|
||||
'your-customization' => 'Your Customization',
|
||||
'total-amount' => 'Total Amount',
|
||||
'none' => 'None',
|
||||
'less-quantity' => 'لا يمكن أن تكون الكمية أقل من واحدة.',
|
||||
'starting-at' => 'يبدأ من',
|
||||
'customize-options' => 'تخصيص الخيارات',
|
||||
'choose-selection' => 'اختيار اختيار',
|
||||
'your-customization' => 'التخصيص الخاص بك',
|
||||
'total-amount' => 'المبلغ الإجمالي',
|
||||
'none' => 'لا شيء',
|
||||
'less-quantity' => 'الكمية لايمكن ان تكون أقل من واحد.'
|
||||
],
|
||||
|
||||
|
|
@ -387,8 +391,8 @@ return [
|
|||
'integrity' => [
|
||||
'missing_fields' =>'إنتهاك سلامة نظام العربة ، بعض الحقول المطلوبة مفقودة',
|
||||
'missing_options' =>'إنتهاك سلامة نظام العربة ، الخيارات مفقودة لمنتج قابل للتهيئة',
|
||||
'missing_links' => 'Downloadable links are missing for this product.',
|
||||
'qty_missing' => 'Atleast one product should have more than 1 quantity.'
|
||||
'missing_links' => 'الروابط القابلة للتنزيل مفقودة لهذا المنتج.',
|
||||
'qty_missing' => 'يجب أن يحتوي منتج واحد على الأقل على كمية واحدة.'
|
||||
],
|
||||
'create-error' => 'صادفت بعض القضايا أثناء صناعة السيارات',
|
||||
'title' => 'عربة التسوق',
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ return [
|
|||
'reviews' => 'Reviews',
|
||||
'wishlist' => 'Wishlist',
|
||||
'orders' => 'Orders',
|
||||
'downloadable-products' => 'Downloadable Products',
|
||||
'downloadable-products' => 'Downloadable Products'
|
||||
],
|
||||
|
||||
'common' => [
|
||||
|
|
@ -187,6 +187,9 @@ return [
|
|||
'fname' => 'First Name',
|
||||
'lname' => 'Last Name',
|
||||
'gender' => 'Gender',
|
||||
'other' => 'Other',
|
||||
'male' => 'Male',
|
||||
'female' => 'Female',
|
||||
'dob' => 'Date Of Birth',
|
||||
'phone' => 'Phone',
|
||||
'email' => 'Email',
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ return [
|
|||
'reviews' => 'Opiniones',
|
||||
'wishlist' => 'Lista de deseos',
|
||||
'orders' => 'Pedidos',
|
||||
'downloadable-products' => 'Productos descargables'
|
||||
],
|
||||
|
||||
'common' => [
|
||||
|
|
@ -173,6 +174,9 @@ return [
|
|||
'fname' => 'Nombre',
|
||||
'lname' => 'Apellido',
|
||||
'gender' => 'Género',
|
||||
'other' => 'Otro',
|
||||
'male' => 'Masculino',
|
||||
'female' => 'Hembra',
|
||||
'dob' => 'Fecha de nacimiento',
|
||||
'phone' => 'Móvil',
|
||||
'email' => 'Correo electrónico',
|
||||
|
|
@ -261,7 +265,7 @@ return [
|
|||
'item-canceled' => 'Cancelado (:qty_canceled)',
|
||||
'price' => 'Precio',
|
||||
'total' => 'Total',
|
||||
'subtotal' => 'Subtotal',
|
||||
'subtotal' => 'Total parcial',
|
||||
'shipping-handling' => 'Envío y Manipulación',
|
||||
'tax' => 'Impuesto',
|
||||
'discount' => 'Descuento',
|
||||
|
|
@ -289,7 +293,7 @@ return [
|
|||
],
|
||||
|
||||
'wishlist' => [
|
||||
'page-title' => 'Customer - Wishlist',
|
||||
'page-title' => 'Cliente - Lista de deseos',
|
||||
'title' => 'Lista de deseos',
|
||||
'deleteall' => 'Eliminar todo',
|
||||
'moveall' => 'Mover todos los productos a la cesta',
|
||||
|
|
@ -309,17 +313,17 @@ return [
|
|||
],
|
||||
|
||||
'downloadable_products' => [
|
||||
'title' => 'Downloadable Products',
|
||||
'order-id' => 'Order Id',
|
||||
'date' => 'Date',
|
||||
'name' => 'Title',
|
||||
'status' => 'Status',
|
||||
'pending' => 'Pending',
|
||||
'available' => 'Available',
|
||||
'expired' => 'Expired',
|
||||
'remaining-downloads' => 'Remaining Downloads',
|
||||
'unlimited' => 'Unlimited',
|
||||
'download-error' => 'Download link has been expired.'
|
||||
'title' => 'Productos descargables',
|
||||
'order-id' => 'Solicitar ID',
|
||||
'date' => 'Fecha',
|
||||
'name' => 'Título',
|
||||
'status' => 'Estado',
|
||||
'pending' => 'Pendiente',
|
||||
'available' => 'Disponible',
|
||||
'expired' => 'Caducado',
|
||||
'remaining-downloads' => 'Descargas restantes',
|
||||
'unlimited' => 'Ilimitado',
|
||||
'download-error' => 'El enlace de descarga ha caducado.'
|
||||
],
|
||||
|
||||
'review' => [
|
||||
|
|
@ -414,7 +418,7 @@ return [
|
|||
'error-add' => 'El artículo no se puede añadir a la cesta, inténtelo más tarde',
|
||||
],
|
||||
'quantity-error' => 'La cantidad solicitada no está disponible',
|
||||
'cart-subtotal' => 'Subtotal',
|
||||
'cart-subtotal' => 'Total parcial',
|
||||
'cart-remove-action' => '¿Realmente quieres hacer esto?',
|
||||
'partial-cart-update' => 'Solo algunos de los productos se han actualizado',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -11,11 +11,12 @@ return [
|
|||
'reviews' => 'بررسی ها',
|
||||
'wishlist' => 'لیست دلخواه',
|
||||
'orders' => 'سفارشات',
|
||||
'downloadable-products' => 'محصولات دانلودی'
|
||||
],
|
||||
|
||||
'common' => [
|
||||
'error' => 'مشکلی رخ داده است. لطفا بعدا دوباره امتحان کنید.',
|
||||
'no-result-found' => 'We could not find any records.'
|
||||
'no-result-found' => 'ما هیچ سابقه ای پیدا نکردیم.'
|
||||
],
|
||||
|
||||
'home' => [
|
||||
|
|
@ -174,6 +175,9 @@ return [
|
|||
'fname' => 'نام کوچک',
|
||||
'lname' => 'نام خانوادگی',
|
||||
'gender' => 'جنسیت',
|
||||
'other' => 'دیگر',
|
||||
'male' => 'نر',
|
||||
'female' => 'زن',
|
||||
'dob' => 'تاریخ تولد',
|
||||
'phone' => 'تلفن',
|
||||
'email' => 'پست الکترونیک',
|
||||
|
|
@ -202,7 +206,7 @@ return [
|
|||
'contact' => 'تماس',
|
||||
'confirm-delete' => 'آیا واقعاً می خواهید این آدرس را حذف کنید؟',
|
||||
'default-delete' => 'آدرس پیش فرض تغییر نمی کند',
|
||||
'enter-password' => 'Enter Your Password.',
|
||||
'enter-password' => 'رمز ورود خود را وارد کنید',
|
||||
],
|
||||
|
||||
'create' => [
|
||||
|
|
@ -230,7 +234,7 @@ return [
|
|||
'delete' => [
|
||||
'success' => 'آدرس با موفقیت حذف شد',
|
||||
'failure' => 'آدرس حذف نمی شود',
|
||||
'wrong-password' => 'Wrong Password !'
|
||||
'wrong-password' => 'گذرواژه اشتباه!'
|
||||
]
|
||||
],
|
||||
|
||||
|
|
@ -259,7 +263,7 @@ return [
|
|||
'item-invoice' => 'صورتحساب (:qty_invoiced)',
|
||||
'item-shipped' => 'حمل شده (:qty_shipped)',
|
||||
'item-canceled' => 'لغو شد (:qty_canceled)',
|
||||
'item-refunded' => 'Refunded (:qty_refunded)',
|
||||
'item-refunded' => 'بازپرداخت (:qty_refunded)',
|
||||
'price' => 'قیمت',
|
||||
'total' => 'جمع',
|
||||
'subtotal' => 'فرعی',
|
||||
|
|
@ -287,14 +291,14 @@ return [
|
|||
'ship-to' => 'حمل به',
|
||||
'contact' => 'تماس',
|
||||
'refunds' => 'Refunds',
|
||||
'individual-refund' => 'Refund #:refund_id',
|
||||
'adjustment-refund' => 'Adjustment Refund',
|
||||
'adjustment-fee' => 'Adjustment Fee',
|
||||
'individual-refund' => 'بازپرداخت #:refund_id',
|
||||
'adjustment-refund' => 'بازپرداخت تنظیم',
|
||||
'adjustment-fee' => 'هزینه تنظیم',
|
||||
]
|
||||
],
|
||||
|
||||
'wishlist' => [
|
||||
'page-title' => 'Customer - Wishlist',
|
||||
'page-title' => 'مشتری - لیست دلخواه',
|
||||
'title' => 'لیست دلخواه',
|
||||
'deleteall' => 'حذف همه',
|
||||
'moveall' => 'انتقال همه محصولات به سبد خرید',
|
||||
|
|
@ -314,17 +318,17 @@ return [
|
|||
],
|
||||
|
||||
'downloadable_products' => [
|
||||
'title' => 'Downloadable Products',
|
||||
'order-id' => 'Order Id',
|
||||
'date' => 'Date',
|
||||
'name' => 'Title',
|
||||
'status' => 'Status',
|
||||
'pending' => 'Pending',
|
||||
'available' => 'Available',
|
||||
'expired' => 'Expired',
|
||||
'remaining-downloads' => 'Remaining Downloads',
|
||||
'unlimited' => 'Unlimited',
|
||||
'download-error' => 'Download link has been expired.'
|
||||
'title' => 'محصولات دانلودی',
|
||||
'order-id' => 'شماره سفارش',
|
||||
'date' => 'تاریخ',
|
||||
'name' => 'عنوان',
|
||||
'status' => 'وضعیت',
|
||||
'pending' => 'در انتظار',
|
||||
'available' => 'در دسترس',
|
||||
'expired' => 'منقضی شده',
|
||||
'remaining-downloads' => 'بارگیری های باقی مانده',
|
||||
'unlimited' => 'نامحدود',
|
||||
'download-error' => 'لینک دانلود منقضی شده است'
|
||||
],
|
||||
|
||||
'review' => [
|
||||
|
|
@ -376,12 +380,12 @@ return [
|
|||
'view-all' => 'مشاهده همه',
|
||||
'select-above-options' => 'لطفا ابتدا گزینه های بالا را انتخاب کنید',
|
||||
'less-quantity' => 'کمیت نمی تواند کمتر از یک باشد.',
|
||||
'starting-at' => 'Starting at',
|
||||
'customize-options' => 'Customize Options',
|
||||
'choose-selection' => 'Choose a selection',
|
||||
'your-customization' => 'Your Customization',
|
||||
'total-amount' => 'Total Amount',
|
||||
'none' => 'None'
|
||||
'starting-at' => 'شروع از',
|
||||
'customize-options' => 'گزینه ها را سفارشی کنید',
|
||||
'choose-selection' => 'انتخابی را انتخاب کنید',
|
||||
'your-customization' => 'شخصی سازی شما',
|
||||
'total-amount' => 'مقدار کل',
|
||||
'none' => 'هیچ یک'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
@ -398,8 +402,8 @@ return [
|
|||
'integrity' => [
|
||||
'missing_fields' =>'نقض یکپارچگی سیستم سبد خرید ، برخی از زمینه های لازم وجود ندارد',
|
||||
'missing_options' =>'نقض یکپارچگی سیستم سبد خرید ، گزینه هایی برای محصول قابل تنظیم وجود ندارد',
|
||||
'missing_links' => 'Downloadable links are missing for this product.',
|
||||
'qty_missing' => 'Atleast one product should have more than 1 quantity.'
|
||||
'missing_links' => 'لینک های قابل بارگیری برای این محصول وجود ندارد',
|
||||
'qty_missing' => 'حداقل یک محصول باید بیش از 1 مقدار داشته باشد.'
|
||||
],
|
||||
|
||||
'create-error' => 'هنگام تهیه نمونه سبد خرید ، با برخی از شماره ها روبرو شد',
|
||||
|
|
@ -548,9 +552,9 @@ return [
|
|||
'refund' => [
|
||||
'heading' => 'Your Refund #:refund_id for Order #:order_id',
|
||||
'subject' => 'Refund for your order #:order_id',
|
||||
'summary' => 'Summary of Refund',
|
||||
'adjustment-refund' => 'Adjustment Refund',
|
||||
'adjustment-fee' => 'Adjustment Fee'
|
||||
'summary' => 'خلاصه بازپرداخت',
|
||||
'adjustment-refund' => 'بازپرداخت تنظیم',
|
||||
'adjustment-fee' => 'هزینه تنظیم'
|
||||
],
|
||||
|
||||
'forget-password' => [
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ return [
|
|||
'reviews' => 'Avaliação',
|
||||
'wishlist' => 'Lista de Desejos',
|
||||
'orders' => 'Pedidos',
|
||||
'downloadable-products' => 'Produtos para download'
|
||||
],
|
||||
|
||||
'common' => [
|
||||
|
|
@ -169,6 +170,9 @@ return [
|
|||
'fname' => 'Nome',
|
||||
'lname' => 'Sobrenome',
|
||||
'gender' => 'Gênero',
|
||||
'other' => 'De outros',
|
||||
'male' => 'Masculino',
|
||||
'female' => 'Fêmeo',
|
||||
'dob' => 'Data de Nascimento',
|
||||
'phone' => 'Telefone',
|
||||
'email' => 'Email',
|
||||
|
|
@ -309,17 +313,17 @@ return [
|
|||
],
|
||||
|
||||
'downloadable_products' => [
|
||||
'title' => 'Downloadable Products',
|
||||
'order-id' => 'Order Id',
|
||||
'date' => 'Date',
|
||||
'name' => 'Title',
|
||||
'title' => 'Produtos para download',
|
||||
'order-id' => 'ID do pedido',
|
||||
'date' => 'Encontro',
|
||||
'name' => 'Título',
|
||||
'status' => 'Status',
|
||||
'pending' => 'Pending',
|
||||
'available' => 'Available',
|
||||
'expired' => 'Expired',
|
||||
'remaining-downloads' => 'Remaining Downloads',
|
||||
'unlimited' => 'Unlimited',
|
||||
'download-error' => 'Download link has been expired.'
|
||||
'pending' => 'Pendente',
|
||||
'available' => 'acessível',
|
||||
'expired' => 'Expirado',
|
||||
'remaining-downloads' => 'Downloads restantes',
|
||||
'unlimited' => 'Ilimitado',
|
||||
'download-error' => 'O link para download expirou.'
|
||||
],
|
||||
|
||||
'review' => [
|
||||
|
|
@ -370,13 +374,13 @@ return [
|
|||
'out-of-stock' => 'Fora de Estoque',
|
||||
'view-all' => 'Ver Tudo',
|
||||
'select-above-options' => 'Por favor, selecione as opções acima primeiro.',
|
||||
'less-quantity' => 'Quantity can not be less than one.',
|
||||
'starting-at' => 'Starting at',
|
||||
'customize-options' => 'Customize Options',
|
||||
'choose-selection' => 'Choose a selection',
|
||||
'your-customization' => 'Your Customization',
|
||||
'total-amount' => 'Total Amount',
|
||||
'none' => 'None'
|
||||
'less-quantity' => 'A quantidade não pode ser menor que um.',
|
||||
'starting-at' => 'Começando às',
|
||||
'customize-options' => 'Personalizar opções',
|
||||
'choose-selection' => 'Escolha uma seleção',
|
||||
'your-customization' => 'Sua personalização',
|
||||
'total-amount' => 'Valor total',
|
||||
'none' => 'Nenhum'
|
||||
],
|
||||
|
||||
// 'reviews' => [
|
||||
|
|
@ -518,9 +522,9 @@ return [
|
|||
'refund' => [
|
||||
'heading' => 'Your Refund #:refund_id for Order #:order_id',
|
||||
'subject' => 'Refund for your order #:order_id',
|
||||
'summary' => 'Summary of Refund',
|
||||
'adjustment-refund' => 'Adjustment Refund',
|
||||
'adjustment-fee' => 'Adjustment Fee'
|
||||
'summary' => 'Resumo do reembolso',
|
||||
'adjustment-refund' => 'Reembolso de ajuste',
|
||||
'adjustment-fee' => 'Taxa de ajuste'
|
||||
],
|
||||
|
||||
'shipment' => [
|
||||
|
|
|
|||
|
|
@ -28,13 +28,13 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('company_name') ? 'has-error' : '']">
|
||||
<label for="company_name">{{ __('shop::app.customer.account.address.create.company_name') }}</label>
|
||||
<input value="<?= old('company_name'); ?>" type="text" class="control" name="company_name" data-vv-as=""{{ __('shop::app.customer.account.address.create.company_name') }}"">
|
||||
<input value="{{ old('company_name') }}" type="text" class="control" name="company_name" data-vv-as=""{{ __('shop::app.customer.account.address.create.company_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('company_name')">@{{ errors.first('company_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('first_name') ? 'has-error' : '']">
|
||||
<label for="first_name" class="required">{{ __('shop::app.customer.account.address.create.first_name') }}</label>
|
||||
<input value="<?= old('first_name'); ?>" type="text" class="control" name="first_name" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.first_name') }}"">
|
||||
<input value="{{ old('first_name') }}" type="text" class="control" name="first_name" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.first_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('first_name')">@{{ errors.first('first_name') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('address1[]') ? 'has-error' : '']">
|
||||
<label for="address1" class="required">{{ __('shop::app.customer.account.address.create.street-address') }}</label>
|
||||
<input type="text" class="control" name="address1[]" value="<?= old('address1'); ?>" id="address1" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.street-address') }}"">
|
||||
<input type="text" class="control" name="address1[]" value="{{ old('address1') }}" id="address1" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.street-address') }}"">
|
||||
<span class="control-error" v-if="errors.has('address1[]')">@{{ errors.first('address1[]') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -69,19 +69,19 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('city') ? 'has-error' : '']">
|
||||
<label for="city" class="required">{{ __('shop::app.customer.account.address.create.city') }}</label>
|
||||
<input value="<?= old('city'); ?>" type="text" class="control" name="city" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.city') }}"">
|
||||
<input value="{{ old('city') }}" type="text" class="control" name="city" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.city') }}"">
|
||||
<span class="control-error" v-if="errors.has('city')">@{{ errors.first('city') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('postcode') ? 'has-error' : '']">
|
||||
<label for="postcode" class="required">{{ __('shop::app.customer.account.address.create.postcode') }}</label>
|
||||
<input value="<?= old('postcode'); ?>" type="text" class="control" name="postcode" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.postcode') }}"">
|
||||
<input value="{{ old('postcode') }}" type="text" class="control" name="postcode" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.postcode') }}"">
|
||||
<span class="control-error" v-if="errors.has('postcode')">@{{ errors.first('postcode') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('phone') ? 'has-error' : '']">
|
||||
<label for="phone" class="required">{{ __('shop::app.customer.account.address.create.phone') }}</label>
|
||||
<input value="<?= old('phone'); ?>" type="text" class="control" name="phone" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.phone') }}"">
|
||||
<input value="{{ old('phone') }}" type="text" class="control" name="phone" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.address.create.phone') }}"">
|
||||
<span class="control-error" v-if="errors.has('phone')">@{{ errors.first('phone') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -29,13 +29,13 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('company_name') ? 'has-error' : '']">
|
||||
<label for="company_name">{{ __('shop::app.customer.account.address.edit.company_name') }}</label>
|
||||
<input type="text" value="{{ $address->company_name }}" class="control" name="company_name" data-vv-as=""{{ __('shop::app.customer.account.address.edit.company_name') }}"">
|
||||
<input type="text" value="{{ old('company_name') ?: $address->company_name }}" class="control" name="company_name" data-vv-as=""{{ __('shop::app.customer.account.address.edit.company_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('company_name')">@{{ errors.first('company_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('first_name') ? 'has-error' : '']">
|
||||
<label for="first_name" class="required">{{ __('shop::app.customer.account.address.create.first_name') }}</label>
|
||||
<input type="text" class="control" name="first_name" v-validate="'required'" value="{{ $address->first_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.first_name') }}"">
|
||||
<input type="text" class="control" name="first_name" v-validate="'required'" value="{{ old('first_name') ?: $address->first_name }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.first_name') }}"">
|
||||
<span class="control-error" v-if="errors.has('first_name')">@{{ errors.first('first_name') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -72,19 +72,19 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('city') ? 'has-error' : '']">
|
||||
<label for="city" class="required">{{ __('shop::app.customer.account.address.create.city') }}</label>
|
||||
<input type="text" class="control" name="city" v-validate="'required|alpha_spaces'" value="{{ $address->city }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.city') }}"">
|
||||
<input type="text" class="control" name="city" v-validate="'required|alpha_spaces'" value="{{ old('city') ?: $address->city }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.city') }}"">
|
||||
<span class="control-error" v-if="errors.has('city')">@{{ errors.first('city') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('postcode') ? 'has-error' : '']">
|
||||
<label for="postcode" class="required">{{ __('shop::app.customer.account.address.create.postcode') }}</label>
|
||||
<input type="text" class="control" name="postcode" v-validate="'required'" value="{{ $address->postcode }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.postcode') }}"">
|
||||
<input type="text" class="control" name="postcode" v-validate="'required'" value="{{ old('postcode') ?: $address->postcode }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.postcode') }}"">
|
||||
<span class="control-error" v-if="errors.has('postcode')">@{{ errors.first('postcode') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('phone') ? 'has-error' : '']">
|
||||
<label for="phone" class="required">{{ __('shop::app.customer.account.address.create.phone') }}</label>
|
||||
<input type="text" class="control" name="phone" v-validate="'required'" value="{{ $address->phone }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.phone') }}"">
|
||||
<input type="text" class="control" name="phone" v-validate="'required'" value="{{ old('phone') ?: $address->phone }}" data-vv-as=""{{ __('shop::app.customer.account.address.create.phone') }}"">
|
||||
<span class="control-error" v-if="errors.has('phone')">@{{ errors.first('phone') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -47,9 +47,9 @@
|
|||
|
||||
<select name="gender" class="control" v-validate="'required'" data-vv-as=""{{ __('shop::app.customer.account.profile.gender') }}"">
|
||||
<option value="" @if ($customer->gender == "") selected @endif></option>
|
||||
<option value="Other" @if ($customer->gender == "Other") selected @endif>Other</option>
|
||||
<option value="Male" @if ($customer->gender == "Male") selected @endif>Male</option>
|
||||
<option value="Female" @if ($customer->gender == "Female") selected @endif>Female</option>
|
||||
<option value="Other" @if ($customer->gender == "Other") selected @endif>{{ __('shop::app.customer.account.profile.other') }}</option>
|
||||
<option value="Male" @if ($customer->gender == "Male") selected @endif>{{ __('shop::app.customer.account.profile.male') }}</option>
|
||||
<option value="Female" @if ($customer->gender == "Female") selected @endif>{{ __('shop::app.customer.account.profile.female') }}</option>
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('gender')">@{{ errors.first('gender') }}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<div class="login-text">{{ __('shop::app.customer.reset-password.title') }}</div>
|
||||
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
<input type="hidden" name="token" value="{{ old('token') ?: $token }}">
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.reset_password_form_controls.before') !!}
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/ui.js": "/js/ui.js?id=d4f31631ea9c862c6dc5",
|
||||
"/js/ui.js": "/js/ui.js?id=56ae9c320b1bfcc09601",
|
||||
"/css/ui.css": "/css/ui.css?id=0895b560bbc19259cee8"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,8 +47,14 @@
|
|||
if (! this.savedValues)
|
||||
return;
|
||||
|
||||
let index = this.savedValues.indexOf(this.items[this.valueField].toString())
|
||||
if(index !== -1) {
|
||||
var self = this;
|
||||
|
||||
var found = this.savedValues.filter(function(value) {
|
||||
if (value == self.items[self.valueField])
|
||||
return true;
|
||||
});
|
||||
|
||||
if(found.length) {
|
||||
this.value.push(this.items);
|
||||
}
|
||||
},
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"/js/velocity.js": "/js/velocity.js?id=26b9c7e1abf32569c51e",
|
||||
"/css/velocity.css": "/css/velocity.css?id=18c9b7b602edc61d6432",
|
||||
"/js/velocity.js": "/js/velocity.js?id=86ab12533244dd4304cc",
|
||||
"/css/velocity.css": "/css/velocity.css?id=1027f2c6d88fa0c74fa0",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=612d35e452446366eef7"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,9 +26,5 @@ class VelocityMetaDataSeeder extends Seeder
|
|||
|
||||
'product_policy' => '<div class="row col-12 remove-padding-margin"><div class="col-lg-4 col-sm-12 product-policy-wrapper"><div class="card"><div class="policy"><div class="left"><i class="rango-van-ship fs40"></i></div> <div class="right"><span class="font-setting fs20">Free Shipping on Order $20 or More</span></div></div></div></div> <div class="col-lg-4 col-sm-12 product-policy-wrapper"><div class="card"><div class="policy"><div class="left"><i class="rango-exchnage fs40"></i></div> <div class="right"><span class="font-setting fs20">Product Replace & Return Available </span></div></div></div></div> <div class="col-lg-4 col-sm-12 product-policy-wrapper"><div class="card"><div class="policy"><div class="left"><i class="rango-exchnage fs40"></i></div> <div class="right"><span class="font-setting fs20">Product Exchange and EMI Available </span></div></div></div></div></div>',
|
||||
]);
|
||||
|
||||
DB::table('locales')->where('code', 'en')->update([
|
||||
'locale_image' => '/themes/velocity/assets/images/flags/en.png'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,59 +22,25 @@ class AdminHelper
|
|||
|
||||
public function saveLocaleImg($locale)
|
||||
{
|
||||
$uploadedImagePath = $this->uploadImage($locale, 'locale_image.image_0');
|
||||
$data = request()->all();
|
||||
$type = 'locale_image';
|
||||
|
||||
if ($uploadedImagePath) {
|
||||
$locale->locale_image = $uploadedImagePath;
|
||||
$locale->save();
|
||||
}
|
||||
$locale = $this->uploadImage($locale, $data, $type);
|
||||
|
||||
return $locale;
|
||||
}
|
||||
|
||||
public function storeCategoryIcon($category)
|
||||
{
|
||||
$oldPath = null;
|
||||
$iconName = 'category_icon_path.image_1';
|
||||
$data = request()->all();
|
||||
$type = 'category_icon_path';
|
||||
$category = $this->categoryRepository->findOrFail($category);
|
||||
|
||||
if (gettype($category) !== "object") {
|
||||
// getting id on update
|
||||
$iconName = 'category_icon_path.image_0';
|
||||
$category = $this->categoryRepository->findOrFail($category);
|
||||
|
||||
$oldPath = $category->category_icon_path;
|
||||
}
|
||||
|
||||
$uploadedImagePath = $this->uploadImage($category, $iconName, $oldPath);
|
||||
|
||||
if ($uploadedImagePath) {
|
||||
$category->category_icon_path = $uploadedImagePath;
|
||||
$category->save();
|
||||
}
|
||||
$category = $this->uploadImage($category, $data, $type);
|
||||
|
||||
return $category;
|
||||
}
|
||||
|
||||
public function uploadImage($record, $type, $oldPath = null)
|
||||
{
|
||||
$request = request();
|
||||
|
||||
$image = '';
|
||||
$file = $type;
|
||||
$dir = 'velocity/' . $type;
|
||||
|
||||
if ($request->hasFile($file)) {
|
||||
if ($oldPath) {
|
||||
Storage::delete($oldPath);
|
||||
}
|
||||
|
||||
$image = $request->file($file)->store($dir);
|
||||
|
||||
return $image;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function storeSliderDetails($slider)
|
||||
{
|
||||
$slider->slider_path = request()->get('slider_path');
|
||||
|
|
@ -82,4 +48,33 @@ class AdminHelper
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function uploadImage($model, $data, $type) {
|
||||
if (isset($data[$type])) {
|
||||
$request = request();
|
||||
|
||||
foreach ($data[$type] as $imageId => $image) {
|
||||
$file = $type . '.' . $imageId;
|
||||
$dir = 'velocity/' . $type . '/' . $model->id;
|
||||
|
||||
if ($request->hasFile($file)) {
|
||||
if ($model->{$type}) {
|
||||
Storage::delete($model->{$type});
|
||||
}
|
||||
|
||||
$model->{$type} = $request->file($file)->store($dir);
|
||||
$model->save();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($model->{$type}) {
|
||||
Storage::delete($model->{$type});
|
||||
}
|
||||
|
||||
$model->{$type} = null;
|
||||
$model->save();
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ use Webkul\Product\Repositories\ProductRepository;
|
|||
use Webkul\Velocity\Repositories\Product\ProductRepository as VelocityProductRepository;
|
||||
|
||||
/**
|
||||
* Search controller
|
||||
* Shop controller
|
||||
*
|
||||
* @author Shubham Mehrotra <shubhammehrotra.symfony@webkul.com> @shubhwebkul
|
||||
* @copyright 2019 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
|
|
@ -226,7 +226,7 @@ use Webkul\Velocity\Repositories\Product\ProductRepository as VelocityProductRep
|
|||
'firstReviewText' => trans('velocity::app.products.be-first-review'),
|
||||
'addToCartHtml' => view('shop::products.add-to-cart', [
|
||||
'product' => $product,
|
||||
'addWishlistClass' => !(isset($list) && $list) ? 'col-lg-4 col-md-4 col-sm-12 offset-lg-4 pr0' : '',
|
||||
'addWishlistClass' => !(isset($list) && $list) ? '' : '',
|
||||
'addToCartBtnClass' => !(isset($list) && $list) ? $addToCartBtnClass ?? '' : ''
|
||||
])->render(),
|
||||
];
|
||||
|
|
|
|||
|
|
@ -175,7 +175,9 @@ $(document).ready(function () {
|
|||
},
|
||||
|
||||
mounted: function () {
|
||||
this.addServerErrors();
|
||||
setTimeout(() => {
|
||||
this.addServerErrors();
|
||||
}, 0);
|
||||
|
||||
document.body.style.display = "block";
|
||||
this.$validator.localize(document.documentElement.lang);
|
||||
|
|
@ -227,6 +229,7 @@ $(document).ready(function () {
|
|||
name: inputName,
|
||||
scope: scope
|
||||
});
|
||||
|
||||
if (field) {
|
||||
this.$validator.errors.add({
|
||||
id: field.id,
|
||||
|
|
|
|||
|
|
@ -222,6 +222,7 @@ body {
|
|||
}
|
||||
|
||||
.modal-content {
|
||||
top: 0;
|
||||
padding: 0;
|
||||
|
||||
ul {
|
||||
|
|
|
|||
|
|
@ -274,17 +274,34 @@
|
|||
}
|
||||
}
|
||||
|
||||
.cart-wish-wrap {
|
||||
.wishlist-icon {
|
||||
height: 38px;
|
||||
display: table;
|
||||
text-align: right;
|
||||
.wishlist-icon {
|
||||
height: 38px;
|
||||
display: table;
|
||||
text-align: right;
|
||||
|
||||
> i {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
> i {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.add-to-cart-btn {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding-right: 35px;
|
||||
|
||||
.btn-add-to-cart {
|
||||
max-width: 140px;
|
||||
|
||||
&.small-padding {
|
||||
max-width: 130px;
|
||||
}
|
||||
}
|
||||
|
||||
~ .wishlist-icon {
|
||||
right: 10px;
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1618,10 +1635,8 @@
|
|||
li {
|
||||
a {
|
||||
padding: 7px 0 5px 15px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
> a {
|
||||
&:hover {
|
||||
background: $border-light;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -175,24 +175,24 @@
|
|||
left: 15px;
|
||||
z-index: 99;
|
||||
padding: 0px;
|
||||
overflow: hidden;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
|
||||
.arrow {
|
||||
left: 0px;
|
||||
height: 100%;
|
||||
z-index: 1001;
|
||||
opacity: 0.50;
|
||||
margin-top: 5px;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
line-height: 13em;
|
||||
background: $border-dark;
|
||||
|
||||
&.left {
|
||||
left: 0px;
|
||||
line-height: 13em;
|
||||
}
|
||||
|
||||
&.right {
|
||||
right: 0px;
|
||||
right: 0;
|
||||
left: unset;
|
||||
line-height: 13rem;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -860,4 +860,11 @@ button[disabled] {
|
|||
|
||||
.border-normal {
|
||||
border: $border-normal;
|
||||
}
|
||||
|
||||
.has-error {
|
||||
input,
|
||||
select {
|
||||
border-color: $border-danger !important;
|
||||
}
|
||||
}
|
||||
|
|
@ -34,6 +34,22 @@ return [
|
|||
'payment-methods' => 'طرق الدفع',
|
||||
'shipping-methods' => 'طرق الشحن',
|
||||
],
|
||||
|
||||
'products' => [
|
||||
'short-description' => 'أوصاف قصيرة',
|
||||
'more-infomation' => 'معلومات اكثر',
|
||||
'details' => 'تفاصيل',
|
||||
'customer-rating' => 'تقييم العملاء',
|
||||
'reviews' => 'التعليقات',
|
||||
'view-all-reviews' => 'عرض جميع التقييمات',
|
||||
'write-your-review' => 'اكتب مراجعتك',
|
||||
'quick-view' => 'نظرة سريعة',
|
||||
'recently-viewed' => 'المنتجات المعروضة مؤخرا',
|
||||
'not-available' => 'غير متوفر',
|
||||
'review-by' => 'روجع من قبل',
|
||||
'be-first-review' => 'كن أول من يكتب نقد',
|
||||
'submit-review' => 'إرسال المراجعة',
|
||||
]
|
||||
]
|
||||
|
||||
?>
|
||||
|
|
@ -25,11 +25,15 @@
|
|||
{{ __('velocity::app.admin.contents.content.link-target') }}
|
||||
</label>
|
||||
|
||||
<select class="control" id="link_target" name="link_target" value="">
|
||||
@php
|
||||
$linkTarget = isset($locale) ? (old($locale)['link_target'] ?? $content->translate($locale)['link_target']) : '';
|
||||
@endphp
|
||||
|
||||
<select class="control" id="link_target" name="{{$locale}}[link_target]" value="">
|
||||
<option value="0">
|
||||
{{ __('velocity::app.admin.contents.self') }}
|
||||
</option>
|
||||
<option value="1">
|
||||
<option value="1" @if ($linkTarget == 1) selected="selected" @endif>
|
||||
{{ __('velocity::app.admin.contents.new-tab') }}
|
||||
</option>
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@
|
|||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<?php $locale = request()->get('locale') ?: app()->getLocale(); ?>
|
||||
@php
|
||||
$locale = request()->get('locale') ?: app()->getLocale();
|
||||
@endphp
|
||||
|
||||
<form
|
||||
method="POST"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<image-wrapper
|
||||
:multiple="false"
|
||||
input-name="locale_image"
|
||||
:images='"{{ url()->to('/') . '/storage/' . $locale->locale_image }}"'
|
||||
:images='"{{ Storage:: url($locale->locale_image) }}"'
|
||||
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'">
|
||||
</image-wrapper>
|
||||
@else
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
|
||||
<div class="btn-group full-width">
|
||||
<div class="selectdiv">
|
||||
<select class="form-control fs13 styled-select" name="category">
|
||||
<select class="form-control fs13 styled-select" name="category" @change="focusInput($event)">
|
||||
<option value="">
|
||||
{{ __('velocity::app.header.all-categories') }}
|
||||
</option>
|
||||
|
|
@ -660,6 +660,12 @@
|
|||
|
||||
this.searchedQuery = updatedSearchedCollection;
|
||||
},
|
||||
|
||||
methods: {
|
||||
'focusInput': function (event) {
|
||||
$(event.target.parentElement.parentElement).find('input').focus();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Vue.component('content-header', {
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
</wishlist-component>
|
||||
|
||||
<span class="align-vertical-top">
|
||||
{{ __('shop::app.layouts.wishlist') }}
|
||||
{{ __('shop::app.checkout.cart.move-to-wishlist') }}
|
||||
</span>
|
||||
</a>
|
||||
@else
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
<a
|
||||
class="unset
|
||||
@auth('customer')
|
||||
ml30
|
||||
ml10
|
||||
@endauth
|
||||
"
|
||||
href="{{ route('shop.checkout.cart.remove', ['id' => $item->id]) }}"
|
||||
|
|
|
|||
|
|
@ -196,23 +196,41 @@
|
|||
},
|
||||
|
||||
validateForm: function(scope) {
|
||||
this.$validator.validateAll(scope)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.body.style.cursor = 'wait';
|
||||
var isManualValidationFail = false;
|
||||
|
||||
if (scope == 'address-form') {
|
||||
this.saveAddress();
|
||||
document.body.style.cursor = 'default';
|
||||
} else if (scope == 'shipping-form') {
|
||||
document.body.style.cursor = 'wait';
|
||||
this.saveShipping();
|
||||
} else if (scope == 'payment-form') {
|
||||
document.body.style.cursor = 'wait';
|
||||
this.savePayment();
|
||||
}
|
||||
if (scope == 'address-form') {
|
||||
let form = $(document).find('form[data-vv-scope=address-form]');
|
||||
|
||||
if (form) {
|
||||
form.find(':input').each((index, element) => {
|
||||
let value = $(element).val();
|
||||
|
||||
if (value == "") {
|
||||
isManualValidationFail = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!isManualValidationFail) {
|
||||
this.$validator.validateAll(scope)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.body.style.cursor = 'wait';
|
||||
|
||||
if (scope == 'address-form') {
|
||||
this.saveAddress();
|
||||
document.body.style.cursor = 'default';
|
||||
} else if (scope == 'shipping-form') {
|
||||
document.body.style.cursor = 'wait';
|
||||
this.saveShipping();
|
||||
} else if (scope == 'payment-form') {
|
||||
document.body.style.cursor = 'wait';
|
||||
this.savePayment();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
isCustomerExist: function() {
|
||||
|
|
@ -354,8 +372,6 @@
|
|||
},
|
||||
|
||||
placeOrder: function() {
|
||||
var this_this = this;
|
||||
|
||||
this.disable_button = true;
|
||||
|
||||
this.$http.post("{{ route('shop.checkout.save-order') }}", {'_token': "{{ csrf_token() }}"})
|
||||
|
|
@ -368,12 +384,12 @@
|
|||
}
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
this_this.disable_button = true;
|
||||
.catch(error => {
|
||||
this.disable_button = true;
|
||||
|
||||
window.flashMessages = [{'type': 'alert-error', 'message': "{{ __('shop::app.common.error') }}" }];
|
||||
|
||||
this_this.$root.addFlashMessages()
|
||||
this.$root.addFlashMessages();
|
||||
})
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
<div slot="body">
|
||||
<div class="address-container row full-width">
|
||||
<div class="col address-holder" v-for='(addresses, index) in this.allAddress'>
|
||||
<div class="col-lg-6 col-md-12 address-holder" v-for='(addresses, index) in this.allAddress'>
|
||||
<div class="card">
|
||||
<div class="card-body row">
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
@if (isset($shipping) && $shipping)
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[first_name]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[first_name]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.first-name') }}*
|
||||
<label for="shipping[first_name]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.first-name') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -23,8 +23,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[last_name]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[last_name]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.last-name') }}*
|
||||
<label for="shipping[last_name]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.last-name') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[email]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[email]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.email') }}*
|
||||
<label for="shipping[email]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.email') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -61,8 +61,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[address1][]') ? 'has-error' : ''}`">
|
||||
<label for="shipping_address_0" class="required">
|
||||
{{ __('shop::app.checkout.onepage.address1') }}*
|
||||
<label for="shipping_address_0" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.address1') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -96,8 +96,8 @@
|
|||
@endif
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[city]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[city]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.city') }}*
|
||||
<label for="shipping[city]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.city') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -115,8 +115,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[country]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[country]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.country') }}*
|
||||
<label for="shipping[country]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.country') }}
|
||||
</label>
|
||||
|
||||
<select
|
||||
|
|
@ -143,8 +143,8 @@
|
|||
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[state]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[state]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.state') }}*
|
||||
<label for="shipping[state]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.state') }}
|
||||
</label>
|
||||
|
||||
|
||||
|
|
@ -181,8 +181,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[postcode]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[postcode]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.postcode') }}*
|
||||
<label for="shipping[postcode]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.postcode') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -200,8 +200,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.shipping[phone]') ? 'has-error' : ''}`">
|
||||
<label for="shipping[phone]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.phone') }}*
|
||||
<label for="shipping[phone]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.phone') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -237,8 +237,8 @@
|
|||
|
||||
@elseif (isset($billing) && $billing)
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[email]') ? 'has-error' : ''}`">
|
||||
<label for="billing[email]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.email') }}*
|
||||
<label for="billing[email]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.email') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -263,8 +263,8 @@
|
|||
@endif
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[first_name]') ? 'has-error' : ''}`">
|
||||
<label for="billing[first_name]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.first-name') }}*
|
||||
<label for="billing[first_name]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.first-name') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -282,8 +282,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[last_name]') ? 'has-error' : ''}`">
|
||||
<label for="billing[last_name]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.last-name') }}*
|
||||
<label for="billing[last_name]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.last-name') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -301,8 +301,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[address1][]') ? 'has-error' : ''}`">
|
||||
<label for="billing_address_0" class="required">
|
||||
{{ __('shop::app.checkout.onepage.address1') }}*
|
||||
<label for="billing_address_0" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.address1') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -336,8 +336,8 @@
|
|||
@endif
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[city]') ? 'has-error' : ''}`">
|
||||
<label for="billing[city]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.city') }}*
|
||||
<label for="billing[city]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.city') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -355,8 +355,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[country]') ? 'has-error' : ''}`">
|
||||
<label for="billing[country]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.country') }}*
|
||||
<label for="billing[country]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.country') }}
|
||||
</label>
|
||||
|
||||
<select
|
||||
|
|
@ -383,8 +383,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[state]') ? 'has-error' : ''}`">
|
||||
<label for="billing[state]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.state') }}*
|
||||
<label for="billing[state]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.state') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -413,7 +413,9 @@
|
|||
@{{ state.default_name }}
|
||||
</option>
|
||||
</select>
|
||||
<i v-if="haveStates('billing')" class="select-icon rango-arrow-down"></i>
|
||||
<div class="select-icon-container" v-if="haveStates('billing')">
|
||||
<i class="select-icon rango-arrow-down"></i>
|
||||
</div>
|
||||
|
||||
<span class="control-error" v-if="errors.has('address-form.billing[state]')">
|
||||
@{{ errors.first('address-form.billing[state]') }}
|
||||
|
|
@ -421,8 +423,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[postcode]') ? 'has-error' : ''}`">
|
||||
<label for="billing[postcode]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.postcode') }}*
|
||||
<label for="billing[postcode]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.postcode') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -440,8 +442,8 @@
|
|||
</div>
|
||||
|
||||
<div :class="`col-12 form-field ${errors.has('address-form.billing[phone]') ? 'has-error' : ''}`">
|
||||
<label for="billing[phone]" class="required">
|
||||
{{ __('shop::app.checkout.onepage.phone') }}*
|
||||
<label for="billing[phone]" class="mandatory">
|
||||
{{ __('shop::app.checkout.onepage.phone') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label class="col-12">
|
||||
<label class="col-12 mandatory">
|
||||
{{ __('shop::app.customer.account.profile.gender') }}
|
||||
</label>
|
||||
|
||||
|
|
@ -91,11 +91,12 @@
|
|||
<div class="select-icon-container">
|
||||
<span class="select-icon rango-arrow-down"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="control-error" v-if="errors.has('gender')">@{{ errors.first('gender') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div :class="`row ${errors.has('date_of_birth') ? 'has-error' : ''}`">
|
||||
<label class="col-12">
|
||||
{{ __('shop::app.customer.account.profile.dob') }}
|
||||
</label>
|
||||
|
|
@ -105,7 +106,12 @@
|
|||
type="date"
|
||||
name="date_of_birth"
|
||||
placeholder="dd/mm/yyyy"
|
||||
value="{{ $customer->date_of_birth }}" />
|
||||
value="{{ old('date_of_birth') ?? $customer->date_of_birth }}"
|
||||
v-validate="" data-vv-as=""{{ __('shop::app.customer.account.profile.dob') }}"" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('date_of_birth')">
|
||||
@{{ errors.first('date_of_birth') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -125,7 +131,7 @@
|
|||
{{ __('velocity::app.shop.general.enter-current-password') }}
|
||||
</label>
|
||||
|
||||
<div class="col-12">
|
||||
<div :class="`col-12 ${errors.has('oldpassword') ? 'has-error' : ''}`">
|
||||
<input value="" name="oldpassword" type="password" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -135,8 +141,16 @@
|
|||
{{ __('velocity::app.shop.general.new-password') }}
|
||||
</label>
|
||||
|
||||
<div class="col-12">
|
||||
<input value="" name="password" type="password" />
|
||||
<div :class="`col-12 ${errors.has('password') ? 'has-error' : ''}`">
|
||||
<input
|
||||
value=""
|
||||
name="password"
|
||||
type="password"
|
||||
v-validate="'min:6|max:18'" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('password')">
|
||||
@{{ errors.first('password') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -145,8 +159,13 @@
|
|||
{{ __('velocity::app.shop.general.confirm-new-password') }}
|
||||
</label>
|
||||
|
||||
<div class="col-12">
|
||||
<input value="" name="password_confirmation" type="password" />
|
||||
<div :class="`col-12 ${errors.has('password_confirmation') ? 'has-error' : ''}`">
|
||||
<input value="" name="password_confirmation" type="password"
|
||||
v-validate="'min:6|confirmed:password'" data-vv-as="confirm password" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('password_confirmation')">
|
||||
@{{ errors.first('password_confirmation') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -158,4 +177,4 @@
|
|||
</form>
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.account.profile.view.after', ['customer' => $customer]) !!}
|
||||
@endsection
|
||||
@endsection
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label class="col-12">
|
||||
<label class="col-12 mandatory">
|
||||
{{ __('shop::app.customer.account.profile.gender') }}
|
||||
</label>
|
||||
|
||||
|
|
@ -91,8 +91,9 @@
|
|||
<div class="select-icon-container">
|
||||
<span class="select-icon rango-arrow-down"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="control-error" v-if="errors.has('gender')">@{{ errors.first('gender') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div :class="`row ${errors.has('date_of_birth') ? 'has-error' : ''}`">
|
||||
|
|
@ -130,7 +131,7 @@
|
|||
{{ __('velocity::app.shop.general.enter-current-password') }}
|
||||
</label>
|
||||
|
||||
<div class="col-12">
|
||||
<div :class="`col-12 ${errors.has('oldpassword') ? 'has-error' : ''}`">
|
||||
<input value="" name="oldpassword" type="password" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -140,8 +141,16 @@
|
|||
{{ __('velocity::app.shop.general.new-password') }}
|
||||
</label>
|
||||
|
||||
<div class="col-12">
|
||||
<input value="" name="password" type="password" />
|
||||
<div :class="`col-12 ${errors.has('password') ? 'has-error' : ''}`">
|
||||
<input
|
||||
value=""
|
||||
name="password"
|
||||
type="password"
|
||||
v-validate="'min:6|max:18'" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('password')">
|
||||
@{{ errors.first('password') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -150,8 +159,13 @@
|
|||
{{ __('velocity::app.shop.general.confirm-new-password') }}
|
||||
</label>
|
||||
|
||||
<div class="col-12">
|
||||
<input value="" name="password_confirmation" type="password" />
|
||||
<div :class="`col-12 ${errors.has('password_confirmation') ? 'has-error' : ''}`">
|
||||
<input value="" name="password_confirmation" type="password"
|
||||
v-validate="'min:6|confirmed:password'" data-vv-as="confirm password" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('password_confirmation')">
|
||||
@{{ errors.first('password_confirmation') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
@foreach ($items as $item)
|
||||
@php
|
||||
$currentMode = $toolbarHelper->getCurrentMode();
|
||||
$moveToCartText = __('shop::app.customer.account.wishlist.move-to-cart');
|
||||
@endphp
|
||||
|
||||
@include ('shop::products.list.card', [
|
||||
|
|
@ -36,6 +37,8 @@
|
|||
'itemId' => $item->id,
|
||||
'removeWishlist' => true,
|
||||
'product' => $item->product,
|
||||
'btnText' => $moveToCartText,
|
||||
'addToCartBtnClass' => 'small-padding',
|
||||
])
|
||||
@endforeach
|
||||
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@
|
|||
{!! view_render_event('bagisto.shop.customers.login_form_controls.before') !!}
|
||||
|
||||
<div class="form-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<label for="email" class="required label-style">
|
||||
{{ __('shop::app.customer.login-form.email') }}*
|
||||
<label for="email" class="mandatory label-style">
|
||||
{{ __('shop::app.customer.login-form.email') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
@ -62,8 +62,8 @@
|
|||
</div>
|
||||
|
||||
<div class="form-group" :class="[errors.has('password') ? 'has-error' : '']">
|
||||
<label for="password" class="required label-style">
|
||||
{{ __('shop::app.customer.login-form.password') }}*
|
||||
<label for="password" class="mandatory label-style">
|
||||
{{ __('shop::app.customer.login-form.password') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
|
|
|
|||
|
|
@ -41,14 +41,14 @@
|
|||
{!! view_render_event('bagisto.shop.customers.forget_password_form_controls.before') !!}
|
||||
|
||||
<div class="control-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<label for="email" class="required label-style">
|
||||
<label for="email" class="mandatory label-style">
|
||||
{{ __('shop::app.customer.forgot-password.email') }}
|
||||
</label>
|
||||
|
||||
<input
|
||||
type="email"
|
||||
class="form-style"
|
||||
name="email"
|
||||
class="form-style"
|
||||
v-validate="'required|email'" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('email')">
|
||||
|
|
|
|||
|
|
@ -24,14 +24,16 @@
|
|||
<form
|
||||
method="POST"
|
||||
@submit.prevent="onSubmit"
|
||||
action="{{ route('customer.forgot-password.store') }}">
|
||||
action="{{ route('customer.reset-password.store') }}">
|
||||
|
||||
{{ csrf_field() }}
|
||||
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.forget_password_form_controls.before') !!}
|
||||
|
||||
<div :class="`form-group ${errors.has('email') ? 'has-error' : ''}`">
|
||||
<label for="email">
|
||||
<label for="email" class="required label-style mandatory">
|
||||
{{ __('shop::app.customer.reset-password.email') }}
|
||||
</label>
|
||||
|
||||
|
|
@ -49,7 +51,7 @@
|
|||
</div>
|
||||
|
||||
<div :class="`form-group ${errors.has('password') ? 'has-error' : ''}`">
|
||||
<label for="password">
|
||||
<label for="password" class="required label-style mandatory">
|
||||
{{ __('shop::app.customer.reset-password.password') }}
|
||||
</label>
|
||||
|
||||
|
|
@ -66,7 +68,7 @@
|
|||
</div>
|
||||
|
||||
<div :class="`form-group ${errors.has('confirm_password') ? 'has-error' : ''}`">
|
||||
<label for="confirm_password">
|
||||
<label for="confirm_password" class="required label-style mandatory">
|
||||
{{ __('shop::app.customer.reset-password.confirm-password') }}
|
||||
</label>
|
||||
|
||||
|
|
@ -84,7 +86,7 @@
|
|||
{!! view_render_event('bagisto.shop.customers.forget_password_form_controls.after') !!}
|
||||
|
||||
<button class="theme-btn" type="submit">
|
||||
{{ __('shop::app.customer.forgot-password.submit') }}
|
||||
{{ __('shop::app.customer.reset-password.submit-btn-title') }}
|
||||
</button>
|
||||
</form>
|
||||
|
||||
|
|
|
|||
|
|
@ -16,13 +16,12 @@
|
|||
|
||||
@if (core()->getCurrentLocale()->direction == 'rtl')
|
||||
<link href="{{ asset('themes/velocity/assets/css/bootstrap-flipped.css') }}" rel="stylesheet">
|
||||
|
||||
@endif
|
||||
|
||||
@if ($favicon = core()->getCurrentChannel()->favicon_url)
|
||||
<link rel="icon" sizes="16x16" href="{{ $favicon }}" />
|
||||
@else
|
||||
<link rel="icon" sizes="16x16" href="{{ asset('themes/velocity/assets/images/favicon.png') }}" />
|
||||
<link rel="icon" sizes="16x16" href="{{ asset('/themes/velocity/assets/images/static/v-icon.png') }}" />
|
||||
@endif
|
||||
|
||||
<script
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{!! view_render_event('bagisto.shop.products.add_to_cart.before', ['product' => $product]) !!}
|
||||
|
||||
<div class="row mx-0">
|
||||
<div class="col-4 add-to-cart-btn pl0">
|
||||
<div class="add-to-cart-btn pl0">
|
||||
@if (isset($form) && !$form)
|
||||
<button
|
||||
type="submit"
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
@endif
|
||||
|
||||
<span class="fs14 fw6 text-uppercase text-up-4">
|
||||
{{ __('shop::app.products.add-to-cart') }}
|
||||
{{ $btnText ?? __('shop::app.products.add-to-cart') }}
|
||||
</span>
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -102,7 +102,8 @@
|
|||
@include ('shop::products.add-to-cart', [
|
||||
'product' => $product,
|
||||
'addWishlistClass' => 'col-lg-4 col-md-4 col-sm-12 offset-lg-4 pr0',
|
||||
'addToCartBtnClass' => $addToCartBtnClass ?? ''
|
||||
'addToCartBtnClass' => $addToCartBtnClass ?? '',
|
||||
'btnText' => $btnText ?? null
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -73,10 +73,6 @@
|
|||
var slugs = JSON.parse(storedRecentlyViewed);
|
||||
var updatedSlugs = {};
|
||||
|
||||
if (slugs.length > 3) {
|
||||
slugs = slugs.slice(Math.max(slugs.length - 3, 1));
|
||||
}
|
||||
|
||||
slugs = slugs.reverse();
|
||||
|
||||
slugs.forEach(slug => {
|
||||
|
|
|
|||
|
|
@ -178,10 +178,22 @@
|
|||
if (existingViewed.indexOf(currentProductId) == -1) {
|
||||
existingViewed.push(currentProductId);
|
||||
|
||||
if (existingViewed.length > 4)
|
||||
if (existingViewed.length > 3)
|
||||
existingViewed = existingViewed.slice(Math.max(existingViewed.length - 4, 1));
|
||||
|
||||
window.localStorage.setItem('recentlyViewed', JSON.stringify(existingViewed));
|
||||
} else {
|
||||
var uniqueNames = [];
|
||||
|
||||
$.each(existingViewed, function(i, el){
|
||||
if ($.inArray(el, uniqueNames) === -1) uniqueNames.push(el);
|
||||
});
|
||||
|
||||
uniqueNames.push(currentProductId);
|
||||
|
||||
uniqueNames.splice(uniqueNames.indexOf(currentProductId), 1);
|
||||
|
||||
window.localStorage.setItem('recentlyViewed', JSON.stringify(uniqueNames));
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
title="{{ __('velocity::app.shop.wishlist.remove-wishlist-text') }}"
|
||||
@endif>
|
||||
|
||||
<wishlist-component active="{{ !$isWished }}" add-class="text-down-6"></wishlist-component>
|
||||
<wishlist-component active="{{ !$isWished }}"></wishlist-component>
|
||||
</a>
|
||||
@endauth
|
||||
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<a
|
||||
href="{{ route('customer.session.index') }}"
|
||||
class="unset wishlist-icon {{ $addWishlistClass ?? '' }} text-right">
|
||||
<wishlist-component active="false" add-class="text-down-6"></wishlist-component>
|
||||
<wishlist-component active="false"></wishlist-component>
|
||||
</a>
|
||||
@endauth
|
||||
{!! view_render_event('bagisto.shop.products.wishlist.after') !!}
|
||||
Loading…
Reference in New Issue