Class: Adherent::Payment
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Adherent::Payment
- Defined in:
- app/models/adherent/payment.rb
Overview
La classe Payment permet d’enregistrer les payments effectués par les adhérents
Un callback after_create tente d’imputer le réglement sur une adhésion qui soit due.
Comme il est possible qu’un adhérent fasse un réglement pour plusieurs personnes (les membres de sa famille par exemple), il est possible d’éclater des payments sur différents réglements. Un payment a donc plusieurs réglements.
Des méthodes non_impute et imputation_on_adh(adhesion) permettent de savoir si la totalité du payment a été affectée à un réglement et d’imputer le montant sur une adhésion spécifiée.
Un validator spécifique est mis en place pour interdire de diminuer le payment en dessous des montants déja imputés.
Instance Method Summary collapse
-
#imputation_on_adh(adh_id) ⇒ Object
Pour faire une imputation sur une adhesion dont l’id est transmise en argument.
- #impute ⇒ Object
-
#non_impute ⇒ Object
calcule le montant du paiement qui n’a pas été imputé, donc qui ne correspond pas à des réglements.
Instance Method Details
#imputation_on_adh(adh_id) ⇒ Object
Pour faire une imputation sur une adhesion dont l’id est transmise en argument. Utile lorsque le payment est fait par un membre pour payer l’adhésion d’un tiers (par exemple un membre de sa famille). TODO faire que la valeur de retour soit true ou false pour que la méthode créate du controller puisse tester et rediriger en conséquence
42 43 44 |
# File 'app/models/adherent/payment.rb', line 42 def imputation_on_adh(adh_id) Adhesion.find(adh_id).add_reglement(id, non_impute) end |
#impute ⇒ Object
52 53 54 |
# File 'app/models/adherent/payment.rb', line 52 def impute reglements(true).sum(:amount) end |
#non_impute ⇒ Object
calcule le montant du paiement qui n’a pas été imputé, donc qui ne correspond pas à des réglements
48 49 50 |
# File 'app/models/adherent/payment.rb', line 48 def non_impute amount - impute end |