revised form up country (again)
This commit is contained in:
@@ -140,7 +140,6 @@ class NextCloudHelper
|
||||
return rtrim($baseUrl, '/') . '/' . $relativePath;
|
||||
}
|
||||
|
||||
|
||||
public static function getNextcloudFile($filePath)
|
||||
{
|
||||
// Check if the file exists
|
||||
|
||||
@@ -70,9 +70,11 @@ class FormUpCountryController extends Controller
|
||||
$this->checkAuthorization(auth()->user(), ['forms.country.view']);
|
||||
|
||||
$form = FormUpCountry::with(['rayon', 'user'])->findOrFail($id);
|
||||
$form->bukti1 = $form->bukti1 ? NextCloudHelper::getFileUrl($form->bukti1) : null;
|
||||
$form->bukti2 = $form->bukti2 ? NextCloudHelper::getFileUrl($form->bukti2) : null;
|
||||
$form->bukti3 = $form->bukti3 ? NextCloudHelper::getFileUrl($form->bukti3) : null;
|
||||
$form->bukti_allowance = $form->bukti_allowance ? NextCloudHelper::getFileUrl($form->bukti_allowance) : null;
|
||||
$form->bukti_transport_dalkot = $form->bukti_transport_dalkot ? NextCloudHelper::getFileUrl($form->bukti_transport_dalkot) : null;
|
||||
$form->bukti_transport_ankot = $form->bukti_transport_ankot ? NextCloudHelper::getFileUrl($form->bukti_transport_ankot) : null;
|
||||
$form->bukti_hotel = $form->bukti_hotel ? NextCloudHelper::getFileUrl($form->bukti_hotel) : null;
|
||||
|
||||
return response()->json($form);
|
||||
}
|
||||
|
||||
@@ -94,12 +96,14 @@ class FormUpCountryController extends Controller
|
||||
'tanggal' => 'required',
|
||||
'tujuan' => 'required',
|
||||
'jarak' => 'required',
|
||||
'allowance' => 'required',
|
||||
'transport_dalkot' => 'required',
|
||||
'transport_ankot' => 'required',
|
||||
'bukti1' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti2' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti3' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'allowance' => 'nullable|numeric',
|
||||
'transport_dalkot' => 'nullable|numeric',
|
||||
'transport_ankot' => 'nullable|numeric',
|
||||
'hotel' => 'nullable|numeric',
|
||||
'bukti_allowance' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti_transport_dalkot' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti_transport_ankot' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
]);
|
||||
|
||||
$cabang = UserHasCabang::with('cabang')->where('user_id', auth()->user()->id)->first()->cabang;
|
||||
@@ -109,40 +113,52 @@ class FormUpCountryController extends Controller
|
||||
$filePaths = [];
|
||||
$folderPath = '/expense/' . $region->code . '/' . $cabang->code . '/upcountry';
|
||||
|
||||
if ($request->hasFile('bukti1')) {
|
||||
$bukti1 = $request->file('bukti1');
|
||||
$filename = Str::uuid() . '.' . $bukti1->extension();
|
||||
if ($request->hasFile('bukti_allowance')) {
|
||||
$bukti_allowance = $request->file('bukti_allowance');
|
||||
$filename = Str::uuid() . '.' . $bukti_allowance->extension();
|
||||
|
||||
$filePaths['bukti1'] = $folderPath . '/' . $filename;
|
||||
$filePaths['bukti_allowance'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti1->getContent(),
|
||||
$bukti_allowance->getContent(),
|
||||
$filename
|
||||
);
|
||||
|
||||
}
|
||||
if ($request->hasFile('bukti2')) {
|
||||
$bukti2 = $request->file('bukti2');
|
||||
$filename = Str::uuid() . '.' . $bukti2->extension();
|
||||
if ($request->hasFile('bukti_transport_dalkot')) {
|
||||
$bukti_transport_dalkot = $request->file('bukti_transport_dalkot');
|
||||
$filename = Str::uuid() . '.' . $bukti_transport_dalkot->extension();
|
||||
|
||||
$filePaths['bukti2'] = $folderPath . '/' . $filename;
|
||||
$filePaths['bukti_transport_dalkot'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti2->getContent(),
|
||||
$bukti_transport_dalkot->getContent(),
|
||||
$filename
|
||||
);
|
||||
}
|
||||
if ($request->hasFile('bukti3')) {
|
||||
$bukti3 = $request->file('bukti3');
|
||||
$filename = Str::uuid() . '.' . $bukti3->extension();
|
||||
if ($request->hasFile('bukti_transport_ankot')) {
|
||||
$bukti_transport_ankot = $request->file('bukti_transport_ankot');
|
||||
$filename = Str::uuid() . '.' . $bukti_transport_ankot->extension();
|
||||
|
||||
$filePaths['bukti3'] = $folderPath . '/' . $filename;
|
||||
$filePaths['bukti_transport_ankot'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti3->getContent(),
|
||||
$bukti_transport_ankot->getContent(),
|
||||
$filename
|
||||
);
|
||||
}
|
||||
if ($request->hasFile('bukti_hotel')) {
|
||||
$bukti_hotel = $request->file('bukti_hotel');
|
||||
$filename = Str::uuid() . '.' . $bukti_hotel->extension();
|
||||
|
||||
$filePaths['bukti_hotel'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti_hotel->getContent(),
|
||||
$filename
|
||||
);
|
||||
}
|
||||
@@ -152,6 +168,13 @@ class FormUpCountryController extends Controller
|
||||
$formatted_sequence_number = str_pad($sequence_number, 4, '0', STR_PAD_LEFT);
|
||||
$expense_number = $region->code . '-' . $cabang->code . '-UPC-' . date('ym') . $formatted_sequence_number;
|
||||
|
||||
$data_nominal = [
|
||||
'allowance' => $request->allowance ?? 0,
|
||||
'transport_dalkot' => $request->transport_dalkot ?? 0,
|
||||
'transport_ankot' => $request->transport_ankot ?? 0,
|
||||
'hotel' => $request->hotel ?? 0,
|
||||
];
|
||||
|
||||
// Save the form data
|
||||
FormUpCountry::create([
|
||||
'expense_number' => $expense_number,
|
||||
@@ -160,14 +183,15 @@ class FormUpCountryController extends Controller
|
||||
'tanggal' => $request->tanggal,
|
||||
'tujuan' => $request->tujuan,
|
||||
'jarak' => $request->jarak,
|
||||
'allowance' => $request->allowance,
|
||||
'transport_dalkot' => $request->transport_dalkot,
|
||||
'transport_ankot' => $request->transport_ankot,
|
||||
'hotel' => $request->hotel,
|
||||
'total' => $request->allowance + $request->transport_dalkot + $request->transport_ankot + $request->hotel,
|
||||
'bukti1' => $filePaths['bukti1'] ?? null,
|
||||
'bukti2' => $filePaths['bukti2'] ?? null,
|
||||
'bukti3' => $filePaths['bukti3'] ?? null,
|
||||
'allowance' => $data_nominal['allowance'],
|
||||
'transport_dalkot' => $data_nominal['transport_dalkot'],
|
||||
'transport_ankot' => $data_nominal['transport_ankot'],
|
||||
'hotel' => $data_nominal['hotel'],
|
||||
'total' => array_sum($data_nominal),
|
||||
'bukti_allowance' => $filePaths['bukti_allowance'] ?? null,
|
||||
'bukti_transport_dalkot' => $filePaths['bukti_transport_dalkot'] ?? null,
|
||||
'bukti_transport_ankot' => $filePaths['bukti_transport_ankot'] ?? null,
|
||||
'bukti_hotel' => $filePaths['bukti_hotel'] ?? null,
|
||||
'account_number' => $kategori->account_number,
|
||||
'status' => 'On Progress',
|
||||
]);
|
||||
@@ -202,13 +226,14 @@ class FormUpCountryController extends Controller
|
||||
'tanggal' => 'required',
|
||||
'tujuan' => 'required',
|
||||
'jarak' => 'required',
|
||||
'allowance' => 'required',
|
||||
'transport_dalkot' => 'required',
|
||||
'transport_ankot' => 'required',
|
||||
'hotel' => 'required',
|
||||
'bukti1' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti2' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti3' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'allowance' => 'nullable|numeric',
|
||||
'transport_dalkot' => 'nullable|numeric',
|
||||
'transport_ankot' => 'nullable|numeric',
|
||||
'hotel' => 'nullable|numeric',
|
||||
'bukti_allowance' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti_transport_dalkot' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti_transport_ankot' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
'bukti_hotel' => ['nullable', 'file', 'max:51200', new FileType(['php', 'exe', 'js', 'sh', 'bat', 'exe', 'sh', 'php', 'vbs'])],
|
||||
]);
|
||||
|
||||
$form = FormUpCountry::findOrfail($id);
|
||||
@@ -224,43 +249,62 @@ class FormUpCountryController extends Controller
|
||||
$filePaths = [];
|
||||
$folderPath = '/expense/' . $region->code . '/' . $cabang->code . '/upcountry';
|
||||
|
||||
if ($request->hasFile('bukti1')) {
|
||||
$bukti1 = $request->file('bukti1');
|
||||
$filename = Str::uuid() . '.' . $bukti1->extension();
|
||||
if ($request->hasFile('bukti_allowance')) {
|
||||
$bukti_allowance = $request->file('bukti_allowance');
|
||||
$filename = Str::uuid() . '.' . $bukti_allowance->extension();
|
||||
|
||||
$filePaths['bukti1'] = $folderPath . '/' . $filename;
|
||||
$filePaths['bukti_allowance'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti1->getContent(),
|
||||
$bukti_allowance->getContent(),
|
||||
$filename
|
||||
);
|
||||
|
||||
}
|
||||
if ($request->hasFile('bukti2')) {
|
||||
$bukti2 = $request->file('bukti2');
|
||||
$filename = Str::uuid() . '.' . $bukti2->extension();
|
||||
if ($request->hasFile('bukti_transport_dalkot')) {
|
||||
$bukti_transport_dalkot = $request->file('bukti_transport_dalkot');
|
||||
$filename = Str::uuid() . '.' . $bukti_transport_dalkot->extension();
|
||||
|
||||
$filePaths['bukti2'] = $folderPath . '/' . $filename;
|
||||
$filePaths['bukti_transport_dalkot'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti2->getContent(),
|
||||
$bukti_transport_dalkot->getContent(),
|
||||
$filename
|
||||
);
|
||||
}
|
||||
if ($request->hasFile('bukti3')) {
|
||||
$bukti3 = $request->file('bukti3');
|
||||
$filename = Str::uuid() . '.' . $bukti3->extension();
|
||||
if ($request->hasFile('bukti_transport_ankot')) {
|
||||
$bukti_transport_ankot = $request->file('bukti_transport_ankot');
|
||||
$filename = Str::uuid() . '.' . $bukti_transport_ankot->extension();
|
||||
|
||||
$filePaths['bukti3'] = $folderPath . '/' . $filename;
|
||||
$filePaths['bukti_transport_ankot'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti3->getContent(),
|
||||
$bukti_transport_ankot->getContent(),
|
||||
$filename
|
||||
);
|
||||
}
|
||||
if ($request->hasFile('bukti_hotel')) {
|
||||
$bukti_hotel = $request->file('bukti_hotel');
|
||||
$filename = Str::uuid() . '.' . $bukti_hotel->extension();
|
||||
|
||||
$filePaths['bukti_hotel'] = $folderPath . '/' . $filename;
|
||||
|
||||
NextCloudHelper::uploadFile(
|
||||
$folderPath,
|
||||
$bukti_hotel->getContent(),
|
||||
$filename
|
||||
);
|
||||
}
|
||||
|
||||
$data_nominal = [
|
||||
'allowance' => $request->allowance ?? 0,
|
||||
'transport_dalkot' => $request->transport_dalkot ?? 0,
|
||||
'transport_ankot' => $request->transport_ankot ?? 0,
|
||||
'hotel' => $request->hotel ?? 0,
|
||||
];
|
||||
|
||||
// Save the form data
|
||||
$form->update([
|
||||
@@ -268,14 +312,15 @@ class FormUpCountryController extends Controller
|
||||
'tanggal' => $request->tanggal,
|
||||
'tujuan' => $request->tujuan,
|
||||
'jarak' => $request->jarak,
|
||||
'allowance' => $request->allowance,
|
||||
'transport_dalkot' => $request->transport_dalkot,
|
||||
'transport_ankot' => $request->transport_ankot,
|
||||
'hotel' => $request->hotel,
|
||||
'total' => $request->allowance + $request->transport_dalkot + $request->transport_ankot + $request->hotel,
|
||||
'bukti1' => $filePaths['bukti1'] ?? $form->bukti1,
|
||||
'bukti2' => $filePaths['bukti2'] ?? $form->bukti2,
|
||||
'bukti3' => $filePaths['bukti3'] ?? $form->bukti3,
|
||||
'allowance' => $data_nominal['allowance'],
|
||||
'transport_dalkot' => $data_nominal['transport_dalkot'],
|
||||
'transport_ankot' => $data_nominal['transport_ankot'],
|
||||
'hotel' => $data_nominal['hotel'],
|
||||
'total' => array_sum($data_nominal),
|
||||
'bukti_allowance' => $filePaths['bukti_allowance'] ?? $form->bukti_allowance,
|
||||
'bukti_transport_dalkot' => $filePaths['bukti_transport_dalkot'] ?? $form->bukti_transport_dalkot,
|
||||
'bukti_transport_ankot' => $filePaths['bukti_transport_ankot'] ?? $form->bukti_transport_ankot,
|
||||
'bukti_hotel' => $filePaths['bukti_hotel'] ?? $form->bukti_hotel,
|
||||
'account_number' => $kategori->account_number,
|
||||
]);
|
||||
|
||||
@@ -300,7 +345,6 @@ class FormUpCountryController extends Controller
|
||||
'approved_at' => now(),
|
||||
'approved_by' => auth()->user()->id,
|
||||
'status' => 'Approved',
|
||||
|
||||
'approved_allowance' => $approved_data['allowance'],
|
||||
'approved_transport_dalkot' => $approved_data['transport_dalkot'],
|
||||
'approved_transport_ankot' => $approved_data['transport_ankot'],
|
||||
|
||||
@@ -27,9 +27,10 @@ class FormUpCountry extends Model
|
||||
'approved_transport_ankot',
|
||||
'approved_hotel',
|
||||
'approved_total',
|
||||
'bukti1',
|
||||
'bukti2',
|
||||
'bukti3',
|
||||
'bukti_allowance',
|
||||
'bukti_transport_dalkot',
|
||||
'bukti_transport_ankot',
|
||||
'bukti_hotel',
|
||||
'account_number',
|
||||
'status',
|
||||
'approved_at',
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?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('form_up_country', function (Blueprint $table) {
|
||||
$table->integer('allowance')->nullable()->change();
|
||||
$table->integer('transport_dalkot')->nullable()->change();
|
||||
$table->integer('transport_ankot')->nullable()->change();
|
||||
$table->integer('hotel')->nullable()->change();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('form_up_country', function (Blueprint $table) {
|
||||
$table->integer('allowance')->nullable(false)->change();
|
||||
$table->integer('transport_dalkot')->nullable(false)->change();
|
||||
$table->integer('transport_ankot')->nullable(false)->change();
|
||||
$table->integer('hotel')->nullable(false)->change();
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,44 @@
|
||||
<?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('form_up_country', function (Blueprint $table) {
|
||||
// drop old bukti columns
|
||||
$table->dropColumn('bukti1');
|
||||
$table->dropColumn('bukti2');
|
||||
$table->dropColumn('bukti3');
|
||||
|
||||
$table->string('bukti_allowance')->after('approved_total')->nullable();
|
||||
$table->string('bukti_transport_dalkot')->after('bukti_allowance')->nullable();
|
||||
$table->string('bukti_transport_ankot')->after('bukti_transport_dalkot')->nullable();
|
||||
$table->string('bukti_hotel')->after('bukti_transport_ankot')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('form_up_country', function (Blueprint $table) {
|
||||
// drop new bukti columns
|
||||
$table->dropColumn('bukti_allowance');
|
||||
$table->dropColumn('bukti_transport_dalkot');
|
||||
$table->dropColumn('bukti_transport_ankot');
|
||||
$table->dropColumn('bukti_hotel');
|
||||
|
||||
$table->string('bukti1')->after('approved_total')->nullable()->change();
|
||||
$table->string('bukti2')->after('bukti1')->nullable()->change();
|
||||
$table->string('bukti3')->after('bukti2')->nullable()->change();
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -90,7 +90,7 @@
|
||||
<p>Approved Meeting Seminar Expenses</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="fa fa-desktop" aria-hidden="true"></i>
|
||||
<i class="fa fa-users" aria-hidden="true"></i>
|
||||
</div>
|
||||
<a href="{{ route('forms.meeting') }}" class="small-box-footer">
|
||||
More info <i class="fas fa-arrow-circle-right"></i>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Pilih Rayon</label>
|
||||
<label class="form-label">Pilih Rayon <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<select class="form-control form-control-md" name="rayon_id" required>
|
||||
<option value="">Pilih Rayon</option>
|
||||
@foreach ($rayons as $rayon)
|
||||
@@ -40,47 +40,51 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Tanggal</label>
|
||||
<label class="form-label">Tanggal <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<input type="date" class="form-control" name="tanggal" required value="{{ old('tanggal') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Tujuan</label>
|
||||
<label class="form-label">Tujuan <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<input type="text" class="form-control" name="tujuan" required value="{{ old('tujuan') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Jarak (km)</label>
|
||||
<label class="form-label">Jarak (km) <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<input type="number" class="form-control" name="jarak" required value="{{ old('jarak') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Allowance</label>
|
||||
<input type="string" class="form-control" name="allowance" id="allowance" required value="{{ old('allowance') }}">
|
||||
<label class="form-label">Allowance <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="allowance" id="allowance" value="{{ old('allowance') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Transport Dalam Kota</label>
|
||||
<input type="string" class="form-control" name="transport_dalkot" id="transport_dalkot" required value="{{ old('transport_dalkot') }}">
|
||||
<label class="form-label">Bukti Allowance <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_allowance" value="{{ old('bukti_allowance') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Transport Antar Kota</label>
|
||||
<input type="string" class="form-control" name="transport_ankot" id="transport_ankot" required value="{{ old('transport_ankot') }}">
|
||||
<label class="form-label">Transport Dalam Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="transport_dalkot" id="transport_dalkot" value="{{ old('transport_dalkot') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Hotel</label>
|
||||
<input type="string" class="form-control" name="hotel" id="hotel" required value="{{ old('hotel') }}">
|
||||
<label class="form-label">Bukti Transport Dalam Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_transport_dalkot" value="{{ old('bukti_transport_dalkot') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti 1</label>
|
||||
<input type="file" class="form-control" name="bukti1" value="{{ old('bukti1') }}">
|
||||
<label class="form-label">Transport Antar Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="transport_ankot" id="transport_ankot" value="{{ old('transport_ankot') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti 2</label>
|
||||
<input type="file" class="form-control" name="bukti2" value="{{ old('bukti2') }}">
|
||||
<label class="form-label">Bukti Transport Antar Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_transport_ankot" value="{{ old('bukti_transport_ankot') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti 3</label>
|
||||
<input type="file" class="form-control" name="bukti3" value="{{ old('bukti3') }}">
|
||||
<label class="form-label">Hotel <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="hotel" id="hotel" value="{{ old('hotel') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti Hotel <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_hotel" value="{{ old('bukti_hotel') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Pilih Rayon</label>
|
||||
<label class="form-label">Pilih Rayon <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<select class="form-control form-control-md" name="rayon_id" required>
|
||||
<option value="">Pilih Rayon</option>
|
||||
@foreach ($rayons as $rayon)
|
||||
@@ -41,47 +41,51 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Tanggal</label>
|
||||
<label class="form-label">Tanggal <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<input type="date" class="form-control" name="tanggal" required value="{{ $form->tanggal }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Tujuan</label>
|
||||
<label class="form-label">Tujuan <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<input type="text" class="form-control" name="tujuan" required value="{{ $form->tujuan }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Jarak (km)</label>
|
||||
<label class="form-label">Jarak (km) <span class="font-italic font-weight-normal">(required)</span></label>
|
||||
<input type="number" class="form-control" name="jarak" required value="{{ $form->jarak }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Allowance</label>
|
||||
<input type="text" class="form-control" name="allowance" id="allowance" required value="{{ $form->allowance }}">
|
||||
<label class="form-label">Allowance <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="allowance" id="allowance" value="{{ $form->allowance }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Transport Dalam Kota</label>
|
||||
<input type="text" class="form-control" name="transport_dalkot" id="transport_dalkot" required value="{{ $form->transport_dalkot }}">
|
||||
<label class="form-label">Bukti Allowance <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_allowance" value="{{ old('bukti_allowance') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Transport Antar Kota</label>
|
||||
<input type="text" class="form-control" name="transport_ankot" id="transport_ankot" required value="{{ $form->transport_ankot }}">
|
||||
<label class="form-label">Transport Dalam Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="transport_dalkot" id="transport_dalkot" value="{{ $form->transport_dalkot }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Hotel</label>
|
||||
<input type="text" class="form-control" name="hotel" id="hotel" required value="{{ $form->hotel }}">
|
||||
<label class="form-label">Bukti Transport Dalam Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_transport_dalkot" value="{{ old('bukti_transport_dalkot') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti 1</label>
|
||||
<input type="file" class="form-control" name="bukti1" value="{{ old('bukti1') }}">
|
||||
<label class="form-label">Transport Antar Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="transport_ankot" id="transport_ankot" value="{{ $form->transport_ankot }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti 2</label>
|
||||
<input type="file" class="form-control" name="bukti2" value="{{ old('bukti2') }}">
|
||||
<label class="form-label">Bukti Transport Antar Kota <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_transport_ankot" value="{{ old('bukti_transport_ankot') }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti 3</label>
|
||||
<input type="file" class="form-control" name="bukti3" value="{{ old('bukti3') }}">
|
||||
<label class="form-label">Hotel <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="string" class="form-control" name="hotel" id="hotel" value="{{ $form->hotel }}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Bukti Hotel <span class="font-italic font-weight-normal">(optional)</span></label>
|
||||
<input type="file" class="form-control" name="bukti_hotel" value="{{ old('bukti_hotel') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -91,9 +91,6 @@
|
||||
<th>Jarak</th>
|
||||
<th>Total</th>
|
||||
<th>Total Approved</th>
|
||||
<th>Bukti 1</th>
|
||||
<th>Bukti 2</th>
|
||||
<th>Bukti 3</th>
|
||||
<th>Account Number</th>
|
||||
<th>Status</th>
|
||||
@if (auth()->user()->can('approval.approve'))
|
||||
@@ -125,33 +122,6 @@
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($item->bukti1)
|
||||
<a href="{{ NextCloudHelper::getFileUrl($item->bukti1) }}">
|
||||
Download
|
||||
</a>
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($item->bukti2)
|
||||
<a href="{{ NextCloudHelper::getFileUrl($item->bukti2) }}">
|
||||
Download
|
||||
</a>
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($item->bukti3)
|
||||
<a href="{{ NextCloudHelper::getFileUrl($item->bukti3) }}">
|
||||
Download
|
||||
</a>
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ $item->account_number }}</td>
|
||||
<td>
|
||||
@if ($item->status == 'On Progress')
|
||||
@@ -294,13 +264,16 @@
|
||||
<strong>Jarak:</strong> <span id="jarak"></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong>Bukti 1:</strong> <span id="bukti1"></span>
|
||||
<strong>Bukti Allowance:</strong> <span id="bukti_allowance"></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong>Bukti 2:</strong> <span id="bukti2"></span>
|
||||
<strong>Bukti Transport Dalam Kota:</strong> <span id="bukti_transport_dalkot"></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong>Bukti 3:</strong> <span id="bukti3"></span>
|
||||
<strong>Bukti Transport Antar Kota:</strong> <span id="bukti_transport_ankot"></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<strong>Bukti Hotel:</strong> <span id="bukti_hotel"></span>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="mt-2">Please select the items you want to approve:</p>
|
||||
@@ -381,6 +354,7 @@
|
||||
$('#modalContent').addClass('d-none');
|
||||
|
||||
$('#approveForm').attr('action', approveUrl); // Set the form action
|
||||
$('#loadingSpinner').addClass('d-flex');
|
||||
$('#approveModal').modal('show'); // Show the modal
|
||||
|
||||
// Get detail from /forms/up-country/detail/{id}
|
||||
@@ -413,9 +387,11 @@
|
||||
}));
|
||||
$('#tujuan').text(data.tujuan);
|
||||
$('#jarak').text(data.jarak + ' km');
|
||||
$('#bukti1').html(data.bukti1 ? '<a href="' + data.bukti1 + '" target="_blank">Download</a>' : '-');
|
||||
$('#bukti2').html(data.bukti2 ? '<a href="' + data.bukti2 + '" target="_blank">Download</a>' : '-');
|
||||
$('#bukti3').html(data.bukti3 ? '<a href="' + data.bukti3 + '" target="_blank">Download</a>' : '-');
|
||||
|
||||
$('#bukti_allowance').html(data.bukti_allowance ? '<a href="' + data.bukti_allowance + '" target="_blank">Download</a>' : '-');
|
||||
$('#bukti_transport_dalkot').html(data.bukti_transport_dalkot ? '<a href="' + data.bukti_transport_dalkot + '" target="_blank">Download</a>' : '-');
|
||||
$('#bukti_transport_ankot').html(data.bukti_transport_ankot ? '<a href="' + data.bukti_transport_ankot + '" target="_blank">Download</a>' : '-');
|
||||
$('#bukti_hotel').html(data.bukti_hotel ? '<a href="' + data.bukti_hotel + '" target="_blank">Download</a>' : '-');
|
||||
|
||||
// Hide spinner and show content
|
||||
$('#loadingSpinner').hide();
|
||||
|
||||
Reference in New Issue
Block a user