send total work hrs for homie
This commit is contained in:
@@ -21,9 +21,9 @@ class HomiesController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def cash
|
||||
importance = params[:importance].present? ? params[:importance].to_i : -1
|
||||
json_response(Homie.cash(importance))
|
||||
def info
|
||||
importance = params[:importance].to_i
|
||||
json_response(Homie.info(importance))
|
||||
end
|
||||
|
||||
def settle
|
||||
@@ -32,7 +32,7 @@ class HomiesController < ApplicationController
|
||||
homie = Homie.find(homie_id)
|
||||
|
||||
if homie.settle(amount)
|
||||
cash
|
||||
info
|
||||
else
|
||||
error_response :bad_request
|
||||
end
|
||||
|
||||
@@ -3,12 +3,14 @@ class Homie < ApplicationRecord
|
||||
has_many :work
|
||||
belongs_to :chip
|
||||
|
||||
def self.cash(importance)
|
||||
totals = Homie.all.joins(:money_moves).group(:id).order(:id).sum(:amount)
|
||||
def self.info(importance)
|
||||
cash_totals = Homie.all.joins(:money_moves).group(:id).order(:id).sum(:amount)
|
||||
work_totals = Homie.all.joins(:work).group(:id).order(:id).sum(:amount)
|
||||
|
||||
Homie.where(["importance > ?", importance]).map do |homie|
|
||||
total = totals.fetch(homie.id, 0)
|
||||
{ homie: homie, amount: total }
|
||||
cash_total = cash_totals.fetch(homie.id, 0)
|
||||
work_total = work_totals.fetch(homie.id, 0)
|
||||
{ homie: homie, amount: cash_total, work: work_total }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ Rails.application.routes.draw do
|
||||
resources :chip_values, only: %i[create update destroy]
|
||||
resources :homies, param: :homie_id do
|
||||
collection do
|
||||
get 'cash'
|
||||
get 'info'
|
||||
end
|
||||
member do
|
||||
post 'settle'
|
||||
|
||||
Reference in New Issue
Block a user