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
|
result.to_a.to_sentence
|
||||||
end
|
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+
|
# Returns +Hash+
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
'Start time',
|
'Start time',
|
||||||
'Submitter',
|
'Submitter',
|
||||||
'Speaker',
|
'Speaker',
|
||||||
|
'Speaker Email',
|
||||||
'Event Type',
|
'Event Type',
|
||||||
'Track',
|
'Track',
|
||||||
'Difficulty Level',
|
'Difficulty Level',
|
||||||
|
|
@ -12,8 +13,15 @@
|
||||||
= CSV.generate_line ['All Events']
|
= CSV.generate_line ['All Events']
|
||||||
= CSV.generate_line headers
|
= CSV.generate_line headers
|
||||||
- @events.each do |event|
|
- @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")} " : ''),
|
= CSV.generate_line([event.id,
|
||||||
event.submitter.name, event.speaker_names, event.event_type.title,
|
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.track.present? ? event.track.name : ''),
|
||||||
(event.difficulty_level.present? ? event.difficulty_level.title : ''),
|
(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|
|
wb.add_worksheet(name: 'all events') do |sheet|
|
||||||
bold_style = wb.styles.add_style(b: true)
|
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
|
sheet.add_row row, style: bold_style
|
||||||
|
|
||||||
@events.each do |event|
|
@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.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '')
|
||||||
row << event.submitter.name
|
row << event.submitter.name
|
||||||
row << event.speaker_names
|
row << event.speaker_names
|
||||||
|
row << event.speaker_emails
|
||||||
row << event.event_type.title
|
row << event.event_type.title
|
||||||
row << (event.track.present? ? event.track.name : '')
|
row << (event.track.present? ? event.track.name : '')
|
||||||
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
'Start time',
|
'Start time',
|
||||||
'Submitter',
|
'Submitter',
|
||||||
'Speaker',
|
'Speaker',
|
||||||
|
'Speaker Email',
|
||||||
'Event Type',
|
'Event Type',
|
||||||
'Track',
|
'Track',
|
||||||
'Difficulty Level',
|
'Difficulty Level',
|
||||||
|
|
@ -16,8 +17,17 @@
|
||||||
- all_comments = ''
|
- all_comments = ''
|
||||||
- event.root_comments.each do |comment|
|
- 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"
|
- 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")} " : ''),
|
= CSV.generate_line([event.id,
|
||||||
event.submitter.name, event.speaker_names, event.event_type.title,
|
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.track.present? ? event.track.name : ''),
|
||||||
(event.difficulty_level.present? ? event.difficulty_level.title : ''),
|
(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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,19 @@ wb.use_shared_strings = true
|
||||||
wb.add_worksheet(name: 'events with comments') do |sheet|
|
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 })
|
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
|
sheet.add_row row, style: bold_style
|
||||||
|
|
||||||
@events.each do |event|
|
@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.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '')
|
||||||
row << event.submitter.name
|
row << event.submitter.name
|
||||||
row << event.speaker_names
|
row << event.speaker_names
|
||||||
|
row << event.speaker_emails
|
||||||
row << event.event_type.title
|
row << event.event_type.title
|
||||||
row << (event.track.present? ? event.track.name : '')
|
row << (event.track.present? ? event.track.name : '')
|
||||||
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
'Start time',
|
'Start time',
|
||||||
'Submitter',
|
'Submitter',
|
||||||
'Speaker',
|
'Speaker',
|
||||||
|
'Speaker Email',
|
||||||
'Event Type',
|
'Event Type',
|
||||||
'Track',
|
'Track',
|
||||||
'Difficulty Level',
|
'Difficulty Level',
|
||||||
|
|
@ -12,8 +13,15 @@
|
||||||
= CSV.generate_line ["Confirmed Events"]
|
= CSV.generate_line ["Confirmed Events"]
|
||||||
= CSV.generate_line headers
|
= CSV.generate_line headers
|
||||||
- @events.confirmed.each do |event|
|
- @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")} " : ''),
|
= CSV.generate_line([event.id,
|
||||||
event.submitter.name, event.speaker_names, event.event_type.title,
|
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.track.present? ? event.track.name : ''),
|
||||||
(event.difficulty_level.present? ? event.difficulty_level.title : ''),
|
(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|
|
wb.add_worksheet(name: 'confirmed events') do |sheet|
|
||||||
bold_style = wb.styles.add_style(b: true)
|
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
|
sheet.add_row row, style: bold_style
|
||||||
|
|
||||||
@events.confirmed.each do |event|
|
@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.time.present? ? "#{event.time.strftime("%Y-%m-%d")} #{event.time.strftime("%I:%M%p")} " : '')
|
||||||
row << event.submitter.name
|
row << event.submitter.name
|
||||||
row << event.speaker_names
|
row << event.speaker_names
|
||||||
|
row << event.speaker_emails
|
||||||
row << event.event_type.title
|
row << event.event_type.title
|
||||||
row << (event.track.present? ? event.track.name : '')
|
row << (event.track.present? ? event.track.name : '')
|
||||||
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
row << (event.difficulty_level.present? ? event.difficulty_level.title : '')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue