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]); $datas[$k] = json_encode($datas[$k]);
break; break;
case 'total': 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'])) { if (!$recu && !isset($datas['contenu'])) {
throw new UserException("Pas de contenu fourni pour vérifier le total."); 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')) if (f('add'))
{ {
$form->check('ajout_facture', [ $form->check('ajout_facture', [
'type' => 'required|in:facture,devis', 'type' => 'required|in:facture,devis,cerfa,cotis',
'numero_facture' => 'required|string', 'numero_facture' => 'required|string',
'date_emission' => 'required|date', 'date_emission' => 'required|date',
'date_echeance' => 'required|date', 'date_echeance' => 'required|date',
@ -48,15 +48,19 @@ if (f('add'))
'toto' => 0 'toto' => 0
]; ];
if (f('type') == 'facture') if (f('type') == 'devis')
{ {
$truc['type_facture'] = 1; $truc['type_facture'] = 0;
} }
elseif (f('type') == 'devis') elseif (f('type') == 'facture')
{ {
$truc['type_facture'] = 0; $truc['type_facture'] = 1;
} }
elseif (f('type') == 'cerfa')
{
$truc['type_facture'] = 2;
}
foreach(f('designation') as $k=>$value) foreach(f('designation') as $k=>$value)
{ {
$truc['contenu'][$k]['designation'] = $value; $truc['contenu'][$k]['designation'] = $value;
@ -96,7 +100,7 @@ $tpl->assign('membre_id', f('membre') ?: -1);
$designations = []; $designations = [];
$prix = []; $prix = [];
if (($d = f('designation')) && ($p = f('prix'))) if (($d = f('designation')) && ($p = f('prix')) && implode($d))
{ {
foreach($d as $k=>$v) foreach($d as $k=>$v)
{ {
@ -108,6 +112,10 @@ if (($d = f('designation')) && ($p = f('prix')))
$prix[] = $p[$k]; $prix[] = $p[$k];
} }
} }
else {
$designations = ['Exemple'];
$prix = [1.5];
}
$tpl->assign('designations', $designations); $tpl->assign('designations', $designations);
$tpl->assign('prix', $prix); $tpl->assign('prix', $prix);

View File

@ -7,7 +7,6 @@ require_once __DIR__ . '/_inc.php';
$session->requireAccess('compta', Membres::DROIT_ECRITURE); $session->requireAccess('compta', Membres::DROIT_ECRITURE);
use Garradin\DB; use Garradin\DB;
use stdClass;
qv(['id' => 'required|numeric']); qv(['id' => 'required|numeric']);
$id = (int) qg('id'); $id = (int) qg('id');
@ -107,20 +106,20 @@ if(f('save'))
// Affichage // Affichage
$doc = new stdClass(); $doc['moyens_paiement'] = $cats->listMoyensPaiement();
$doc->moyens_paiement = $cats->listMoyensPaiement(); $doc['moyen_paiement'] = $f->moyen_paiement;
$doc->moyen_paiement = $f->moyen_paiement; $doc['type'] = $facture->type[$f->type_facture];
$doc->type = $facture->type[$f->type_facture]; $doc['numero_facture'] = $f->numero;
$doc->numero_facture = $f->numero; $doc['reglee'] = $f->reglee?'on':'off';
$doc->reglee = $f->reglee?'on':'off'; $doc['base_receveur'] = $f->receveur_membre?'membre':'client';
$doc->base_receveur = $f->receveur_membre?'membre':'client'; $doc['client_id'] = $f->receveur_id;
$doc->client_id = $f->receveur_id; $doc['membre_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_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('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 // 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 // et oulala, c'est un peu complexe, faudrait réfléchir keskivomieux
@ -154,4 +153,4 @@ $tpl->assign('prix', $prix);
$tpl->assign('membres', (array)DB::getInstance()->get('SELECT id, nom FROM membres WHERE id_categorie != -2 NOT IN (SELECT id FROM membres_categories WHERE cacher = 1);')); $tpl->assign('membres', (array)DB::getInstance()->get('SELECT id, nom FROM membres WHERE id_categorie != -2 NOT IN (SELECT id FROM membres_categories WHERE cacher = 1);'));
$tpl->assign('clients', $client->listAll()); $tpl->assign('clients', $client->listAll());
$tpl->display(PLUGIN_ROOT . '/templates/facture_modifier.tpl'); $tpl->display(PLUGIN_ROOT . '/templates/facture_modifier.tpl');