From 03c9f7deb116d673ca3cf0662850df2a33b9b409 Mon Sep 17 00:00:00 2001 From: rahul Date: Mon, 25 Sep 2017 00:55:09 +0530 Subject: [PATCH] Add turnover for admin Admin can see the turnover amount for each ticket type. --- app/models/conference.rb | 2 +- app/models/ticket.rb | 9 +++++---- app/views/admin/tickets/index.html.haml | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/models/conference.rb b/app/models/conference.rb index 034e755b..c56161f2 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -496,7 +496,7 @@ class Conference < ActiveRecord::Base if tickets && ticket_purchases tickets.each do |ticket| result[ticket.title] = { - 'value' => ApplicationController.helpers.humanized_money(ticket.tickets_turnover).delete(',').to_i, + 'value' => ApplicationController.helpers.humanized_money(ticket.tickets_turnover_total(ticket.id)).delete(',').to_i, 'color' => "\##{Digest::MD5.hexdigest(ticket.title)[0..5]}" } end diff --git a/app/models/ticket.rb b/app/models/ticket.rb index ac1d1927..13646c9f 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -60,12 +60,13 @@ class Ticket < ActiveRecord::Base tickets.inject(0){ |sum, ticket| sum + (ticket.amount_paid * ticket.quantity) } end - def tickets_sold - ticket_purchases.paid.sum(:quantity) + def tickets_turnover_total(id) + tickets = TicketPurchase.where(ticket_id: id) + tickets.inject(0){ |sum, ticket| sum + (ticket.amount_paid * ticket.quantity) } end - def tickets_turnover - tickets_sold * price + def tickets_sold + ticket_purchases.paid.sum(:quantity) end private diff --git a/app/views/admin/tickets/index.html.haml b/app/views/admin/tickets/index.html.haml index 42154ae7..71698bb2 100644 --- a/app/views/admin/tickets/index.html.haml +++ b/app/views/admin/tickets/index.html.haml @@ -27,7 +27,7 @@ %td = ticket.tickets_sold %td - = humanized_money_with_symbol ticket.tickets_turnover + = humanized_money_with_symbol ticket.tickets_turnover_total(ticket.id) %td = ticket.registration_ticket? ? 'Yes' : 'No' %td