{{-- Action Buttons Card --}}
Aksi
{{-- Draft Actions (Creator Only) --}} @if($surat->isDraft() && $surat->created_by == auth()->id()) @if($surat->selected_approvers && count($surat->selected_approvers) > 0 && isset($availableApprovers) && $availableApprovers->count() > 0) {{-- Draft yang sudah punya approvers (dari recall atau sebelumnya) --}}
Klik submit untuk mengirim ke approver yang dipilih, atau ubah pilihan terlebih dahulu
@else {{-- Draft baru tanpa approvers, atau availableApprovers tidak tersedia --}}
@csrf
Draft akan dikirim ke atasan langsung untuk approval
@endif @endif {{-- Revision Required Actions (Creator Only) --}} @if($surat->isRevisionRequired() && $surat->created_by == auth()->id())
Surat dikembalikan untuk revisi. Silakan upload file yang sudah diperbaiki.
@endif {{-- Recall Actions (Creator - dapat menarik surat yang belum ada action) --}} @if($surat->canRecall(auth()->user()))
Anda dapat menarik surat ini karena belum ada approver yang memberikan respon
@endif {{-- Approval Actions (Current Approver) --}} @if($surat->canApprove(auth()->user()))
Anda dapat memberikan anotasi pada dokumen sebelum menyetujui atau menolak
@elseif($surat->isPendingApproval() && $surat->hasPendingApproval(auth()->user())) {{-- User punya pending approval tapi belum gilirannya --}} @php $lowestPending = $surat->lowestPendingApprover; @endphp @if($lowestPending)
Menunggu persetujuan dari {{ $lowestPending->jabatan_with_satuan ?? $lowestPending->jabatan }} terlebih dahulu
@endif @endif {{-- Optional Approve Actions (Skipped Staff/Observer) --}} @if($surat->canOptionalApprove(auth()->user()))
Persetujuan opsional tidak mempengaruhi flow, tetapi tercatat di history
@endif {{-- Comment Actions (Anyone who can view) - HIDDEN untuk sementara --}} {{-- @if($surat->canComment(auth()->user()) && !$surat->canApprove(auth()->user()) && !$surat->canOptionalApprove(auth()->user())) @endif --}} {{-- Sign Actions (Final Signer) --}} @if($surat->canSign(auth()->user())) @php $userSignature = auth()->user()->getActiveSignature(); $hasUploadedSignature = $userSignature !== null; @endphp {{-- Option BSrE: Tandatangani dengan BSrE TTE --}} @if(config('bsre.enabled') && auth()->user()->canSignWithBsre())

Tanda Tangan Elektronik (BSrE)

TTE tersertifikasi dari BSSN — QR BSrE akan ditambahkan otomatis setelah penomoran

@csrf
NIK: {{ substr(auth()->user()->nik, 0, 4) }}****{{ substr(auth()->user()->nik, -4) }}

-- atau tandatangani manual --

@endif @php $latestAnnotatedVersion = $surat->versions() ->where('surat_keluar_id', $surat->id) ->whereNotNull('file_annotations') ->latest('created_at') ->first(); $annotatedByFinalSigner = $surat->file_annotated && $surat->final_signer_id && $latestAnnotatedVersion && ($latestAnnotatedVersion->uploaded_by == $surat->final_signer_id); $hideTteButton = $annotatedByFinalSigner; @endphp @if(!$surat->checkHideTteButton())

Tanda Tangan Elektronik (TTE)

QR Code verifikasi akan ditambahkan ke dokumen saat penomoran

@csrf
@endif

-- atau tandatangani manual --

{{-- Tombol untuk menyimpan tanda tangan dari anotasi PDF --}} @if(!auth()->user()->isPangWapang()) @if($hasUploadedSignature && !$surat->file_annotated)

Tanda Tangan Tersimpan:

Tanda Tangan
@csrf
Akan ditempatkan di area penomoran bersama cap satuan

-- atau tandatangani manual --

@endif {{-- Option 2: Sign via PDF annotation --}}
@csrf
@endif @if(!$surat->file_annotated && !$hasUploadedSignature)
Silakan tandatangani dokumen PDF menggunakan anotasi dan klik tombol Simpan di toolbar PDF terlebih dahulu
@endif {{-- Modal Tandatangan Digital - HIDDEN untuk sementara --}} {{-- --}} @endif {{-- TU Forward Actions (after signed - for new workflow) --}} @if($surat->canForwardAsTu(auth()->user())) @if($surat->requiresPanglimaSignature()) {{-- Surat butuh TTD Panglima/Wapang → Langsung teruskan ke PAURMIN --}}
@csrf
Surat akan diteruskan ke PAURMIN → KASMIN → {{ $surat->finalSigner && $surat->finalSigner->isPanglima() ? 'Wapang → Panglima' : 'Wapang' }} → SETUM
@elseif(($surat->numbering_source === 'setum' || $surat->numbering_by_setum) && $surat->status === 'pending_tu_forward') {{-- Surat dengan penomoran SETUM dan status pending_tu_forward → Langsung teruskan ke SETUM --}}
@csrf
Surat akan diteruskan ke SETUM untuk penomoran (dipilih saat pembuatan surat)
@else {{-- Surat non-Pangwapang → Modal untuk pilih Internal/Eksternal --}}
Pilih tipe tujuan (Internal/Eksternal) dan proses surat
@endif @endif {{-- Operator SMIN Forward Actions (after approved ) --}} @if($surat->canForwardAsOpSmin(auth()->user())) @if($surat->requiresPanglimaSignature()) {{-- Surat butuh TTD Panglima/Wapang → Langsung teruskan ke PAURMIN --}}
@csrf
Surat akan diteruskan ke PAURMIN → KASMIN → {{ $surat->finalSigner && $surat->finalSigner->isPanglima() ? 'Wapang → Panglima' : 'Wapang' }} → SETUM
@elseif(($surat->numbering_source === 'setum' || $surat->numbering_by_setum) && $surat->status === 'pending_op_smin_forward') {{-- Surat dengan penomoran SETUM dan status pending_op_smin_forward → Langsung teruskan ke SETUM --}}
@csrf
Surat akan diteruskan ke SETUM untuk penomoran (dipilih saat pembuatan surat)
@else {{-- Surat non-Pangwapang → Modal untuk pilih Internal/Eksternal --}}
Pilih tipe tujuan (Internal/Eksternal) dan proses surat
@endif @endif {{-- SES IT Forward Actions (IT satuan - review sebelum numbering) --}} @if($surat->canReviewAsSesIt(auth()->user()))
@csrf
Surat sudah dicek, teruskan ke {{ $surat->numbering_by_setum ? 'SETUM' : 'TU IT' }} untuk penomoran
@endif {{-- PAURMIN Forward Actions --}} @if($surat->canForwardAsPaurmin(auth()->user()))
@csrf
Anda dapat memberikan anotasi/koreksi pada PDF sebelum meneruskan atau mengembalikan surat
@endif {{-- KASMIN Forward Actions --}} @if($surat->canForwardAsKasmin(auth()->user())) @php // Cek apakah Wakil Panglima sudah menyetujui sebagai counter paraf $wapang = \App\Models\User::where('role', 'pimpinan_tertinggi') ->where(function ($q) { $q->where('jabatan', 'like', '%Wakil Panglima%') ->orWhere('jabatan', 'like', '%Wakilpanglima%'); }) ->where('is_active', true) ->first(); $wapangAlreadyApproved = $wapang && $surat->approvals() ->where('approver_id', $wapang->id) ->where('status', 'approved') ->exists(); @endphp
@csrf
Anda dapat memberikan anotasi/koreksi pada PDF sebelum meneruskan atau mengembalikan surat
@endif {{-- Wapang Approve Actions (sebagai counter paraf terakhir sebelum Panglima TTD) --}} @if($surat->isPendingWapangApproval() && auth()->user()->isWakilPanglima())
@csrf
Anda dapat memberikan anotasi/koreksi pada PDF sebelum menyetujui atau mengembalikan surat
@endif {{-- Panglima/Wapang Sign Actions --}} @if($surat->canSignAsPangwapang(auth()->user()))
@csrf
@if(auth()->user()->isWakilPanglima() || auth()->user()->isPanglima())
Surat akan dikembalikan ke pembuat untuk direvisi. Setelah direvisi, surat akan menjalani alur persetujuan dari awal kembali.
@endif @if($surat->file_annotated)
Tanda tangan sudah disimpan. Klik tombol di atas untuk meneruskan ke SETUM
@endif @endif {{-- SETUM Numbering Actions --}} @if($surat->canProcessSetumNumbering(auth()->user())) Proses Penomoran & Kirim
Isikan nomor surat, kategorisasi, pilih penerima, dan kirim surat @if($surat->destination_type)
Tipe Tujuan: @if($surat->destination_type === 'both') Internal & Eksternal @elseif($surat->destination_type === 'internal') Internal @else Eksternal @endif @endif
@endif {{-- Info untuk user non-SETUM saat status menunggu penomoran SETUM --}} @if($surat->isPendingSetumNumbering() && !$surat->canProcessSetumNumbering(auth()->user()))
Menunggu penomoran dari setum
@endif {{-- Operator TU Numbering & Send Actions (for Alur A - old flow kept for compatibility) --}} {{-- TU (KATUUD/PAURTUUD) bisa melihat surat tapi tidak bisa melakukan penomoran --}} @if($surat->canProcessNumbering(auth()->user()) && !$surat->canForwardAsTu(auth()->user()) && !$surat->canProcessSetumNumbering(auth()->user())) @if(auth()->user()->isOperatorTUBagian()) Proses Penomoran & Kirim @else Proses Penomoran & Kirim @endif
Isikan nomor surat, kategorisasi, pilih penerima, dan kirim surat
@elseif($surat->isPendingNumbering() && !$surat->canProcessNumbering(auth()->user())) {{-- Tampilkan info siapa yang harus proses jika user tidak berwenang --}} {{-- TU bisa melihat tapi tidak bisa action - penomoran dilakukan oleh Operator TU --}} @php $responsibleOperatorTu = $surat->getResponsibleTuForNumbering(); @endphp @if($responsibleOperatorTu)
Menunggu penomoran oleh {{ $responsibleOperatorTu->jabatan_with_satuan ?? $responsibleOperatorTu->jabatan }}
@else
Menunggu penomoran oleh Operator TU {{ $surat->creator?->satuan ?? '' }}
@endif @endif {{-- View Version History - HIDDEN untuk sementara --}} {{-- @if($surat->versions && $surat->versions->count() > 1) @endif --}} {{-- Back to Dashboard/List --}} @php // Pimpinan yang kembali ke dashboard: // - pimpinan_tertinggi (Panglima, Wakil Panglima) // - pimpinan_staf (ASREN, ASINTEL, ASOPS, ASPERS, ASLOG dan wakil-wakilnya) // - pimpinan_satuan (Komandan satuan dan wakil-wakilnya) $shouldGoToDashboard = auth()->user()->isPanglima() || auth()->user()->isWakilPanglima() || auth()->user()->role === 'pimpinan_staf' || auth()->user()->role === 'pimpinan_satuan' || auth()->user()->isWakilPimpinanStafSatuan(); @endphp @if($shouldGoToDashboard) Kembali ke Dashboard @else Kembali ke List @endif