hasRight("declarationtva", "declarationtva", "read")) { accessforbidden(); } // Load language files $langs->load("declarationtva@declarationtva"); // Initialize objects $declarationtva = new DeclarationTVA($db, $conf->entity); $config = new DeclarationTVA_Config($db, $conf->entity); $period = new DeclarationTVA_Period($db, $conf->entity); // Handle actions $action = GETPOST('action', 'alpha'); $declaration_id = GETPOST('declaration_id', 'int'); $period_id = GETPOST('period_id', 'int'); // Process actions $token = GETPOST('token', 'alpha'); if ($action == 'create_declaration' && $period_id > 0) { $declaration_id = $declarationtva->createDeclaration($period_id); if ($declaration_id > 0) { setEventMessages($langs->trans("DeclarationCreated"), null, 'mesgs'); } else { setEventMessages($langs->trans("ErrorCreatingDeclaration") . ": " . $declarationtva->error, null, 'errors'); } } elseif ($action == 'validate_declaration' && $declaration_id > 0 && $token) { if ($declarationtva->validateDeclaration($declaration_id)) { setEventMessages($langs->trans("DeclarationValidated"), null, 'mesgs'); } else { setEventMessages($langs->trans("ErrorValidatingDeclaration"), null, 'errors'); } } elseif ($action == 'submit_declaration' && $declaration_id > 0 && $token) { if ($declarationtva->submitDeclaration($declaration_id)) { setEventMessages($langs->trans("DeclarationSubmitted"), null, 'mesgs'); } else { setEventMessages($langs->trans("ErrorSubmittingDeclaration"), null, 'errors'); } } elseif ($action == 'delete_declaration' && $declaration_id > 0 && $token) { if ($declarationtva->deleteDeclaration($declaration_id)) { setEventMessages($langs->trans("DeclarationDeleted"), null, 'mesgs'); } else { setEventMessages($langs->trans("ErrorDeletingDeclaration"), null, 'errors'); } } // Get data for display $declarations = array(); // Get all declarations $sql = "SELECT d.*, p.period_name, p.start_date, p.end_date FROM " . MAIN_DB_PREFIX . "declarationtva_declarations d LEFT JOIN " . MAIN_DB_PREFIX . "declarationtva_periods p ON d.period_id = p.rowid WHERE d.entity = " . $conf->entity . " ORDER BY d.created_date DESC"; $result = $db->query($sql); if ($result) { while ($obj = $db->fetch_object($result)) { $declarations[] = array( 'rowid' => $obj->rowid, 'declaration_number' => $obj->declaration_number, 'status' => $obj->status, 'total_vat_collected' => $obj->total_vat_collected, 'total_vat_deductible' => $obj->total_vat_deductible, 'net_vat_due' => $obj->net_vat_due, 'vat_credit' => $obj->vat_credit, 'created_date' => $obj->created_date, 'period_name' => $obj->period_name, 'start_date' => $obj->start_date, 'end_date' => $obj->end_date ); } } // Page title $title = $langs->trans("DeclarationTVAMainInterface"); llxHeader('', $title); // Print page header with create button print load_fiche_titre($title, '' . $langs->trans("CreateDeclaration") . '', 'title_accountancy'); // Print declarations section print '
| ' . $langs->trans("DeclarationNumber") . ' | '; print '' . $langs->trans("Period") . ' | '; print '' . $langs->trans("StartDate") . ' | '; print '' . $langs->trans("EndDate") . ' | '; print '' . $langs->trans("Status") . ' | '; print '' . $langs->trans("NetVATDue") . ' | '; print '' . $langs->trans("Actions") . ' | '; print '
|---|---|---|---|---|---|---|
| ' . $d['declaration_number'] . ' | '; print '' . $d['period_name'] . ' | '; print '' . dol_print_date($d['start_date'], 'day') . ' | '; print '' . dol_print_date($d['end_date'], 'day') . ' | '; print '' . $langs->trans("Status" . ucfirst($d['status'])) . ' | '; print '' . price($d['net_vat_due']) . ' | '; print ''; if ($d['status'] == 'draft') { print '' . $langs->trans("Validate") . ''; print '' . $langs->trans("Delete") . ''; } elseif ($d['status'] == 'validated') { print '' . $langs->trans("Submit") . ''; } print '' . $langs->trans("View") . ''; print ' | '; print '