softDelete features

This commit is contained in:
Thanakorn S
2026-05-22 14:07:22 +07:00
parent 738f600fe8
commit 648efee991
59 changed files with 1783 additions and 16 deletions
+23
View File
@@ -118,6 +118,7 @@
<button class="btn btn-outline-danger w-100 d-none" id="btn_reject" onclick="change_status('reject')"><i class="ti ti-x me-1"></i>Reject</button>
<button class="btn btn-outline-secondary w-100 d-none" id="btn_reopen" onclick="change_status('reopen')"><i class="ti ti-refresh me-1"></i>Reopen as Draft</button>
<button class="btn btn-outline-danger w-100 d-none" id="btn_cancel" onclick="change_status('cancel')"><i class="ti ti-ban me-1"></i>Cancel</button>
<button class="btn btn-outline-danger w-100 d-none" id="btn_delete" onclick="delete_request()"><i class="ti ti-trash me-1"></i>Delete Request</button>
<hr class="d-none" id="hr_convert">
<button class="btn btn-success w-100 d-none" id="btn_convert" onclick="convert_to_po()"><i class="ti ti-transfer me-1"></i>Convert to PO</button>
<a href="#" class="btn btn-outline-primary w-100 d-none" id="btn_view_po"><i class="ti ti-clipboard-list me-1"></i>View PO</a>
@@ -131,6 +132,8 @@
<?php require '../include_ending.php'; ?>
<script>
const can_delete = ['admin', 'owner'].includes(user_role);
var request_id = <?php echo $request_id; ?>;
var request_data = null;
var item_index = 0;
@@ -225,6 +228,7 @@
$('#btn_approve, #btn_reject').toggleClass('d-none', !is_submitted);
$('#btn_reopen').toggleClass('d-none', is_draft || is_closed);
$('#btn_cancel').toggleClass('d-none', !(is_draft || is_submitted) || !request_id);
$('#btn_delete').toggleClass('d-none', !can_delete || !request_id);
$('#hr_convert, #btn_convert').toggleClass('d-none', !is_approved);
$('#btn_view_po').toggleClass('d-none', !(request_data && parseInt(request_data.po_id) > 0))
.attr('href', request_data && request_data.po_id ? '<?php echo $server_url?>expense/manage_purchase_order.php?id=' + request_data.po_id : '#');
@@ -295,6 +299,25 @@
});
}
function delete_request() {
bootbox.confirm({
message: 'Delete this purchase request? This cannot be undone.',
buttons: { confirm: { label: 'Delete', className: 'btn-danger' }, cancel: { label: 'Back', className: 'btn-secondary' } },
callback: function(result) {
if (!result) return;
ajax_request({
url: '<?php echo $server_url?>po/api/engine/delete_purchase_request.php',
autoPrepare: false,
checkRequired: 0,
action: 'delete',
data: { id: request_id },
onSuccess: function() { window.location.href = '<?php echo $server_url?>expense/purchase_request.php'; }
});
}
});
}
function change_status(action_type) {
var labels = {
submit: 'Submit this purchase request?',