Ajout reçu fiscal sur Nouveau document

This commit is contained in:
Noizette 2020-10-24 07:28:31 +02:00
parent 8adc144bfa
commit ba5096bfb2
3 changed files with 33 additions and 23 deletions

View File

@ -122,6 +122,9 @@ class Facture
$datas[$k] = json_encode($datas[$k]);
break;
case 'total':
if ($recu && $datas[$k] < 1) {
throw new UserException('Le total ne peut être inférieur à 1€ pour les reçus (bug encore non résolu).');
}
if (!$recu && !isset($datas['contenu'])) {
throw new UserException("Pas de contenu fourni pour vérifier le total.");
}

View File

@ -15,7 +15,7 @@ $tpl->assign('moyen_paiement', f('moyen_paiement') ?: 'ES');
if (f('add'))
{
$form->check('ajout_facture', [
'type' => 'required|in:facture,devis',
'type' => 'required|in:facture,devis,cerfa,cotis',
'numero_facture' => 'required|string',
'date_emission' => 'required|date',
'date_echeance' => 'required|date',
@ -48,14 +48,18 @@ if (f('add'))
'toto' => 0
];
if (f('type') == 'facture')
{
$truc['type_facture'] = 1;
}
elseif (f('type') == 'devis')
{
$truc['type_facture'] = 0;
}
if (f('type') == 'devis')
{
$truc['type_facture'] = 0;
}
elseif (f('type') == 'facture')
{
$truc['type_facture'] = 1;
}
elseif (f('type') == 'cerfa')
{
$truc['type_facture'] = 2;
}
foreach(f('designation') as $k=>$value)
{
@ -96,7 +100,7 @@ $tpl->assign('membre_id', f('membre') ?: -1);
$designations = [];
$prix = [];
if (($d = f('designation')) && ($p = f('prix')))
if (($d = f('designation')) && ($p = f('prix')) && implode($d))
{
foreach($d as $k=>$v)
{
@ -108,6 +112,10 @@ if (($d = f('designation')) && ($p = f('prix')))
$prix[] = $p[$k];
}
}
else {
$designations = ['Exemple'];
$prix = [1.5];
}
$tpl->assign('designations', $designations);
$tpl->assign('prix', $prix);

View File

@ -7,7 +7,6 @@ require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ECRITURE);
use Garradin\DB;
use stdClass;
qv(['id' => 'required|numeric']);
$id = (int) qg('id');
@ -107,20 +106,20 @@ if(f('save'))
// Affichage
$doc = new stdClass();
$doc->moyens_paiement = $cats->listMoyensPaiement();
$doc->moyen_paiement = $f->moyen_paiement;
$doc->type = $facture->type[$f->type_facture];
$doc->numero_facture = $f->numero;
$doc->reglee = $f->reglee?'on':'off';
$doc->base_receveur = $f->receveur_membre?'membre':'client';
$doc->client_id = $f->receveur_id;
$doc->membre_id = $f->receveur_id;
$doc['moyens_paiement'] = $cats->listMoyensPaiement();
$doc['moyen_paiement'] = $f->moyen_paiement;
$doc['type'] = $facture->type[$f->type_facture];
$doc['numero_facture'] = $f->numero;
$doc['reglee'] = $f->reglee?'on':'off';
$doc['base_receveur'] = $f->receveur_membre?'membre':'client';
$doc['client_id'] = $f->receveur_id;
$doc['membre_id'] = $f->receveur_id;
$tpl->assign('doc', $doc);
$tpl->assign('date_emission', strtotime(f('date_emission')) ?: $f->date_emission); // Smarty m'a saoulé pour utiliser form_field|date_fr:---
$tpl->assign('date_echeance', strtotime(f('date_echeance')) ?: $f->date_echeance); // Du coup j'utilise form_field pour ces champs
$tpl->assign('doc', $doc);
// C'est un peu l'équivalent de form_field, mais j'avais écrit ça avant
// et oulala, c'est un peu complexe, faudrait réfléchir keskivomieux