update dus management
This commit is contained in:
parent
ce57951bfd
commit
6197742a8f
122
DataTables/CardboardEditOdnerDataTable.php
Normal file
122
DataTables/CardboardEditOdnerDataTable.php
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Cetaklabel\DataTables;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
|
||||||
|
use Modules\Cetaklabel\Entities\CardboardDetail;
|
||||||
|
use Modules\Cetaklabel\Entities\Document;
|
||||||
|
use Modules\Cetaklabel\Entities\DocumentDetail;
|
||||||
|
use Yajra\DataTables\EloquentDataTable;
|
||||||
|
use Yajra\DataTables\Html\Builder as HtmlBuilder;
|
||||||
|
use Yajra\DataTables\Html\Column;
|
||||||
|
use Yajra\DataTables\Services\DataTable;
|
||||||
|
|
||||||
|
class CardboardEditOdnerDataTable extends DataTable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Build the DataTable class.
|
||||||
|
*
|
||||||
|
* @param QueryBuilder $query Results from query() method.
|
||||||
|
*/
|
||||||
|
public function dataTable(QueryBuilder $query)
|
||||||
|
: EloquentDataTable
|
||||||
|
{
|
||||||
|
$query = $query->with(['directorat', 'sub_directorat', 'job', 'job.sub_job', 'job.sub_job.sub_sub_job'])->whereIn('status', [1,4,5,6,7,9]);
|
||||||
|
$odners = CardboardDetail::where('cardboard_id','!=',request()->get('id'))->pluck('document_id')->toArray();
|
||||||
|
$query = $query->whereNotIn('id', $odners);
|
||||||
|
|
||||||
|
return (new EloquentDataTable($query))
|
||||||
|
->filter(function ($query) {
|
||||||
|
if (request()->has('search')) {
|
||||||
|
$search = request()->get('search');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
->addColumn('jumlah_halaman', function($model){
|
||||||
|
$jumlah_halaman = DocumentDetail::where('document_id', $model->id)->sum('jumlah_halaman');
|
||||||
|
|
||||||
|
return $jumlah_halaman;
|
||||||
|
})
|
||||||
|
->addColumn('directorat', function ($model) {
|
||||||
|
return $model->directorat->kode . ' - ' . $model->directorat->name;
|
||||||
|
})
|
||||||
|
->addColumn('sub_directorat', function ($model) {
|
||||||
|
return $model->sub_directorat->kode . ' - ' . $model->sub_directorat->name;
|
||||||
|
})
|
||||||
|
->addColumn('job', function ($model) {
|
||||||
|
return $model->job->kode . ' - ' . $model->job->name;
|
||||||
|
})
|
||||||
|
->addColumn('sub_job', function ($model) {
|
||||||
|
return $model->sub_job->kode . ' - ' . $model->sub_job->name;
|
||||||
|
})
|
||||||
|
->addColumn('sub_sub_job', function ($model) {
|
||||||
|
return $model->sub_sub_job->kode . ' - ' . $model->sub_sub_job->name;
|
||||||
|
})
|
||||||
|
->addIndexColumn()
|
||||||
|
->addColumn('checkbox', function ($item) {
|
||||||
|
return '<div class="form-check form-check-sm form-check-custom form-check-solid">
|
||||||
|
<input class="form-check-input" name="checkbox[]" type="checkbox" value="' . $item->id . '" />
|
||||||
|
</div>';
|
||||||
|
})
|
||||||
|
->rawColumns(['checkbox'])
|
||||||
|
->setRowId('id');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the query source of dataTable.
|
||||||
|
*/
|
||||||
|
public function query(Document $model)
|
||||||
|
: QueryBuilder
|
||||||
|
{
|
||||||
|
return $model->newQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional method if you want to use the html builder.
|
||||||
|
*/
|
||||||
|
public function html()
|
||||||
|
: HtmlBuilder
|
||||||
|
{
|
||||||
|
return $this->builder()
|
||||||
|
->setTableId('cardboard-odner-table')
|
||||||
|
->columns($this->getColumns())
|
||||||
|
->minifiedAjax()
|
||||||
|
->stateSave(false)
|
||||||
|
->responsive()
|
||||||
|
->autoWidth(true)
|
||||||
|
->orderBy(1)
|
||||||
|
->parameters([
|
||||||
|
'scrollX' => false,
|
||||||
|
'drawCallback' => 'function() { KTMenu.createInstances(); }',
|
||||||
|
])
|
||||||
|
->addTableClass('align-middle table-row-dashed fs-6 gy-5');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the dataTable columns definition.
|
||||||
|
*/
|
||||||
|
public function getColumns()
|
||||||
|
: array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Column::make('checkbox')->title('')->orderable(false)->searchable(false)->printable(false)->exportable(false)->width(10),
|
||||||
|
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
|
||||||
|
Column::make('kode_odner')->title('Kode Odner'),
|
||||||
|
Column::make('directorat')->title('Direktorat'),
|
||||||
|
Column::make('sub_directorat')->title('Sub Direktorat'),
|
||||||
|
Column::make('job')->title('Jenis Pekerjaan'),
|
||||||
|
Column::make('sub_job')->title('Sub Jenis Pekerjaan'),
|
||||||
|
Column::make('sub_sub_job')->title('Sub Sub Jenis Pekerjaan'),
|
||||||
|
Column::make('jumlah_halaman')->title('Jumlah Halaman'),
|
||||||
|
Column::make('sequence_odner')->title('Sequence')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the filename for export.
|
||||||
|
*/
|
||||||
|
protected function filename()
|
||||||
|
: string
|
||||||
|
{
|
||||||
|
return 'Cardboard_' . date('YmdHis');
|
||||||
|
}
|
||||||
|
}
|
@ -23,7 +23,8 @@
|
|||||||
{
|
{
|
||||||
$query = $query->with(['directorat', 'sub_directorat', 'job', 'job.sub_job', 'job.sub_job.sub_sub_job']);
|
$query = $query->with(['directorat', 'sub_directorat', 'job', 'job.sub_job', 'job.sub_job.sub_sub_job']);
|
||||||
$odners = CardboardDetail::where('cardboard_id',request()->get('id'))->pluck('document_id')->toArray();
|
$odners = CardboardDetail::where('cardboard_id',request()->get('id'))->pluck('document_id')->toArray();
|
||||||
$query = $query->whereNotIn('id', $odners);
|
|
||||||
|
// $query = $query->whereNotIn('id', $odners);
|
||||||
|
|
||||||
return (new EloquentDataTable($query))
|
return (new EloquentDataTable($query))
|
||||||
->filter(function ($query) {
|
->filter(function ($query) {
|
||||||
@ -54,7 +55,7 @@
|
|||||||
->addIndexColumn()
|
->addIndexColumn()
|
||||||
->addColumn('checkbox', function ($item) {
|
->addColumn('checkbox', function ($item) {
|
||||||
return '<div class="form-check form-check-sm form-check-custom form-check-solid">
|
return '<div class="form-check form-check-sm form-check-custom form-check-solid">
|
||||||
<input class="form-check-input" name="checkbox[]" type="checkbox" value="' . $item->id . '" />
|
<input class="form-check-input odner-check" name="checkbox[]" type="checkbox" value="' . $item->id . '" />
|
||||||
</div>';
|
</div>';
|
||||||
})
|
})
|
||||||
->rawColumns(['checkbox'])
|
->rawColumns(['checkbox'])
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
$table->string('keterangan')->nullable();
|
$table->string('keterangan')->nullable();
|
||||||
$table->string('aktif')->default(0)->nullable();
|
$table->string('aktif')->default(0)->nullable();
|
||||||
$table->string('status')->default(0)->nullable();
|
$table->string('status')->default(0)->nullable();
|
||||||
|
$table->string('approval_flag')->nullable();
|
||||||
|
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->softDeletes();
|
$table->softDeletes();
|
||||||
|
@ -24,12 +24,14 @@
|
|||||||
$direktorat = Directorat::create([
|
$direktorat = Directorat::create([
|
||||||
'kode' => '01',
|
'kode' => '01',
|
||||||
'name' => 'Direktorat',
|
'name' => 'Direktorat',
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$subdirektorat = SubDirectorat::create([
|
$subdirektorat = SubDirectorat::create([
|
||||||
'kode' => '01',
|
'kode' => '01',
|
||||||
'name' => 'Sub Direktorat',
|
'name' => 'Sub Direktorat',
|
||||||
'directorat_id' => $direktorat->id,
|
'directorat_id' => $direktorat->id,
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$job = Job::create([
|
$job = Job::create([
|
||||||
@ -37,6 +39,7 @@
|
|||||||
'name' => 'Job',
|
'name' => 'Job',
|
||||||
'sub_directorat_id' => $subdirektorat->id,
|
'sub_directorat_id' => $subdirektorat->id,
|
||||||
'directorat_id' => $direktorat->id,
|
'directorat_id' => $direktorat->id,
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$subjob = SubJob::create([
|
$subjob = SubJob::create([
|
||||||
@ -45,6 +48,7 @@
|
|||||||
'job_id' => $job->id,
|
'job_id' => $job->id,
|
||||||
'sub_directorat_id' => $subdirektorat->id,
|
'sub_directorat_id' => $subdirektorat->id,
|
||||||
'directorat_id' => $direktorat->id,
|
'directorat_id' => $direktorat->id,
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
SubSubJob::create([
|
SubSubJob::create([
|
||||||
@ -54,29 +58,34 @@
|
|||||||
'job_id' => $job->id,
|
'job_id' => $job->id,
|
||||||
'sub_directorat_id' => $subdirektorat->id,
|
'sub_directorat_id' => $subdirektorat->id,
|
||||||
'directorat_id' => $direktorat->id,
|
'directorat_id' => $direktorat->id,
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
SpecialCode::create([
|
SpecialCode::create([
|
||||||
'kode' => '00',
|
'kode' => '00',
|
||||||
'name' => 'Archive',
|
'name' => 'Archive',
|
||||||
'description' => 'Dokumen yang harus masuk Gudang Arsip'
|
'description' => 'Dokumen yang harus masuk Gudang Arsip',
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
SpecialCode::create([
|
SpecialCode::create([
|
||||||
'kode' => '98',
|
'kode' => '98',
|
||||||
'name' => 'Softcopy',
|
'name' => 'Softcopy',
|
||||||
'description' => 'Dokumen yang hanya tersedia dalam bentuk softcopy'
|
'description' => 'Dokumen yang hanya tersedia dalam bentuk softcopy',
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
SpecialCode::create([
|
SpecialCode::create([
|
||||||
'kode' => '99',
|
'kode' => '99',
|
||||||
'name' => 'Dokumen Asli',
|
'name' => 'Dokumen Asli',
|
||||||
'description' => 'Dokumen yang tidak disimpan ke Gudang arsip (Dokumen Asli Masuk Gudang di Direktorat Lain)'
|
'description' => 'Dokumen yang tidak disimpan ke Gudang arsip (Dokumen Asli Masuk Gudang di Direktorat Lain)',
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DocumentType::create([
|
DocumentType::create([
|
||||||
'kode' => '01',
|
'kode' => '01',
|
||||||
'name' => 'Surat Permohonan',
|
'name' => 'Surat Permohonan',
|
||||||
|
'status' => 1,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
'job_id',
|
'job_id',
|
||||||
'sub_job_id',
|
'sub_job_id',
|
||||||
'sub_sub_job_id',
|
'sub_sub_job_id',
|
||||||
'special_code_id',
|
|
||||||
'kode',
|
'kode',
|
||||||
'kode_dus',
|
'kode_dus',
|
||||||
'kode_odner',
|
'kode_odner',
|
||||||
|
@ -32,7 +32,9 @@
|
|||||||
'status',
|
'status',
|
||||||
'approved_by',
|
'approved_by',
|
||||||
'approved_at',
|
'approved_at',
|
||||||
'aktif'
|
'aktif',
|
||||||
|
'special_code_id',
|
||||||
|
'approval_flag',
|
||||||
];
|
];
|
||||||
|
|
||||||
public function document()
|
public function document()
|
||||||
|
@ -37,8 +37,10 @@
|
|||||||
|
|
||||||
$cardboard_id = $request->id;
|
$cardboard_id = $request->id;
|
||||||
$current_odner = CardboardDetail::where('cardboard_id', $cardboard_id)->count();
|
$current_odner = CardboardDetail::where('cardboard_id', $cardboard_id)->count();
|
||||||
|
$odners = CardboardDetail::where('cardboard_id', $cardboard_id)->pluck('document_id')->toArray();
|
||||||
|
$odners = json_encode($odners);
|
||||||
|
|
||||||
return $dataTable->render('cetaklabel::app.cardboard-detail.odner', compact('cardboard_id', 'current_odner'));
|
return $dataTable->render('cetaklabel::app.cardboard-detail.odner', compact('cardboard_id', 'current_odner','odners'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Modules\Approval\Entities\Approval;
|
||||||
use Modules\Cetaklabel\DataTables\DirectoratDataTable;
|
use Modules\Cetaklabel\DataTables\DirectoratDataTable;
|
||||||
use Modules\Cetaklabel\Entities\Directorat;
|
use Modules\Cetaklabel\Entities\Directorat;
|
||||||
use Modules\Cetaklabel\Http\Requests\Directorat\StoreDirectoratRequest;
|
use Modules\Cetaklabel\Http\Requests\Directorat\StoreDirectoratRequest;
|
||||||
@ -58,7 +59,17 @@
|
|||||||
// Store the Directorat...
|
// Store the Directorat...
|
||||||
if ($validated) {
|
if ($validated) {
|
||||||
try {
|
try {
|
||||||
Directorat::create($validated);
|
//Directorat::create($validated);
|
||||||
|
$approval = [
|
||||||
|
'method' => 'create',
|
||||||
|
'model' => 'Directorat',
|
||||||
|
'new_request' => json_encode($validated),
|
||||||
|
'description' => 'Create new Directorat',
|
||||||
|
'status' => '0',
|
||||||
|
];
|
||||||
|
|
||||||
|
Approval::create($approval);
|
||||||
|
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Directorat created successfully.']);
|
echo json_encode(['status' => 'success', 'message' => 'Directorat created successfully.']);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo json_encode(['status' => 'error', 'message' => 'Directorat created failed.']);
|
echo json_encode(['status' => 'error', 'message' => 'Directorat created failed.']);
|
||||||
@ -128,7 +139,18 @@
|
|||||||
// Update the Directorat...
|
// Update the Directorat...
|
||||||
if ($validated) {
|
if ($validated) {
|
||||||
try {
|
try {
|
||||||
$directorat->update($validated);
|
//$directorat->update($validated);
|
||||||
|
|
||||||
|
$approval = [
|
||||||
|
'method' => 'update',
|
||||||
|
'model' => 'Directorat',
|
||||||
|
'new_request' => json_encode($validated),
|
||||||
|
'old_request' => json_encode($directorat),
|
||||||
|
'description' => 'Update Directorat',
|
||||||
|
'status' => '0',
|
||||||
|
];
|
||||||
|
|
||||||
|
Approval::create($approval);
|
||||||
|
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Directorat updated successfully.']);
|
echo json_encode(['status' => 'success', 'message' => 'Directorat updated successfully.']);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
@ -154,7 +176,17 @@
|
|||||||
abort(403, 'Sorry !! You are Unauthorized to delete any master data !');
|
abort(403, 'Sorry !! You are Unauthorized to delete any master data !');
|
||||||
}
|
}
|
||||||
|
|
||||||
$directorat->delete();
|
$approval = [
|
||||||
|
'method' => 'delete',
|
||||||
|
'model' => 'Directorat',
|
||||||
|
'old_request' => json_encode($directorat),
|
||||||
|
'description' => 'Delete Directorat',
|
||||||
|
'status' => '0',
|
||||||
|
];
|
||||||
|
|
||||||
|
Approval::create($approval);
|
||||||
|
|
||||||
|
//$directorat->delete();
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Directorat deleted successfully.']);
|
echo json_encode(['status' => 'success', 'message' => 'Directorat deleted successfully.']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
use Modules\Cetaklabel\Entities\SpecialCode;
|
use Modules\Cetaklabel\Entities\SpecialCode;
|
||||||
use Modules\Cetaklabel\Http\Requests\Document\StoreDocumentRequest;
|
use Modules\Cetaklabel\Http\Requests\Document\StoreDocumentRequest;
|
||||||
use Response;
|
use Response;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Illuminate\Validation\Rules\File;
|
||||||
|
|
||||||
// Reference the Dompdf namespace
|
// Reference the Dompdf namespace
|
||||||
|
|
||||||
@ -64,8 +66,15 @@
|
|||||||
// Validate the request...
|
// Validate the request...
|
||||||
$validated = $request->validated();
|
$validated = $request->validated();
|
||||||
|
|
||||||
|
$detailValidate = Validator::validate($request->all(), [
|
||||||
|
'file' => [
|
||||||
|
File::types(['pdf', 'zip', 'jpg', 'jpeg', 'png', 'bmp', 'tiff'])
|
||||||
|
->max(5 * 1024)
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
|
||||||
// Store the Document...
|
// Store the Document...
|
||||||
if ($validated) {
|
if ($validated && $detailValidate) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$document = Document::where(['kode_odner' => $validated['kode_odner'],
|
$document = Document::where(['kode_odner' => $validated['kode_odner'],
|
||||||
@ -124,10 +133,8 @@
|
|||||||
'keterangan' => ''
|
'keterangan' => ''
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
DocumentDetail::create($detail);
|
DocumentDetail::create($detail);
|
||||||
|
|
||||||
|
|
||||||
return redirect()->route('document.index')->with('success', 'Document created successfully.');
|
return redirect()->route('document.index')->with('success', 'Document created successfully.');
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|
||||||
@ -138,6 +145,32 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*/
|
||||||
|
public function update(Request $request)
|
||||||
|
{
|
||||||
|
if (is_null($this->user) || !$this->user->hasRole('otorisator')) {
|
||||||
|
abort(403, 'Sorry !! You are Unauthorized to update any master data !');
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$data = [
|
||||||
|
'approval_flag' => $request->flag ?? null,
|
||||||
|
'status' => $request->keterangan == "" ? '1' : '3',
|
||||||
|
'keterangan' => $request->keterangan ?? null,
|
||||||
|
'approved_at' => date('Y-m-d H:i:s'),
|
||||||
|
'approved_by' => $this->user->id
|
||||||
|
];
|
||||||
|
$documents = DocumentDetail::find($request->id);
|
||||||
|
$documents->update($data);
|
||||||
|
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Document updated successfully.']);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Document updated failed.']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the form for creating a new resource.
|
* Show the form for creating a new resource.
|
||||||
*/
|
*/
|
||||||
@ -187,31 +220,6 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request)
|
|
||||||
{
|
|
||||||
if (is_null($this->user) || !$this->user->hasRole('otorisator')) {
|
|
||||||
abort(403, 'Sorry !! You are Unauthorized to update any master data !');
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
$data = [
|
|
||||||
'status' => $request->keterangan == "" ? '1' : '3',
|
|
||||||
'keterangan' => $request->keterangan ?? null,
|
|
||||||
'approved_at' => date('Y-m-d H:i:s'),
|
|
||||||
'approved_by' => $this->user->id
|
|
||||||
];
|
|
||||||
$documents = DocumentDetail::find($request->id);
|
|
||||||
$documents->update($data);
|
|
||||||
|
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Document updated successfully.']);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo json_encode(['status' => 'error', 'message' => 'Document updated failed.']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the specified resource from storage.
|
* Remove the specified resource from storage.
|
||||||
*/
|
*/
|
||||||
@ -243,6 +251,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function download(Request $request)
|
public function download(Request $request)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -251,19 +260,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$document = DocumentDetail::find($request->id);
|
$document = DocumentDetail::find($request->id);
|
||||||
if ($document->status == 1) {
|
|
||||||
|
if ($document->status == 1 && $document->approval_flag == 1) {
|
||||||
$document->update(['status' => '4']);
|
$document->update(['status' => '4']);
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Document menunggu Approval untuk di Cetak.']);
|
echo json_encode(['status' => 'success', 'message' => 'Document menunggu Approval untuk di Cetak.']);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($document->status == 4) {
|
if ($document->status == 4 && $document->approval_flag == 1) {
|
||||||
$document->update(['status' => '5']);
|
$document->update(['status' => '5']);
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Approval Berhasil.']);
|
echo json_encode(['status' => 'success', 'message' => 'Approval Berhasil.']);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($document->status == 5) {
|
if ($document->status == 5 && $document->approval_flag !== 1) {
|
||||||
$document->update(['status' => '1']);
|
$document->update(['status' => '1']);
|
||||||
$document->save();
|
$document->save();
|
||||||
$filepath = public_path($document->file);
|
$filepath = public_path($document->file);
|
||||||
|
@ -17,6 +17,28 @@
|
|||||||
LaravelDataTables["cardboard-odner-table"].search(this.value).draw();
|
LaravelDataTables["cardboard-odner-table"].search(this.value).draw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function arrayCompare(a1, a2) {
|
||||||
|
if (a1.length != a2.length) return false;
|
||||||
|
var length = a2.length;
|
||||||
|
for (var i = 0; i < length; i++) {
|
||||||
|
if (a1[i] !== a2[i]) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function inArray(needle, haystack) {
|
||||||
|
var length = haystack.length;
|
||||||
|
for(var i = 0; i < length; i++) {
|
||||||
|
if(typeof haystack[i] == 'object') {
|
||||||
|
if(arrayCompare(haystack[i], needle)) return true;
|
||||||
|
} else {
|
||||||
|
if(haystack[i] == needle) return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
const documentTitle = '{{ ucfirst($route[0]) }} Report';
|
const documentTitle = '{{ ucfirst($route[0]) }} Report';
|
||||||
var buttons = new $.fn.dataTable.Buttons(LaravelDataTables["cardboard-odner-table"], {
|
var buttons = new $.fn.dataTable.Buttons(LaravelDataTables["cardboard-odner-table"], {
|
||||||
@ -109,7 +131,31 @@
|
|||||||
}
|
}
|
||||||
$("#document_id").val(selected);
|
$("#document_id").val(selected);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
//JSON.parse($('#odners').val())
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/* $(document).load(function(){
|
||||||
|
$.each($('.odner-check'),function(index,value){
|
||||||
|
console.log(value)
|
||||||
|
})
|
||||||
|
})*/
|
||||||
|
|
||||||
|
$(window).on('load', function(){
|
||||||
|
// Assuming the checkboxes have unique IDs and their values match the array elements
|
||||||
|
var selectedValues = JSON.parse($('#odners').val());
|
||||||
|
// Get the checkboxes by class name
|
||||||
|
var checkboxes = document.getElementsByClassName('odner-check');
|
||||||
|
// Loop through the checkboxes
|
||||||
|
for (var i = 0; i < checkboxes.length; i++) {
|
||||||
|
var checkbox = checkboxes[i];
|
||||||
|
|
||||||
|
if(inArray(checkbox.value, selectedValues)) {
|
||||||
|
checkbox.checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} )
|
||||||
</script>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
<input type="hidden" name="cardboard_id" value="{{ $cardboard_id }}">
|
<input type="hidden" name="cardboard_id" value="{{ $cardboard_id }}">
|
||||||
<input type="hidden" name="current_odner" id="current_odner" value="{{ $current_odner }}">
|
<input type="hidden" name="current_odner" id="current_odner" value="{{ $current_odner }}">
|
||||||
<input type="hidden" name="document_id" id="document_id">
|
<input type="hidden" name="document_id" id="document_id">
|
||||||
|
<input type="hidden" id="odners" name="odners" value="{{ $odners }}">
|
||||||
<button type="submit" class="btn btn-light-success" id="save-odner" data-kt-menu-trigger="click"
|
<button type="submit" class="btn btn-light-success" id="save-odner" data-kt-menu-trigger="click"
|
||||||
data-kt-menu-placement="bottom-end" style="display: none">
|
data-kt-menu-placement="bottom-end" style="display: none">
|
||||||
<i class="ki-duotone ki-add-item">
|
<i class="ki-duotone ki-add-item">
|
||||||
|
@ -12,17 +12,17 @@
|
|||||||
class="btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
class="btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||||
{!! getIcon("printer", "text-primary","duotune") !!} Odner
|
{!! getIcon("printer", "text-primary","duotune") !!} Odner
|
||||||
</a>
|
</a>
|
||||||
@if($model->status == 4 && Auth::user()->hasRole('otorisator'))
|
@if($model->status == 4 && Auth::user()->hasRole('otorisator') && $model->approval_flag==1)
|
||||||
<a href="{{ route($route[0].'.download',$model->id) }}"
|
<a href="{{ route($route[0].'.download',$model->id) }}"
|
||||||
class="approve-download btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
class="approve-download btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||||
{!! getIcon("cloud-download", "text-info","duotune") !!} Approve Download
|
{!! getIcon("cloud-download", "text-info","duotune") !!} Approve Download
|
||||||
</a>
|
</a>
|
||||||
@elseif($model->status == 1 && Auth::user()->hasRole('operator'))
|
@elseif($model->status == 1 && Auth::user()->hasRole('operator') && $model->approval_flag==1)
|
||||||
<a href="{{ route($route[0].'.download',$model->id) }}"
|
<a href="{{ route($route[0].'.download',$model->id) }}"
|
||||||
class="btn-download btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
class="btn-download btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||||
{!! getIcon("cloud-download", "text-info","duotune") !!} Request Download
|
{!! getIcon("cloud-download", "text-info","duotune") !!} Request Download
|
||||||
</a>
|
</a>
|
||||||
@elseif($model->status == 5 && Auth::user()->hasRole('operator'))
|
@elseif($model->status == 5 || $model->approval_flag==1)
|
||||||
<a href="{{ route($route[0].'.download',$model->id) }}" target="_blank"
|
<a href="{{ route($route[0].'.download',$model->id) }}" target="_blank"
|
||||||
class="btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
class="btn btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||||
{!! getIcon("cloud-download", "text-success","duotune") !!} Download
|
{!! getIcon("cloud-download", "text-success","duotune") !!} Download
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<div class="flex-lg-row-fluid me-0 me-lg-20">
|
<div class="flex-lg-row-fluid me-0 me-lg-20">
|
||||||
<iframe src="{{ asset($document->file) }}" width="100%" height="650">
|
<iframe src="{{ asset($document->file) }}" width="100%" height="650">
|
||||||
This browser does not support PDFs. Please download the PDF to view it: <a
|
This browser does not support PDFs. Please download the PDF to view it: <a
|
||||||
href="{{ asset('folder/file_name.pdf') }}">Download PDF</a>
|
href="{{ asset($document->file) }}">Download PDF</a>
|
||||||
</iframe>
|
</iframe>
|
||||||
<form class="form_{{$route[0]}}" method="POST"
|
<form class="form_{{$route[0]}}" method="POST"
|
||||||
action="{{ route($route[0].'.update',['document' => $document->id]) }}">
|
action="{{ route($route[0].'.update',['document' => $document->id]) }}">
|
||||||
@ -15,6 +15,10 @@
|
|||||||
@if($document->status==0)
|
@if($document->status==0)
|
||||||
<!--begin::Actions-->
|
<!--begin::Actions-->
|
||||||
<div class="text-center mt-10">
|
<div class="text-center mt-10">
|
||||||
|
<div class="form-check form-switch form-check-custom form-check-solid" style="display: block!important;margin-bottom:25px;">
|
||||||
|
<input class="form-check-input h-20px w-30px" value="1" type="checkbox" name="flag" id="flag"/> Butuh Approval Saat Print/Download?
|
||||||
|
</div>
|
||||||
|
|
||||||
<input type="hidden" name="id" value="{{ $document->id }}">
|
<input type="hidden" name="id" value="{{ $document->id }}">
|
||||||
<input type="hidden" name="keterangan" id="keterangan">
|
<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="3" class="btn-tolak btn btn-danger me-3">Tolak</button>
|
||||||
|
@ -328,7 +328,7 @@
|
|||||||
title="Specify a target name for future usage and reference"></span>
|
title="Specify a target name for future usage and reference"></span>
|
||||||
</label>
|
</label>
|
||||||
<!--end::Label-->
|
<!--end::Label-->
|
||||||
<input type="file" class="form-control form-control-solid" name="file" required="required" accept=".pdf,image/*"/>
|
<input type="file" class="form-control form-control-solid" name="file" required="required" accept=".pdf,image/*,.zip"/>
|
||||||
</div>
|
</div>
|
||||||
<!--end::Input group-->
|
<!--end::Input group-->
|
||||||
</dic>
|
</dic>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@php
|
@php
|
||||||
$route = explode('.', Route::currentRouteName());
|
$route = explode('.', Route::currentRouteName());
|
||||||
@endphp
|
@endphp
|
||||||
@if( Auth::user()->hasRole('operator'))
|
@if( Auth::user()->hasRole('operator') || Auth::user()->hasRole('administrator'))
|
||||||
<div class="d-flex flex-row flex-center">
|
<div class="d-flex flex-row flex-center">
|
||||||
<a href="{{ route($route[0].'.edit',['directorat' => $model->id]) }}"
|
<a href="{{ route($route[0].'.edit',['directorat' => $model->id]) }}"
|
||||||
class="kt_edit_form btn btn-icon btn-bg-light btn-active-light-primary btn-sm me-1">
|
class="kt_edit_form btn btn-icon btn-bg-light btn-active-light-primary btn-sm me-1">
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Direktorat</span>
|
<span class="menu-title">Directorat</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
@ -66,7 +66,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Sub Direktorat</span>
|
<span class="menu-title">Sub Directorat</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
@ -78,7 +78,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Pekerjaan</span>
|
<span class="menu-title">Job</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
@ -90,7 +90,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Sub Pekerjaan</span>
|
<span class="menu-title">Sub Job</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
@ -103,7 +103,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Sub Sub Pekerjaan</span>
|
<span class="menu-title">Sub Sub Job</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
@ -117,7 +117,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Kode Khusus</span>
|
<span class="menu-title">Special Code</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
@ -130,7 +130,7 @@
|
|||||||
<span class="menu-bullet">
|
<span class="menu-bullet">
|
||||||
<span class="bullet bullet-dot"></span>
|
<span class="bullet bullet-dot"></span>
|
||||||
</span>
|
</span>
|
||||||
<span class="menu-title">Jenis Dokumen</span>
|
<span class="menu-title">Document Type</span>
|
||||||
</a>
|
</a>
|
||||||
<!--end:Menu link-->
|
<!--end:Menu link-->
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user