authorize (Compte)
@compte = Compte.friendly.find(params[:compte_id])
- @releve = []
- @solde = 0.00
- @debit = 0.00
- @credit = 0.00
-
- @compte.factures.each do |f|
- @releve << { id: f.id, date: f.date.to_date, type: "Facture", ref: f.réf, mnt: f.montant, solde: 0 }
- end
-
- @compte.paiements.each do |p|
- @releve << { id: p.id, date: p.date.to_date, type: "Paiement", ref: "#{p.mode} #{p.banque} #{p.chèque_num}", mnt: p.montant, solde: 0 }
- end
-
- @releve = @releve.sort_by { |r| r[:date] }
-
- @releve.each do |r|
- mnt = r[:mnt]
- if r[:type] == "Facture"
- @debit += mnt
- @solde -= mnt
- else
- @credit += mnt
- @solde += mnt
- end
- r[:solde] = @solde
- end
+ @releve = @compte.balance
end
# GET /comptes/new
class MoncompteController < ApplicationController
def index
+
@compte = Contact.find_by(email: current_user.email).compte
authorize @compte
@total_factures = @compte.factures.sum(:montant)
@total_paiements = @compte.paiements.sum(:montant)
@solde = @total_paiements - @total_factures
+
+ @releve = @compte.balance
+
end
end
prestation_type début fin lundi mardi mercredi jeudi vendredi matin midi soir active hors_période_scolaire}
end
+ def balance
+ solde = 0.00
+ debit = 0.00
+ credit = 0.00
+ releve = []
+
+ self.factures.each do |f|
+ releve << { id: f.id, date: f.date.to_date, type: "Facture", ref: f.réf, mnt: f.montant, solde: 0 }
+ end
+
+ self.paiements.each do |p|
+ releve << { id: p.id, date: p.date.to_date, type: "Paiement", ref: "#{p.mode} #{p.banque} #{p.chèque_num}", mnt: p.montant, solde: 0 }
+ end
+
+ releve = releve.sort_by { |r| r[:date] }
+
+ releve.each do |r|
+ mnt = r[:mnt]
+ if r[:type] == "Facture"
+ debit += mnt
+ solde -= mnt
+ else
+ credit += mnt
+ solde += mnt
+ end
+ r[:solde] = solde
+ end
+ end
+
end
--- /dev/null
+<tr>
+ <td><%= l ligne[:date] %></td>
+ <td><%= ligne[:type] %></td>
+ <% if ligne[:type] == "Facture" %>
+ <td><%= link_to ligne[:ref], facture_path(ligne[:id], format: :pdf) %></td>
+ <td class="text-right"><%= number_to_currency(ligne[:mnt], unit:'€') %></td>
+ <td />
+ <% else %>
+ <td><%= ligne[:ref] %></td>
+ <td />
+ <td class="text-right"><%= number_to_currency(ligne[:mnt], unit:'€') %></td>
+ <% end %>
+ <td class="text-right"><%= number_to_currency(ligne[:solde], unit:'€') %></td>
+</tr>
</thead>
<tbody>
- <% @releve.each do |r| %>
- <tr>
- <td><%= l r[:date] %></td>
- <td><%= r[:type] %></td>
- <% if r[:type] == "Facture" %>
- <td><%= link_to r[:ref], facture_path(r[:id], format: :pdf) %></td>
- <td class="text-right"><%= number_to_currency(r[:mnt], unit:'€') %></td>
- <td />
- <% else %>
- <td><%= r[:ref] %></td>
- <td />
- <td class="text-right"><%= number_to_currency(r[:mnt], unit:'€') %></td>
- <% end %>
- <td class="text-right"><%= number_to_currency(r[:solde], unit:'€') %></td>
- </tr>
+ <% @releve.each do |ligne| %>
+ <%= render partial: 'balance', locals: {ligne: ligne} %>
<% end %>
</tbody>