Sha256: 7be610ab6c2b5052ff86d7f7c7a4f10047c54e50314d747216804d8847cd8d6c

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 KB

Contents

module Adherent
  module PaymentsHelper
    def min_date 
      @member.organism.range_date.first
    end
    
    def max_date
      @member.organism.range_date.last
    end
    
    # Cette méthode est utilisée pour l'édition du reçu sous forme de courrier
    # 
    # cas de figure : le payment correspond précisément à l'adhésion du membre
    # on fait une édition simple : pour votre cotisation du .... au ...
    # Le payment reprend plusieurs règlements 
    # TODO A voir, il peut y avoir des paiements partiels ou total
    def recu_cotisation(payment, member)
      rs = payment.reglements
      if rs.count == 1 && rs.first.try(:adhesion).try(:member) == member
        adh = rs.first.adhesion
        "votre adhésion pour la période #{du_au(adh.from_date, adh.to_date)}"
        
      elsif rs.size == 1
        # une seule adhésion mais pas pour lui
        adh = rs.first.adhesion
        "l'adhésion de #{coords(adh)} pour la période #{pour(adh)}"    
      else  
        # plusieurs adhésions
        str  = "les adhésions de :"
        rs.each do |r| 
          
          adh = r.adhesion
          
          str += " - #{coords(adh)} pour la période #{pour(adh)}"
          
        end
        
        str.html_safe
      end
      
    end
    
    protected 
    
    def du_au(from_date, to_date)
      "du #{from_date} au #{to_date}"
    end
    
    def coords(adh)
      if adh && m = adh.member
        "#{m.name} #{m.forname}"
      else
        'Effacé'
      end
    end
    
    def pour(adh)
      if adh
      "#{du_au(adh.from_date, adh.to_date)}"
      else
       'du ??? au ???' 
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
adherent-0.3.13 app/helpers/adherent/payments_helper.rb
adherent-0.3.12 app/helpers/adherent/payments_helper.rb