Bug fixes in tax rate and categories
This commit is contained in:
parent
301eb1959f
commit
36102ac040
|
|
@ -58,8 +58,6 @@ class ProductDataGrid
|
|||
],
|
||||
|
||||
'join' => [
|
||||
|
||||
//for getting name of attrib family.
|
||||
[
|
||||
'join' => 'leftjoin',
|
||||
'table' => 'attribute_families as attfam',
|
||||
|
|
@ -69,19 +67,19 @@ class ProductDataGrid
|
|||
],
|
||||
|
||||
//for getting the attribute values.
|
||||
[
|
||||
'join' => 'leftjoin',
|
||||
'table' => 'product_attribute_values as pav',
|
||||
'primaryKey' => 'prods.id',
|
||||
'condition' => '=',
|
||||
'secondaryKey' => 'pav.product_id',
|
||||
'withAttributes' => [
|
||||
'condition' => [
|
||||
'attribute_id' => 2,
|
||||
'select' => 'name',
|
||||
]
|
||||
]
|
||||
],
|
||||
// [
|
||||
// 'join' => 'leftjoin',
|
||||
// 'table' => 'product_attribute_values as pav',
|
||||
// 'primaryKey' => 'prods.id',
|
||||
// 'condition' => '=',
|
||||
// 'secondaryKey' => 'pav.product_id',
|
||||
// 'withAttributes' => [
|
||||
// 'condition' => [
|
||||
// 'attribute_id' => 2,
|
||||
// 'select' => 'name',
|
||||
// ]
|
||||
// ]
|
||||
// ],
|
||||
|
||||
// for getting the inventory quantity of a product
|
||||
[
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class EventServiceProvider extends ServiceProvider
|
|||
|
||||
$menu->add('settings.tax', 'Taxes', 'admin.taxrule.index', 9, '');
|
||||
|
||||
$menu->add('settings.tax.taxrule', 'Add Tax Rules', 'admin.taxrule.index', 1, '');
|
||||
$menu->add('settings.tax.taxrule', 'Add Tax Category', 'admin.taxrule.index', 1, '');
|
||||
|
||||
$menu->add('settings.tax.taxrate', 'Add Tax Rates', 'admin.taxrate.index', 2, '');
|
||||
});
|
||||
|
|
|
|||
|
|
@ -179,22 +179,24 @@ return [
|
|||
'configuration' => [
|
||||
'tax' => [
|
||||
'title' => 'Taxes',
|
||||
'add-title' => 'Add Tax Rule'
|
||||
'add-title' => 'Add Tax Category'
|
||||
],
|
||||
|
||||
'taxrule' => [
|
||||
'title' => 'Add Tax Rule',
|
||||
'create' => 'Create Tax Rule',
|
||||
'general' => 'Tax Rule',
|
||||
'title' => 'Add Tax Category',
|
||||
'create' => 'Create Tax Category',
|
||||
'general' => 'Tax Category',
|
||||
'select-channel' => 'Select Channel',
|
||||
'name' => 'Name',
|
||||
'code' => 'Code',
|
||||
'description' => 'Description',
|
||||
'select-taxrates' => 'Select Tax Rates',
|
||||
'edit' => [
|
||||
'title' => 'Edit Tax Rule',
|
||||
'edit-button-title' => 'Edit Rule'
|
||||
'title' => 'Edit Tax Category',
|
||||
'edit-button-title' => 'Edit Tax Category'
|
||||
]
|
||||
],
|
||||
|
||||
'taxrate' => [
|
||||
'title' => 'Add Tax Rate',
|
||||
'general' => 'Tax Rate',
|
||||
|
|
@ -208,7 +210,8 @@ return [
|
|||
'edit' => [
|
||||
'title' => 'Edit Tax Rate',
|
||||
'edit-button-title' => 'Edit Rate'
|
||||
]
|
||||
],
|
||||
'zip_code' => 'Zip Code'
|
||||
],
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -34,32 +34,6 @@
|
|||
<span class="control-error" v-if="errors.has('identifier')">@{{ errors.first('identifier') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<span class="checkbox">
|
||||
|
||||
<input type="checkbox" id="is_zip" name="is_zip">
|
||||
|
||||
<label class="checkbox-view" for="is_zip"></label>
|
||||
Enable Zip Range
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('zip_from') ? 'has-error' : '']">
|
||||
<label for="zip_from" class="required">{{ __('admin::app.configuration.taxrate.zip_from') }}</label>
|
||||
|
||||
<input v-validate="'numeric'" class="control" id="zip_from" name="zip_from" value="{{ old('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.taxrate.zip_to') }}</label>
|
||||
|
||||
<input v-validate="'numeric'" class="control" id="zip_to" name="zip_to" value="{{ old('zip_to') }}"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('zip_to')">@{{ errors.first('zip_to') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('state') ? 'has-error' : '']">
|
||||
<label for="state" class="required">{{ __('admin::app.configuration.taxrate.state') }}</label>
|
||||
|
||||
|
|
@ -76,6 +50,40 @@
|
|||
<span class="control-error" v-if="errors.has('country')">@{{ errors.first('country') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<span class="checkbox">
|
||||
|
||||
<input type="checkbox" id="is_zip" name="is_zip" id="is_zip" onclick="myFunction()" value="{{ old('is_zip') }}">
|
||||
|
||||
<label class="checkbox-view" for="is_zip"></label>
|
||||
Enable Zip Range
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('zip_code') ? 'has-error' : '']" id="zip_code">
|
||||
<label for="zip_code" class="required">{{ __('admin::app.configuration.taxrate.zip_code') }}</label>
|
||||
|
||||
<input class="control" id="zip_code" name="zip_code" value="{{ old('zip_code') }}"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('zip_code')">@{{ errors.first('zip_code') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('zip_from') ? 'has-error' : '']" id="zip_from">
|
||||
<label for="zip_from" class="required">{{ __('admin::app.configuration.taxrate.zip_from') }}</label>
|
||||
|
||||
<input v-validate="'numeric'" class="control" id="zip_from" name="zip_from" value="{{ old('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' : '']" id="zip_to">
|
||||
<label for="zip_to" class="required">{{ __('admin::app.configuration.taxrate.zip_to') }}</label>
|
||||
|
||||
<input v-validate="'numeric'" class="control" id="zip_to" name="zip_to" value="{{ old('zip_to') }}"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('zip_to')">@{{ errors.first('zip_to') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('tax_rate') ? 'has-error' : '']">
|
||||
<label for="tax_rate" class="required">{{ __('admin::app.configuration.taxrate.tax_rate') }}</label>
|
||||
|
||||
|
|
@ -90,4 +98,34 @@
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@push('scripts')
|
||||
<script>
|
||||
|
||||
window.onload = function () {
|
||||
document.getElementById("zip_from").style.display = "none";
|
||||
|
||||
document.getElementById("zip_to").style.display = "none";
|
||||
};
|
||||
|
||||
function myFunction() {
|
||||
value = document.getElementById('is_zip').checked;
|
||||
|
||||
if(value) {
|
||||
document.getElementById("zip_from").style.display = "";
|
||||
|
||||
document.getElementById("zip_to").style.display = "";
|
||||
|
||||
document.getElementById("zip_code").style.display = "none";
|
||||
} else {
|
||||
document.getElementById("zip_from").style.display = "none";
|
||||
|
||||
document.getElementById("zip_to").style.display = "none";
|
||||
|
||||
document.getElementById("zip_code").style.display = "";
|
||||
}
|
||||
|
||||
console.log("Value = ", value);
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
@stop
|
||||
|
|
@ -153,7 +153,7 @@ class Cart {
|
|||
'total_weight' => $product->weight * $data['quantity'],
|
||||
'base_total_weight' => $product->weight * $data['quantity'],
|
||||
];
|
||||
|
||||
|
||||
return ['parent' => $parentData, 'child' => null];
|
||||
}
|
||||
}
|
||||
|
|
@ -703,8 +703,6 @@ class Cart {
|
|||
$canBe = $this->canAddOrUpdate($cartItem->id, $prevQty + $newQty);
|
||||
|
||||
if($canBe == false) {
|
||||
session()->flash('warning', 'The requested quantity is not available, please try back later.');
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
|
|
@ -813,7 +811,7 @@ class Cart {
|
|||
|
||||
if(!$this->isItemsHaveSufficientQuantity())
|
||||
return true;
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -846,7 +844,7 @@ class Cart {
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Deactivates current cart
|
||||
|
|
|
|||
|
|
@ -20,15 +20,17 @@ class CreateTaxRatesTable extends Migration
|
|||
|
||||
$table->boolean('is_zip_from')->default(0);
|
||||
|
||||
$table->integer('zip_from')->unsigned()->nullable();
|
||||
$table->string('zip_code')->nullable();
|
||||
|
||||
$table->integer('zip_to')->unsigned()->nullable();
|
||||
$table->string('zip_from')->nullable();
|
||||
|
||||
$table->string('zip_to')->nullable();
|
||||
|
||||
$table->string('state');
|
||||
|
||||
$table->string('country');
|
||||
|
||||
$table->float('tax_rate', 6, 4);
|
||||
$table->float('tax_rate', 12, 4);
|
||||
|
||||
$table->timestamps();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ class TaxRateController extends Controller
|
|||
$this->validate(request(), [
|
||||
'identifier' => 'required|string|unique:tax_rates,identifier',
|
||||
'is_zip' => 'sometimes|confirmed',
|
||||
'zip_code' => 'sometimes|required_without:is_zip',
|
||||
'zip_from' => 'nullable|numeric|required_with:is_zip',
|
||||
'zip_to' => 'nullable|numeric|required_with:is_zip,zip_from',
|
||||
'state' => 'required|string',
|
||||
|
|
@ -94,6 +95,8 @@ class TaxRateController extends Controller
|
|||
return redirect()->back();
|
||||
}
|
||||
|
||||
Session()->flash('warning', 'System Cannot Identify the cause of this error, contact system administrator.');
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class TaxRate extends Model
|
|||
protected $table = 'tax_rates';
|
||||
|
||||
protected $fillable = [
|
||||
'identifier', 'is_zip_from', 'zip_from', 'zip_to', 'state', 'country', 'tax_rate'
|
||||
'identifier', 'is_zip_from', 'zip_code', 'zip_from', 'zip_to', 'state', 'country', 'tax_rate'
|
||||
];
|
||||
|
||||
public function tax_categories() {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?php
|
||||
|
||||
Route::group(['middleware' => ['web']], function () {
|
||||
|
||||
Route::get('/', 'Webkul\Shop\Http\Controllers\HomeController@index')->defaults('_config', [
|
||||
'view' => 'shop::home.index'
|
||||
])->name('shop.home.index');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="{{ $css->datagrid }}">
|
||||
{{-- <div class="{{ $css->datagrid }}">
|
||||
<table class="{{ $css->table }}">
|
||||
<thread class="{{ $css->thread }}">
|
||||
<tr>
|
||||
|
|
@ -15,4 +15,4 @@
|
|||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="grid-container{{-- $css->datagrid --}}">
|
||||
<div class="grid-container {{-- $css->datagrid --}}">
|
||||
|
||||
{{-- For loading the filters from includes directory file --}}
|
||||
@include('ui::datagrid.filters.default')
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
$('.search-btn').click(function() {
|
||||
|
||||
search_value = $(".search-field").val();
|
||||
formURL('search','all',search_value,params); //format for search
|
||||
formURL('search','all', search_value, params); //format for search
|
||||
});
|
||||
|
||||
//controls for header when sorting is done
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue