added import export for categories
This commit is contained in:
parent
43bafc9afd
commit
80be6cf339
30
app/Exports/Settings/Categories.php
Normal file
30
app/Exports/Settings/Categories.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exports\Settings;
|
||||||
|
|
||||||
|
use App\Abstracts\Export;
|
||||||
|
use App\Models\Setting\Category as Model;
|
||||||
|
|
||||||
|
class Categories extends Export
|
||||||
|
{
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
$model = Model::usingSearchString(request('search'));
|
||||||
|
|
||||||
|
if (!empty($this->ids)) {
|
||||||
|
$model->whereIn('id', (array) $this->ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $model->cursor();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fields(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'name',
|
||||||
|
'type',
|
||||||
|
'color',
|
||||||
|
'enabled',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@ -3,7 +3,10 @@
|
|||||||
namespace App\Http\Controllers\Settings;
|
namespace App\Http\Controllers\Settings;
|
||||||
|
|
||||||
use App\Abstracts\Http\Controller;
|
use App\Abstracts\Http\Controller;
|
||||||
|
use App\Exports\Settings\Categories as Export;
|
||||||
|
use App\Http\Requests\Common\Import as ImportRequest;
|
||||||
use App\Http\Requests\Setting\Category as Request;
|
use App\Http\Requests\Setting\Category as Request;
|
||||||
|
use App\Imports\Settings\Categories as Import;
|
||||||
use App\Jobs\Setting\CreateCategory;
|
use App\Jobs\Setting\CreateCategory;
|
||||||
use App\Jobs\Setting\DeleteCategory;
|
use App\Jobs\Setting\DeleteCategory;
|
||||||
use App\Jobs\Setting\UpdateCategory;
|
use App\Jobs\Setting\UpdateCategory;
|
||||||
@ -88,6 +91,34 @@ class Categories extends Controller
|
|||||||
return response()->json($response);
|
return response()->json($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Import the specified resource.
|
||||||
|
*
|
||||||
|
* @param ImportRequest $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function import(ImportRequest $request)
|
||||||
|
{
|
||||||
|
$response = $this->importExcel(new Import, $request);
|
||||||
|
|
||||||
|
if ($response['success']) {
|
||||||
|
$response['redirect'] = route('categories.index');
|
||||||
|
|
||||||
|
$message = trans('messages.success.imported', ['type' => trans_choice('general.categories', 2)]);
|
||||||
|
|
||||||
|
flash($message)->success();
|
||||||
|
} else {
|
||||||
|
$response['redirect'] = route('import.create', ['settings', 'categories']);
|
||||||
|
|
||||||
|
$message = $response['message'];
|
||||||
|
|
||||||
|
flash($message)->error()->important();
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($response);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the form for editing the specified resource.
|
* Show the form for editing the specified resource.
|
||||||
*
|
*
|
||||||
@ -200,6 +231,16 @@ class Categories extends Controller
|
|||||||
return response()->json($response);
|
return response()->json($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Export the specified resource.
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function export()
|
||||||
|
{
|
||||||
|
return $this->exportExcel(new Export, trans_choice('general.categories', 2));
|
||||||
|
}
|
||||||
|
|
||||||
public function category(Request $request)
|
public function category(Request $request)
|
||||||
{
|
{
|
||||||
$category = $this->dispatch(new CreateCategory($request));
|
$category = $this->dispatch(new CreateCategory($request));
|
||||||
|
20
app/Imports/Settings/Categories.php
Normal file
20
app/Imports/Settings/Categories.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Imports\Settings;
|
||||||
|
|
||||||
|
use App\Abstracts\Import;
|
||||||
|
use App\Http\Requests\Setting\Category as Request;
|
||||||
|
use App\Models\Setting\Category as Model;
|
||||||
|
|
||||||
|
class Categories extends Import
|
||||||
|
{
|
||||||
|
public function model(array $row)
|
||||||
|
{
|
||||||
|
return new Model($row);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function rules(): array
|
||||||
|
{
|
||||||
|
return (new Request())->rules();
|
||||||
|
}
|
||||||
|
}
|
BIN
public/files/import/categories.xlsx
Normal file
BIN
public/files/import/categories.xlsx
Normal file
Binary file not shown.
@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
@section('title', trans_choice('general.categories', 2))
|
@section('title', trans_choice('general.categories', 2))
|
||||||
|
|
||||||
@can('create-settings-categories')
|
@section('new_button')
|
||||||
@section('new_button')
|
@can('create-settings-categories')
|
||||||
<a href="{{ route('categories.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
<a href="{{ route('categories.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||||
@endsection
|
<a href="{{ route('import.create', ['settings', 'categories']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
|
||||||
@endcan
|
@endcan
|
||||||
|
<a href="{{ route('categories.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
|
||||||
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
@ -145,6 +145,8 @@ Route::group(['prefix' => 'banking'], function () {
|
|||||||
|
|
||||||
Route::group(['prefix' => 'settings'], function () {
|
Route::group(['prefix' => 'settings'], function () {
|
||||||
Route::post('categories/category', 'Settings\Categories@category');
|
Route::post('categories/category', 'Settings\Categories@category');
|
||||||
|
Route::post('categories/import', 'Settings\Categories@import')->name('categories.import');
|
||||||
|
Route::get('categories/export', 'Settings\Categories@export')->name('categories.export');
|
||||||
Route::get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
|
Route::get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
|
||||||
Route::get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
|
Route::get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
|
||||||
Route::resource('categories', 'Settings\Categories');
|
Route::resource('categories', 'Settings\Categories');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user