Compare commits
8 Commits
8c50568c83
...
bcc3d8b575
Author | SHA1 | Date |
---|---|---|
|
bcc3d8b575 | |
|
dbe920e45f | |
|
44fda60efe | |
|
50b9bb341c | |
|
c13313e87d | |
|
cdcda6161e | |
|
8a88848681 | |
|
3f471f976f |
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admins;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DashboardController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
return view('pages.admin.dashboard');
|
||||||
|
}
|
||||||
|
}
|
|
@ -22,7 +22,7 @@ class UserController extends Controller
|
||||||
// call table user with pagination
|
// call table user with pagination
|
||||||
$users = User::latest()->paginate(10);
|
$users = User::latest()->paginate(10);
|
||||||
|
|
||||||
return view('pages.admins.users.index', compact('users'));
|
return view('pages.admin.users.index', compact('users'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,7 +33,7 @@ class UserController extends Controller
|
||||||
$roles = Role::latest()->get();
|
$roles = Role::latest()->get();
|
||||||
|
|
||||||
// call view users.create
|
// call view users.create
|
||||||
return view('pages.admins.users.create', compact('roles'));
|
return view('pages.admin.users.create', compact('roles'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -94,7 +94,7 @@ class UserController extends Controller
|
||||||
$roles = Role::latest()->get();
|
$roles = Role::latest()->get();
|
||||||
|
|
||||||
// call view pages
|
// call view pages
|
||||||
return view('pages.admins.users.edit', compact('user', 'roles'));
|
return view('pages.admin.users.edit', compact('user', 'roles'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -107,7 +107,7 @@ class AuthController extends Controller
|
||||||
'msg' => 'Anda berhasil melakukan Login!'
|
'msg' => 'Anda berhasil melakukan Login!'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect()->intended('/transaksi');
|
return Redirect::to($this->redirectTo());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create Session message
|
// Create Session message
|
||||||
|
@ -130,6 +130,23 @@ class AuthController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function redirectTo()
|
||||||
|
{
|
||||||
|
$role = Auth::user()->role;
|
||||||
|
switch ($role[0]->name) {
|
||||||
|
case 'Admin':
|
||||||
|
return '/dashboard';
|
||||||
|
break;
|
||||||
|
case 'Kasir':
|
||||||
|
return '/transaksi';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return '/transaksi';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logout and back to form login
|
* Logout and back to form login
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -11,7 +11,7 @@ class Menu extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('pages.menu.index');
|
return view('pages.Menu.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDataMenu()
|
public function getDataMenu()
|
||||||
|
|
|
@ -118,6 +118,8 @@ class Transaksi extends Controller
|
||||||
'orderMenus.required' => 'Pesanan tidak boleh kosong',
|
'orderMenus.required' => 'Pesanan tidak boleh kosong',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$user = request()->user();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
|
@ -131,28 +133,50 @@ class Transaksi extends Controller
|
||||||
$lastCountPesanan = Pesanan::whereDate('created_at', date('Y-m-d'))->count() + 1;
|
$lastCountPesanan = Pesanan::whereDate('created_at', date('Y-m-d'))->count() + 1;
|
||||||
// calculate nomor antrian
|
// calculate nomor antrian
|
||||||
$nomorAntrian = $lastCountPesanan;
|
$nomorAntrian = $lastCountPesanan;
|
||||||
$pesananDatas = [
|
|
||||||
'kode_pesanan' => $request->orderCode,
|
|
||||||
'nama_pemesan' => $request->namaPemesan,
|
|
||||||
'nomor_pemesan' => $request->nomorPemesan,
|
|
||||||
'nomor_meja' => $request->nomorMeja,
|
|
||||||
'status_pesanan' => '1',
|
|
||||||
'tanggal_pesanan' => date('Y-m-d H:i:s'),
|
|
||||||
'keterangan_pesanan' => $request->keteranganPesanan ?? null,
|
|
||||||
'nomor_antrian' => $nomorAntrian,
|
|
||||||
'total_pesanan' => $orderMenusQty,
|
|
||||||
'total_bayar' => $orderMenusRupiah,
|
|
||||||
'grand_total' => $request->totalDiskon,
|
|
||||||
'nominal_bayar' => $request->nominalBayar,
|
|
||||||
'diskon_persen' => $request->diskon,
|
|
||||||
'nominal_kembali' => $request->kembali,
|
|
||||||
'status_bayar' => '1',
|
|
||||||
'user_id' => '1',
|
|
||||||
'jenis_pembayaran' => $request->jenis_pembayaran,
|
|
||||||
'coa_kas' => $request->coa_kas,
|
|
||||||
];
|
|
||||||
|
|
||||||
$pesananModels = \App\Models\Pesanan::create($pesananDatas);
|
if($request->jenis_pembayaran == "1"){
|
||||||
|
$pesananDatas = [
|
||||||
|
'kode_pesanan' => $request->orderCode,
|
||||||
|
'nama_pemesan' => $request->namaPemesan,
|
||||||
|
'nomor_pemesan' => $request->nomorPemesan,
|
||||||
|
'nomor_meja' => $request->nomorMeja,
|
||||||
|
'status_pesanan' => '1',
|
||||||
|
'tanggal_pesanan' => date('Y-m-d H:i:s'),
|
||||||
|
'keterangan_pesanan' => $request->keteranganPesanan ?? null,
|
||||||
|
'nomor_antrian' => $nomorAntrian,
|
||||||
|
'total_pesanan' => $orderMenusQty,
|
||||||
|
'total_bayar' => $orderMenusRupiah,
|
||||||
|
'grand_total' => $request->totalDiskon,
|
||||||
|
'nominal_bayar' => $request->nominalBayar,
|
||||||
|
'diskon_persen' => $request->diskon,
|
||||||
|
'nominal_kembali' => $request->kembali,
|
||||||
|
'status_bayar' => '1',
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'jenis_pembayaran' => $request->jenis_pembayaran,
|
||||||
|
];
|
||||||
|
$pesananModels = \App\Models\Pesanan::create($pesananDatas);
|
||||||
|
}else{
|
||||||
|
$pesananDatas = [
|
||||||
|
'kode_pesanan' => $request->orderCode,
|
||||||
|
'nama_pemesan' => $request->namaPemesan,
|
||||||
|
'nomor_pemesan' => $request->nomorPemesan,
|
||||||
|
'nomor_meja' => $request->nomorMeja,
|
||||||
|
'status_pesanan' => '1',
|
||||||
|
'tanggal_pesanan' => date('Y-m-d H:i:s'),
|
||||||
|
'keterangan_pesanan' => $request->keteranganPesanan ?? null,
|
||||||
|
'nomor_antrian' => $nomorAntrian,
|
||||||
|
'total_pesanan' => $orderMenusQty,
|
||||||
|
'total_bayar' => $orderMenusRupiah,
|
||||||
|
'grand_total' => $request->totalDiskon,
|
||||||
|
'nominal_bayar' => $request->totalDiskon,
|
||||||
|
'diskon_persen' => $request->diskon,
|
||||||
|
'nominal_kembali' => 0,
|
||||||
|
'status_bayar' => '1',
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'jenis_pembayaran' => $request->jenis_pembayaran,
|
||||||
|
];
|
||||||
|
$pesananModels = \App\Models\Pesanan::create($pesananDatas);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($request->orderMenus as $key => $value) {
|
foreach ($request->orderMenus as $key => $value) {
|
||||||
// calculate produk promo untuk mengurangi stok
|
// calculate produk promo untuk mengurangi stok
|
||||||
|
@ -181,12 +205,37 @@ class Transaksi extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
// keuangan
|
// keuangan
|
||||||
// jika pembayaran tunai
|
// jika pembayaran non tunai
|
||||||
if($request->jenis_pembayaran == "1"){
|
if($request->jenis_pembayaran == "2"){
|
||||||
|
BukuBesar::create([
|
||||||
|
'faktur' => 'PJ-'.date('YmdHis'),
|
||||||
|
'tanggal' => date('Y-m-d'),
|
||||||
|
'rekening_coa_id' => $request->id_rekening_coa,
|
||||||
|
'pesanans_id' => $pesananModels->id,
|
||||||
|
'kode_rekening_coa' => $request->kode_coa,
|
||||||
|
'keterangan_coa' => $request->keterangan_coa,
|
||||||
|
'keterangan' => 'Penjualan Non Tunai['.$request->orderCode.']',
|
||||||
|
'debet' => $request->totalDiskon,
|
||||||
|
'kredit' => 0
|
||||||
|
]);
|
||||||
|
BukuBesar::create([
|
||||||
|
'faktur' => 'PJ-'.date('YmdHis'),
|
||||||
|
'tanggal' => date('Y-m-d'),
|
||||||
|
'rekening_coa_id' => "35",
|
||||||
|
'pesanans_id' => $pesananModels->id,
|
||||||
|
'kode_rekening_coa' => "4.100.01",
|
||||||
|
'keterangan_coa' => "Pendapatan Penjualan",
|
||||||
|
'keterangan' => 'Penjualan Non Tunai['.$request->orderCode.']',
|
||||||
|
'debet' => 0,
|
||||||
|
'kredit' => $request->totalDiskon
|
||||||
|
]);
|
||||||
|
// jika pembayaran tunai
|
||||||
|
}else{
|
||||||
BukuBesar::create([
|
BukuBesar::create([
|
||||||
'faktur' => 'PJ-'.date('YmdHis'),
|
'faktur' => 'PJ-'.date('YmdHis'),
|
||||||
'tanggal' => date('Y-m-d'),
|
'tanggal' => date('Y-m-d'),
|
||||||
'rekening_coa_id' => "2",
|
'rekening_coa_id' => "2",
|
||||||
|
'pesanans_id' => $pesananModels->id,
|
||||||
'kode_rekening_coa' => "1.100.01",
|
'kode_rekening_coa' => "1.100.01",
|
||||||
'keterangan_coa' => "Kas Kasir",
|
'keterangan_coa' => "Kas Kasir",
|
||||||
'keterangan' => 'Penjualan Tunai['.$request->orderCode.']',
|
'keterangan' => 'Penjualan Tunai['.$request->orderCode.']',
|
||||||
|
@ -197,15 +246,13 @@ class Transaksi extends Controller
|
||||||
'faktur' => 'PJ-'.date('YmdHis'),
|
'faktur' => 'PJ-'.date('YmdHis'),
|
||||||
'tanggal' => date('Y-m-d'),
|
'tanggal' => date('Y-m-d'),
|
||||||
'rekening_coa_id' => "35",
|
'rekening_coa_id' => "35",
|
||||||
|
'pesanans_id' => $pesananModels->id,
|
||||||
'kode_rekening_coa' => "4.100.01",
|
'kode_rekening_coa' => "4.100.01",
|
||||||
'keterangan_coa' => "Pendapatan Penjualan",
|
'keterangan_coa' => "Pendapatan Penjualan",
|
||||||
'keterangan' => 'Penjualan Tunai['.$request->orderCode.']',
|
'keterangan' => 'Penjualan Tunai['.$request->orderCode.']',
|
||||||
'debet' => 0,
|
'debet' => 0,
|
||||||
'kredit' => $request->totalDiskon
|
'kredit' => $request->totalDiskon
|
||||||
]);
|
]);
|
||||||
// jika pembayaran non tunai
|
|
||||||
}else{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
|
@ -65,7 +65,7 @@ class Kernel extends HttpKernel
|
||||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||||
'role' => \Spatie\Permission\Middleware\RoleMiddleware::class,
|
'role' => \Spatie\Permission\Middleware\RoleMiddleware::class,
|
||||||
'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class,
|
'permission' => \App\Http\Middleware\PermissionMiddleware::class,
|
||||||
'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class,
|
'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Spatie\Permission\Exceptions\UnauthorizedException;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
class PermissionMiddleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||||
|
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||||
|
*/
|
||||||
|
public function handle($request, Closure $next, $permission = null, $guard = null)
|
||||||
|
{
|
||||||
|
$authGuard = app('auth')->guard($guard);
|
||||||
|
|
||||||
|
if ($authGuard->guest()) {
|
||||||
|
throw UnauthorizedException::notLoggedIn();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_null($permission)) {
|
||||||
|
$permissions = is_array($permission)
|
||||||
|
? $permission
|
||||||
|
: explode('|', $permission);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_null($permission)) {
|
||||||
|
$permission = $request->route()->getName();
|
||||||
|
|
||||||
|
$permissions = array($permission);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($permissions as $permission) {
|
||||||
|
if ($authGuard->user()->can($permission)) {
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw UnauthorizedException::forPermissions($permissions);
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,7 +21,20 @@ class RedirectIfAuthenticated
|
||||||
|
|
||||||
foreach ($guards as $guard) {
|
foreach ($guards as $guard) {
|
||||||
if (Auth::guard($guard)->check()) {
|
if (Auth::guard($guard)->check()) {
|
||||||
return redirect(RouteServiceProvider::HOME);
|
// return redirect(RouteServiceProvider::HOME);
|
||||||
|
$role = Auth::user()->role;
|
||||||
|
switch ($role[0]->name) {
|
||||||
|
case 'Admin':
|
||||||
|
return '/dashboard';
|
||||||
|
break;
|
||||||
|
case 'Kasir':
|
||||||
|
return '/transaksi';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return '/transaksi';
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
use Laravel\Sanctum\HasApiTokens;
|
use Laravel\Sanctum\HasApiTokens;
|
||||||
|
use Spatie\Permission\Models\Role;
|
||||||
use Spatie\Permission\Traits\HasRoles;
|
use Spatie\Permission\Traits\HasRoles;
|
||||||
|
|
||||||
class User extends Authenticatable
|
class User extends Authenticatable
|
||||||
|
@ -43,4 +44,17 @@ class User extends Authenticatable
|
||||||
'email_verified_at' => 'datetime',
|
'email_verified_at' => 'datetime',
|
||||||
'password' => 'hashed',
|
'password' => 'hashed',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that should be cast.
|
||||||
|
*
|
||||||
|
* @var array<string, string>
|
||||||
|
*/
|
||||||
|
protected $guard_name = 'web';
|
||||||
|
|
||||||
|
// role
|
||||||
|
public function role()
|
||||||
|
{
|
||||||
|
return $this->belongsToMany(Role::class, 'model_has_roles', 'model_id', 'role_id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ return new class extends Migration
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::table('pesanans', function (Blueprint $table) {
|
Schema::table('pesanans', function (Blueprint $table) {
|
||||||
$table->foreignId('coa_kas')->nullable()->after('jenis_pembayaran')->references('id')->on('rekening_coa')->onUpdate('cascade')->onDelete('cascade');
|
$table->foreignId('coa_kas')->nullable()->after('jenis_pembayaran')->comment('kolom ini tidak terpakai')->references('id')->on('rekening_coa')->onUpdate('cascade')->onDelete('cascade');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('buku_besar', function (Blueprint $table) {
|
||||||
|
$table->foreignId('pesanans_id')->nullable()->after('rekening_coa_id')->references('id')->on('pesanans')->onUpdate('cascade')->onDelete('cascade');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('buku_besar', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('coa_kas');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('permissions', function (Blueprint $table) {
|
||||||
|
$table->string('group_name'); // For MySQL 8.0 use string('guard_name', 125);
|
||||||
|
$table->string('desc'); // For MySQL 8.0 use string('guard_name', 125);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('permissions', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('group_name');
|
||||||
|
$table->dropColumn('desc');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
|
@ -19,7 +19,8 @@ class DatabaseSeeder extends Seeder
|
||||||
ProdukSeeder::class,
|
ProdukSeeder::class,
|
||||||
KelompokKategoriPivotSeeder::class,
|
KelompokKategoriPivotSeeder::class,
|
||||||
|
|
||||||
// UserSeeder::class,
|
UserSeeder::class,
|
||||||
|
KasirSeeder::class,
|
||||||
RekeningCoaSeeder::class
|
RekeningCoaSeeder::class
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,90 +1,68 @@
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<nav class="main-header navbar navbar-expand-lg navbar-light navbar-warning">
|
<nav class="main-header navbar navbar-expand-lg navbar-light navbar-warning">
|
||||||
<div class="container" style="display: contents">
|
<div class="container" style="display: contents">
|
||||||
<a href="/" class="navbar-brand">
|
<a href="{{ route('transaksi.index') }}" class="navbar-brand">
|
||||||
<span class="brand-text font-weight-bold ml-2" style="color: rgba(62, 62, 62, 0.526)">Sepiring Telur
|
<span class="brand-text font-weight-bold ml-2" style="color: rgba(62, 62, 62, 0.526)">Sepiring Telur
|
||||||
Keriting</span>
|
Keriting</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
{{-- <div class="collapse navbar-collapse order-3" id="navbarCollapse">
|
<div class="collapse navbar-collapse order-3" id="navbarCollapse">
|
||||||
<!-- Left navbar links -->
|
<!-- Left navbar links -->
|
||||||
<ul class="navbar-nav">
|
<ul class="navbar-nav">
|
||||||
<li class="nav-item">
|
@can('dashboard.index', auth()->user())
|
||||||
<a href="index3.html" class="nav-link">Home</a>
|
<li class="nav-item">
|
||||||
</li>
|
<a href="{{ route('dashboard.index') }}" class="nav-link">Dashboard</a>
|
||||||
<li class="nav-item">
|
</li>
|
||||||
<a href="#" class="nav-link">Contact</a>
|
@endcan
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a id="dropdownSubMenu1" href="#" data-toggle="dropdown" aria-haspopup="true"
|
<a id="dropdownSubMenu1" href="#" data-toggle="dropdown" aria-haspopup="true"
|
||||||
aria-expanded="false" class="nav-link dropdown-toggle">Dropdown</a>
|
aria-expanded="false" class="nav-link dropdown-toggle">Transaksi</a>
|
||||||
<ul aria-labelledby="dropdownSubMenu1" class="dropdown-menu border-0 shadow">
|
<ul aria-labelledby="dropdownSubMenu1" class="dropdown-menu border-0 shadow">
|
||||||
<li><a href="#" class="dropdown-item">Some action </a></li>
|
<li><a href="#" class="dropdown-item">Order </a></li>
|
||||||
<li><a href="#" class="dropdown-item">Some other action</a></li>
|
<li><a href="#" class="dropdown-item">Pengeluaran</a></li>
|
||||||
|
|
||||||
<li class="dropdown-divider"></li>
|
<li class="dropdown-divider"></li>
|
||||||
|
<li><a href="#" class="dropdown-item">Laporan</a></li>
|
||||||
<!-- Level two dropdown-->
|
|
||||||
<li class="dropdown-submenu dropdown-hover">
|
|
||||||
<a id="dropdownSubMenu2" href="#" role="button" data-toggle="dropdown"
|
|
||||||
aria-haspopup="true" aria-expanded="false" class="dropdown-item dropdown-toggle">Hover
|
|
||||||
for action</a>
|
|
||||||
<ul aria-labelledby="dropdownSubMenu2" class="dropdown-menu border-0 shadow">
|
|
||||||
<li>
|
|
||||||
<a tabindex="-1" href="#" class="dropdown-item">level 2</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<!-- Level three dropdown-->
|
|
||||||
<li class="dropdown-submenu">
|
|
||||||
<a id="dropdownSubMenu3" href="#" role="button" data-toggle="dropdown"
|
|
||||||
aria-haspopup="true" aria-expanded="false"
|
|
||||||
class="dropdown-item dropdown-toggle">level 2</a>
|
|
||||||
<ul aria-labelledby="dropdownSubMenu3" class="dropdown-menu border-0 shadow">
|
|
||||||
<li><a href="#" class="dropdown-item">3rd level</a></li>
|
|
||||||
<li><a href="#" class="dropdown-item">3rd level</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<!-- End Level three -->
|
|
||||||
|
|
||||||
<li><a href="#" class="dropdown-item">level 2</a></li>
|
|
||||||
<li><a href="#" class="dropdown-item">level 2</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<!-- End Level two -->
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
@canany(['users.index', 'menu.index'], auth()->user())
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a id="dropdownSubMenu1" href="#" data-toggle="dropdown" aria-haspopup="true"
|
||||||
|
aria-expanded="false" class="nav-link dropdown-toggle">Master Data</a>
|
||||||
|
<ul aria-labelledby="dropdownSubMenu1" class="dropdown-menu border-0 shadow">
|
||||||
|
<li><a href="#" class="dropdown-item">Data Jenis Menu</a></li>
|
||||||
|
@can('menu.index', auth()->user())
|
||||||
|
<li><a href="{{ route('menu.index') }}" class="dropdown-item">Data Menu</a></li>
|
||||||
|
@endcan
|
||||||
|
@can('users.index', auth()->user())
|
||||||
|
<li class="dropdown-divider"></li>
|
||||||
|
<li><a href="{{ route('users.index') }}" class="dropdown-item">Setting User</a></li>
|
||||||
|
@endcan
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
@endcanany
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
<!-- SEARCH FORM -->
|
|
||||||
<form class="form-inline ml-0 ml-md-3">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<input class="form-control form-control-navbar" type="search" placeholder="Search"
|
|
||||||
aria-label="Search">
|
|
||||||
<div class="input-group-append">
|
|
||||||
<button class="btn btn-navbar" type="submit">
|
|
||||||
<i class="fas fa-search"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div> --}}
|
|
||||||
|
|
||||||
<!-- Right navbar links -->
|
<!-- Right navbar links -->
|
||||||
<ul class="order-1 order-md-3 navbar-nav navbar-no-expand ml-auto">
|
<ul class="order-1 order-md-3 navbar-nav navbar-no-expand ml-auto">
|
||||||
<!-- Messages Dropdown Menu -->
|
<!-- Messages Dropdown Menu -->
|
||||||
<li class="nav-item dropdown">
|
@can('transaksi.index', auth()->user())
|
||||||
<a class="nav-link" id="transaksi @if (Request::is('transaksi')) active @endif"
|
<li class="nav-item dropdown">
|
||||||
href="{{ route('transaksi.index') }}" role="button">
|
<a class="nav-link" id="transaksi @if (Request::is('transaksi')) active @endif"
|
||||||
Transaksi
|
href="{{ route('transaksi.index') }}" role="button">
|
||||||
</a>
|
Transaksi
|
||||||
</li>
|
</a>
|
||||||
|
</li>
|
||||||
|
@endcan
|
||||||
<!-- Notifications Dropdown Menu -->
|
<!-- Notifications Dropdown Menu -->
|
||||||
<li class="nav-item dropdown">
|
@can('history.index', auth()->user())
|
||||||
<a class="nav-link @if (Request::is('history')) active @endif" id="history"
|
<li class="nav-item dropdown">
|
||||||
href="{{ route('history.index') }}" role="button">
|
<a class="nav-link @if (Request::is('history')) active @endif" id="history"
|
||||||
History
|
href="{{ route('history.index') }}" role="button">
|
||||||
</a>
|
History
|
||||||
</li>
|
</a>
|
||||||
|
</li>
|
||||||
|
@endcan
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" id="full-screen" data-widget="control-sidebar" data-slide="true"
|
<a class="nav-link" id="full-screen" data-widget="control-sidebar" data-slide="true"
|
||||||
href="javascript:void(0)" role="button">
|
href="javascript:void(0)" role="button">
|
||||||
|
@ -93,7 +71,8 @@
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a id="dropdownSubMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
|
<a id="dropdownSubMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
|
||||||
class="nav-link" href="#">
|
class="nav-link row" href="#">
|
||||||
|
{{ auth()->user()->name }}
|
||||||
<i class="fas fa-user"></i>
|
<i class="fas fa-user"></i>
|
||||||
</a>
|
</a>
|
||||||
<ul aria-labelledby="dropdownSubMenu1" class="dropdown-menu border-0 shadow">
|
<ul aria-labelledby="dropdownSubMenu1" class="dropdown-menu border-0 shadow">
|
||||||
|
|
|
@ -115,8 +115,10 @@
|
||||||
document.getElementById('datetime-order').innerHTML = utc.toLocaleDateString("id-ID", options);
|
document.getElementById('datetime-order').innerHTML = utc.toLocaleDateString("id-ID", options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// show time every second
|
||||||
setInterval(showTime, 1000);
|
setInterval(showTime, 1000);
|
||||||
|
|
||||||
|
let globalId = 0;
|
||||||
// make function add menu to table and calculate qty and total price menu ordered and check menu ordered is exist or not in tbody table order-menus insert this in
|
// make function add menu to table and calculate qty and total price menu ordered and check menu ordered is exist or not in tbody table order-menus insert this in
|
||||||
function aadMenu(params, menuPaket = false) {
|
function aadMenu(params, menuPaket = false) {
|
||||||
var paketFreenya = [];
|
var paketFreenya = [];
|
||||||
|
@ -124,11 +126,11 @@
|
||||||
if (menuPaket == true) {
|
if (menuPaket == true) {
|
||||||
for (let index = 0; index < itemFree.length; index++) {
|
for (let index = 0; index < itemFree.length; index++) {
|
||||||
// const element = itemFree[index];
|
// const element = itemFree[index];
|
||||||
console.log(itemFree[index].nama_produk);
|
// console.log(itemFree[index].nama_produk);
|
||||||
paketFreenya.push(itemFree[index].nama_produk);
|
paketFreenya.push(itemFree[index].nama_produk);
|
||||||
idPaketFreenya.push(itemFree[index].id);
|
idPaketFreenya.push(itemFree[index].id);
|
||||||
}
|
}
|
||||||
console.log(itemFree);
|
// console.log(itemFree);
|
||||||
}
|
}
|
||||||
|
|
||||||
var table = document.getElementById("order-menus");
|
var table = document.getElementById("order-menus");
|
||||||
|
@ -185,7 +187,7 @@
|
||||||
<br>
|
<br>
|
||||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan.." value='${paketFreenyaini}'>
|
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-0" placeholder="Keterangan.." value='${paketFreenyaini}'>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
|
@ -196,7 +198,7 @@
|
||||||
<br>
|
<br>
|
||||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
|
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-0" placeholder="Keterangan..">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
|
@ -206,11 +208,11 @@
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
|
<button type="button" class="btn btn-default btn-xs btn-flat tai" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||||
</span>
|
</span>
|
||||||
<input type="text" name="bayar" class="form-control rounded-0" readonly value="${qty}">
|
<input type="text" name="bayar" class="form-control rounded-0" readonly value="${qty}">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
|
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -218,13 +220,13 @@
|
||||||
table.rows[index].cells[2].innerHTML = `
|
table.rows[index].cells[2].innerHTML = `
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="${diskonSatuan}" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
|
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="${diskonSatuan}" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
table.rows[index].cells[3].innerHTML = `
|
table.rows[index].cells[3].innerHTML = `
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
|
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||||
<i class="fas fa-trash"></i>
|
<i class="fas fa-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
|
@ -232,6 +234,8 @@
|
||||||
calculateTotal();
|
calculateTotal();
|
||||||
$('#modal-default').modal('hide');
|
$('#modal-default').modal('hide');
|
||||||
} else {
|
} else {
|
||||||
|
globalId++;
|
||||||
|
console.log(globalId);
|
||||||
if (paketFreenya.length != 0) {
|
if (paketFreenya.length != 0) {
|
||||||
if (paketFreenya.length == 3) {
|
if (paketFreenya.length == 3) {
|
||||||
paketFreenyaini = 'FREEALL';
|
paketFreenyaini = 'FREEALL';
|
||||||
|
@ -239,33 +243,33 @@
|
||||||
paketFreenyaini = paketFreenya.join(', ');
|
paketFreenyaini = paketFreenya.join(', ');
|
||||||
}
|
}
|
||||||
$('#tbody-order-menus').append(`
|
$('#tbody-order-menus').append(`
|
||||||
<tr id="row-${params.id}" data-id="${params.id}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
||||||
<td>
|
<td>
|
||||||
${params.nama_produk}
|
${params.nama_produk}
|
||||||
<br>
|
<br>
|
||||||
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan.." value="${paketFreenyaini}">
|
<input type="text" name="keterangan_satuan" class="form-control rounded-0" data-keterangan="${paketFreenyaini}" placeholder="Keterangan.." value="${paketFreenyaini}">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
|
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||||
</span>
|
</span>
|
||||||
<input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
|
<input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
|
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
|
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
|
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||||
<i class="fas fa-trash"></i>
|
<i class="fas fa-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
|
@ -273,33 +277,33 @@
|
||||||
`);
|
`);
|
||||||
} else {
|
} else {
|
||||||
$('#tbody-order-menus').append(`
|
$('#tbody-order-menus').append(`
|
||||||
<tr id="row-${params.id}" data-id="${params.id}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
|
||||||
<td>
|
<td>
|
||||||
${params.nama_produk}
|
${params.nama_produk}
|
||||||
<br>
|
<br>
|
||||||
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
<small class="text-primary">Rp. ${params.harga_produk}</small>
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
|
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-0" placeholder="Keterangan..">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
|
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
|
||||||
</span>
|
</span>
|
||||||
<input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
|
<input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
|
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
|
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
|
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
|
||||||
<i class="fas fa-trash"></i>
|
<i class="fas fa-trash"></i>
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
|
@ -314,11 +318,12 @@
|
||||||
|
|
||||||
// delete menu from table and calculate qty and total price menu ordered
|
// delete menu from table and calculate qty and total price menu ordered
|
||||||
function deleteMenu(params) {
|
function deleteMenu(params) {
|
||||||
|
console.log(params);
|
||||||
var table = document.getElementById("order-menus");
|
var table = document.getElementById("order-menus");
|
||||||
var index = 0;
|
var index = 0;
|
||||||
|
|
||||||
for (var i = 1, row; row = table.rows[i]; i++) {
|
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||||
var id = row.getAttribute('data-id');
|
var id = row.getAttribute('data-row-id');
|
||||||
|
|
||||||
if (id == params) {
|
if (id == params) {
|
||||||
index = i;
|
index = i;
|
||||||
|
@ -358,11 +363,12 @@
|
||||||
|
|
||||||
// increment qty menu ordered
|
// increment qty menu ordered
|
||||||
function incrementMenu(params, nama_produk) {
|
function incrementMenu(params, nama_produk) {
|
||||||
|
console.log(params);
|
||||||
var table = document.getElementById("order-menus");
|
var table = document.getElementById("order-menus");
|
||||||
var index = 0;
|
var index = 0;
|
||||||
|
|
||||||
for (var i = 1, row; row = table.rows[i]; i++) {
|
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||||
var id = row.getAttribute('data-id');
|
var id = row.getAttribute('data-row-id');
|
||||||
|
|
||||||
if (id == params) {
|
if (id == params) {
|
||||||
index = i;
|
index = i;
|
||||||
|
@ -373,6 +379,8 @@
|
||||||
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
|
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
|
||||||
var total = table.rows[index].getAttribute('data-total');
|
var total = table.rows[index].getAttribute('data-total');
|
||||||
var harga = table.rows[index].getAttribute('data-harga');
|
var harga = table.rows[index].getAttribute('data-harga');
|
||||||
|
var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute(
|
||||||
|
'data-keterangan');
|
||||||
|
|
||||||
qty = parseInt(qty) + 1;
|
qty = parseInt(qty) + 1;
|
||||||
var totalLama = parseInt(total) + parseInt(harga);
|
var totalLama = parseInt(total) + parseInt(harga);
|
||||||
|
@ -389,7 +397,7 @@
|
||||||
<br>
|
<br>
|
||||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
|
<input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-0" placeholder="Keterangan..">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
|
@ -417,7 +425,7 @@
|
||||||
var index = 0;
|
var index = 0;
|
||||||
|
|
||||||
for (var i = 1, row; row = table.rows[i]; i++) {
|
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||||
var id = row.getAttribute('data-id');
|
var id = row.getAttribute('data-row-id');
|
||||||
|
|
||||||
if (id == params) {
|
if (id == params) {
|
||||||
index = i;
|
index = i;
|
||||||
|
@ -428,6 +436,8 @@
|
||||||
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
|
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
|
||||||
var total = table.rows[index].getAttribute('data-total');
|
var total = table.rows[index].getAttribute('data-total');
|
||||||
var harga = table.rows[index].getAttribute('data-harga');
|
var harga = table.rows[index].getAttribute('data-harga');
|
||||||
|
var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute(
|
||||||
|
'data-keterangan');
|
||||||
|
|
||||||
if (qty > 1) {
|
if (qty > 1) {
|
||||||
qty = parseInt(qty) - 1;
|
qty = parseInt(qty) - 1;
|
||||||
|
@ -445,7 +455,7 @@
|
||||||
<br>
|
<br>
|
||||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
|
<input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-0" placeholder="Keterangan..">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
|
@ -474,7 +484,7 @@
|
||||||
var index = 0;
|
var index = 0;
|
||||||
|
|
||||||
for (var i = 1, row; row = table.rows[i]; i++) {
|
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||||
var id = row.getAttribute('data-id');
|
var id = row.getAttribute('data-row-id');
|
||||||
|
|
||||||
if (id == params) {
|
if (id == params) {
|
||||||
index = i;
|
index = i;
|
||||||
|
@ -485,7 +495,8 @@
|
||||||
var diskonSatuan = parseInt(diskon);
|
var diskonSatuan = parseInt(diskon);
|
||||||
var total = table.rows[index].getAttribute('data-total');
|
var total = table.rows[index].getAttribute('data-total');
|
||||||
var harga = table.rows[index].getAttribute('data-harga');
|
var harga = table.rows[index].getAttribute('data-harga');
|
||||||
|
var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute(
|
||||||
|
'data-keterangan');
|
||||||
|
|
||||||
// if (diskonSatuan >= 1) {
|
// if (diskonSatuan >= 1) {
|
||||||
// console.log(diskonSatuan);
|
// console.log(diskonSatuan);
|
||||||
|
@ -504,7 +515,7 @@
|
||||||
<br>
|
<br>
|
||||||
${(diskonSatuan >= 1) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
${(diskonSatuan >= 1) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
|
||||||
<div class="input-group input-group-sm mt-1">
|
<div class="input-group input-group-sm mt-1">
|
||||||
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
|
<input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-0" placeholder="Keterangan..">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
|
@ -636,12 +647,6 @@
|
||||||
var kode_coa = split_rekening_coa_aba_penarikan[1]
|
var kode_coa = split_rekening_coa_aba_penarikan[1]
|
||||||
var keterangan_coa = split_rekening_coa_aba_penarikan[2]
|
var keterangan_coa = split_rekening_coa_aba_penarikan[2]
|
||||||
|
|
||||||
// if (rekening_coa_aba_penarikan == '') {
|
|
||||||
// alert('Pilih kas tujuan');
|
|
||||||
// document.getElementById('pesan-bayar-tunai').disabled = false;
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (orderMenus.length == 0) {
|
if (orderMenus.length == 0) {
|
||||||
alert('Menu tidak boleh kosong');
|
alert('Menu tidak boleh kosong');
|
||||||
document.getElementById('pesan-bayar-tunai').disabled = false;
|
document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
@ -683,7 +688,7 @@
|
||||||
nominalBayar: nominalBayar,
|
nominalBayar: nominalBayar,
|
||||||
kembali: kembaliHidden,
|
kembali: kembaliHidden,
|
||||||
jenis_pembayaran: jenis_pembayaran,
|
jenis_pembayaran: jenis_pembayaran,
|
||||||
coa_kas: id_rekening_coa,
|
id_rekening_coa: id_rekening_coa,
|
||||||
kode_coa: kode_coa,
|
kode_coa: kode_coa,
|
||||||
keterangan_coa: keterangan_coa,
|
keterangan_coa: keterangan_coa,
|
||||||
};
|
};
|
||||||
|
@ -711,9 +716,133 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// modal bayar non tunai
|
||||||
$('#pesan-bayar-nontunai').on('click', function() {
|
$('#pesan-bayar-nontunai').on('click', function() {
|
||||||
$("#modal_nontunai").modal('show')
|
$("#modal_nontunai").modal('show')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// pembayaran non tunai
|
||||||
|
$('#pembayaran-nontunai').on('click', function() {
|
||||||
|
let jenis_pembayaran = "2"
|
||||||
|
// return console.log(jenis_pembayaran);
|
||||||
|
var table = document.getElementById("order-menus");
|
||||||
|
var orderMenus = [];
|
||||||
|
|
||||||
|
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||||
|
var id = row.getAttribute('data-id');
|
||||||
|
var nama = row.getAttribute('data-nama');
|
||||||
|
var qty = row.getAttribute('data-qty');
|
||||||
|
var diskonSatuan = row.getAttribute('data-diskon-satuan');
|
||||||
|
var harga = row.getAttribute('data-harga');
|
||||||
|
var total = row.getAttribute('data-total');
|
||||||
|
if (diskonSatuan != 0 && diskonSatuan != null && diskonSatuan != undefined) {
|
||||||
|
total = total - (total * (diskonSatuan / 100));
|
||||||
|
} else {
|
||||||
|
total = total
|
||||||
|
}
|
||||||
|
|
||||||
|
if (id != null || qty != null || total != null) {
|
||||||
|
orderMenus.push({
|
||||||
|
id: id,
|
||||||
|
nama: nama,
|
||||||
|
qty: qty,
|
||||||
|
diskonSatuan: diskonSatuan,
|
||||||
|
harga: harga,
|
||||||
|
total: total,
|
||||||
|
keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var diskon = document.getElementsByName('diskon')[0].value;
|
||||||
|
var totalDiskon = document.getElementById('total-diskon-hidden').innerHTML;
|
||||||
|
var bayar = document.getElementsByName('nominal-bayar')[0].value;
|
||||||
|
var nominalBayar = bayar.replace(/[^,\d]/g, '').toString();
|
||||||
|
var kembaliHidden = document.getElementById('kembali-hidden').innerHTML;
|
||||||
|
var namaPemesan = document.getElementsByName('nama-pemesan')[0].value;
|
||||||
|
var nomorPemesan = document.getElementsByName('nomor-pemesan')[0].value;
|
||||||
|
var nomorMeja = document.getElementsByName('nomor-meja')[0].value;
|
||||||
|
var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val()
|
||||||
|
var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|")
|
||||||
|
var id_rekening_coa = split_rekening_coa_aba_penarikan[0]
|
||||||
|
var kode_coa = split_rekening_coa_aba_penarikan[1]
|
||||||
|
var keterangan_coa = split_rekening_coa_aba_penarikan[2]
|
||||||
|
|
||||||
|
if (rekening_coa_aba_penarikan == '') {
|
||||||
|
alert('Pilih kas tujuan');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (orderMenus.length == 0) {
|
||||||
|
alert('Menu tidak boleh kosong');
|
||||||
|
document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// if (totalDiskon != 0) {
|
||||||
|
// if (nominalBayar == '' || nominalBayar == 0) {
|
||||||
|
// alert('Pembayaran tidak boleh kosong');
|
||||||
|
// document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (kembaliHidden < 0) {
|
||||||
|
// alert('Pembayaran kurang');
|
||||||
|
// document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
if (namaPemesan == '' || namaPemesan == null || namaPemesan == undefined) {
|
||||||
|
alert('Nama pemesan tidak boleh kosong');
|
||||||
|
document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (nomorMeja == '' || nomorMeja == null || nomorMeja == undefined) {
|
||||||
|
alert('Nomor meja tidak boleh kosong');
|
||||||
|
document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = {
|
||||||
|
_token: "{{ csrf_token() }}",
|
||||||
|
orderCode: "{{ $orderCode }}",
|
||||||
|
orderMenus: orderMenus,
|
||||||
|
namaPemesan: namaPemesan,
|
||||||
|
nomorPemesan: nomorPemesan,
|
||||||
|
nomorMeja: nomorMeja,
|
||||||
|
keteranganPesanan: document.getElementsByName('keterangan-pesanan')[0].value,
|
||||||
|
diskon: diskon,
|
||||||
|
totalDiskon: totalDiskon,
|
||||||
|
nominalBayar: nominalBayar,
|
||||||
|
kembali: kembaliHidden,
|
||||||
|
jenis_pembayaran: jenis_pembayaran,
|
||||||
|
id_rekening_coa: id_rekening_coa,
|
||||||
|
kode_coa: kode_coa,
|
||||||
|
keterangan_coa: keterangan_coa,
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "{{ route('transaksi.store') }}",
|
||||||
|
method: "POST",
|
||||||
|
data: data,
|
||||||
|
success: function(result) {
|
||||||
|
document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
toastr.success(result.message, 'Success', {
|
||||||
|
timeOut: 2000
|
||||||
|
});
|
||||||
|
window.open(result.url, '_blank');
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
window.location.reload(1);
|
||||||
|
}, 1000);
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
document.getElementById('pesan-bayar-tunai').disabled = false;
|
||||||
|
toastr.error(xhr.responseJSON.message, 'Error', {
|
||||||
|
timeOut: 3000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
// select paket
|
// select paket
|
||||||
|
@ -894,7 +1023,7 @@
|
||||||
|
|
||||||
// clear selected menus
|
// clear selected menus
|
||||||
function clearSelected() {
|
function clearSelected() {
|
||||||
// console.log(selectedMenus);
|
console.log('batal');
|
||||||
for (var i = 0; i < selectedMenus.length; i++) {
|
for (var i = 0; i < selectedMenus.length; i++) {
|
||||||
changeOrderedMenus(selectedMenus[i].id, 'batal');
|
changeOrderedMenus(selectedMenus[i].id, 'batal');
|
||||||
menu_terpilih.innerHTML = ` `;
|
menu_terpilih.innerHTML = ` `;
|
||||||
|
|
|
@ -471,7 +471,7 @@
|
||||||
<div class="btn-group btn-block">
|
<div class="btn-group btn-block">
|
||||||
<button class="btn btn-warning btn-block col-sm-10 col-md-10 col-lg-10"
|
<button class="btn btn-warning btn-block col-sm-10 col-md-10 col-lg-10"
|
||||||
id="pesan-bayar-tunai">Bayar</button>
|
id="pesan-bayar-tunai">Bayar</button>
|
||||||
<button type="button" class="btn btn-success" id="nonTunaiSaja">
|
<button type="button" class="btn btn-success" id="pesan-bayar-nontunai">
|
||||||
Non Tunai
|
Non Tunai
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
@extends('layouts.base')
|
||||||
|
|
||||||
|
@section('content-header')
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="container" style="display: contents">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0"> Dashboard</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right">
|
||||||
|
<li class="breadcrumb-item active">Dashboard</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="col-12 mt-2">
|
||||||
|
<div class="container" style="display: contents">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card bg-warning" style="min-height:5px; border-radius:1px;"></div>
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
|
@ -0,0 +1,128 @@
|
||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', 'Tambah Roles Akses')
|
||||||
|
@section('content')
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<div class="card bg-info-subtle shadow-none position-relative overflow-hidden mb-4">
|
||||||
|
<div class="card-body px-4 py-3">
|
||||||
|
<div class="row align-items-center">
|
||||||
|
<div class="col-9">
|
||||||
|
<h4 class="fw-semibold mb-8">Tambah Roles & Permission</h4>
|
||||||
|
<nav aria-label="breadcrumb">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item" aria-current="page">
|
||||||
|
<a href="{{ URL::to('admin/roles') }}" class="badge text-bg-light text-primary">
|
||||||
|
Kembali ke halaman sebelumnya
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End Breadcrumb -->
|
||||||
|
|
||||||
|
<div class="row d-flex align-items-strech">
|
||||||
|
<div class="col-lg-12 mx-auto">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header d-flex align-items-center">
|
||||||
|
<h4 class="card-title mb-0">Tambah Pengguna</h4>
|
||||||
|
<div class="card-actions cursor-pointer ms-auto d-flex button-group">
|
||||||
|
<a href="{{ route('roles.refresh-routes') }}" class="btn btn-sm btn-secondary">
|
||||||
|
<i class="ti ti-refresh"></i> refresh routes
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body border-top">
|
||||||
|
@if (count($errors) > 0)
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<strong>Whoops!</strong> There were some problems with your input.<br><br>
|
||||||
|
<ul>
|
||||||
|
@foreach ($errors->all() as $error)
|
||||||
|
<li>{{ $error }}</li>
|
||||||
|
@endforeach
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<form method="POST" action="{{ route('roles.store') }}" id="formCreate">
|
||||||
|
@method('post')
|
||||||
|
@csrf
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-12 mt-2">
|
||||||
|
<div class="form-group">
|
||||||
|
<strong>Name:</strong>
|
||||||
|
<input type="text" class="form-control" placeholder="Role Name" name="name">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h5 for="permissions" class="form-label mt-3 mb-3">Assign Permissions</h5>
|
||||||
|
<h6 for="permissions" class="form-label mt-3 mb-3">Check All Permission <input type="checkbox"
|
||||||
|
name="all_permission" class="check" id="allpermission"></h6>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
@foreach ($permissions as $key => $permission)
|
||||||
|
<div class="col-md-4">
|
||||||
|
<h5>{{ $key }}</h5>
|
||||||
|
<table class="table table-hover table-bordered">
|
||||||
|
<tr id="checkboxnya" style="background: grey !important">
|
||||||
|
<td scope="col" width="1%" style="background: grey !important">
|
||||||
|
<input type="checkbox" name="all_permission" class="check"
|
||||||
|
id="allpermission">
|
||||||
|
</td>
|
||||||
|
<td scope="col" width="20%" style="background: grey !important">
|
||||||
|
Name</td>
|
||||||
|
<td scope="col" width="1%" style="background: grey !important">
|
||||||
|
Route</td>
|
||||||
|
<td scope="col" width="1%" style="background: grey !important">
|
||||||
|
Guard</td>
|
||||||
|
</tr>
|
||||||
|
@foreach ($permission as $item)
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="permission[{{ $item->name }}]"
|
||||||
|
value="{{ $item->name }}" class='permission'>
|
||||||
|
</td>
|
||||||
|
<td>{{ $item->desc }}</td>
|
||||||
|
<td>{{ $item->name }}</td>
|
||||||
|
<td>{{ $item->guard_name }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-12 text-end mt-3">
|
||||||
|
<a href="{{ route('roles.index') }}" class="btn btn-info">Batalkan</a>
|
||||||
|
<button type="submit" class="btn btn-primary">Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@stop
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script>
|
||||||
|
$('input[type="checkbox"].check').on('change', function() {
|
||||||
|
var check = this;
|
||||||
|
$(check).closest('tr').nextUntil('tr[id]').find('input[type="checkbox"]').prop(
|
||||||
|
'checked',
|
||||||
|
check
|
||||||
|
.checked);
|
||||||
|
});
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#allpermission').click(function() {
|
||||||
|
if ($(this).is(':checked')) {
|
||||||
|
$('.check').prop('checked', true);
|
||||||
|
$('.permission').prop('checked', true);
|
||||||
|
} else {
|
||||||
|
$('.check').prop('checked', false);
|
||||||
|
$('.permission').prop('checked', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
|
@ -0,0 +1,131 @@
|
||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', 'Edit Roles Akses')
|
||||||
|
@section('content')
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<div class="card bg-info-subtle shadow-none position-relative overflow-hidden mb-4">
|
||||||
|
<div class="card-body px-4 py-3">
|
||||||
|
<div class="row align-items-center">
|
||||||
|
<div class="col-9">
|
||||||
|
<h4 class="fw-semibold mb-8">Edit Roles & Permission</h4>
|
||||||
|
<nav aria-label="breadcrumb">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item" aria-current="page">
|
||||||
|
<a href="{{ URL::to('admin/roles') }}" class="badge text-bg-light text-primary">
|
||||||
|
Kembali ke halaman sebelumnya
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End Breadcrumb -->
|
||||||
|
|
||||||
|
<div class="row d-flex align-items-strech">
|
||||||
|
<div class="col-lg-12 mx-auto">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header d-flex align-items-center">
|
||||||
|
<h4 class="card-title mb-0">Edit Pengguna</h4>
|
||||||
|
<div class="card-actions cursor-pointer ms-auto d-flex button-group">
|
||||||
|
<a href="{{ route('roles.refresh-routes') }}" class="btn btn-sm btn-secondary">
|
||||||
|
<i class="ti ti-refresh"></i> refresh routes
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body border-top">
|
||||||
|
@if (count($errors) > 0)
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<strong>Whoops!</strong> There were some problems with your input.<br><br>
|
||||||
|
<ul>
|
||||||
|
@foreach ($errors->all() as $error)
|
||||||
|
<li>{{ $error }}</li>
|
||||||
|
@endforeach
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<form method="POST" action="{{ route('roles.update', $role->id) }}" id="formCreate">
|
||||||
|
@method('PUT')
|
||||||
|
@csrf
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-12 mt-2">
|
||||||
|
<div class="form-group">
|
||||||
|
<strong>Name:</strong>
|
||||||
|
<input type="text" class="form-control" placeholder="Role Name" name="name"
|
||||||
|
value="{{ $role->name }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h5 for="permissions" class="form-label mt-3 mb-3">Assign Permissions</h5>
|
||||||
|
<h6 for="permissions" class="form-label mt-3 mb-3">Check All Permission <input type="checkbox"
|
||||||
|
name="all_permission" class="check" id="allpermission"></h6>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
@foreach ($permissions as $key => $permission)
|
||||||
|
<div class="col-md-4">
|
||||||
|
<h5>{{ $key }}</h5>
|
||||||
|
<table class="table table-hover table-bordered">
|
||||||
|
<tr id="checkboxnya" style="background: grey !important">
|
||||||
|
<td scope="col" width="1%" style="background: grey !important">
|
||||||
|
<input type="checkbox" name="all_permission" class="check"
|
||||||
|
id="allpermission">
|
||||||
|
</td>
|
||||||
|
<td scope="col" width="20%" style="background: grey !important">
|
||||||
|
Name</td>
|
||||||
|
<td scope="col" width="1%" style="background: grey !important">
|
||||||
|
Route</td>
|
||||||
|
<td scope="col" width="1%" style="background: grey !important">
|
||||||
|
Guard</td>
|
||||||
|
</tr>
|
||||||
|
@foreach ($permission as $item)
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="permission[{{ $item->name }}]"
|
||||||
|
value="{{ $item->name }}" value="{{ $item->name }}"
|
||||||
|
class='permission'
|
||||||
|
{{ in_array($item->name, $rolePermissions) ? 'checked' : '' }}>
|
||||||
|
</td>
|
||||||
|
<td>{{ $item->desc }}</td>
|
||||||
|
<td>{{ $item->name }}</td>
|
||||||
|
<td>{{ $item->guard_name }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-12 text-end mt-3">
|
||||||
|
<a href="{{ route('roles.index') }}" class="btn btn-info">Batalkan</a>
|
||||||
|
<button type="submit" class="btn btn-primary">Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@stop
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script>
|
||||||
|
$('input[type="checkbox"].check').on('change', function() {
|
||||||
|
var check = this;
|
||||||
|
$(check).closest('tr').nextUntil('tr[id]').find('input[type="checkbox"]').prop(
|
||||||
|
'checked',
|
||||||
|
check
|
||||||
|
.checked);
|
||||||
|
});
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#allpermission').click(function() {
|
||||||
|
if ($(this).is(':checked')) {
|
||||||
|
$('.check').prop('checked', true);
|
||||||
|
$('.permission').prop('checked', true);
|
||||||
|
} else {
|
||||||
|
$('.check').prop('checked', false);
|
||||||
|
$('.permission').prop('checked', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
|
@ -0,0 +1,89 @@
|
||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', 'Hak Akses Pengguna')
|
||||||
|
@section('content')
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<div class="card bg-info-subtle shadow-none position-relative overflow-hidden mb-4">
|
||||||
|
<div class="card-body px-4 py-3">
|
||||||
|
<div class="row align-items-center">
|
||||||
|
<div class="col-9">
|
||||||
|
<h4 class="fw-semibold mb-8">Hak Akes Pengguna</h4>
|
||||||
|
<nav aria-label="breadcrumb">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
<a class="text-muted text-decoration-none" href="./index.html">User Management</a>
|
||||||
|
</li>
|
||||||
|
<li class="breadcrumb-item" aria-current="page">Data Roles & Permission</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End Breadcrumb -->
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12 d-flex align-items-stretch">
|
||||||
|
<div class="card w-100">
|
||||||
|
<div class="card-body p-4">
|
||||||
|
<div class="d-flex align-items-stretch">
|
||||||
|
<h5 class="card-title fw-semibold mb-4">Tabel Roles</h5>
|
||||||
|
<div class="d-inline ms-auto">
|
||||||
|
<a href="{{ route('roles.create') }}" class="btn btn-sm btn-success">
|
||||||
|
<i class="ti ti-user-plus"></i> Tambah
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover table-bordered text-nowrap mb-0 align-middle">
|
||||||
|
<thead class="text-dark fs-4">
|
||||||
|
<tr>
|
||||||
|
<th class="border-bottom-0" width="70px">
|
||||||
|
<h6 class="fw-semibold mb-0 text-center">No.</h6>
|
||||||
|
</th>
|
||||||
|
<th class="border-bottom-0">
|
||||||
|
<h6 class="fw-semibold mb-0">Name</h6>
|
||||||
|
</th>
|
||||||
|
<th class="border-bottom-0">
|
||||||
|
<h6 class="fw-semibold mb-0">Terakhir Diupdate</h6>
|
||||||
|
</th>
|
||||||
|
<th class="border-bottom-0" width="100px">
|
||||||
|
<h6 class="fw-semibold mb-0 text-center">Action</h6>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($datas as $role)
|
||||||
|
<tr>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<h6 class="fw-normal mb-0 text-center">
|
||||||
|
{{ ($datas->currentPage() - 1) * $datas->perPage() + $loop->index + 1 }}.
|
||||||
|
</h6>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<h6 class="fw-semibold mb-1">{{ $role->name }}</h6>
|
||||||
|
<span class="fw-normal">{{ $role->email }}</span>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<h6 class="fw-normal mb-0 fs-4">{{ $role->updated_at }}</h6>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<div class="d-flex align-items-center gap-2">
|
||||||
|
<a href="{{ route('roles.edit', $role->id) }}"
|
||||||
|
class="btn btn-sm btn-primary"><i class="ti ti-edit"></i> Ubah</a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
Data Post belum Tersedia.
|
||||||
|
</div>
|
||||||
|
@endforelse
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@stop
|
|
@ -0,0 +1,74 @@
|
||||||
|
@extends('layouts.app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- Button Back -->
|
||||||
|
<a href="{{ URL::to('admin/users') }}" class="mb-3 badge text-bg-light text-primary">
|
||||||
|
<i class="ti ti-arrow-left"> </i> Kembali
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="row d-flex align-items-strech">
|
||||||
|
<div class="col-lg-6 mx-auto">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3>Edit Pengguna</h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body border-top">
|
||||||
|
<form method="post" action="{{ route('users.update', $user->id) }}">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="name" class="form-label">Name</label>
|
||||||
|
<input type="text" class="form-control" id="name" name="name"
|
||||||
|
placeholder="Contoh: Ardito Pratama" value="{{ isset($user->name) ? $user->name : '' }}"
|
||||||
|
required>
|
||||||
|
<div id="emailHelp" class="form-text">Silahkan masukkan nama lengkap anda.</div>
|
||||||
|
<!-- error message-->
|
||||||
|
@error('name')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="email" class="form-label">Email</label>
|
||||||
|
<input type="email" class="form-control" id="email"
|
||||||
|
value="{{ isset($user->email) ? $user->email : '' }}" disabled>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="role" class="form-label">Level Pengguna</label>
|
||||||
|
<select class="form-select @error('role') is-invalid @enderror" id="role" name="role"
|
||||||
|
required>
|
||||||
|
<option value="">Pilih Level Pengguna</option>
|
||||||
|
@forelse ($roles as $role)
|
||||||
|
<option value="{{ $role->name }}"
|
||||||
|
{{ $user->roles[0]->name == $role->name ? 'selected' : '' }}>{{ $role->name }}
|
||||||
|
</option>
|
||||||
|
@empty
|
||||||
|
<option value="">Data Kosong</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
<!-- error message -->
|
||||||
|
@error('role')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="password" class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control @error('password') is-invalid @enderror"
|
||||||
|
id="password" name="password">
|
||||||
|
<!-- error message -->
|
||||||
|
@error('password')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary">Simpan</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@stop
|
|
@ -0,0 +1,73 @@
|
||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', 'Buat Data Pengguna')
|
||||||
|
@section('content')
|
||||||
|
<!-- Button Back -->
|
||||||
|
<a href="{{ URL::to('admin/users') }}" class="mb-3 badge text-bg-light text-primary">
|
||||||
|
<i class="ti ti-arrow-left"> </i> Kembali
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="row d-flex align-items-strech">
|
||||||
|
<div class="col-lg-6 mx-auto">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3>Tambah Pengguna</h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body border-top">
|
||||||
|
<form method="post" action="{{ route('users.index') }}">
|
||||||
|
@csrf
|
||||||
|
@method('POST')
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="name" class="form-label">Name</label>
|
||||||
|
<input type="text" class="form-control" id="name" name="name" placeholder="Contoh: Ardito Pratama" value="{{ old('name') }} " required>
|
||||||
|
<div id="emailHelp" class="form-text">Silahkan masukkan nama lengkap anda.</div>
|
||||||
|
<!-- error message-->
|
||||||
|
@error('name')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="email" class="form-label">Email</label>
|
||||||
|
<input type="email" class="form-control" id="email" name="email" value="{{ old('email') }}" required>
|
||||||
|
<!-- error message -->
|
||||||
|
@error('email')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="role" class="form-label">Level Pengguna</label>
|
||||||
|
<select class="form-select @error('role') is-invalid @enderror" id="role" name="role" required>
|
||||||
|
<option value="" selected>Pilih Level Pengguna</option>
|
||||||
|
@forelse ($roles as $role)
|
||||||
|
<option value="{{ $role->id }}">{{ $role->name }}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">Data Kosong</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
<!-- error message -->
|
||||||
|
@error('role')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="password" class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control @error('password') is-invalid @enderror" id="password" name="password" required>
|
||||||
|
<!-- error message -->
|
||||||
|
@error('password')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary">Simpan</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@stop
|
|
@ -0,0 +1,68 @@
|
||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', 'Ubah Data Pengguna')
|
||||||
|
@section('content')
|
||||||
|
<!-- Button Back -->
|
||||||
|
<a href="{{ URL::to('admin/users') }}" class="mb-3 badge text-bg-light text-primary">
|
||||||
|
<i class="ti ti-arrow-left"> </i> Kembali
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="row d-flex align-items-strech">
|
||||||
|
<div class="col-lg-6 mx-auto">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h3>Edit Pengguna</h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body border-top">
|
||||||
|
<form method="post" action="{{ route('users.update', $user->id) }}">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="name" class="form-label">Name</label>
|
||||||
|
<input type="text" class="form-control" id="name" name="name" placeholder="Contoh: Ardito Pratama" value="{{ isset($user->name) ? $user->name : '' }}" required>
|
||||||
|
<div id="emailHelp" class="form-text">Silahkan masukkan nama lengkap anda.</div>
|
||||||
|
<!-- error message-->
|
||||||
|
@error('name')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="email" class="form-label">Email</label>
|
||||||
|
<input type="email" class="form-control" id="email" value="{{ isset($user->email) ? $user->email : '' }}" disabled>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="role" class="form-label">Level Pengguna</label>
|
||||||
|
<select class="form-select @error('role') is-invalid @enderror" id="role" name="role" required>
|
||||||
|
<option value="">Pilih Level Pengguna</option>
|
||||||
|
@forelse ($roles as $role)
|
||||||
|
<option value="{{ $role->name }}" {{ $user->roles[0]->name == $role->name ? 'selected' : '' }}>{{ $role->name }}
|
||||||
|
</option>
|
||||||
|
@empty
|
||||||
|
<option value="">Data Kosong</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
<!-- error message -->
|
||||||
|
@error('role')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="password" class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control @error('password') is-invalid @enderror" id="password" name="password">
|
||||||
|
<!-- error message -->
|
||||||
|
@error('password')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary">Simpan</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@stop
|
|
@ -0,0 +1,105 @@
|
||||||
|
@extends('layouts.base')
|
||||||
|
|
||||||
|
@section('content-header')
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="container" style="display: contents">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0"> Kasir <small>kasir 3.0</small></h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right">
|
||||||
|
<li class="breadcrumb-item"><a href="#">Home</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="#">Kasir</a></li>
|
||||||
|
<li class="breadcrumb-item active">History</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12 d-flex align-items-stretch">
|
||||||
|
<div class="card w-100">
|
||||||
|
<div class="card-body p-4">
|
||||||
|
<div class="d-flex align-items-stretch">
|
||||||
|
<h5 class="card-title fw-semibold mb-4">Data Pengguna</h5>
|
||||||
|
<div class="d-inline ms-auto">
|
||||||
|
<a href="{{ route('users.create') }}" class="btn btn-sm btn-success">
|
||||||
|
<i class="ti ti-user-plus"></i> Tambah
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover table-bordered text-nowrap mb-0 align-middle">
|
||||||
|
<thead class="text-dark fs-4">
|
||||||
|
<tr>
|
||||||
|
<th class="border-bottom-0" width="70px">
|
||||||
|
<h6 class="fw-semibold mb-0 text-center">No.</h6>
|
||||||
|
</th>
|
||||||
|
<th class="border-bottom-0">
|
||||||
|
<h6 class="fw-semibold mb-0">Name</h6>
|
||||||
|
</th>
|
||||||
|
<th class="border-bottom-0">
|
||||||
|
<h6 class="fw-semibold mb-0">Terakhir Diupdate</h6>
|
||||||
|
</th>
|
||||||
|
<th class="border-bottom-0" width="100px">
|
||||||
|
<h6 class="fw-semibold mb-0 text-center">Action</h6>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($users as $user)
|
||||||
|
<tr>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<h6 class="fw-normal mb-0 text-center">
|
||||||
|
{{ ($users->currentPage() - 1) * $users->perPage() + $loop->index + 1 }}.
|
||||||
|
</h6>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<h6 class="fw-semibold mb-1">{{ $user->name }}</h6>
|
||||||
|
<span class="fw-normal">{{ $user->email }}</span>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<h6 class="fw-normal mb-0 fs-4">{{ $user->updated_at }}</h6>
|
||||||
|
</td>
|
||||||
|
<td class="border-bottom-0">
|
||||||
|
<div class="d-flex align-items-center gap-2">
|
||||||
|
<a href="{{ route('users.edit', $user->id) }}"
|
||||||
|
class="btn btn-sm btn-primary"><i class="ti ti-edit"></i> Ubah</a>
|
||||||
|
<!-- <form onsubmit="return confirm('Apakah Anda Yakin ?');" action="{{ route('users.update', $user->id) }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
<button type="submit" class="btn btn-sm btn-danger">Hapus</button>
|
||||||
|
</form> -->
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
Data Pengguna belum Tersedia.
|
||||||
|
</div>
|
||||||
|
@endforelse
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||||
|
@if (Session::has('users-message'))
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
text: "{{ Session::get('users-message')['msg'] }}",
|
||||||
|
icon: "{{ Session::get('users-message')['type'] }}",
|
||||||
|
timer: 2500
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
@endpush
|
|
@ -1,5 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Controllers\Admins\DashboardController;
|
||||||
|
use App\Http\Controllers\Admins\Users\RoleController;
|
||||||
|
use App\Http\Controllers\Admins\Users\UserController;
|
||||||
use App\Http\Controllers\Auths\AuthController;
|
use App\Http\Controllers\Auths\AuthController;
|
||||||
use App\Http\Controllers\Kasir\History;
|
use App\Http\Controllers\Kasir\History;
|
||||||
use App\Http\Controllers\Kasir\Menu;
|
use App\Http\Controllers\Kasir\Menu;
|
||||||
|
@ -27,7 +30,7 @@ Route::group(['middleware' => 'guest'], function () {
|
||||||
Route::post('login', [AuthController::class, 'login_proses'])->name('login.process')->comment("Login Action");
|
Route::post('login', [AuthController::class, 'login_proses'])->name('login.process')->comment("Login Action");
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::group(['middleware' => ['auth']], function () {
|
Route::group(['middleware' => ['auth', 'permission']], function () {
|
||||||
// Logout
|
// Logout
|
||||||
Route::get('logout', [AuthController::class, 'logout'])->name('logout')->comment("Logout Action");
|
Route::get('logout', [AuthController::class, 'logout'])->name('logout')->comment("Logout Action");
|
||||||
|
|
||||||
|
@ -54,4 +57,30 @@ Route::group(['middleware' => ['auth']], function () {
|
||||||
Route::get('/', [Menu::class, 'index'])->name('menu.index')->comment("Halaman Menu");
|
Route::get('/', [Menu::class, 'index'])->name('menu.index')->comment("Halaman Menu");
|
||||||
Route::get('/getDataMenu', [Menu::class, 'getDataMenu'])->name('menu.getDataMenu')->comment("Ambil data Menu");
|
Route::get('/getDataMenu', [Menu::class, 'getDataMenu'])->name('menu.getDataMenu')->comment("Ambil data Menu");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Dashboard
|
||||||
|
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard.index')->comment('Halaman Dashboard');
|
||||||
|
|
||||||
|
// Profile
|
||||||
|
// Route::get('profile', [ProfileController::class, 'index'])->name('profile.index')->comment('Halaman Profile');
|
||||||
|
// Route::post('profile', [ProfileController::class, 'update'])->name('profile.update')->comment('Update Profile');
|
||||||
|
|
||||||
|
// Users
|
||||||
|
Route::get('users', [UserController::class, 'index'])->name('users.index')->comment('Halaman User');
|
||||||
|
Route::get('users/create', [UserController::class, 'create'])->name('users.create')->comment('Halaman Tambah User');
|
||||||
|
Route::post('users', [UserController::class, 'store'])->name('users.store')->comment('Tambah User');
|
||||||
|
Route::get('users/edit/{id}', [UserController::class, 'edit'])->name('users.edit')->comment('Halaman Edit User');
|
||||||
|
Route::put('users/update/{id}', [UserController::class, 'update'])->name('users.update')->comment('Perbarui User');
|
||||||
|
Route::delete('users/delete/{id}', [UserController::class, 'destroy'])->name('users.delete')->comment('Menghapus User');
|
||||||
|
|
||||||
|
// Roles
|
||||||
|
Route::group(['prefix' => 'roles'], function () {
|
||||||
|
Route::get('/', [RoleController::class, 'index'])->name('roles.index')->comment('Halaman Roles');
|
||||||
|
Route::get('/create', [RoleController::class, 'create'])->name('roles.create')->comment('Halaman Tambah Roles');
|
||||||
|
Route::post('/', [RoleController::class, 'store'])->name('roles.store')->comment('Tambah Roles');
|
||||||
|
Route::get('/edit/{id}', [RoleController::class, 'edit'])->name('roles.edit')->comment('Halaman Edit Roles');
|
||||||
|
Route::put('/update/{id}', [RoleController::class, 'update'])->name('roles.update')->comment('Perbarui Roles');
|
||||||
|
Route::delete('/delete/{id}', [RoleController::class, 'destroy'])->name('roles.delete')->comment('Menghapus Roles');
|
||||||
|
Route::get('/refresh-routes', [RoleController::class, 'refreshRoutes'])->name('roles.refresh-routes')->comment('Refresh Permission Routes');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue