Speaker emails in Events CSV/XLS export is included
This commit is contained in:
parent
e99287d18a
commit
7c0fa59a0a
7 changed files with 85 additions and 13 deletions
|
|
@ -211,6 +211,15 @@ class Event < ActiveRecord::Base
|
|||
result.to_a.to_sentence
|
||||
end
|
||||
|
||||
# Returns emails of all the speaker belongs to a particular event
|
||||
def speaker_emails
|
||||
result = Array.new
|
||||
speakers.each do |speaker|
|
||||
result << speaker.email
|
||||
end
|
||||
result.to_sentence
|
||||
end
|
||||
|
||||
##
|
||||
#
|
||||
# Returns +Hash+
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
'Start time',
|
||||
'Submitter',
|
||||
'Speaker',
|
||||
'Speaker Email',
|
||||
'Event Type',
|
||||
'Track',
|
||||
'Difficulty Level',
|
||||
|
|
@ -12,8 +13,15 @@
|
|||
= CSV.generate_line ['All Events']
|
||||
= CSV.generate_line headers
|
||||
- @events.each do |event|
|
||||
= CSV.generate_line([event.id, event.title, event.abstract, (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : ''),
|
||||
event.submitter.name, event.speaker_names, event.event_type.title,
|
||||
= CSV.generate_line([event.id,
|
||||
event.title,
|
||||
event.abstract,
|
||||
(event.time.present? ? "#{event.time.strftime("%Y-%m-%d")}#{event.time.strftime("%I:%M%p")} " : ''),
|
||||
event.submitter.name,
|
||||
event.speaker_names,
|
||||
event.speaker_emails,
|
||||
event.event_type.title,
|
||||
(event.track.present? ? event.track.name : ''),
|
||||
(event.difficulty_level.present? ? event.difficulty_level.title : ''),
|
||||
(event.room.present? ? event.room.name : ''), event.state]).html_safe
|
||||
(event.room.present? ? event.room.name : ''),
|
||||
event.state]).html_safe
|
||||
|
|
|
|||
|
|
@ -1,6 +1,17 @@
|
|||
wb.add_worksheet(name: 'all events') do |sheet|
|
||||
bold_style = wb.styles.add_style(b: true)
|
||||
row = ['Event ID', 'Title', 'Abstract', 'Start time', 'Submitter', 'Speaker', 'Event Type', 'Track', 'Difficulty Level', 'Room', 'State']
|
||||
row = ['Event ID',
|
||||
'Title',
|
||||
'Abstract',
|
||||
'Start time',
|
||||
'Submitter',
|
||||
'Speaker',
|
||||
'Speaker Email',
|
||||
'Event Type',
|
||||
'Track',
|
||||
'Difficulty Level',
|
||||
'Room',
|
||||
'State']
|
||||
sheet.add_row row, style: bold_style
|
||||
|
||||
@events.each do |event|
|
||||
|
|
@ -11,6 +22,7 @@ wb.add_worksheet(name: 'all events') do |sheet|
|
|||
row << (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '')
|
||||
row << event.submitter.name
|
||||
row << event.speaker_names
|
||||
row << event.speaker_emails
|
||||
row << event.event_type.title
|
||||
row << (event.track.present? ? event.track.name : '')
|
||||
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
'Start time',
|
||||
'Submitter',
|
||||
'Speaker',
|
||||
'Speaker Email',
|
||||
'Event Type',
|
||||
'Track',
|
||||
'Difficulty Level',
|
||||
|
|
@ -16,8 +17,17 @@
|
|||
- all_comments = ''
|
||||
- event.root_comments.each do |comment|
|
||||
- all_comments << "#{comment.created_at.strftime("%Y-%m-%d")} #{comment.created_at.strftime("%I:%M%p")} #{comment.user.name}: #{comment.body}\n"
|
||||
= CSV.generate_line([event.id, event.title, event.abstract, (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : ''),
|
||||
event.submitter.name, event.speaker_names, event.event_type.title,
|
||||
= CSV.generate_line([event.id,
|
||||
event.title,
|
||||
event.abstract,
|
||||
(event.time.present? ? "#{event.time.strftime("%Y-%m-%d")}#{event.time.strftime("%I:%M%p")} " : ''),
|
||||
event.submitter.name,
|
||||
event.speaker_names,
|
||||
event.speaker_emails,
|
||||
event.event_type.title,
|
||||
(event.track.present? ? event.track.name : ''),
|
||||
(event.difficulty_level.present? ? event.difficulty_level.title : ''),
|
||||
(event.room.present? ? event.room.name : ''), event.state, all_comments]).html_safe
|
||||
(event.room.present? ? event.room.name : ''),
|
||||
event.state,
|
||||
all_comments]).html_safe
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,20 @@
|
|||
wb.use_shared_strings = true
|
||||
wb.add_worksheet(name: 'events with comments') do |sheet|
|
||||
bold_style = wb.styles.add_style(b: true )
|
||||
bold_style = wb.styles.add_style( b: true )
|
||||
cell_style = wb.styles.add_style(alignment: { wrap_text: true, vertical: :top })
|
||||
row = ['Event ID', 'Title', 'Abstract', 'Start time', 'Submitter', 'Speaker', 'Event Type', 'Track', 'Difficulty Level', 'Room', 'State', 'Comments']
|
||||
row = ['Event ID',
|
||||
'Title',
|
||||
'Abstract',
|
||||
'Start time',
|
||||
'Submitter',
|
||||
'Speaker',
|
||||
'Speaker Email',
|
||||
'Event Type',
|
||||
'Track',
|
||||
'Difficulty Level',
|
||||
'Room',
|
||||
'State',
|
||||
'Comments']
|
||||
sheet.add_row row, style: bold_style
|
||||
|
||||
@events.each do |event|
|
||||
|
|
@ -17,6 +29,7 @@ row = ['Event ID', 'Title', 'Abstract', 'Start time', 'Submitter', 'Speaker', 'E
|
|||
row << (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '')
|
||||
row << event.submitter.name
|
||||
row << event.speaker_names
|
||||
row << event.speaker_emails
|
||||
row << event.event_type.title
|
||||
row << (event.track.present? ? event.track.name : '')
|
||||
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
'Start time',
|
||||
'Submitter',
|
||||
'Speaker',
|
||||
'Speaker Email',
|
||||
'Event Type',
|
||||
'Track',
|
||||
'Difficulty Level',
|
||||
|
|
@ -12,8 +13,15 @@
|
|||
= CSV.generate_line ["Confirmed Events"]
|
||||
= CSV.generate_line headers
|
||||
- @events.confirmed.each do |event|
|
||||
= CSV.generate_line([event.id, event.title, event.abstract, (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : ''),
|
||||
event.submitter.name, event.speaker_names, event.event_type.title,
|
||||
= CSV.generate_line([event.id,
|
||||
event.title,
|
||||
event.abstract,
|
||||
(event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : ''),
|
||||
event.submitter.name,
|
||||
event.speaker_names,
|
||||
event.speaker_emails,
|
||||
event.event_type.title,
|
||||
(event.track.present? ? event.track.name : ''),
|
||||
(event.difficulty_level.present? ? event.difficulty_level.title : ''),
|
||||
(event.room.present? ? event.room.name : ''), event.state]).html_safe
|
||||
(event.room.present? ? event.room.name : ''),
|
||||
event.state]).html_safe
|
||||
|
|
|
|||
|
|
@ -1,6 +1,17 @@
|
|||
wb.add_worksheet(name: 'confirmed events') do |sheet|
|
||||
bold_style = wb.styles.add_style(b: true)
|
||||
row = ['Event ID', 'Title', 'Abstract', 'Start time', 'Submitter', 'Speaker', 'Event Type', 'Track', 'Difficulty Level', 'Room', 'State']
|
||||
row = ['Event ID',
|
||||
'Title',
|
||||
'Abstract',
|
||||
'Start time',
|
||||
'Submitter',
|
||||
'Speaker',
|
||||
'Speaker Email',
|
||||
'Event Type',
|
||||
'Track',
|
||||
'Difficulty Level',
|
||||
'Room',
|
||||
'State']
|
||||
sheet.add_row row, style: bold_style
|
||||
|
||||
@events.confirmed.each do |event|
|
||||
|
|
@ -11,6 +22,7 @@ wb.add_worksheet(name: 'confirmed events') do |sheet|
|
|||
row << (event.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '')
|
||||
row << event.submitter.name
|
||||
row << event.speaker_names
|
||||
row << event.speaker_emails
|
||||
row << event.event_type.title
|
||||
row << (event.track.present? ? event.track.name : '')
|
||||
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue