diff --git a/app/components/user_stats.rb b/app/components/user_stats.rb
index beec72c..896120f 100644
--- a/app/components/user_stats.rb
+++ b/app/components/user_stats.rb
@@ -2,15 +2,26 @@ class UserStats < Netzke::Base
def body_content(user)
bike = user.bike
- %Q(
-
+ completed = user.completed_build_bikes
+ #I think it's time to switch to a template
+ body = ""
+ body += %Q(
)
+ body += %Q(
Username: #{user.username}
Total Hours Worked: #{user.total_hours}
Hours worked in #{Time.now.strftime('%B')}: #{user.current_month_hours}
Current bike Shop ID: #{bike.shop_id if bike}
Current bike S/N: #{bike.serial_number if bike}
-
)
+ unless completed.empty?
+ body += %Q(
Previously built bikes (#{completed.count}):
)
+ body += %Q(
)
+ completed.each do |b|
+ body += %Q(- #{b.shop_id}
)
+ end
+ body += %Q(
)
+ end
+ body += %Q(
)
end
js_configure do |c|
diff --git a/app/models/user.rb b/app/models/user.rb
index 338afd5..b9fbc39 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -43,6 +43,19 @@ class User < ActiveRecord::Base
### TODO methods below probably belong somewhere else
+ def completed_build_bikes
+ status_id = BikeStatus.find_by_status("BUILDBIKE").id
+ Bike.find_by_sql("
+ SELECT *
+ FROM bikes
+ LEFT JOIN(
+ SELECT *
+ FROM transactions
+ WHERE customer_id = #{self.id}
+ ) AS transactions ON bikes.id = transactions.bike_id
+ WHERE bike_status_id = #{status_id}")
+ end
+
def total_hours
log_action = ::ActsAsLoggable::UserAction.find_by_action("CHECKIN")
logs.where("log_action_id != ? AND log_action_type = ?", log_action.id, log_action.class.to_s).sum { |l| (l.end_date - l.start_date)/3600 }.round(2)