diff --git a/admin/_facture_common.php b/admin/_facture_common.php
index 10b10a4..0d53054 100644
--- a/admin/_facture_common.php
+++ b/admin/_facture_common.php
@@ -43,14 +43,10 @@ $db = DB::getInstance();
$step = false;
$radio = $liste = $designations = $prix = [];
-$fields = $facture->recu_fields;
-
$moyens_paiement = $facture->listMoyensPaiement(true);
$tpl->assign('moyens_paiement', $moyens_paiement);
$tpl->assign('moyen_paiement', f('moyen_paiement') ?: 'ES');
-$tpl->assign('moyen_paiement_cerfa', f('moyen_paiement_cerfa') ?: 'ES');
-
$tpl->assign('formes_don', array('1' => 'Acte authentique',
'2' => 'Acte sous seing privé',
'3' => 'Don manuel',
@@ -58,7 +54,6 @@ $tpl->assign('formes_don', array('1' => 'Acte authentique',
$tpl->assign('natures_don', array('1' => 'Numéraire',
'2' => 'Chèque',
'3' => 'Virement, CB; ...'));
-$tpl->assign('textes_don', $facture->listTextesCerfa());
if ( !$target ) {
f(['id' => 'required|numeric']);
@@ -107,16 +102,6 @@ $form->runIf(f('save') && !$form->hasErrors(),
$data['total'] = $data['toto'];
unset($data['toto']);
}
- elseif ( f('type') == CERFA )
- {
- $data['moyen_paiement'] = f('moyen_paiement_cerfa');
- $data['contenu'] = [
- 'forme' => f('forme_don'),
- 'nature' => f('nature_don'),
- 'texte' => f('texte_don')];
- $data['total'] = Utils::moneyToInteger(f('total'));
- unset($data['toto']);
- }
if (f('base_receveur') == 'client')
{
$data['receveur_membre'] = 0;
@@ -140,62 +125,9 @@ $form->runIf(f('save') && !$form->hasErrors(),
}, $csrf_key);
-$form->runIf(f('select_cotis') && !$form->hasErrors(),
- function () use ($step)
- {
- $step = true;
- }, 'add_cotis_1');
-
-$form->runIf(f('add_cotis') && !$form->hasErrors(),
- function () use ($radio, $fields, $facture, $form)
- {
- $radio['type'] = f('cotisation');
- try
- {
- $num = (int) str_replace('cotis_', '', $radio['type']);
- foreach($fields as $field)
- {
- $cotis[$field] = f($field.'_'.$num);
- }
-
- $r = $facture->getCotis(f('membre_cotis'), $cotis['id']);
- $r = $r[0];
-
- $data = [
- 'type_facture' => COTIS,
- 'numero' => f('numero_facture'),
- 'receveur_membre' => 1,
- 'receveur_id' => f('membre_cotis'),
- 'date_emission' => f('date_emission'),
- 'moyen_paiement' => 'AU',
- 'total' => $r->paid_amount ?? $r->amount,
- 'contenu' => ['id' => $cotis['id'],
- 'intitule' => $cotis['label'],
- 'souscription' => $cotis['date'],
- 'expiration' => $cotis['expiry'] ]
- ];
-
- }
- catch (UserException $e)
- {
- $form->addError($e->getMessage());
- }
- }, 'add_cotis_2');
-
if (! $form->hasErrors())
{
- if ($step)
- {
- try
- {
- $liste = $facture->getCotis((int)f('membre_cotis'));
- }
- catch (UserException $e)
- {
- $form->addError($e->getMessage());
- }
- }
- elseif (count($data) > 0)
+ if (count($data) > 0)
{
if ($target)
{
@@ -227,19 +159,13 @@ if ($target)
$doc['base_receveur'] = $f->receveur_membre ? 'membre' : 'client';
$doc['client'] = $f->receveur_id;
$doc['membre'] = $f->receveur_id;
-
- if ( $f->type_facture == CERFA ) {
- $doc['forme_don'] = $f->contenu['forme'];
- $doc['nature_don'] = $f->contenu['nature'];
- $doc['texte_don'] = $f->contenu['texte'];
- }
}
// Type du document:
$type = qg('t') ? (int) qg('t') : null;
// Si le type est défini dans l'URL
- if (in_array($type, [DEVIS, FACT, CERFA, COTIS], true))
+ if (in_array($type, [DEVIS, FACT], true))
{
$radio['type'] = $type;
} // ... s'il a été rempli dans le formulaire envoyé
@@ -268,14 +194,6 @@ else
$doc['date_emission'] = f('date_emission') ?: $f->date_emission;
$doc['date_echeance'] = f('date_echeance')?: $f->date_echeance; // Smarty m'a saoulé pour utiliser form_field|date_fr:---
- /* modif DD -- CERFA -------------------------------------- */
- if ( $f->type_facture == CERFA ) {
- $doc['total'] = $f->total;
- $doc['forme_don'] = $f->contenu['forme'];
- $doc['nature_don'] = $f->contenu['nature'];
- $doc['texte_don'] = $f->contenu['texte'];
- }
-
$radio['type'] = f('type')??$doc['type'];
}
$tpl->assign('types_details', $facture->types);
diff --git a/admin/_inc.php b/admin/_inc.php
index 582e462..da3cd9d 100644
--- a/admin/_inc.php
+++ b/admin/_inc.php
@@ -7,8 +7,6 @@ use Paheko\Utils;
define('DEVIS', 0);
define('FACT', 1);
-define('CERFA', 2);
-define('COTIS', 3);
const PATTERNS_LIST = [
null => 'Aucun, le numéro sera à spécifier manuellement pour chaque document',
@@ -48,11 +46,11 @@ $tpl->register_function('money_fac', function (array $params)
if (!isset($user)) {
$user = false;
- }
+ }
if (!isset($name))
{
- $name = 'prix[]';
+ $name = 'prix[]';
}
if (null !== $current_value && !$user) {
@@ -62,7 +60,7 @@ $tpl->register_function('money_fac', function (array $params)
if (null !== $current_value) {
$current_value = htmlspecialchars($current_value, ENT_QUOTES, 'UTF-8');
}
-
+
$currency = Config::getInstance()->get('monnaie');
return sprintf('
%s ', $name, $current_value, $currency);
}
diff --git a/admin/pdf.php b/admin/pdf.php
index 326897f..988fcf5 100644
--- a/admin/pdf.php
+++ b/admin/pdf.php
@@ -71,59 +71,52 @@ if (isset($f->date_echeance))
// -- Création du PDF
-// Génération factures, devis et cotisation
-if ($f->type_facture != CERFA)
+// Génération factures, devis
+switch ($f->type_facture)
{
- switch ($f->type_facture)
- {
- case FACT:
- $doc = 'Facture n° '. $f->numero;
- $txtemis = $doc . " - Émise le " . $emission;
- $txtdest = "Adressée à :";
- break;
- case DEVIS:
- $doc = 'Devis n° '. $f->numero;
- $txtemis = $doc . " - Émis le " . $emission;
- $txtdest = "Adressé à :";
- break;
- case COTIS:
- $doc = 'Reçu de cotisation n° '. $f->numero;
- $txtemis = $doc . " - Émis le " . $emission;
- $txtdest = "Adressé à :";
- break;
- }
+ case FACT:
+ $doc = 'Facture n° '. $f->numero;
+ $txtemis = $doc . " - Émise le " . $emission;
+ $txtdest = "Adressée à :";
+ break;
+ case DEVIS:
+ $doc = 'Devis n° '. $f->numero;
+ $txtemis = $doc . " - Émis le " . $emission;
+ $txtdest = "Adressé à :";
+ break;
+}
- // utiliser l'adresse configurée dans le plugin sinon celle de l'asso sinon rien !
- if ($plugin->getConfig('rue_asso') != null &&
- $plugin->getConfig('cp_asso') != null &&
- $plugin->getConfig('ville_asso') != null)
- {
- $adresse =
- (($plugin->getConfig('numero_rue_asso') != null) ? $plugin->getConfig('numero_rue_asso') . " " : "") .
- $plugin->getConfig('rue_asso') . " " .
- $plugin->getConfig('cp_asso') . " " .
- $plugin->getConfig('ville_asso');
- }
- else if ($config->get('org_address') != null)
- {
- $adresse = str_replace("\n", ' ', $config->get('org_address'));
- }
- else {
- $adresse = "";
- }
+// utiliser l'adresse configurée dans le plugin sinon celle de l'asso sinon rien !
+if ($plugin->getConfig('rue_asso') != null &&
+ $plugin->getConfig('cp_asso') != null &&
+ $plugin->getConfig('ville_asso') != null)
+{
+ $adresse =
+ (($plugin->getConfig('numero_rue_asso') != null) ? $plugin->getConfig('numero_rue_asso') . " " : "") .
+ $plugin->getConfig('rue_asso') . " " .
+ $plugin->getConfig('cp_asso') . " " .
+ $plugin->getConfig('ville_asso');
+}
+else if ($config->get('org_address') != null)
+{
+ $adresse = str_replace("\n", ' ', $config->get('org_address'));
+}
+else {
+ $adresse = "";
+}
- $logo='';
- if ($plugin->getConfig('logo')) {
- $logo = ' ';
- }
- $asso =
- // 'Émis par : '.
- ''.$config->get('org_name')." ".
- $adresse ." ".
- (($t = $plugin->getConfig('rna_asso'))?"RNA : $t ":'').
- (($t = $plugin->getConfig('siret_asso'))?"SIRET : " . implode(' ', str_split($t, 3)) . " ":'').
- (($t = $config->get('email_asso'))?"Email : $t ":'').
- (($t = $config->get('site_asso'))?"Site web : $t ":'');
+$logo='';
+if ($plugin->getConfig('logo')) {
+ $logo = ' ';
+}
+$asso =
+ // 'Émis par : '.
+ ''.$config->get('org_name')." ".
+ $adresse ." ".
+ (($t = $plugin->getConfig('rna_asso'))?"RNA : $t ":'').
+ (($t = $plugin->getConfig('siret_asso'))?"SIRET : " . implode(' ', str_split($t, 3)) . " ":'').
+ (($t = $config->get('email_asso'))?"Email : $t ":'').
+ (($t = $config->get('site_asso'))?"Site web : $t ":'');
$receveur =
$txtdest.' '.
@@ -134,19 +127,18 @@ if ($f->type_facture != CERFA)
(($t = $c->email)?"Email : $t ":'').
(($t = $c->telephone)?"Tel : $t ":'');
- $total = Utils::money_format($f->total, ',', ' ');
+$total = Utils::money_format($f->total, ',', ' ');
- // Devis et facture
- if ($f->type_facture != COTIS)
- {
- $echeance = ($f->type_facture?'Échéance de paiement':'Échéance du devis')." : ".$echeance;
- $reglee = !$f->reglee?'Cette facture est en attente de règlement.':'Cette facture a été réglée.';
- $footer = str_replace("\n", ' ', $plugin->getConfig('footer') ?? '[Pied de page à configurer]');
- $ttc = $plugin->getConfig('ttc') ? 'TTC':'HT';
+// Devis et facture
+{
+ $echeance = ($f->type_facture?'Échéance de paiement':'Échéance du devis')." : ".$echeance;
+ $reglee = !$f->reglee?'Cette facture est en attente de règlement.':'Cette facture a été réglée.';
+ $footer = str_replace("\n", ' ', $plugin->getConfig('footer') ?? '[Pied de page à configurer]');
+ $ttc = $plugin->getConfig('ttc') ? 'TTC':'HT';
- // Génération du contenu de la facture
- ob_start();
- echo <<
Contenu - $doc
@@ -166,18 +158,18 @@ if ($f->type_facture != CERFA)
EOF;
- $i = 1;
- foreach($f->contenu as $k=>$v)
- {
- echo '';
- echo str_replace("\n", ' ', $v['designation']);
- echo ' ';
- echo Utils::money_format($v['prix'], ',', ' ') .' €';
- echo ' ';
- $i++;
- }
+ $i = 1;
+ foreach($f->contenu as $k=>$v)
+ {
+ echo '';
+ echo str_replace("\n", ' ', $v['designation']);
+ echo ' ';
+ echo Utils::money_format($v['prix'], ',', ' ') .' €';
+ echo ' ';
+ $i++;
+ }
- echo <<
@@ -200,52 +192,14 @@ EOF;
EOF;
- $content = ob_get_clean();
+ $content = ob_get_clean();
- }
- else // Reçu de cotisation
- {
- $lieu = $plugin->getConfig('ville_asso');
- $intitule = $f->contenu['intitule'];
+}
- $souscription = date('d/m/Y', strtotime($f->contenu['souscription']));
+//-- Layout du document
- if($f->contenu['expiration'] == '1970-01-01')
- {
- $expiration = "jour même, s'agissant d'une cotisation ponctuelle.";
- }
- else {
- $expiration = date('d/m/Y', strtotime($f->contenu['expiration']));
- }
-
- // Génération du contenu du reçu de cotisation
- $content = <<
- Reçu de votre cotisation - $doc
-
-
-
-
À $lieu, le $emission,
-
Bonjour,
-
-
Nous accusons réception de votre cotisation « $intitule » reçue le $emission et nous vous en remercions.
-
Nous reconnaissons que vous avez acquitté la somme de {$total} €. 111
- Votre adhésion sera donc effective à compter du $souscription jusqu’au $expiration.
-
-
-
Nous vous prions de recevoir, chère adhérente, cher adhérent, nos meilleures salutations,
-
-
-représentant·e de l'asso-
-
-
Nous vous rappelons que la cotisation n’est pas soumise à la TVA et qu’elle ne donne pas lieu à la délivrance d’une facture. Elle n’ouvre pas droit au bénéfice des dispositions des articles 200, 238 bis et 885-0 V bis A du code général des impôts.
-
-EOF;
- }
-
- //-- Layout du document
-
- ob_start();
- echo <<
@@ -359,192 +313,7 @@ EOF;
EOF;
- $html = ob_get_clean();
-
-} // Génération du CERFA
-elseif ($f->type_facture == CERFA)
-{
-
- $doc = 'Reçu de don n°'. $f->numero;
- $url = WWW_URL;
- $libelles = $facture->listTextesCerfa(false);
-
- $t['numero'] = $f->numero;
- $t['org_name'] = $config->get('org_name');
- $t['n_rue_asso'] = $plugin->getConfig('numero_rue_asso');
- $t['rue_asso'] = $plugin->getConfig('rue_asso');
- $t['cp_asso'] = $plugin->getConfig('cp_asso');
- $t['ville_asso'] = $plugin->getConfig('ville_asso');
- $t['objet0'] = $plugin->getConfig('objet_0');
- $t['objet1'] = $plugin->getConfig('objet_1');
- $t['objet2'] = $plugin->getConfig('objet_2');
-
- $t['nom'] = $nom_client;
- $t['adresse'] = $c->adresse;
- $t['cp'] = $c->code_postal;
- $t['ville'] = $c->ville;
- $t['total'] = '***'.Utils::money_format($f->total).'***';
- $t['total_lettre'] = numfmt_create('fr_FR', \NumberFormatter::SPELLOUT)->format($f->total/100). ' euros';
-
-
- $t['d'] = ($f->date_emission->format('d'));
- $t['m'] = ($f->date_emission->format('m'));
- $t['Y'] = ($f->date_emission->format('Y'));
-
- $t['forme'] = $f->contenu['forme'];
- $t['nature'] = $f->contenu['nature'];
- $t['texte'] = $libelles[$f->contenu['texte']];
-
- $t['art200'] = $t['art238'] = $t['art885'] = '';
- if($plugin->getConfig('droit_art200')){
- $t['art200'] = 'X';
- }
- if($plugin->getConfig('droit_art238bis')){
- $t['art238'] = 'X';
- }
- if($plugin->getConfig('droit_art885-0VbisA')){
- $t['art885'] = 'X';
- }
-
- // forme du don
- switch ($t['forme']){
- case '1':
- $t['frm'] = 'left: 15mm;';
- break;
- case '2':
- $t['frm'] = 'left: 57.3mm;';
- break;
- case '3':
- $t['frm'] = 'left: 115.2mm;';
- break;
- case '4':
- $t['frm'] = 'left: 175.2mm;';
- }
- // nature du don
- switch ($t['nature']){
- case '1':
- $t['nat'] = 'left: 15mm;';
- break;
- case '2':
- $t['nat'] = 'left: 57.3mm;';
- break;
- case '3':
- $t['nat'] = 'left: 115.2mm;';
- }
- // moyen de paiement
- switch ($f->moyen_paiement){
- case 'ES':
- $t['pos'] = 'left: 15mm;';
- break;
- case 'CH':
- $t['pos'] = 'left: 57.3mm;';
- break;
- default:
- $t['pos'] = 'left: 115.2mm;';
- }
-
- $t['d2'] = ($f->date_echeance->format('d'));
- $t['m2'] = ($f->date_echeance->format('m'));
- $t['Y2'] = ($f->date_echeance->format('Y'));
-
- ob_start();
- echo <<
-
-
-
- {$doc}_{$emission}
-
-
-
-
-
{$t['numero']}
-
-
{$t['org_name']}
-
{$t['n_rue_asso']}
-
{$t['rue_asso']}
-
{$t['cp_asso']}
-
{$t['ville_asso']}
-
-
{$t['objet0']}
-
{$t['objet1']}
-
{$t['objet2']}
-
-
X
-
-
-
{$t['nom']}
-
{$t['adresse']}
-
{$t['cp']}
-
{$t['ville']}
-
-
{$t['total']}
-
{$t['total_lettre']}
-
-
{$t['d']}
-
{$t['m']}
-
{$t['Y']}
-
-
{$t['art200']}
-
{$t['art238']}
-
{$t['art885']}
-
X
-
X
-
{$t['texte']}
-
X
-
-
{$t['d2']}
-
{$t['m2']}
-
{$t['Y2']}
-
-
{$sign_tag}
-
-
-
-EOF;
-
- $html = ob_get_clean();
-
-} // End if cerfa
-
+$html = ob_get_clean();
if(qg('d') !== null)
{
diff --git a/lib/Facture.php b/lib/Facture.php
index 9baabf8..9433be3 100644
--- a/lib/Facture.php
+++ b/lib/Facture.php
@@ -15,17 +15,15 @@ class Facture
const TYPES_NAMES = [
DEVIS => 'Devis',
FACT => 'Facture',
- CERFA => 'Reçu fiscal',
- COTIS => 'Reçu de cotisation',
];
private $keys = [
- 'type_facture', // 0 : devis, 1 : facture, 2 : reçu cerfa, 3 : reçu cotis
+ 'type_facture', // 0 : devis, 1 : facture
'numero',
'receveur_membre',
'receveur_id',
- 'date_emission', // Reçus : date du don
- 'date_echeance', // Reçus : date d'édition du reçu
+ 'date_emission',
+ 'date_echeance',
'reglee',
'archivee',
'moyen_paiement',
@@ -44,16 +42,6 @@ class Facture
'accounts' => [],
'label' => 'Facture',
'help' => ''],
- CERFA => [
- 'id' => CERFA,
- 'accounts' => [],
- 'label' => 'Reçu fiscal',
- 'help' => 'Reçu fiscal pour un don (membre ou client)'],
- COTIS => [
- 'id' => COTIS,
- 'accounts' => [],
- 'label' => 'Reçu de cotisation',
- 'help' => 'Reçu pour une cotisation payée par un·e membre'],
];
public function __construct()
@@ -88,18 +76,12 @@ class Facture
}
if ($datas[$k] < 2) {
$fac = true;
- $cerfa = false;
- $recu = false;
}
elseif ($datas[$k] == 2) {
$fac = false;
- $cerfa = true;
- $recu = false;
}
elseif ($datas[$k] == 3) {
$fac = false;
- $cerfa = false;
- $recu = true;
}
break;
case 'receveur_membre':
@@ -162,21 +144,9 @@ class Facture
throw new UserException("Toutes les désignations/prix sont vides.");
}
}
- elseif ($cerfa)
- {
-
- }
- elseif ($recu)
- {
- // $fields = ['id', 'intitule', 'date', 'expiration'];
- // foreach ($datas[$k]as $)
- }
$datas[$k] = json_encode($datas[$k]);
break;
case 'total':
- if ($cerfa && $datas[$k] < 1) {
- throw new UserException('Le total ne peut être inférieur à 1€ pour les reçus (bug encore non résolu).');
- }
if ($fac && !isset($datas['contenu'])) {
throw new UserException("Pas de contenu fourni pour vérifier le total.");
}
@@ -230,15 +200,6 @@ class Facture
$type = 'FACT';
$t = 'F';
}
- elseif ($type == CERFA) {
- $type = 'CERFA';
- $t = 'RF';
- }
- else {
- $type = 'COTIS';
- $t = 'RC';
- }
-
$year = $date->format('Y');
$y = $date->format('y');
@@ -415,21 +376,9 @@ class Facture
// Remplir le contenu
$content = json_decode((string)$row->contenu);
- if ($row->type_facture == COTIS && isset($content->intitule, $content->souscription)) {
- $row->contenu = sprintf("Cotisation %s\nSouscrite le %s",
- $content->intitule,
- Utils::date_fr($content->souscription, 'd/m/Y')
- );
- }
- elseif ($row->type_facture != CERFA) {
- $row->contenu = implode("\n", array_map(function ($row) use ($currency) {
- return sprintf('%s : %s %s', $row->designation, Utils::money_format($row->prix), $currency);
- }, (array)$content));
- }
- else
- {
- $row->contenu = '';
- }
+ $row->contenu = implode("\n", array_map(function ($row) use ($currency) {
+ return sprintf('%s : %s %s', $row->designation, Utils::money_format($row->prix), $currency);
+ }, (array)$content));
});
return $list;
@@ -499,31 +448,6 @@ class Facture
return DB::getInstance()->test('plugin_facturation_factures', 'receveur_membre = ? AND receveur_id = ?', $base, $id);
}
- // ** Pour type reçu **
-
- public $recu_fields = ['id', 'label', 'amount', 'date', 'expiry', 'paid', 'paid_amount'];
-
- public function getCotis(int $user_id, int $su_id = null)
- {
- $where = 'WHERE su.id_user = ?';
- if (null !== $su_id)
- {
- $where .= ' AND su.id = '.$su_id;
- }
-
- $sql = 'SELECT su.id, s.label, su.date, MAX(su.expiry_date) as expiry, sf.label as fee, sf.amount as amount, su.paid, SUM(tl.debit) as paid_amount
- FROM services_users su
- INNER JOIN services s ON s.id = su.id_service
- LEFT JOIN services_fees sf ON sf.id = su.id_fee
- LEFT JOIN acc_transactions_users tu ON tu.id_service_user = su.id
- LEFT JOIN acc_transactions_lines tl ON tl.id_transaction = tu.id_transaction
- '.$where.'
- GROUP BY su.id
- ORDER BY su.date;';
-
- return DB::getInstance()->get($sql, $user_id);
- }
-
public function listMoyensPaiement($assoc = false)
{
$db = DB::getInstance();
@@ -538,17 +462,6 @@ class Facture
}
}
- /* modif DD -- lecture et retour des textes de CERFA -- */
- public function listTextesCerfa($menu = true)
- {
- $db = DB::getInstance();
-
- $sel = ($menu) ? 'id, menu' : 'id, texte';
- $query = 'SELECT '.$sel.' FROM "plugin_facturation_txt_cerfa" WHERE 1 ORDER BY id ;';
-
- return $db->getAssoc($query);
- }
-
public function getMoyenPaiement($code)
{
$db = DB::getInstance();
diff --git a/public/cerfa-1.png b/public/cerfa-1.png
deleted file mode 100644
index 5ae8163..0000000
Binary files a/public/cerfa-1.png and /dev/null differ
diff --git a/public/cerfa-2.png b/public/cerfa-2.png
deleted file mode 100644
index 1af01a6..0000000
Binary files a/public/cerfa-2.png and /dev/null differ
diff --git a/templates/_form.tpl b/templates/_form.tpl
index 3e6029d..8f78d7e 100644
--- a/templates/_form.tpl
+++ b/templates/_form.tpl
@@ -24,8 +24,6 @@
Créer un devis
Créer une facture
- Créer un reçu fiscal
- Créer un reçu de cotisation
{input type="text" name="numero_facture" maxlength=18 label="Numéro du document" required=$require_number source=$doc}
@@ -38,27 +36,21 @@
{/if}
{input type="date" name="date_emission" default=$date label="Date d'émission" required=1 source=$doc}
-
- Date du versemen du don
-
-
+
{input type="date" name="date_echeance" default=$date label="Date d'échéance" required=1 source=$doc}
-
- Date d'établissement du document
-
Statut
-
+
{input type="checkbox" name="reglee" value="1" label="Réglée" source=$doc data-types="t1"}
-
+
{input type="checkbox" name="archivee" value="1" label="Archivée" source=$doc disabled="disabled"}
-
+
Client
@@ -113,14 +105,14 @@
{button label="Enlever" title="Enlever la ligne" shape="minus" min="2" name="remove_line"}
- {foreach from=$designations item=designation key=key}
+ {foreach from=$designations item=designation key=key}
{money_fac value=$prix[$key] user=$from_user}
{button label="Enlever" title="Enlever la ligne" shape="minus" min="2" name="remove_line"}
{/foreach}
- {else}
+ {else}
{money_fac name="prix_tpl[]"}
@@ -139,102 +131,12 @@
-
-
- Contenu
-
- {input type="money" name="total" label="Montant du don" required=1 source=$doc default="0,0"}
- {input type="select" name="forme_don" required=1 label="Forme du don" source=$doc options=$formes_don default=$doc.forme_don}
- {input type="select" name="nature_don" required=1 label="Nature du don" source=$doc options=$natures_don default=$doc.nature_don}
- {input type="select" name="texte_don" required=1 label="Texte explicatif" source=$doc options=$textes_don default=$doc.texte_don}
- {input type="select" name="moyen_paiement_cerfa" required=1 label="Moyen de paiement" source=$doc options=$moyens_paiement default=$doc.moyen_paiement_cerfa}
-
-
-
-
+
{csrf_field key=$csrf_key}
{button type="submit" name="save" label="Enregistrer" shape="right" class="main"}
-
- Membre
-
- Reçu adressée à :
-
- {input type="select" name="membre_cotis" label="Membre" options=$users required=1 default=$doc.membre}
-
-
-
-
-
- {csrf_field key="add_cotis_1"}
- {button type="submit" name="select_cotis" label="Sélectionner" shape="right" class="main"}
-
-
-
-{if $step}
-
- Cotisation
- {if count($liste)}
-
- Sélectionnez la cotisation concernée :
-
-
-
-
- Id
- Intitulé
- Date d'inscription
- Expiration d'expiration
- Tarif
- Montant
- Somme payée
-
-
- {foreach from=$liste item=cotis key=i}
- {if !$cotis.paid}
- {continue}
- {/if}
-
-
- {input type="radio" name="cotisation" value="%s"|args:$i}
-
- {foreach from=$cotis item=element key=key}
- {if $key == 'paid'}
- {continue}
- {/if}
-
-
- {if ($key == 'date' || $key == 'expiry') && $element > 0}
- {$element|date_short}
- {elseif $key == 'amount' OR $key == 'paid_amount'}
- {$element|raw|money_currency}
- {else}
- {$element}
- {/if}
-
-
-
-
- {/foreach}
-
- {/foreach}
-
-
-
-
-
-
- {csrf_field key="add_cotis_2"}
- {button type="submit" name="add_cotis" label="Enregistrer" shape="right" class="main"}
-
- {else}
- Ce membre n'a aucune cotisation payée.
-
- {/if}
-{/if}
-
{include file="%s/templates/_js.tpl"|args:$plugin_root}
diff --git a/templates/_js.tpl b/templates/_js.tpl
index 301ddae..bf382d3 100644
--- a/templates/_js.tpl
+++ b/templates/_js.tpl
@@ -19,8 +19,8 @@
function plus(){
var newdiv = document.createElement('tr');
newdiv.innerHTML = document.getElementById('Line1').innerHTML;
- newdiv.getElementsByTagName('textarea')[0].setAttribute('name', 'designation[]');
- newdiv.getElementsByTagName('input')[0].setAttribute('name', 'prix[]');
+ newdiv.getElementsByTagName('textarea')[0].setAttribute('name', 'designation[]');
+ newdiv.getElementsByTagName('input')[0].setAttribute('name', 'prix[]');
newdiv.querySelector('.fact_rm_line button').onclick = function(){
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
updateSum();
@@ -33,12 +33,12 @@
$('#ajouter_ligne').onclick = plus;
- a = document.querySelectorAll('[name="remove_line"]');
+ a = document.querySelectorAll('[name="remove_line"]');
l = a.length;
for(i = 0; i < l; i++) {
a[i].onclick = function(){
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
- updateSum();
+ updateSum();
};
}
diff --git a/templates/aide.tpl b/templates/aide.tpl
index 6f8c672..a66b7c2 100644
--- a/templates/aide.tpl
+++ b/templates/aide.tpl
@@ -17,8 +17,6 @@
- Pensez à mettre une image en signature (cela sert pour les reçus fiscaux), cela se passe dans la {link href="!config/custom.php" label="configuration de Paheko, onglet personnalisation"}. Il est préférable d'avoir un fond transparent.
-
Pour créer un reçu sur une cotisation, il vaut mieux utiliser le module {link href="!config/ext" label="Reçu de paiement"} intégré à Paheko.
Pour créer un reçu fiscal, il vaut mieux utiliser le module {link href="!config/ext" label="Reçus fiscaux"} intégré à Paheko.
diff --git a/templates/clients.tpl b/templates/clients.tpl
index f0b037b..9c40f2c 100644
--- a/templates/clients.tpl
+++ b/templates/clients.tpl
@@ -14,7 +14,7 @@
{/if}
{if $key == 'siret'}
-
diff --git a/templates/config.tpl b/templates/config.tpl
index f2da195..eab9225 100644
--- a/templates/config.tpl
+++ b/templates/config.tpl
@@ -27,25 +27,6 @@
{input type="text" name="ville_asso" source=$conf label="Ville"}
-
- Objet
-
- L'objet (but) de l'association doit tenir sur 3 lignes, chaque ligne pouvant accueillir un maximum de 100 caractères. obligatoire pour reçus fiscaux
- {input type="text" name="objet_0" source=$conf label="Ligne 1" maxlength=95}
- {input type="text" name="objet_1" source=$conf label="Ligne 2" maxlength=95}
- {input type="text" name="objet_2" source=$conf label="Ligne 3" maxlength=95}
-
-
-
-
- Droit à la réduction d'impôt
-
- Articles concernés par l'association : obligatoire pour reçus fiscaux
- {input type="checkbox" name="droit_art200" value="1" source=$conf label="Article 200"}
- {input type="checkbox" name="droit_art238bis" value="1" source=$conf label="Article 238 bis"}
- {input type="checkbox" name="droit_art885_0VbisA" value="1" source=$conf label="Article 885-0V bis A"}
-
-
@@ -74,7 +55,7 @@
{input type="checkbox" name="unique_client_name" value="1" source=$conf label="Noms des clients uniques"}
{input type="select" name="pattern" label="Format de numéro de document" required=false options=$patterns source=$conf}
- F = Facture, D = Devis, RF = Reçu fiscal, RC = Reçu cotisation
+ F = Facture, D = Devis
Pour personnaliser l'apparence de la facture, il faut pour l'instant se retrousser les manches et éditer soi-même le fichier www/admin/pdf.php du plugin !