From b67062fb327aaf972064b8ce2de686dd8849e0c6 Mon Sep 17 00:00:00 2001 From: "John N. Milner" Date: Thu, 23 May 2013 23:56:18 -0400 Subject: [PATCH] New view to show the current day's check ins --- app/components/app_tab_panel.rb | 3 ++- app/components/check_ins.rb | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 app/components/check_ins.rb diff --git a/app/components/app_tab_panel.rb b/app/components/app_tab_panel.rb index d888c04..af1262a 100644 --- a/app/components/app_tab_panel.rb +++ b/app/components/app_tab_panel.rb @@ -44,7 +44,8 @@ class AppTabPanel < Netzke::Basepack::TabPanel :logs, { layout: :fit, wrappedComponent: :user_role_joins, - title: "User Roles"} + title: "User Roles"}, + :check_ins ] end diff --git a/app/components/check_ins.rb b/app/components/check_ins.rb new file mode 100644 index 0000000..2320b77 --- /dev/null +++ b/app/components/check_ins.rb @@ -0,0 +1,21 @@ +class CheckIns < Netzke::Basepack::Grid + + def configure(c) + super + c.header = false + c.model = "ActsAsLoggable::Log" + c.scope = lambda { |rel| rel.where(:log_action_id => ::ActsAsLoggable::UserAction.find_by_action("CHECKIN")). + where("start_date >= ?", Time.zone.now.beginning_of_day); + } + c.columns = [ + { :name => :logged_by, :getter => lambda{ |rec| + user = User.find_by_id(rec.logger_id) + user.nil? ? "" : "#{user.first_name} #{user.last_name}" + } + }, + { :name => "Status", :getter => lambda{ |rec| rec.start_date == rec.end_date ? "Checked In" : "Checked Out" } }, + :start_date, + :end_date, + ] + end +end