Fix template action handling by moving outside tab logic

- Move template actions (upload, reset, update) outside tab conditional blocks
- Ensure template actions are processed regardless of active tab
- Fix REVENIR AU MODELE OFFICIEL button functionality
- Remove duplicate action handlers from templates tab section
This commit is contained in:
Frank Cools 2025-10-08 01:18:52 +02:00
parent 39ddbaac49
commit e8f9ab260a

View File

@ -37,6 +37,42 @@ $form = new Form($db);
// Handle form submission
$action = GETPOST('action', 'alpha');
error_log("DeclarationTVA: Action received: " . $action);
// Handle template actions (must be processed before tab logic)
if ($action == 'upload_template' || $action == 'reset_template' || $action == 'update_template') {
// Load PDF class
require_once DOL_DOCUMENT_ROOT . '/custom/declarationtva/core/class/declarationtva_pdf.class.php';
$pdf_generator = new DeclarationTVA_PDF($db);
if ($action == 'upload_template') {
$uploaded_file = $_FILES['template_file'];
if ($pdf_generator->uploadCustomTemplate($uploaded_file)) {
setEventMessages($langs->trans("TemplateUploaded"), null, 'mesgs');
} else {
setEventMessages($pdf_generator->error, null, 'errors');
}
}
if ($action == 'reset_template') {
error_log("DeclarationTVA: Reset template action triggered");
if ($pdf_generator->resetToDefaultTemplate()) {
error_log("DeclarationTVA: Reset template SUCCESS");
setEventMessages($langs->trans("TemplateReset"), null, 'mesgs');
} else {
error_log("DeclarationTVA: Reset template FAILED");
setEventMessages($langs->trans("TemplateResetFailed"), null, 'errors');
}
}
if ($action == 'update_template') {
if ($pdf_generator->autoUpdateTemplate()) {
setEventMessages($langs->trans("TemplateUpdated"), null, 'mesgs');
} else {
setEventMessages($pdf_generator->error ?: $langs->trans("TemplateUpdateFailed"), null, 'errors');
}
}
}
if ($action == 'update_mappings') {
$ca3_definitions = $config->getCA3LineDefinitions();
$updated_count = 0;
@ -233,37 +269,6 @@ print '</form>';
require_once DOL_DOCUMENT_ROOT . '/custom/declarationtva/core/class/declarationtva_pdf.class.php';
$pdf_generator = new DeclarationTVA_PDF($db);
// Handle template upload
if ($action == 'upload_template') {
$uploaded_file = $_FILES['template_file'];
if ($pdf_generator->uploadCustomTemplate($uploaded_file)) {
setEventMessages($langs->trans("TemplateUploaded"), null, 'mesgs');
} else {
setEventMessages($pdf_generator->error, null, 'errors');
}
}
// Handle template reset
if ($action == 'reset_template') {
error_log("DeclarationTVA: Reset template action triggered");
if ($pdf_generator->resetToDefaultTemplate()) {
error_log("DeclarationTVA: Reset template SUCCESS");
setEventMessages($langs->trans("TemplateReset"), null, 'mesgs');
} else {
error_log("DeclarationTVA: Reset template FAILED");
setEventMessages($langs->trans("TemplateResetFailed"), null, 'errors');
}
}
// Handle template update
if ($action == 'update_template') {
if ($pdf_generator->autoUpdateTemplate()) {
setEventMessages($langs->trans("TemplateUpdated"), null, 'mesgs');
} else {
setEventMessages($pdf_generator->error ?: $langs->trans("TemplateUpdateFailed"), null, 'errors');
}
}
// Get template information
$template_info = $pdf_generator->getTemplateInfo();