From 1a29231431c78a34222f1b40ec8506b6815c53a3 Mon Sep 17 00:00:00 2001 From: IJ Kim Date: Tue, 5 Aug 2014 00:07:08 -0400 Subject: [PATCH] added attendee lists --- lib/sf/reg_registration.rb | 18 +++++++++++++++++- lib/sf/version.rb | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/sf/reg_registration.rb b/lib/sf/reg_registration.rb index cbc5cef..f595fc1 100644 --- a/lib/sf/reg_registration.rb +++ b/lib/sf/reg_registration.rb @@ -1,3 +1,4 @@ +require "csv" class Sf::RegRegistration include Sf::Base attr_accessor :registration, :zip @@ -131,7 +132,7 @@ def self.where(args = {}) def self.attendees_for(event_code, reg_item_code) return if event_code.nil? or reg_item_code.nil? rr = 'reg_registration_id__r' - selects = "#{rr}.Id, #{rr}.email__c, #{rr}.last_name__c, #{rr}.first_name__c, #{rr}.account_id__r.Name, #{rr}.roster_private__c" + selects = "#{rr}.Id, #{rr}.email__c, #{rr}.last_name__c, #{rr}.first_name__c, #{rr}.account_id__r.Name, #{rr}.title__c, #{rr}.roster_private__c" where = "code__c = \'#{reg_item_code}\' and #{rr}.event_code__c = \'#{event_code}\' and #{rr}.status__c = 'processed'" sobjects = Sf.client.query("select #{selects} from RegItem__c where #{where}") build_collection sobjects.map(&:reg_registration_id__r) unless sobjects.blank? @@ -143,5 +144,20 @@ def self.roster_for(event_code, reg_item_code) all_attendees.compact unless all_attendees.nil? end + def self.attendees_count(event_code, reg_item_code) + self.attendees_for(event_code, reg_item_code).size + end + + def self.attendees_for_to_csv(event_code, reg_item_code) + self.to_csv self.attendees_for(event_code, reg_item_code) + end + + def self.to_csv(list) + CSV.generate do |csv| + list.each do |a| + csv << [a.email__c, a.last_name__c, a.first_name__c] + end + end + end end diff --git a/lib/sf/version.rb b/lib/sf/version.rb index 44f229c..c4a2db3 100644 --- a/lib/sf/version.rb +++ b/lib/sf/version.rb @@ -1,3 +1,3 @@ module Sf - VERSION = "0.0.3" + VERSION = "0.0.4" end