forked from spen/seminar
Merge branch 'master' into 'master'
Fix bug. Add style to export xlsx file. See merge request spen/seminar!51
This commit is contained in:
commit
a6b0c491f1
|
@ -6,6 +6,6 @@ class SeminarSignupFieldCustom
|
|||
field :hidden, type: Boolean, default: true
|
||||
belongs_to :seminar_main
|
||||
def seminar_signup_field
|
||||
SeminarSignupField.find(self.seminar_signup_field_id) rescue nil
|
||||
SeminarSignupField.find(self.seminar_signup_field_id) rescue nil
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
<% end %>
|
||||
<% if @seminar.seminar_signup_field_customs.count != 0 %>
|
||||
<% @seminar.seminar_signup_field_customs.each do |field_set| %>
|
||||
<% s = SeminarSignupField.where(id:field_set.seminar_signup_field_id).first %>
|
||||
<% next if s.key.blank? %>
|
||||
<% s = field_set.seminar_signup_field %>
|
||||
<% next if (s.nil? || s.key.blank?) %>
|
||||
<% default_hidden << "seminar_signup_field_custom.#{s.key}" if (field_set.hidden) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
@ -113,7 +113,8 @@
|
|||
<% seminar_signup_field_customs = SeminarSignupFieldCustom.all.map{|field_set| SeminarSignupField.where(id: field_set.seminar_signup_field_id).first}.select{|s| !s.nil?}.uniq{|s| s.key } %>
|
||||
<% if seminar_signup_field_customs.count != 0 %>
|
||||
<% seminar_signup_field_customs.each do |s| %>
|
||||
<% next if s.key.blank? %>
|
||||
<% s = field_set.seminar_signup_field %>
|
||||
<% next if (s.nil? || s.key.blank?) %>
|
||||
<% default_hidden << "seminar_signup_field_custom.#{s.key}" if (field_set.hidden) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
@ -33,15 +33,20 @@ wb.add_worksheet(name: (@seminar.title.to_s[0..27]+'...')) do |sheet|
|
|||
row << rf.title
|
||||
end
|
||||
end
|
||||
|
||||
sheet.add_row row
|
||||
|
||||
@seminar_signups.each do |signup|
|
||||
types = {}
|
||||
highlight_style = wb.styles.add_style(
|
||||
:bg_color => 'ffeb3b',
|
||||
:b => true,
|
||||
:border => { :style => :thick, :color => "000000", :edges => [:top, :left, :bottom, :right] },
|
||||
:alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}
|
||||
)
|
||||
sheet.add_row row, :style => (0...row.count).collect{ highlight_style }
|
||||
date_time_style = wb.styles.add_style({:format_code => 'yyyy/mm/dd hh:mm', :alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}})
|
||||
wrap_text_style = wb.styles.add_style({:alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}})
|
||||
types = [:time]
|
||||
styles = [date_time_style]
|
||||
@seminar_signups.each_with_index do |signup, i|
|
||||
row2 = []
|
||||
|
||||
row2 << "#{signup.created_at} "
|
||||
types[1] = :string
|
||||
row2 << signup.created_at
|
||||
row2 << "#{signup.display_serial_number}"
|
||||
row2 << "#{signup[:name]} "
|
||||
row2 << "#{signup.unit} "
|
||||
|
@ -51,20 +56,23 @@ wb.add_worksheet(name: (@seminar.title.to_s[0..27]+'...')) do |sheet|
|
|||
row2 << "#{signup.address} "
|
||||
row2 << "#{signup[:email]} "
|
||||
row2 << "#{signup.note} "
|
||||
|
||||
@seminar.seminar_signup_fields.asc(:_id).each do |rf|
|
||||
if rf.can_muti_lang_input?
|
||||
@site_in_use_locales.each do |l|
|
||||
row2 << nl2br(show_attribute_value(@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(l))) rescue ' '
|
||||
row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(l) rescue '')
|
||||
end
|
||||
else
|
||||
row2 << nl2br(show_attribute_value(@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(I18n.locale))) rescue ' '
|
||||
row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(I18n.locale) rescue '')
|
||||
end
|
||||
end
|
||||
types = (0...row2.count).map{|i| types[i]}
|
||||
sheet.add_row row2 , :types => types
|
||||
if i == 0
|
||||
(0...(row2.count - 1)).each do |i|
|
||||
types << :string
|
||||
styles << wrap_text_style
|
||||
end
|
||||
end
|
||||
sheet.add_row row2 , :types => types, :style => styles
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue