Merge pull request #810 from prashant-webkul/development

Development
This commit is contained in:
Jitendra Singh 2019-04-09 14:15:59 +05:30 committed by GitHub
commit 4840b0361b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 437 additions and 221 deletions

View File

@ -3,7 +3,7 @@ root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
insert_final_newline = false
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

View File

@ -18,7 +18,7 @@ class BagistoVersion extends Command
*
* @var string
*/
protected $description = 'Displays version of Bagisto installed';
protected $description = 'Displays current version of Bagisto installed';
/**
* Create a new command instance.

View File

@ -23,8 +23,6 @@ class RouteServiceProvider extends ServiceProvider
*/
public function boot()
{
//
parent::boot();
}

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
{
"/js/admin.js": "/js/admin.js?id=023cc2617cd2c87483ac",
"/js/admin.js": "/js/admin.js?id=8924cabe48e17f2a3ba3",
"/css/admin.css": "/css/admin.css?id=a71a72c31d6ac0fe375f"
}

View File

@ -128,12 +128,14 @@ class AttributeDataGrid extends DataGrid
{
$this->addAction([
'type' => 'Edit',
'method' => 'GET', //use post only for redirects only
'route' => 'admin.catalog.attributes.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', //use post only for requests other than redirects
'route' => 'admin.catalog.attributes.delete',
'icon' => 'icon trash-icon'
]);
@ -148,4 +150,4 @@ class AttributeDataGrid extends DataGrid
'method' => 'DELETE'
]);
}
}
}

View File

@ -57,12 +57,14 @@ class AttributeFamilyDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.catalog.families.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes and POST for rest
'route' => 'admin.catalog.families.delete',
// 'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),
'icon' => 'icon trash-icon'

View File

@ -92,12 +92,14 @@ class CategoryDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.catalog.categories.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.catalog.categories.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),
'icon' => 'icon trash-icon'

View File

@ -66,12 +66,14 @@ class ChannelDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.channels.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.channels.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),
'icon' => 'icon trash-icon'

View File

@ -57,12 +57,14 @@ class CurrencyDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.currencies.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.currencies.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -73,12 +73,14 @@ class CustomerDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.customer.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.customer.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -48,12 +48,14 @@ class CustomerGroupDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.groups.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.groups.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -91,12 +91,14 @@ class CustomerReviewDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.customer.review.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.customer.review.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -59,12 +59,14 @@ class ExchangeRatesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.exchange_rates.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.exchange_rates.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),
'icon' => 'icon trash-icon'

View File

@ -81,12 +81,14 @@ class InventorySourcesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.inventory_sources.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.inventory_sources.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),
'icon' => 'icon trash-icon'

View File

@ -57,12 +57,14 @@ class LocalesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.locales.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.locales.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),
'icon' => 'icon trash-icon'

View File

@ -63,12 +63,14 @@ class NewsLetterDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.customers.subscribers.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.customers.subscribers.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'Exchange Rate']),
'icon' => 'icon trash-icon'

View File

@ -135,6 +135,7 @@ class OrderDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'View',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sales.orders.view',
'icon' => 'icon eye-icon'
]);

View File

@ -66,6 +66,7 @@ class OrderInvoicesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'View',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sales.invoices.view',
'icon' => 'icon eye-icon'
]);

View File

@ -109,6 +109,7 @@ class OrderShipmentsDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'View',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sales.shipments.view',
'icon' => 'icon eye-icon'
]);

View File

@ -121,12 +121,14 @@ class ProductDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.catalog.products.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.catalog.products.delete',
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),
'icon' => 'icon trash-icon'

View File

@ -58,8 +58,16 @@ class RolesDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.roles.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.roles.delete',
'icon' => 'icon trash-icon'
]);
}
}

View File

@ -61,12 +61,14 @@ class SliderDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.sliders.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.sliders.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -57,12 +57,14 @@ class TaxCategoryDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.tax-categories.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.tax-categories.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -102,12 +102,14 @@ class TaxRateDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.tax-rates.store',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.tax-rates.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -86,12 +86,14 @@ class UserDataGrid extends DataGrid
public function prepareActions() {
$this->addAction([
'type' => 'Edit',
'method' => 'GET', // use GET request only for redirect purposes
'route' => 'admin.users.edit',
'icon' => 'icon pencil-lg-icon'
]);
$this->addAction([
'type' => 'Delete',
'method' => 'POST', // use GET request only for redirect purposes
'route' => 'admin.users.delete',
'icon' => 'icon trash-icon'
]);

View File

@ -172,10 +172,18 @@ class CustomerController extends Controller
*/
public function destroy($id)
{
$this->customer->findOrFail($id)->delete();
$customer = $this->customer->findorFail($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer']));
try {
$this->customer->delete($id);
return redirect()->back();
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer']));
}
return response()->json(['message' => false], 400);
}
}
}

View File

@ -8,7 +8,7 @@ use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup;
/**
* CustomerGroup controlller
* Customer Group controlller
*
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
@ -127,18 +127,24 @@ class CustomerGroupController extends Controller
*/
public function destroy($id)
{
$group = $this->customerGroup->findOrFail($id);
$customerGroup = $this->customerGroup->findOrFail($id);
if ($group->is_user_defined == 0) {
if ($customerGroup->is_user_defined == 0) {
session()->flash('warning', trans('admin::app.customers.customers.group-default'));
} else if (count($group->customer) > 0) {
} else if (count($customerGroup->customer) > 0) {
session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group']));
} else {
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group']));
try {
$this->customerGroup->delete($id);
$this->customerGroup->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Customer Group']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -64,7 +64,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.customer.index'
])->name('admin.customer.update');
Route::get('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@destroy')->name('admin.customer.delete');
Route::post('customers/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerController@destroy')->name('admin.customer.delete');
Route::get('reviews', 'Webkul\Product\Http\Controllers\ReviewController@index')->defaults('_config',[
'view' => 'admin::customers.reviews.index'
@ -92,7 +92,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.customer.review.index'
])->name('admin.customer.review.update');
Route::get('reviews/delete/{id}', 'Webkul\Product\Http\Controllers\ReviewController@destroy')->defaults('_config', [
Route::post('reviews/delete/{id}', 'Webkul\Product\Http\Controllers\ReviewController@destroy')->defaults('_config', [
'redirect' => 'admin.customer.review.index'
])->name('admin.customer.review.delete');
@ -127,7 +127,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.groups.index'
])->name('admin.groups.update');
Route::get('groups/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@destroy')->name('admin.groups.delete');
Route::post('groups/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@destroy')->name('admin.groups.delete');
// Sales Routes
@ -213,7 +213,7 @@ Route::group(['middleware' => ['web']], function () {
])->name('admin.catalog.products.update');
//product delete
Route::get('/products/delete/{id}', 'Webkul\Product\Http\Controllers\ProductController@destroy')->name('admin.catalog.products.delete');
Route::post('/products/delete/{id}', 'Webkul\Product\Http\Controllers\ProductController@destroy')->name('admin.catalog.products.delete');
//product massaction
Route::post('products/massaction', 'Webkul\Product\Http\Controllers\ProductController@massActionHandler')->name('admin.catalog.products.massaction');
@ -254,7 +254,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.catalog.categories.index'
])->name('admin.catalog.categories.update');
Route::get('/categories/delete/{id}', 'Webkul\Category\Http\Controllers\CategoryController@destroy')->name('admin.catalog.categories.delete');
Route::post('/categories/delete/{id}', 'Webkul\Category\Http\Controllers\CategoryController@destroy')->name('admin.catalog.categories.delete');
// Catalog Attribute Routes
@ -278,7 +278,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.catalog.attributes.index'
])->name('admin.catalog.attributes.update');
Route::get('/attributes/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeController@destroy')->name('admin.catalog.attributes.delete');
Route::post('/attributes/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeController@destroy')->name('admin.catalog.attributes.delete');
Route::post('/attributes/massdelete', 'Webkul\Attribute\Http\Controllers\AttributeController@massDestroy')->name('admin.catalog.attributes.massdelete');
@ -303,7 +303,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.catalog.families.index'
])->name('admin.catalog.families.update');
Route::get('/families/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeFamilyController@destroy')->name('admin.catalog.families.delete');
Route::post('/families/delete/{id}', 'Webkul\Attribute\Http\Controllers\AttributeFamilyController@destroy')->name('admin.catalog.families.delete');
});
// User Routes
@ -333,7 +333,7 @@ Route::group(['middleware' => ['web']], function () {
])->name('admin.users.update');
//delete backend user
Route::get('/users/delete/{id}', 'Webkul\User\Http\Controllers\UserController@destroy')->name('admin.users.delete');
Route::post('/users/delete/{id}', 'Webkul\User\Http\Controllers\UserController@destroy')->name('admin.users.delete');
Route::post('/confirm/destroy', 'Webkul\User\Http\Controllers\UserController@destroySelf')->defaults('_config', [
'redirect' => 'admin.users.index'
@ -360,6 +360,8 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.roles.index'
])->name('admin.roles.update');
Route::post('/roles/delete/{id}', 'Webkul\User\Http\Controllers\RoleController@destroy')->name('admin.roles.delete');
// Locale Routes
Route::get('/locales', 'Webkul\Core\Http\Controllers\LocaleController@index')->defaults('_config', [
@ -382,7 +384,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.locales.index'
])->name('admin.locales.update');
Route::get('/locales/delete/{id}', 'Webkul\Core\Http\Controllers\LocaleController@destroy')->name('admin.locales.delete');
Route::post('/locales/delete/{id}', 'Webkul\Core\Http\Controllers\LocaleController@destroy')->name('admin.locales.delete');
// Currency Routes
@ -406,7 +408,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.currencies.index'
])->name('admin.currencies.update');
Route::get('/currencies/delete/{id}', 'Webkul\Core\Http\Controllers\CurrencyController@destroy')->name('admin.currencies.delete');
Route::post('/currencies/delete/{id}', 'Webkul\Core\Http\Controllers\CurrencyController@destroy')->name('admin.currencies.delete');
Route::post('/currencies/massdelete', 'Webkul\Core\Http\Controllers\CurrencyController@massDestroy')->name('admin.currencies.massdelete');
@ -432,7 +434,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.exchange_rates.index'
])->name('admin.exchange_rates.update');
Route::get('/exchange_rates/delete/{id}', 'Webkul\Core\Http\Controllers\ExchangeRateController@destroy')->name('admin.exchange_rates.delete');
Route::post('/exchange_rates/delete/{id}', 'Webkul\Core\Http\Controllers\ExchangeRateController@destroy')->name('admin.exchange_rates.delete');
// Inventory Source Routes
@ -456,7 +458,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.inventory_sources.index'
])->name('admin.inventory_sources.update');
Route::get('/inventory_sources/delete/{id}', 'Webkul\Inventory\Http\Controllers\InventorySourceController@destroy')->name('admin.inventory_sources.delete');
Route::post('/inventory_sources/delete/{id}', 'Webkul\Inventory\Http\Controllers\InventorySourceController@destroy')->name('admin.inventory_sources.delete');
// Channel Routes
Route::get('/channels', 'Webkul\Core\Http\Controllers\ChannelController@index')->defaults('_config', [
@ -479,7 +481,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.channels.index'
])->name('admin.channels.update');
Route::get('/channels/delete/{id}', 'Webkul\Core\Http\Controllers\ChannelController@destroy')->name('admin.channels.delete');
Route::post('/channels/delete/{id}', 'Webkul\Core\Http\Controllers\ChannelController@destroy')->name('admin.channels.delete');
// Admin Profile route
@ -511,7 +513,7 @@ Route::group(['middleware' => ['web']], function () {
])->name('admin.customers.subscribers.index');
//destroy a newsletter subscription item
Route::get('subscribers/delete/{id}', 'Webkul\Core\Http\Controllers\SubscriptionController@destroy')->name('admin.customers.subscribers.delete');
Route::post('subscribers/delete/{id}', 'Webkul\Core\Http\Controllers\SubscriptionController@destroy')->name('admin.customers.subscribers.delete');
Route::get('subscribers/edit/{id}', 'Webkul\Core\Http\Controllers\SubscriptionController@edit')->defaults('_config', [
'view' => 'admin::customers.subscribers.edit'
@ -547,7 +549,7 @@ Route::group(['middleware' => ['web']], function () {
])->name('admin.sliders.update');
//destroy a slider item
Route::get('slider/delete/{id}', 'Webkul\Core\Http\Controllers\SliderController@destroy')->name('admin.sliders.delete');
Route::post('slider/delete/{id}', 'Webkul\Core\Http\Controllers\SliderController@destroy')->name('admin.sliders.delete');
//tax routes
Route::get('/tax-categories', 'Webkul\Tax\Http\Controllers\TaxController@index')->defaults('_config', [
@ -572,7 +574,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.tax-categories.index'
])->name('admin.tax-categories.update');
Route::get('/tax-categories/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxCategoryController@destroy')->name('admin.tax-categories.delete');
Route::post('/tax-categories/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxCategoryController@destroy')->name('admin.tax-categories.delete');
//tax category ends
@ -597,7 +599,7 @@ Route::group(['middleware' => ['web']], function () {
'redirect' => 'admin.tax-rates.index'
])->name('admin.tax-rates.update');
Route::get('/tax-rates/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxRateController@destroy')->name('admin.tax-rates.delete');
Route::post('/tax-rates/delete/{id}', 'Webkul\Tax\Http\Controllers\TaxRateController@destroy')->name('admin.tax-rates.delete');
Route::post('/tax-rates/import', 'Webkul\Tax\Http\Controllers\TaxRateController@import')->defaults('_config', [
'redirect' => 'admin.tax-rates.index'

View File

@ -23,7 +23,8 @@ class AdminServiceProvider extends ServiceProvider
*/
public function boot()
{
include __DIR__ . '/../Http/routes.php';
// include __DIR__ . '/../Http/routes.php';
$this->loadRoutesFrom(__DIR__ . '/../Http/routes.php');
$this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'admin');
@ -72,6 +73,7 @@ class AdminServiceProvider extends ServiceProvider
if (! bouncer()->hasPermission($item['key'])) {
continue;
}
if ($index + 1 < count(config('menu.admin')) && $permissionType != 'all') {
$permission = config('menu.admin')[$index + 1];
@ -94,6 +96,7 @@ class AdminServiceProvider extends ServiceProvider
}
$tree->items = core()->sortItems($tree->items);
$view->with('menu', $tree);
});

View File

@ -1,8 +1,7 @@
window.jQuery = window.$ = $ = require("jquery");
require("./bootstrap");
window.Vue = require("vue");
window.VeeValidate = require("vee-validate");
window.axios = require("axios");
require("./bootstrap");
Vue.use(VeeValidate);
Vue.prototype.$http = axios
@ -42,6 +41,7 @@ window.onload = function () {
documentScrollWhenScrolled = $(document).scrollTop();
if (documentScrollWhenScrolled <= differenceInHeight + 70) {
$('.navbar-left').css('top', -documentScrollWhenScrolled + 60 + 'px');
scrollTopValueWhenNavBarFixed = $(document).scrollTop();
}
});
@ -50,6 +50,7 @@ window.onload = function () {
documentScrollWhenScrolled = $(document).scrollTop();
if (documentScrollWhenScrolled <= differenceInHeight + 70) {
$('.navbar-left').css('top', -documentScrollWhenScrolled + 60 + 'px');
scrollTopValueWhenNavBarFixed = $(document).scrollTop();
}
});
@ -143,4 +144,4 @@ $(document).ready(function () {
}
}
});
});
});

View File

@ -1,3 +1,7 @@
window._ = require('lodash');
window.axios = require("axios");
window.$ = window.jQuery = require('jquery');
if (window.axios) {
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
@ -14,4 +18,4 @@ if (window.axios) {
} else {
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
}
}

View File

@ -799,10 +799,12 @@ return [
],
'response' => [
'being-used' => 'This resource :name is getting used in :source',
'cannot-delete-default' => 'Cannot delete the default channel',
'create-success' => ':name created successfully.',
'update-success' => ':name updated successfully.',
'delete-success' => ':name deleted successfully.',
'delete-failed' => 'Error encountered while deleting :name.',
'last-delete-error' => 'At least one :name is required.',
'user-define-error' => 'Can not delete system :name',
'attribute-error' => ':name is used in configurable products.',

View File

@ -378,4 +378,4 @@
}
})
</script>
@endpush
@endpush

View File

@ -3,6 +3,7 @@
@if (request()->route()->getName() != 'admin.configuration.index')
<?php $keys = explode('.', $menu->currentKey); ?>
@if(isset($keys) && strlen($keys[0]))
@foreach (array_get($menu->items, current($keys) . '.children') as $item)
<li class="{{ $menu->getActive($item) }}">
<a href="{{ $item['url'] }}">
@ -14,6 +15,7 @@
</a>
</li>
@endforeach
@endif
@else
@foreach ($config->items as $key => $item)
<li class="{{ $item['key'] == request()->route('slug') ? 'active' : '' }}">
@ -32,4 +34,4 @@
{{-- <div class="close-nav-aside">
<i class="icon angle-left-icon close-icon"></i>
</div> --}}
</div>
</div>

View File

@ -10,8 +10,4 @@
</li>
@endforeach
</ul>
{{-- <div class="open-nav-aside">
<i class="icon angle-right-icon open-icon"></i>
</div> --}}
</div>

View File

@ -139,12 +139,13 @@ class AttributeController extends Controller
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Attribute']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.attribute-error', ['name' => 'Attribute']));
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Attribute']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
/**
@ -160,7 +161,7 @@ class AttributeController extends Controller
$indexes = explode(',', request()->input('indexes'));
foreach ($indexes as $key => $value) {
$attribute = $this->attribute->findOrFail($value);
$attribute = $this->attribute->find($value);
try {
if (! $attribute->is_user_defined) {
@ -187,4 +188,4 @@ class AttributeController extends Controller
return redirect()->back();
}
}
}
}

View File

@ -136,15 +136,22 @@ class AttributeFamilyController extends Controller
if ($this->attributeFamily->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Family']));
} else if ($attributeFamily->products()->count()) {
session()->flash('error', trans('admin::app.response.attribute-product-error', ['name' => 'Attribute family']));
} else {
$this->attributeFamily->delete($id);
try {
$this->attributeFamily->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Family']));
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Family']));
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans( 'admin::app.response.delete-failed', ['name' => 'Family']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
/**

View File

@ -149,21 +149,27 @@ class CategoryController extends Controller
*/
public function destroy($id)
{
Event::fire('catalog.category.delete.before', $id);
$category = $this->category->findOrFail($id);
if (strtolower($this->category->find($id)->name) == "root") {
if(strtolower($category->name) == "root") {
session()->flash('warning', trans('admin::app.response.delete-category-root', ['name' => 'Category']));
} else {
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Category']));
try {
Event:: fire('catalog.category.delete.before', $id);
$this->category->delete($id);
$this->category->delete($id);
Event::fire('catalog.category.delete.after', $id);
Event::fire('catalog.category.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Category']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Category']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
/**

View File

@ -10,7 +10,7 @@ use Webkul\Core\Repositories\ChannelRepository as Channel;
/**
* Channel controller
*
* @author Jitendra Singh <jitendra@webkul.com>
* @author Jitendra Singh <jitendra@webkul.com>
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/
class ChannelController extends Controller
@ -151,19 +151,22 @@ class ChannelController extends Controller
if ($channel->code == config('app.channel')) {
session()->flash('error', trans('admin::app.response.cannot-delete-default', ['name' => 'Channel']));
} else {
Event::fire('core.channel.delete.before', $id);
try {
Event::fire('core.channel.delete.before', $id);
$this->channel->delete($id);
Event::fire('core.channel.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Channel']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('warning', trans($e->getMessage()));
// session()->flash('warning', trans($e->getMessage()));
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Channel']));
}
Event::fire('core.channel.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Channel']));
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -132,24 +132,27 @@ class CurrencyController extends Controller
*/
public function destroy($id)
{
try {
Event::fire('core.currency.delete.before', $id);
$currency = $this->currency->findOrFail($id);
$result = $this->currency->delete($id);
if ($this->currency->count() == 1) {
sesssion()->flash('warning', trans( 'admin::app.response.last-delete-error', ['name' => 'Currency']));
} else {
try {
Event::fire('core.currency.delete.before', $id);
Event::fire('core.currency.delete.after', $id);
$this->currency->delete($id);
Event::fire('core.currency.delete.after', $id);
if ($result)
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Currency']));
else
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Currency']));
} catch (\Exception $e) {
session()->flash('error', $e->getMessage());
session()->flash('error', trans('admin::app.response.currency-delete-error', ['name' => 'Currency']));
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Currency']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
/**

View File

@ -11,7 +11,7 @@ use Webkul\Core\Repositories\CurrencyRepository as Currency;
/**
* ExchangeRate controller
*
* @author Jitendra Singh <jitendra@webkul.com>
* @author Jitendra Singh <jitendra@webkul.com>
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/
class ExchangeRateController extends Controller
@ -147,18 +147,26 @@ class ExchangeRateController extends Controller
*/
public function destroy($id)
{
if ($this->exchangeRate->count() == 1) {
$exchangeRate = $this->exchangeRate->findOrFail($id);
if($this->exchangeRate->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Exchange rate']));
} else {
Event::fire('core.exchange_rate.delete.before', $id);
try {
Event::fire('core.exchange_rate.delete.before', $id);
$this->exchangeRate->delete($id);
$this->exchangeRate->delete($id);
Event::fire('core.exchange_rate.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Exchange rate']));
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Exchange rate']));
Event::fire('core.exchange_rate.delete.after', $id);
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-error', ['name' => 'Exchange rate']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -132,18 +132,26 @@ class LocaleController extends Controller
*/
public function destroy($id)
{
if ($this->locale->count() == 1) {
$locale = $this->locale->findOrFail($id);
if($this->locale->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Locale']));
} else {
Event::fire('core.locale.delete.before', $id);
try {
Event::fire('core.locale.delete.before', $id);
$this->locale->delete($id);
$this->locale->delete($id);
Event::fire('core.locale.delete.after', $id);
Event::fire('core.locale.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Locale']));
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Locale']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Locale']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -133,14 +133,22 @@ class SliderController extends Controller
*/
public function destroy($id)
{
$slider = $this->slider->findOrFail($id);
if ($this->slider->findWhere(['channel_id' => core()->getCurrentChannel()->id])->count() == 1) {
session()->flash('warning', trans('admin::app.settings.sliders.delete-success'));
} else {
$this->slider->delete($id);
try {
$this->slider->delete($id);
session()->flash('success', trans('admin::app.settings.sliders.delete-fail'));
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Slider']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Slider']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -88,11 +88,18 @@ class SubscriptionController extends Controller
*/
public function destroy($id)
{
if ($this->subscribers->delete($id))
session()->flash('success', trans('admin::app.customers.subscribers.delete'));
else
session()->flash('error', trans('admin::app.customers.subscribers.delete-failed'));
$subscriber = $this->subscribers->findOrFail($id);
return redirect()->back();
try {
$this->subscriber->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Subscriber']));
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Subscriber']));
}
return response()->json(['message' => false], 400);
}
}

View File

@ -82,13 +82,15 @@ class OrderController extends Controller
{
$orders = auth()->guard('customer')->user()->all_orders;
if(isset($orders) && count($orders)) {
$order = $orders->first();
return view($this->_config['view'], compact('order'));
} else {
return redirect()->route( 'customer.orders.index');
if (isset($orders) && count($orders)) {
foreach ($orders as $order) {
if ($order->id == $id) {
return view($this->_config['view'], compact('order'));
}
}
}
return redirect()->route( 'customer.orders.index');
}
/**

View File

@ -58,7 +58,6 @@ class RegistrationController extends Controller
'last_name' => 'string|required',
'email' => 'email|required|unique:customers,email',
'password' => 'confirmed|min:6|required',
// 'agreement' => 'required'
]);
$data = request()->input();
@ -67,7 +66,11 @@ class RegistrationController extends Controller
$data['channel_id'] = core()->getCurrentChannel()->id;
$data['is_verified'] = 1;
if(core()->getConfigData( 'customer.settings.email.verification')) {
$data['is_verified'] = 0;
} else {
$data['is_verified'] = 1;
}
$data['customer_group_id'] = 1;
@ -82,14 +85,16 @@ class RegistrationController extends Controller
Event::fire('customer.registration.after', $customer);
if ($customer) {
try {
if (core()->getConfigData( 'customer.settings.email.verification')) {
try {
Mail::send(new VerificationEmail($verificationData));
session()->flash('success', trans('shop::app.customer.signup-form.success-verify'));
} catch (\Exception $e) {
session()->flash('info', trans('shop::app.customer.signup-form.success-verify-email-unsent'));
}
} else {
session()->flash('success', trans('shop::app.customer.signup-form.success'));
Mail::send(new VerificationEmail($verificationData));
} catch(\Exception $e) {
session()->flash('info', trans('shop::app.customer.signup-form.success-verify-email-not-sent'));
return redirect()->route($this->_config['redirect']);
}
return redirect()->route($this->_config['redirect']);
@ -140,7 +145,7 @@ class RegistrationController extends Controller
\Cookie::queue(\Cookie::forget('email-for-resend'));
}
} catch(\Exception $e) {
session()->flash('success', trans('shop::app.customer.signup-form.verification-not-sent'));
session()->flash('error', trans('shop::app.customer.signup-form.verification-not-sent'));
return redirect()->back();
}

View File

@ -155,18 +155,26 @@ class InventorySourceController extends Controller
*/
public function destroy($id)
{
if ($this->inventorySource->count() == 1) {
$inventorySource = $this->inventorySource->findOrFail($id);
if($this->inventorySource->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Inventory source']));
} else {
Event::fire('inventory.inventory_source.delete.before', $id);
try {
Event::fire('inventory.inventory_source.delete.before', $id);
$this->inventorySource->delete($id);
$this->inventorySource->delete($id);
Event::fire('inventory.inventory_source.delete.after', $id);
Event::fire('inventory.inventory_source.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Inventory source']));
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Inventory source']));
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Inventory source']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -202,11 +202,19 @@ class ProductController extends Controller
*/
public function destroy($id)
{
$this->product->findOrFail($id)->delete();
$product = $this->product->findOrFail($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Product']));
try {
$this->product->delete($id);
return redirect()->back();
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Product']));
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Product']));
}
return response()->json(['message' => false], 400);
}
/**

View File

@ -105,15 +105,23 @@ class ReviewController extends Controller
*/
public function destroy($id)
{
Event::fire('customer.review.delete.before', $id);
$productReview = $this->productReview->findOrFail($id);
$this->productReview->delete($id);
try {
Event::fire('customer.review.delete.before', $id);
Event::fire('customer.review.delete.after', $id);
$this->productReview->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review']));
Event::fire('customer.review.delete.after', $id);
return redirect()->back();
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Review']));
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Review']));
}
return response()->json(['message' => false], 400);
}
/**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
{
"/js/shop.js": "/js/shop.js?id=412d129ed770afb5dee3",
"/css/shop.css": "/css/shop.css?id=068329de73da5012af0d"
"/js/shop.js": "/js/shop.js?id=5ade52a585b66593b58a",
"/css/shop.css": "/css/shop.css?id=cfe2988431c8f8841d4b"
}

View File

@ -53,4 +53,4 @@ class Locale
return $next($request);
}
}
}

View File

@ -1,7 +1,6 @@
<?php
Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function () {
Route::group(['middleware' => ['web', 'locale', 'theme', 'currency']], function () {
//Store front home
Route::get('/', 'Webkul\Shop\Http\Controllers\HomeController@index')->defaults('_config', [
'view' => 'shop::home.index'
@ -41,7 +40,7 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function
])->name('shop.checkout.cart.index');
//Cart Items Add
Route::post('checkout/cart/add/{id}', 'Webkul\Shop\Http\Controllers\CartController@add')->defaults('_config',[
Route::post('checkout/cart/add/{id}', 'Webkul\Shop\Http\Controllers\CartController@add')->defaults('_config', [
'redirect' => 'shop.checkout.cart.index'
])->name('cart.add');
@ -52,12 +51,12 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function
Route::get('checkout/cart/remove/{id}', 'Webkul\Shop\Http\Controllers\CartController@remove')->name('cart.remove');
//Cart Update Before Checkout
Route::post('/checkout/cart', 'Webkul\Shop\Http\Controllers\CartController@updateBeforeCheckout')->defaults('_config',[
Route::post('/checkout/cart', 'Webkul\Shop\Http\Controllers\CartController@updateBeforeCheckout')->defaults('_config', [
'redirect' => 'shop.checkout.cart.index'
])->name('shop.checkout.cart.update');
//Cart Items Remove
Route::get('/checkout/cart/remove/{id}', 'Webkul\Shop\Http\Controllers\CartController@remove')->defaults('_config',[
Route::get('/checkout/cart/remove/{id}', 'Webkul\Shop\Http\Controllers\CartController@remove')->defaults('_config', [
'redirect' => 'shop.checkout.cart.index'
])->name('shop.checkout.cart.remove');
@ -187,7 +186,7 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function
//Customer Profile Show
Route::get('profile', 'Webkul\Customer\Http\Controllers\CustomerController@index')->defaults('_config', [
'view' => 'shop::customers.account.profile.index'
'view' => 'shop::customers.account.profile.index'
])->name('customer.profile.index');
//Customer Profile Edit Form Show
@ -267,7 +266,7 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function
'redirect' => 'customer.reviews.index'
])->name('customer.review.delete');
//Customer all review delete
//Customer all review delete
Route::get('reviews/all-delete', 'Webkul\Shop\Http\Controllers\ReviewController@deleteAll')->defaults('_config', [
'redirect' => 'customer.reviews.index'
])->name('customer.review.deleteall');

View File

@ -1407,9 +1407,8 @@ section.slider-block {
}
.footer-bottom {
margin-top: -16px;
width: 100%;
height: 120px;
height: 70px;
font-size: 16px;
color: $font-color-light;
letter-spacing: -0.26px;
@ -2927,8 +2926,8 @@ section.review {
//customers auth page css goes here
.auth-content {
padding-top: 15%;
padding-bottom: 15%;
padding-top: 5%;
padding-bottom: 5%;
.sign-up-text {
margin-bottom: 2%;
@ -4103,4 +4102,4 @@ section.review {
}
}
}
}
}

View File

@ -107,8 +107,9 @@ return [
'conditions' => 'Conditions',
'using' => 'by using this website',
'agreement' => 'Agreement',
'success' => 'Account Created Successfully, An Email Has Been Sent To Your For Account Verification',
'success-verify-email-not-sent' => 'Account Created Successfully, But Verification Email Is Not Sent',
'success' => 'Account Created Successfully',
'success-verify' => 'Account Created Successfully, an e-mail has been sent for verification.',
'success-verify-email-unsent' => 'Account created successfully, but verification e-mail unsent',
'failed' => 'Error! Cannot Create Your Account, Try Again Later',
'already-verified' => 'Your Account is already verified Or Please Try Sending A New Verification Email Again',
'verification-not-sent' => 'Error! Problem In Sending Verification Email, Try Again Later',

View File

@ -1,7 +1,9 @@
@extends('shop::layouts.master')
@section('page_title')
{{ __('shop::app.customer.login-form.page-title') }}
@endsection
@section('content-wrapper')
<div class="auth-content">

View File

@ -28,16 +28,18 @@
{!! DbView::make(core()->getCurrentChannel())->field('footer_content')->render() !!}
<div class="list-container">
<span class="list-heading">{{ __('shop::app.footer.subscribe-newsletter') }}</span>
<div class="form-container">
<form action="{{ route('shop.subscribe') }}">
<div class="control-group" :class="[errors.has('subscriber_email') ? 'has-error' : '']">
<input type="email" class="control subscribe-field" name="subscriber_email" placeholder="Email Address" required><br/>
@if(core()->getConfigData('customer.settings.newsletter.subscription'))
<span class="list-heading">{{ __('shop::app.footer.subscribe-newsletter') }}</span>
<div class="form-container">
<form action="{{ route('shop.subscribe') }}">
<div class="control-group" :class="[errors.has('subscriber_email') ? 'has-error' : '']">
<input type="email" class="control subscribe-field" name="subscriber_email" placeholder="Email Address" required><br/>
<button class="btn btn-md btn-primary">{{ __('shop::app.subscription.subscribe') }}</button>
</div>
</form>
</div>
<button class="btn btn-md btn-primary">{{ __('shop::app.subscription.subscribe') }}</button>
</div>
</form>
</div>
@endif
<?php
$query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);

View File

@ -1,19 +1,15 @@
{!! view_render_event('bagisto.shop.products.price.before', ['product' => $product]) !!}
<div class="product-price">
@inject ('priceHelper', 'Webkul\Product\Helpers\Price')
@if ($product->type == 'configurable')
<span class="price-label">{{ __('shop::app.products.price-label') }}</span>
<span class="final-price">{{ core()->currency($priceHelper->getMinimalPrice($product)) }}</span>
@else
@if ($priceHelper->haveSpecialPrice($product))
<div class="sticker sale">
{{ __('shop::app.products.sale') }}
</div>
@ -23,9 +19,7 @@
<span class="special-price">{{ core()->currency($priceHelper->getSpecialPrice($product)) }}</span>
@else
<span>{{ core()->currency($product->price) }}</span>
<span>{{ core()->currency($product->price) }}</span>
@endif
@endif

View File

@ -173,16 +173,22 @@ class TaxCategoryController extends Controller
*/
public function destroy($id)
{
$taxCategory = $this->taxCategory->findOrFail($id);
try {
Event::fire('tax.tax_category.delete.before', $id);
$this->taxCategory->delete($id);
Event::fire('tax.tax_category.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Tax Category']));
return response()->json(['message' => true], 200);
} catch(Exception $e) {
return redirect()->back();
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Tax Category']));
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -156,20 +156,23 @@ class TaxRateController extends Controller
*/
public function destroy($id)
{
// if ($this->taxRate->count() == 1) {
// session()->flash('error', trans('admin::app.settings.tax-rates.atleast-one'));
// } else {
$taxRate = $this->taxRate->findOrFail($id);
try {
Event::fire('tax.tax_rate.delete.before', $id);
// session()->flash('success', trans('admin::app.settings.tax-rates.delete'));
// }
Event::fire('tax.tax_rate.delete.before', $id);
$this->taxRate->delete($id);
$this->taxRate->delete($id);
Event::fire('tax.tax_rate.delete.after', $id);
Event::fire('tax.tax_rate.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Tax Rate']));
return redirect()->back();
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Tax Rate']));
}
return response()->json(['message' => false], 400);
}
/**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
{
"/js/ui.js": "/js/ui.js?id=0219a3829322d1811a09",
"/css/ui.css": "/css/ui.css?id=60a9d7816658e7caaf81"
}
"/js/ui.js": "/js/ui.js?id=b85ae4fe9fe1f4e140fd",
"/css/ui.css": "/css/ui.css?id=ebd8e367e702a3376353"
}

View File

@ -138,6 +138,16 @@ abstract class DataGrid
{
$parsedUrl = $this->parseUrl();
foreach ($parsedUrl as $key => $value) {
if ( $key == 'locale') {
if ( ! is_array($value)) {
unset($parsedUrl[$key]);
}
} else if ( ! is_array($value)) {
unset($parsedUrl[$key]);
}
}
if (count($parsedUrl)) {
$filteredOrSortedCollection = $this->sortOrFilterCollection($this->collection = $this->queryBuilder, $parsedUrl);
@ -329,4 +339,4 @@ abstract class DataGrid
return $this->getCollection();
}
}
}

View File

@ -41,7 +41,22 @@ h1 {
}
h2 {
font-size: 18px;
font-size: 24px;
color: $font-color;
}
h3 {
font-size: 20px;
color: $font-color;
}
h4 {
font-size: 16px;
color: $font-color;
}
h5 {
font-size: 12px;
color: $font-color;
}
@ -705,27 +720,27 @@ modal {
left: 0px;
position: fixed;
background: #000;
opacity: 0.75;
opacity: 0.7;
}
.modal-open .modal-overlay {
display: block;
}
.modal-container {
animation: fade-in-white 0.3s ease-in-out;
z-index: 11;
margin-left: -350px;
background: #ffffff;
top: 200px;
width: 600px;
max-width: 80%;
background: #ffffff;
position: fixed;
left: 50%;
top: 100px;
margin-bottom: 100px;
left: auto;
right: auto;
position: absolute;
z-index: 11;
@include box-shadow(
0px 15px 25px 0px rgba(0, 0, 0, 0.03),
0px 20px 45px 5px rgba(0, 0, 0, 0.2)
);
animation: fade-in-white 0.3s ease-in-out;
animation: jelly 0.5s ease-in-out;
@include border-radius(5px);
@ -881,4 +896,4 @@ modal {
.vue-swatches__trigger {
border: 1px solid #d3d3d3;
}
}

View File

@ -40,10 +40,21 @@
@if ($enableActions)
<td class="actions" style="width: 100px;" data-value=" {{ __('ui::app.datagrid.actions') }}">
<div>
<div class="action">
@foreach ($actions as $action)
<a href="{{ route($action['route'], $record->{$index}) }}">
<span class="{{ $action['icon'] }}" @if(strtolower($action['type']) == "delete") onclick="return confirm('{{ __('ui::app.datagrid.click_on_action') }}')" @endif></span>
<a
@if ($action['method'] == 'GET')
href="{{ route($action['route'], $record->{$index}) }}"
@endif
@if ($action['method'] != 'GET')
v-on:click="doAction($event)"
@endif
data-method="{{ $action['method'] }}"
data-action="{{ route($action['route'], $record->{$index}) }}"
data-token="{{ csrf_token() }}">
<span class="{{ $action['icon'] }}"></span>
</a>
@endforeach
</div>
@ -56,4 +67,4 @@
<td colspan="10" style="text-align: center;">{{ $norecords }}</td>
</tr>
@endif
</tbody>
</tbody>

View File

@ -615,18 +615,11 @@
label = 'cannotfindthislabel';
// for(colIndex in this.columns) {
// if (this.columns[colIndex].alias == this.columnOrAlias) {
// label = this.columns[colIndex].label;
// }
// }
obj.column = col;
obj.cond = cond;
obj.val = val;
if(col == "sort") {
// console.log('sort', obj.cond);
label = '';
for(colIndex in this.columns) {
@ -707,6 +700,22 @@
}
},
doAction(e) {
var element = e.currentTarget;
axios.post(element.getAttribute('data-action'), {
_token : element.getAttribute('data-token'),
_method : element.getAttribute('data-method')
}).then(function(response) {
this.result = response;
location.reload();
}).catch(function (error) {
location.reload();
});
e.preventDefault();
},
removeMassActions() {
this.dataIds = [];
@ -718,4 +727,4 @@
});
</script>
@endpush
</div>
</div>

View File

@ -134,18 +134,28 @@ class RoleController extends Controller
*/
public function destroy($id)
{
if ($this->role->count() == 1) {
session()->flash('error', 'At least one role is required.');
$role = $this->role->findOrFail($id);
if ($role->admins->count() >= 1) {
session()->flash('error', trans('admin::app.response.being-used', ['name' => 'Role', 'source' => 'Admin User']));
} else if($this->role->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Role']));
} else {
Event::fire('user.role.delete.before', $id);
try {
Event::fire('user.role.delete.before', $id);
$this->role->delete($id);
$this->role->delete($id);
Event::fire('user.role.delete.after', $id);
Event::fire('user.role.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Role']));
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Role']));
return response()->json(['message' => true], 200);
} catch(\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Role']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
}

View File

@ -159,6 +159,8 @@ class UserController extends Controller
*/
public function destroy($id)
{
$user = $this->admin->findOrFail($id);
if ($this->admin->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Admin']));
} else {
@ -168,14 +170,20 @@ class UserController extends Controller
return view('admin::customers.confirm-password');
}
$this->admin->delete($id);
try {
$this->admin->delete($id);
Event::fire('user.admin.delete.after', $id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Admin']));
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Admin source']));
Event::fire('user.admin.delete.after', $id);
return response()->json(['message' => true], 200);
} catch (\Exception $e) {
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Admin']));
}
}
return redirect()->back();
return response()->json(['message' => false], 400);
}
/**

View File

@ -29,8 +29,6 @@ class Bouncer
public function checkIfAuthorized($request)
{
// dd(auth()->guard('admin')->user()->role);
if (! $role = auth()->guard('admin')->user()->role)
abort(401, 'This action is unauthorized.');
@ -44,4 +42,4 @@ class Bouncer
}
}
}
}
}