WIP: penambahan data soal
This commit is contained in:
parent
7f6cf7dcd6
commit
a475b0a740
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class UsersController extends Controller
|
class UsersController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -11,7 +12,7 @@ class UsersController extends Controller
|
||||||
* Display data for javascript ajax
|
* Display data for javascript ajax
|
||||||
*/
|
*/
|
||||||
public function getData() {
|
public function getData() {
|
||||||
$data = User::get();
|
$data = User::where('id', '!=', Auth::user()->id)->get();
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'data' => $data->toArray()
|
'data' => $data->toArray()
|
||||||
|
|
@ -39,7 +40,18 @@ public function create()
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
$data = User::create([
|
||||||
|
'name' => $request->name,
|
||||||
|
'email' => $request->email,
|
||||||
|
'role' => $request->role,
|
||||||
|
'alamat' => $request->alamat,
|
||||||
|
'password' => bcrypt('password', ['rounds' => 12])
|
||||||
|
]);
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'status' => true,
|
||||||
|
'msg' => 'Data berhasil di tambahkan'
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -74,7 +86,8 @@ public function update(Request $request, string $id)
|
||||||
$data = User::where('id', $id)->update([
|
$data = User::where('id', $id)->update([
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'email' => $request->email,
|
'email' => $request->email,
|
||||||
'role' => $request->role
|
'role' => $request->role,
|
||||||
|
'alamat' => $request->alamat
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,8 @@ class User extends Authenticatable
|
||||||
'name',
|
'name',
|
||||||
'email',
|
'email',
|
||||||
'password',
|
'password',
|
||||||
'role'
|
'role',
|
||||||
|
'alamat'
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -46,4 +47,14 @@ protected function casts(): array
|
||||||
'password' => 'hashed',
|
'password' => 'hashed',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function boot()
|
||||||
|
{
|
||||||
|
parent::boot();
|
||||||
|
static::creating(function ($model) {
|
||||||
|
if (empty($model->id_user)) {
|
||||||
|
$model->id_user = (string) \Illuminate\Support\Str::uuid();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,16 @@
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h5>Tabel Data</h5>
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<h5>Data Users</h5>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 d-flex justify-content-end">
|
||||||
|
<button class="btn btn-sm btn-info delete-btn rounded-circle mx-1" data-bs-toggle="modal" data-bs-target="#addModal">
|
||||||
|
<i class="ti ti-database-import"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<table class="table" id="table-data">
|
<table class="table" id="table-data">
|
||||||
|
|
@ -48,6 +57,45 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- [ Main Content ] end -->
|
<!-- [ Main Content ] end -->
|
||||||
|
|
||||||
|
<!-- Modal Add -->
|
||||||
|
<div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h1 class="modal-title fs-5" id="exampleModalLabel">Add Data</h1>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 my-1">
|
||||||
|
<label for="add_nama_user" class="form-label">Nama User</label>
|
||||||
|
<input type="text" class="form-control" id="add_nama_user" name="add_nama_user">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 my-1">
|
||||||
|
<label for="add_email" class="form-label">Email</label>
|
||||||
|
<input type="text" class="form-control" id="add_email" name="add_email">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 my-1">
|
||||||
|
<label for="add_alamat" class="form-label">Alamat</label>
|
||||||
|
<input type="text" class="form-control" id="add_alamat" name="add_alamat">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 my-1">
|
||||||
|
<label for="add_role" class="form-label">Role</label>
|
||||||
|
<select class="form-select" name="add_role" id="add_role">
|
||||||
|
<option value="admin">Admin</option>
|
||||||
|
<option value="psikolog">Psikolog</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
|
||||||
|
<button type="button" class="btn btn-primary" onclick="simpanAddData()">Simpan</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Modal Edit -->
|
<!-- Modal Edit -->
|
||||||
<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
|
|
@ -66,12 +114,15 @@
|
||||||
<label for="edit_email" class="form-label">Email</label>
|
<label for="edit_email" class="form-label">Email</label>
|
||||||
<input type="text" class="form-control" id="edit_email" name="edit_email">
|
<input type="text" class="form-control" id="edit_email" name="edit_email">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-6 my-1">
|
||||||
|
<label for="edit_alamat" class="form-label">Alamat</label>
|
||||||
|
<input type="text" class="form-control" id="edit_alamat" name="edit_alamat">
|
||||||
|
</div>
|
||||||
<div class="col-md-6 my-1">
|
<div class="col-md-6 my-1">
|
||||||
<label for="edit_role" class="form-label">Role</label>
|
<label for="edit_role" class="form-label">Role</label>
|
||||||
<select class="form-select" name="edit_role" id="edit_role">
|
<select class="form-select" name="edit_role" id="edit_role">
|
||||||
<option value="admin">Admin</option>
|
<option value="admin">Admin</option>
|
||||||
<option value="psikolog">Psikolog</option>
|
<option value="psikolog">Psikolog</option>
|
||||||
<option value="user">User</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -167,6 +218,7 @@ function getDataEdit(btn) {
|
||||||
$('#edit_nama_user').val(data.data.name);
|
$('#edit_nama_user').val(data.data.name);
|
||||||
$('#edit_email').val(data.data.email);
|
$('#edit_email').val(data.data.email);
|
||||||
$('#edit_role').val(data.data.role);
|
$('#edit_role').val(data.data.role);
|
||||||
|
$('#edit_alamat').val(data.data.alamat);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -181,6 +233,30 @@ function getDataHapus(btn) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function simpanAddData() {
|
||||||
|
$.post('{{ route('users.store') }}', {
|
||||||
|
'_token': document.getElementById('_token').getAttribute('value'),
|
||||||
|
'name': $('#add_nama_user').val(),
|
||||||
|
'email': $('#add_email').val(),
|
||||||
|
'role': $('#add_role').val(),
|
||||||
|
'alamat': $('#add_alamat').val()
|
||||||
|
}, function(data, status) {
|
||||||
|
if(data.status) {
|
||||||
|
$('#addModal').modal('hide');
|
||||||
|
Swal.fire({
|
||||||
|
title: "Info",
|
||||||
|
text: "Data berhasil ditambahkan!",
|
||||||
|
icon: "success"
|
||||||
|
});
|
||||||
|
fetchRowData();
|
||||||
|
$('#add_nama_user').val('');
|
||||||
|
$('#add_email').val('');
|
||||||
|
$('#add_role').val('admin');
|
||||||
|
$('#add_alamat').val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function simpanEditData() {
|
function simpanEditData() {
|
||||||
if(idEdit != null) {
|
if(idEdit != null) {
|
||||||
let urlUpdate = '{{ route('users.update', ['__ID__']) }}';
|
let urlUpdate = '{{ route('users.update', ['__ID__']) }}';
|
||||||
|
|
@ -189,13 +265,14 @@ function simpanEditData() {
|
||||||
'_method': 'PUT',
|
'_method': 'PUT',
|
||||||
'name': $('#edit_nama_user').val(),
|
'name': $('#edit_nama_user').val(),
|
||||||
'email': $('#edit_email').val(),
|
'email': $('#edit_email').val(),
|
||||||
'role': $('#edit_role').val()
|
'role': $('#edit_role').val(),
|
||||||
|
'alamat': $('#edit_alamat').val()
|
||||||
}, function(data, status) {
|
}, function(data, status) {
|
||||||
if(data.status) {
|
if(data.status) {
|
||||||
$('#editModal').modal('hide');
|
$('#editModal').modal('hide');
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
title: "Info",
|
title: "Info",
|
||||||
text: "Data berhasil ditambahkan!",
|
text: "Data berhasil diubah!",
|
||||||
icon: "success"
|
icon: "success"
|
||||||
});
|
});
|
||||||
fetchRowData();
|
fetchRowData();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue