feat(webstatement): tambah fitur pengiriman statement ke email
- Menambahkan kolom `email` dan `email_sent_at` pada tabel `print_statement_logs`. - Menambah endpoint baru untuk mengirim statement via email (`/send-email`). - Mengupdate form request untuk validasi email pada `PrintStatementRequest`. - Menambah logika pengiriman email dengan menggunakan `Mailable` (`StatementEmail`). - Memvalidasi ketersediaan file statement sebelum dikirimkan via email. - Menambahkan tombol baru pada tampilan frontend untuk opsi `Send to Email`. - Mengupdate file zip untuk pengiriman email ketika ada statement dalam rentang waktu. - Refaktor dan perbaikan minor pada kode terkait check statement availability. - Menyesuaikan title menu pada `module.json` dari "Periode Statement" ke "Create Periode" dan "Print Statement" ke "Statement". Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -41,6 +41,14 @@
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="email">Email</label>
|
||||
<input type="email" class="input form-control @error('email') is-invalid @enderror" id="email" name="email" value="{{ old('email', $statement->email ?? '') }}" placeholder="Optional email for send statement">
|
||||
@error('email')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="form-label required" for="start_date">Start Date</label>
|
||||
|
||||
@@ -284,6 +292,13 @@
|
||||
</a>`;
|
||||
}
|
||||
|
||||
// Show send email button if email is not empty and statement is available
|
||||
if (data.is_available) {
|
||||
buttons += `<a class="btn btn-sm btn-icon btn-clear btn-primary" href="statements/${data.id}/send-email" title="Send to Email">
|
||||
<i class="ki-outline ki-paper-plane"></i>
|
||||
</a>`;
|
||||
}
|
||||
|
||||
// Only show delete button if status is pending
|
||||
if (data.authorization_status === 'pending') {
|
||||
buttons += `<a onclick="deleteData(${data.id})" class="delete btn btn-sm btn-icon btn-clear btn-danger">
|
||||
|
||||
Reference in New Issue
Block a user