Files
CKB/routes/web.php

218 lines
9.6 KiB
PHP

<?php
use App\Http\Controllers\AdminController;
use App\Http\Controllers\CategoryController;
use App\Http\Controllers\DealerController;
use App\Http\Controllers\ReportController;
use App\Http\Controllers\RolePrivilegeController;
use App\Http\Controllers\TransactionController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\WarehouseManagement\ProductCategoriesController;
use App\Http\Controllers\WarehouseManagement\ProductsController;
use App\Http\Controllers\WorkController;
use App\Models\Menu;
use App\Models\Privilege;
use App\Models\Role;
use App\Models\User;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Auth;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/clear', function() {
Artisan::call('cache:clear');
});
Route::get('delete_role_privileges', function() {
Privilege::query()->delete();
Menu::query()->delete();
Role::query()->delete();
});
Route::get('create_menus', function () {
$menus = [
[
'name' => 'Admin Area',
'link' => 'adminarea',
'created_at'=> now()
],
[
'name' => 'Mekanik Area',
'link' => 'mechanicarea',
'created_at'=> now()
],
[
'name' => 'Dashboard',
'link' => 'dashboard',
'created_at'=> now()
],
[
'name' => 'Dealer',
'link' => 'dealer.index',
'created_at'=> now()
],
[
'name' => 'Kategori',
'link' => 'category.index',
'created_at'=> now()
],
[
'name' => 'Pekerjaan',
'link' => 'work.index',
'created_at'=> now()
],
[
'name' => 'User',
'link' => 'user.index',
'created_at'=> now()
],
[
'name' => 'Role & Privileges',
'link' => 'roleprivileges.index',
'created_at'=> now()
],
[
'name' => 'Laporan Pekerjaan',
'link' => 'report.transaction',
'created_at'=> now()
],
[
'name' => 'Laporan Performa SA',
'link' => 'report.transaction_sa',
'created_at'=> now()
],
[
'name' => 'Laporan Performa Dealer',
'link' => 'report.transaction_dealer',
'created_at'=> now()
],
];
Menu::insert($menus);
});
Route::get('create_role_privileges', function() {
$role = Role::create([
'name' => 'admin'
]);
$menus = Menu::all();
foreach($menus as $menu) {
Privilege::create([
'role_id' => $role->id,
'menu_id' => $menu->id,
'create' => 1,
'update' => 1,
'delete' => 1,
'view' => 1
]);
}
});
Route::get('assign_role_to_user', function() {
$users = User::all();
foreach($users as $user) {
if($user->role == 'mechanic') {
User::find($user->id)->update([
'role_id' => 3
]);
}
if($user->role == 'admin') {
User::find($user->id)->update([
'role_id' => 2
]);
}
if($user->role == null) {
User::find($user->id)->update([
'role_id' => 2
]);
}
if($user->role == 'sa') {
User::find($user->id)->update([
'role_id' => 4
]);
}
}
});
Route::group(['middleware' => 'auth'], function() {
Route::group(['middleware' => 'mechanicRole'], function() {
Route::get('/', [TransactionController::class, 'index'])->name('transaction');
Route::get('/transaction/lists', [TransactionController::class, 'lists'])->name('transaction.lists');
Route::get('/transaction/recap', [TransactionController::class, 'recap'])->name('transaction.recap');
Route::post('/transaction/store', [TransactionController::class, 'store'])->name('transaction.store');
Route::get('/transaction/category/{id}', [TransactionController::class, 'workcategory'])->name('transaction.workcategory');
Route::delete('/transaction/destory/{id}', [TransactionController::class, 'destroy'])->name('transaction.destroy');
Route::get('/transaction/edit/{id}', [TransactionController::class, 'edit'])->name('transaction.edit');
Route::put('/transaction/update/{id}', [TransactionController::class, 'update'])->name('transaction.update');
});
Route::group(['prefix' => 'admin', 'middleware' => 'adminRole'], function() {
Route::get('/dashboard2', [AdminController::class, 'dashboard2'])->name('dashboard2');
Route::post('/dealer_work_trx', [AdminController::class, 'dealer_work_trx'])->name('dealer_work_trx');
Route::get('/work_dealer_trx', [AdminController::class, 'work_dealer_trx'])->name('work_dealer_trx');
Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('dashboard');
Route::get('/dashboard_data', [AdminController::class, 'dashboard_data'])->name('dashboard_data');
Route::get('/dashboard2', [AdminController::class, 'dashboard2'])->name('dashboard2');
Route::post('/get_dealer_has_transactions', [AdminController::class, 'get_dealer_has_transactions'])->name('get_dealer_has_transactions');
Route::get('/dealer/recap/{id}', [AdminController::class, 'dealer_recap'])->name('dealer_recap');
Route::post('dealer/pic/store/{id}', [DealerController::class, 'pic_store'])->name('dealer.picstore');
Route::resource('dealer', DealerController::class);
Route::resource('category', CategoryController::class);
Route::resource('work', WorkController::class);
Route::get('/user', [UserController::class, 'index'])->name('user.index');
Route::post('/user', [UserController::class, 'store'])->name('user.store');
Route::delete('/user/{id}', [UserController::class, 'destroy'])->name('user.destroy');
Route::get('/user/{id}/edit', [UserController::class, 'edit'])->name('user.edit');
Route::put('/user/{id}/update', [UserController::class, 'update'])->name('user.update');
Route::get('/roleprivileges', [RolePrivilegeController::class, 'index'])->name('roleprivileges.index');
Route::post('/roleprivileges/store', [RolePrivilegeController::class, 'store'])->name('roleprivileges.store');
Route::get('/roleprivileges/{id}/edit', [RolePrivilegeController::class, 'edit'])->name('roleprivileges.edit');
Route::put('/roleprivileges/{id}/update', [RolePrivilegeController::class, 'update'])->name('roleprivileges.update');
Route::delete('/roleprivileges/{id}/delete', [RolePrivilegeController::class, 'delete'])->name('roleprivileges.delete');
Route::get('/report/transaction', [ReportController::class, 'transaction'])->name('report.transaction');
Route::post('/report/transaction/data', [ReportController::class, 'transaction_data'])->name('report.transaction_data');
Route::delete('/report/transaction/destory/{id}', [ReportController::class, 'destroy_transaction'])->name('report.transaction.destroy');
Route::put('/report/transaction/close/{id}', [ReportController::class, 'close_transaction'])->name('report.transaction.close');
Route::post('/report/transaction/close', [ReportController::class, 'bulk_close_transaction'])->name('report.transaction.bulkclose');
Route::get('/report/transaction/export', [ReportController::class, 'export'])->name('report.transaction.export');
Route::get('/report/transaction/edit/{id}', [ReportController::class, 'edit'])->name('report.transaction.edit');
Route::put('/report/transaction/update/{id}', [ReportController::class, 'update'])->name('report.transaction.update');
Route::get('/report/transaction_sa', [ReportController::class, 'transaction_sa'])->name('report.transaction_sa');
Route::get('/report/transaction_sa_data', [ReportController::class, 'transaction_sa_data'])->name('report.transaction_sa_data');
Route::post('/report/sa_work_trx', [ReportController::class, 'sa_work_trx'])->name('report.sa_work_trx');
Route::post('/report/get_sa_has_transactions', [ReportController::class, 'get_sa_has_transactions'])->name('report.get_sa_has_transactions');
Route::get('/report/transaction_dealer/export', [ReportController::class, 'dealer_export'])->name('report.transaction_dealer.export');
Route::get('/report/transaction_sa/export', [ReportController::class, 'sa_export'])->name('report.transaction_sa.export');
Route::get('/report/transaction_dealer', [ReportController::class, 'transaction_dealer'])->name('report.transaction_dealer');
});
Route::prefix('warehouse')->group(function (){
Route::resource('products', ProductsController::class);
Route::resource('product_categories', ProductCategoriesController::class);
Route::get('categories/parents', [ProductCategoriesController::class, 'getParents']);
});
});
Auth::routes();
// Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');