Index: src/include/lib/Garradin/Membres/Cotisations.php
==================================================================
--- src/include/lib/Garradin/Membres/Cotisations.php
+++ src/include/lib/Garradin/Membres/Cotisations.php
@@ -6,10 +6,11 @@
use Garradin\DB;
use Garradin\Utils;
use Garradin\UserException;
use Garradin\Plugin;
use Garradin\Membres;
+use Garradin\Compta\Comptes;
class Cotisations
{
const ITEMS_PER_PAGE = 100;
@@ -186,11 +187,17 @@
throw new UserException('Le montant doit être un nombre positif et valide.');
}
$data['montant'] = (float) $data['montant'];
- if ($data['moyen_paiement'] != 'ES')
+ if (!empty($data['a_encaisser']) && ($data['moyen_paiement'] == 'CH' || $data['moyen_paiement'] == 'CB'))
+ {
+ $debit = $data['moyen_paiement'] == 'CH'
+ ? Comptes::CHEQUE_A_ENCAISSER
+ : Comptes::CARTE_A_ENCAISSER;
+ }
+ elseif ($data['moyen_paiement'] != 'ES')
{
$debit = $data['banque'];
}
else
{
Index: src/templates/admin/membres/cotisations/ajout.tpl
==================================================================
--- src/templates/admin/membres/cotisations/ajout.tpl
+++ src/templates/admin/membres/cotisations/ajout.tpl
@@ -65,14 +65,18 @@
{foreach from=$moyens_paiement item="moyen"}
{/foreach}
-
-
- obligatoire
-
+
+
+
+
+
+
+ obligatoire
+
@@ -97,27 +101,38 @@
window.changeMoyenPaiement = function()
{
var elm = $('#f_moyen_paiement');
g.toggle('.f_cheque', elm.value == 'CH');
g.toggle('.f_banque', elm.value != 'ES');
+
+ g.toggle('.f_a_encaisser', elm.value == 'CB' || elm.value == 'CH');
+ cocherAEncaisser();
};
+
+ function cocherAEncaisser()
+ {
+ var elm = $('#f_a_encaisser');
+ g.toggle('.f_banque', !elm.checked);
+ }
changeMoyenPaiement();
+ cocherAEncaisser();
$('#f_moyen_paiement').onchange = changeMoyenPaiement;
+ $('#f_a_encaisser').onchange = cocherAEncaisser;
$('#f_id_cotisation').onchange = function () {
if (this.options[this.selectedIndex].getAttribute('data-compta'))
{
$('#f_montant').value = this.options[this.selectedIndex].getAttribute('data-amount');
g.toggle('.f_compta', true);
changeMoyenPaiement();
+ cocherAEncaisser();
}
else
{
g.toggle('.f_compta', false);
- changeMoyenPaiement();
}
};
if (!$('#f_id_cotisation').options[$('#f_id_cotisation').selectedIndex].getAttribute('data-compta'))
{
Index: src/www/admin/membres/cotisations/ajout.php
==================================================================
--- src/www/admin/membres/cotisations/ajout.php
+++ src/www/admin/membres/cotisations/ajout.php
@@ -60,10 +60,11 @@
'moyen_paiement' => f('moyen_paiement'),
'numero_cheque' => f('numero_cheque'),
'banque' => f('banque'),
'numero_piece' => f('numero_piece'),
'remarques' => f('remarques'),
+ 'a_encaisser' => f('a_encaisser'),
];
$m_cotisations->add($data, $compta);
Utils::redirect('/admin/membres/cotisations.php?id=' . $id_membre);