Files
dolibarr/htdocs/compta/localtax/list.php
Frédéric FRANCE 0d7bc505d3 add phpdoc and clean phpstan baseline (#31702)
* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline

* add phpdoc and clean phpstan baseline
2024-11-06 19:39:46 +01:00

152 lines
5.1 KiB
PHP

<?php
/* Copyright (C) 2011-2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/compta/localtax/list.php
* \ingroup tax
* \brief List of IRPF payments
*/
// Load Dolibarr environment
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/compta/localtax/class/localtax.class.php';
/**
* @var Conf $conf
* @var DoliDB $db
* @var HookManager $hookmanager
* @var Societe $mysoc
* @var Translate $langs
* @var User $user
*/
// Load translation files required by the page
$langs->load("compta");
$limit = GETPOSTINT('limit');
// Security check
$socid = GETPOSTINT('socid');
if ($user->socid) {
$socid = $user->socid;
}
$result = restrictedArea($user, 'tax', '', '', 'charges');
$ltt = GETPOSTINT("localTaxType");
$mode = GETPOST('mode', 'alpha');
/*
* View
*/
llxHeader();
$localtax_static = new Localtax($db);
$url = DOL_URL_ROOT.'/compta/localtax/card.php?action=create&localTaxType='.$ltt;
if (!empty($socid)) {
$url .= '&socid='.$socid;
}
$param = '';
if (!empty($mode)) {
$param .= '&mode='.urlencode($mode);
}
$newcardbutton = '';
$newcardbutton .= dolGetButtonTitle($langs->trans('ViewList'), '', 'fa fa-bars imgforviewmode', $_SERVER["PHP_SELF"].'?localTaxType='.$ltt.'&mode=common'.preg_replace('/(&|\?)*mode=[^&]+/', '', $param), '', ((empty($mode) || $mode == 'common') ? 2 : 1), array('morecss' => 'reposition'));
$newcardbutton .= dolGetButtonTitle($langs->trans('ViewKanban'), '', 'fa fa-th-list imgforviewmode', $_SERVER["PHP_SELF"].'?localTaxType='.$ltt.'&mode=kanban'.preg_replace('/(&|\?)*mode=[^&]+/', '', $param), '', ($mode == 'kanban' ? 2 : 1), array('morecss' => 'reposition'));
$newcardbutton .= dolGetButtonTitleSeparator();
$newcardbutton .= dolGetButtonTitle($langs->trans('NewLocalTaxPayment', ($ltt + 1)), '', 'fa fa-plus-circle', $url, '', $user->hasRight('tax', 'charges', 'creer'));
print load_fiche_titre($langs->transcountry($ltt == 2 ? "LT2Payments" : "LT1Payments", $mysoc->country_code), $newcardbutton, 'title_accountancy');
$sql = "SELECT rowid, amount, label, f.datev, f.datep";
$sql .= " FROM ".MAIN_DB_PREFIX."localtax as f ";
$sql .= " WHERE f.entity = ".$conf->entity." AND localtaxtype = ".((int) $ltt);
$sql .= " ORDER BY datev DESC";
$result = $db->query($sql);
if ($result) {
$num = $db->num_rows($result);
$i = 0;
$total = 0;
print '<div class="div-table-responsive-no-min">'; // You can use div-table-responsive-no-min if you don't need reserved height for your table
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td class="nowrap" align="left">'.$langs->trans("Ref").'</td>';
print "<td>".$langs->trans("Label")."</td>";
print "<td>".$langs->trans("PeriodEndDate")."</td>";
print '<td class="nowrap" align="left">'.$langs->trans("DatePayment").'</td>';
print '<td class="right">'.$langs->trans("PayedByThisPayment").'</td>';
print "</tr>\n";
$savnbfield = 5;
$imaxinloop = ($limit ? min($num, $limit) : $num);
while ($i < $imaxinloop) {
$obj = $db->fetch_object($result);
$localtax_static->label = $obj->label;
$localtax_static->id = $obj->rowid;
$localtax_static->ref = $obj->rowid;
$localtax_static->datev = $obj->datev;
$localtax_static->datep = $obj->datep;
$localtax_static->amount = $obj->amount;
$total += $obj->amount;
if ($mode == 'kanban') {
if ($i == 0) {
print '<tr class="trkanban"><td colspan="'.$savnbfield.'">';
print '<div class="box-flex-container kanban">';
}
// Output Kanban
print $localtax_static->getKanbanView('', array('selected' => in_array($object->id, $arrayofselected)));
if ($i == ($imaxinloop - 1)) {
print '</div>';
print '</td></tr>';
}
} else {
print '<tr class="oddeven">';
print "<td>".$localtax_static->getNomUrl(1)."</td>\n";
print "<td>".dol_trunc($obj->label, 40)."</td>\n";
print '<td class="left">'.dol_print_date($db->jdate($obj->datev), 'day')."</td>\n";
print '<td class="left">'.dol_print_date($db->jdate($obj->datep), 'day')."</td>\n";
print '<td class="right nowraponall"><span class="amount">'.price($obj->amount).'</span></td>';
print "</tr>\n";
}
$i++;
}
print '<tr class="liste_total"><td colspan="4">'.$langs->trans("Total").'</td>';
print '<td class="right"><span class="amount">'.price($total).'</span></td></tr>';
print "</table>";
print '</div>';
$db->free($result);
} else {
dol_print_error($db);
}
// End of page
llxFooter();
$db->close();