Update Delete Workflow
This commit is contained in:
parent
2b0ca9fc94
commit
a47a3b9850
@ -199,8 +199,8 @@
|
||||
Column::make('nomor_dokumen'),
|
||||
Column::make('tanggal_dokumen'),
|
||||
Column::make('jumlah_halaman'),
|
||||
Column::make('tanggal_approve'),
|
||||
Column::make('approved_by'),
|
||||
Column::make('tanggal_approve')->className('none'),
|
||||
Column::make('approved_by')->className('none'),
|
||||
Column::make('directorat')->title('Direktorat')->className('none'),
|
||||
Column::make('sub_directorat')->title('Sub Direktorat')->className('none'),
|
||||
Column::make('job')->title('Jenis Pekerjaan')->className('none'),
|
||||
|
@ -228,14 +228,25 @@
|
||||
}
|
||||
|
||||
// Delete Detail Document First...
|
||||
$document_details = DocumentDetail::where('document_id', $request->document)->get();
|
||||
if ($document_details->count() > 0) {
|
||||
foreach ($document_details as $document_detail) {
|
||||
$document_detail->delete();
|
||||
}
|
||||
$document_details = DocumentDetail::find($request->document);
|
||||
if($document_details->status == 1){
|
||||
$document_details->update(['status' => '6','keterangan' => $request->keterangan]);
|
||||
echo json_encode(['status' => 'success', 'message' => 'Document menunggu Approval untuk di Hapus.']);
|
||||
return;
|
||||
}
|
||||
|
||||
echo json_encode(['status' => 'success', 'message' => 'Document deleted successfully.']);
|
||||
if($document_details->status == 6){
|
||||
$document_details->update(['status' => '7']);
|
||||
echo json_encode(['status' => 'success', 'message' => 'Document menunggu Approval Tingkat 2 untuk di Hapus.']);
|
||||
return;
|
||||
}
|
||||
|
||||
if($document_details->status == 7){
|
||||
$document_details->update(['status' => '8']);
|
||||
$document_details->delete();
|
||||
|
||||
echo json_encode(['status' => 'success', 'message' => 'Document deleted successfully.']);
|
||||
}
|
||||
}
|
||||
|
||||
public function download(Request $request)
|
||||
@ -306,7 +317,6 @@
|
||||
|
||||
activity()
|
||||
->performedOn($document)
|
||||
->location('id')
|
||||
->causedBy(Auth::user())
|
||||
->withProperties($document)
|
||||
->log('Cetak Label Dus');
|
||||
@ -338,7 +348,6 @@
|
||||
|
||||
activity()
|
||||
->performedOn($document)
|
||||
->location('id')
|
||||
->causedBy(Auth::user())
|
||||
->withProperties($document)
|
||||
->log('Cetak Label Odner');
|
||||
|
@ -17,7 +17,7 @@
|
||||
class="approve-download btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||
{!! getIcon("cloud-download", "text-info","duotune") !!} Approve Download
|
||||
</a>
|
||||
@elseif($model->status == 1 && Auth::user()->hasRole('otorisator'))
|
||||
@elseif($model->status == 1 && Auth::user()->hasRole('operator'))
|
||||
<a href="{{ route($route[0].'.download',$model->id) }}"
|
||||
class="btn-download btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||
{!! getIcon("cloud-download", "text-info","duotune") !!} Request Download
|
||||
@ -29,17 +29,21 @@
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if(Auth::user()->can($route[0].'.delete'))
|
||||
@if(Auth::user()->can($route[0].'.read'))
|
||||
@if( Auth::user()->hasRole('operator'))
|
||||
<a href="{{ route($route[0].'.aktif',$model->id) }}"
|
||||
class="btn-aktif btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||
@if($model->aktif == 1)
|
||||
@if($model->aktif == 1)
|
||||
<a href="{{ route($route[0].'.aktif',$model->id) }}"
|
||||
class="btn-aktif btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||
{!! getIcon("check-square", "text-success","duotune") !!} Aktif
|
||||
@else
|
||||
</a>
|
||||
@else
|
||||
<span
|
||||
class="btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||
{!! getIcon("cross-square", "text-danger","duotune") !!} Tidak Aktif
|
||||
@endif
|
||||
</a>
|
||||
@elseif( Auth::user()->hasRole('otorisator'))
|
||||
</span>
|
||||
@endif
|
||||
|
||||
@elseif(Auth::user()->hasRole('otorisator') && $model->status == 9)
|
||||
<a href="{{ route($route[0].'.aktif',$model->id) }}"
|
||||
class="btn-approve-aktif btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||
{!! getIcon("check-square", "text-success","duotune") !!} Approve Non Aktif
|
||||
@ -47,14 +51,23 @@
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if(Auth::user()->can($route[0].'.delete'))
|
||||
@if(Auth::user()->can($route[0].'.delete') || Auth::user()->can($route[0].'.authorize'))
|
||||
{!! Form::open(['method' => 'DELETE','route' => [$route[0].'.destroy', $model->id],'class'=>'']) !!}
|
||||
@if( Auth::user()->hasRole('operator'))
|
||||
{{ Form::button(getIcon("trash", "text-danger","duotune")." Reqeust Delete", ['type' => 'submit', 'class' => 'delete btn btn-bg-light btn-active-light-danger btn-sm'] ) }}
|
||||
@elseif(Auth::user()->hasRole('otorisator') || Auth::user()->hasRole('administrator'))
|
||||
{{ Form::button(getIcon("trash", "text-danger","duotune")."Approve Delete", ['type' => 'submit', 'class' => 'delete btn btn-bg-light btn-active-light-danger btn-sm'] ) }}
|
||||
{{ Form::button(getIcon("trash", "text-danger","duotune")." Reqeust Delete", ['type' => 'submit', 'class' => 'delete btn btn-bg-light btn-active-light-danger btn-sm'] ) }}
|
||||
@elseif(Auth::user()->hasRole('otorisator') && $model->status == 6)
|
||||
{{ Form::button(getIcon("trash", "text-danger","duotune")."Approve Delete", ['type' => 'submit', 'class' => 'approvedelete btn btn-bg-light btn-active-light-danger btn-sm'] ) }}
|
||||
@elseif(Auth::user()->hasRole('administrator') && $model->status == 7)
|
||||
{{ Form::button(getIcon("trash", "text-danger","duotune")."Approve Delete", ['type' => 'submit', 'class' => 'approveddelete btn btn-bg-light btn-active-light-danger btn-sm'] ) }}
|
||||
@endif
|
||||
{!! Form::close() !!}
|
||||
|
||||
@if(in_array($model->status,[6,7,9]) && Auth::user()->can($route[0].'.read'))
|
||||
<a href="{{ route($route[0].'.edit',['document' => $model->id]) }}"
|
||||
class="kt_edit_form btn btn-bg-light btn-active-light-warning btn-sm me-1">
|
||||
{!! getIcon("eye", "text-warning","duotune") !!} View
|
||||
</a>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@elseif($model->status == 0)
|
||||
|
@ -4,20 +4,24 @@
|
||||
<div class="d-flex flex-column flex-lg-row mb-17">
|
||||
<div class="flex-lg-row-fluid me-0 me-lg-20">
|
||||
<iframe src="{{ asset($document->file) }}" width="100%" height="650">
|
||||
This browser does not support PDFs. Please download the PDF to view it: <a href="{{ asset('folder/file_name.pdf') }}">Download PDF</a>
|
||||
This browser does not support PDFs. Please download the PDF to view it: <a
|
||||
href="{{ asset('folder/file_name.pdf') }}">Download PDF</a>
|
||||
</iframe>
|
||||
<form class="form_{{$route[0]}}" method="POST" action="{{ route($route[0].'.update',['document' => $document->id]) }}">
|
||||
<form class="form_{{$route[0]}}" method="POST"
|
||||
action="{{ route($route[0].'.update',['document' => $document->id]) }}">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<!--begin::Input group-->
|
||||
<!--begin::Actions-->
|
||||
<div class="text-center mt-10">
|
||||
<input type="hidden" name="id" value="{{ $document->id }}">
|
||||
<input type="hidden" name="keterangan" id="keterangan">
|
||||
<button type="submit" name="status" value="3" class="btn-tolak btn btn-danger me-3">Tolak</button>
|
||||
<button type="submit" name="status" value="1" class="btn-approve btn btn-primary">Approve</button>
|
||||
</div>
|
||||
<!--end::Actions-->
|
||||
@if($document->status==0)
|
||||
<!--begin::Actions-->
|
||||
<div class="text-center mt-10">
|
||||
<input type="hidden" name="id" value="{{ $document->id }}">
|
||||
<input type="hidden" name="keterangan" id="keterangan">
|
||||
<button type="submit" name="status" value="3" class="btn-tolak btn btn-danger me-3">Tolak</button>
|
||||
<button type="submit" name="status" value="1" class="btn-approve btn btn-primary">Approve</button>
|
||||
</div>
|
||||
<!--end::Actions-->
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
<div class="flex-lg-row-auto w-100 w-lg-275px w-xxl-350px">
|
||||
@ -30,7 +34,7 @@
|
||||
<div class="mb-7">
|
||||
<!--begin::Title-->
|
||||
<h2 class="fs-1 text-gray-800 w-bolder mb-6">
|
||||
{{ $document->nomor_dokumen }}
|
||||
{{ $document->nomor_dokumen }}
|
||||
</h2>
|
||||
<!--end::Title-->
|
||||
|
||||
@ -96,7 +100,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Tanggal Dokumen : {{ $document->tanggal_dokumen }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Tanggal Dokumen
|
||||
: {{ $document->tanggal_dokumen }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -107,7 +112,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">User Upload : {{ $document->creator->name }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">User Upload
|
||||
: {{ $document->creator->name }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -119,7 +125,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Tanggal Upload : {{ $document->tanggal_upload }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Tanggal Upload
|
||||
: {{ $document->tanggal_upload }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -131,7 +138,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sequence : {{ $document->document->sequence_odner }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sequence
|
||||
: {{ $document->document->sequence_odner }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -228,7 +236,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Direktorat {{ $document->document->directorat->name }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">
|
||||
Direktorat {{ $document->document->directorat->name }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -239,7 +248,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sub Direktorat {{ $document->document->sub_directorat->name }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sub
|
||||
Direktorat {{ $document->document->sub_directorat->name }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -250,7 +260,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Jenis Pekerjaan {{ $document->document->job->name }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Jenis
|
||||
Pekerjaan {{ $document->document->job->name }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -261,7 +272,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sub Jenis Pekerjaan {{ $document->document->sub_job->name }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sub Jenis
|
||||
Pekerjaan {{ $document->document->sub_job->name }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
@ -273,7 +285,8 @@
|
||||
<!--end::Bullet-->
|
||||
|
||||
<!--begin::Label-->
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sub Sub Jenis Pekerjaan {{ $document->document->sub_sub_job->name }}</div>
|
||||
<div class="text-gray-600 fw-semibold fs-6">Sub Sub Jenis
|
||||
Pekerjaan {{ $document->document->sub_sub_job->name }}</div>
|
||||
<!--end::Label-->
|
||||
</div>
|
||||
<!--end::Row-->
|
||||
|
@ -37,7 +37,8 @@
|
||||
"name": "kode",
|
||||
"title": "Kode File",
|
||||
"orderable": true,
|
||||
"searchable": true
|
||||
"searchable": true,
|
||||
"className": "none"
|
||||
}, {
|
||||
"data": "kode_dus",
|
||||
"name": "kode_dus",
|
||||
@ -79,13 +80,15 @@
|
||||
"name": "tanggal_approve",
|
||||
"title": "Tanggal Approve",
|
||||
"orderable": true,
|
||||
"searchable": true
|
||||
"searchable": true,
|
||||
"className": "none"
|
||||
}, {
|
||||
"data": "approved_by",
|
||||
"name": "approved_by",
|
||||
"title": "Approved By",
|
||||
"orderable": true,
|
||||
"searchable": true
|
||||
"searchable": true,
|
||||
"className": "none"
|
||||
}, {
|
||||
"data": "directorat",
|
||||
"name": "directorat",
|
||||
@ -154,7 +157,7 @@
|
||||
"title": "Action",
|
||||
"orderable": false,
|
||||
"searchable": false,
|
||||
"className": "text-center"
|
||||
"className": "text-right"
|
||||
}],
|
||||
"stateSave": false,
|
||||
"responsive": true,
|
||||
@ -261,7 +264,7 @@
|
||||
event.preventDefault();
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
html: "Apakah Anda Akan Menonaktifka Dokumen Ini!<br>Alasan Penonaktifan :",
|
||||
html: "Apakah Anda Akan Menonaktifkan Dokumen Ini!<br>Alasan Penonaktifan :",
|
||||
icon: 'warning',
|
||||
input: 'text',
|
||||
showCancelButton: true,
|
||||
@ -348,14 +351,25 @@
|
||||
LaravelDataTables["{{$route[0]}}-table"].on('click', '.delete', function (event) {
|
||||
var form = $(this).closest("form");
|
||||
event.preventDefault();
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
text: "You won't be able to revert this!",
|
||||
html: "Apakah Anda Akan Menghapus Dokumen Ini!<br>Alasan Penghapusan :",
|
||||
icon: 'warning',
|
||||
input: 'text',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
confirmButtonText: 'Yes!',
|
||||
preConfirm: (keterangan) => {
|
||||
if (!keterangan) {
|
||||
Swal.showValidationMessage(
|
||||
`Alasan Penghapusan Wajib Diisi`
|
||||
)
|
||||
} else {
|
||||
this.keterangan = keterangan
|
||||
}
|
||||
}
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
$.ajax({
|
||||
@ -363,7 +377,63 @@
|
||||
url: form.attr('action'),
|
||||
data: form.serialize(), // serializes the form's elements.
|
||||
success: function (data) {
|
||||
toastr.success('{{ucfirst($route[0])}} has been deleted.', 'Success!', {timeOut: 5000});
|
||||
toastr.success('{{ucfirst($route[0])}} Menunggu Approval untuk menghapus Dokumen.', 'Success!', {timeOut: 5000});
|
||||
LaravelDataTables["{{$route[0]}}-table"].draw();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
LaravelDataTables["{{$route[0]}}-table"].on('click', '.approvedelete', function (event) {
|
||||
var form = $(this).closest("form");
|
||||
event.preventDefault();
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
html: "Apakah Anda Akan Mengijinkan Menghapus Dokumen Ini!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes!',
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: form.attr('action'),
|
||||
data: form.serialize(), // serializes the form's elements.
|
||||
success: function (data) {
|
||||
toastr.success('{{ucfirst($route[0])}} Menunggu Approval Tingkat 2 untuk menghapus Dokumen.', 'Success!', {timeOut: 5000});
|
||||
LaravelDataTables["{{$route[0]}}-table"].draw();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
LaravelDataTables["{{$route[0]}}-table"].on('click', '.approveddelete', function (event) {
|
||||
var form = $(this).closest("form");
|
||||
event.preventDefault();
|
||||
|
||||
Swal.fire({
|
||||
title: 'Are you sure?',
|
||||
html: "Apakah Anda Akan Menghapus Dokumen Ini!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes!',
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: form.attr('action'),
|
||||
data: form.serialize(), // serializes the form's elements.
|
||||
success: function (data) {
|
||||
toastr.success('{{ucfirst($route[0])}} Sukses menghapus Dokumen.', 'Success!', {timeOut: 5000});
|
||||
LaravelDataTables["{{$route[0]}}-table"].draw();
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user