facturation/admin/_inc.php

70 lines
2.4 KiB
PHP
Raw Normal View History

2019-11-02 17:53:27 +01:00
<?php
2023-07-21 23:28:54 +02:00
namespace Paheko\Plugin\Facturation;
2023-07-21 23:28:54 +02:00
use Paheko\Config;
use Paheko\Utils;
2019-11-02 17:53:27 +01:00
2020-12-29 18:07:26 +01:00
define('DEVIS', 0);
define('FACT', 1);
define('CERFA', 2);
define('COTIS', 3);
2020-12-29 18:07:26 +01:00
const PATTERNS_LIST = [
null => 'Aucun, le numéro sera à spécifier manuellement pour chaque document',
'%{type}-%{year}-%{ynumber}' => 'Type-Année-Numéro du document par année ("FACT-2021-42")',
'%{year}-%{type}-%04{ynumber}' => 'Année-Type-Numéro du document par année ("2021-DEVIS-0042")',
'%{t}-%{year}-%{ynumber}' => 'Type court-Année-Numéro du document par année ("F-2021-42")',
'%{y}%{t}%{ynumber}' => 'Année courte-Type court-Numéro du document par année ("21D42")',
'%{type}-%{id}' => 'Type - Numéro unique du document ("FACT-42")',
'%{t}%{id}' => 'Type court et numéro unique du document ("F42")',
'%{id}' => 'Numéro unique du document ("42"))',
'%06{id}' => 'Numéro unique du document sur 6 chiffres ("000042")',
];
2019-11-02 17:53:27 +01:00
$client = new Client;
2019-11-03 17:51:31 +01:00
$facture = new Facture;
2023-08-01 22:56:38 +02:00
$tpl->assign('www_url', \Paheko\WWW_URL);
2020-12-29 18:07:26 +01:00
$tpl->assign('f_obj', $facture);
2023-08-01 22:56:38 +02:00
$identite = implode(',', \Paheko\Users\DynamicFields::getNameFields());
$tpl->register_function('money_fac', function (array $params)
{
static $params_list = ['value', 'name', 'user'];
// Extract params and keep attributes separated
$attributes = array_diff_key($params, array_flip($params_list));
$params = array_intersect_key($params, array_flip($params_list));
extract($params, \EXTR_SKIP);
$current_value = null;
if (isset($value)) {
$current_value = $value;
}
if (!isset($user)) {
$user = false;
2024-10-19 14:32:41 +02:00
}
if (!isset($name))
{
2024-10-19 14:32:41 +02:00
$name = 'prix[]';
}
if (null !== $current_value && !$user) {
$current_value = Utils::money_format($current_value, ',', '');
}
2023-04-14 19:48:07 +02:00
if (null !== $current_value) {
$current_value = htmlspecialchars($current_value, ENT_QUOTES, 'UTF-8');
}
2024-10-19 14:32:41 +02:00
$currency = Config::getInstance()->get('monnaie');
return sprintf('<td><nobr><input type="text" pattern="[0-9]*([.,][0-9]{1,2})?" inputmode="decimal" size="8" class="money" style="width: 60%%" onchange="updateSum();" name="%s" value="%s" /><b>%s</b></nobr></td>', $name, $current_value, $currency);
}
);