venue_management/app/helpers/venue_admin_helper.rb

47 lines
2.9 KiB
Ruby
Raw Permalink Normal View History

2020-08-04 09:04:04 +00:00
module VenueAdminHelper
2020-08-07 14:03:30 +00:00
include ActionView::Helpers::FormOptionsHelper
2020-08-04 09:04:04 +00:00
include OrbitFormHelper
alias :org_datetime_picker :datetime_picker
def datetime_picker(*arg,**args)
tp = org_datetime_picker(*arg,**args)
venue = @template.instance_variable_get(:@venue)
if !venue.nil?
2020-08-15 13:40:31 +00:00
module_pages = @template.instance_variable_get(:@module_pages)
2020-09-22 15:19:59 +00:00
base_name = self.object_name
2020-08-07 14:03:30 +00:00
calendar_types = @template.instance_variable_get(:@calendar_types)
2020-08-04 09:04:04 +00:00
style_attr = ''
2020-08-07 14:03:30 +00:00
calendar_show = !@object['calendar_dict'][arg[0]].nil?
hide_style = " style=\"display: none;\""
2020-08-04 09:04:04 +00:00
if !@object.send(arg[0].to_s+'_reminder')
2020-08-07 14:03:30 +00:00
style_attr = hide_style
2020-08-04 09:04:04 +00:00
end
2020-08-07 14:03:30 +00:00
style_attr2 = calendar_show ? '' : hide_style
2020-08-04 09:04:04 +00:00
onclick_func = "function reminder_switch(ele){
if ($(ele).prop('checked')){
$(ele).parents('.controls').find('.email_reminder').show()
}else{
$(ele).parents('.controls').find('.email_reminder').hide()
}
};reminder_switch(this)"
2020-08-07 14:03:30 +00:00
onclick_func1 = "function reminder_switch_calendar(ele){
if ($(ele).prop('checked')){
$(ele).parents('.controls').find('.calendar_div').show()
}else{
$(ele).parents('.controls').find('.calendar_div').hide()
}
};reminder_switch_calendar(this)"
2020-08-04 09:04:04 +00:00
tp2 = content_tag(:div, :style => "float: left;flex-wrap: wrap;display: inline-flex;margin-left: 1em;align-items: center;") do
2020-08-07 14:03:30 +00:00
self.check_box((arg[0].to_s+'_reminder').to_sym,:onclick => onclick_func) + "#{I18n.t('venue_management.send_email_reminder')}<div class=\"email_reminder\"#{style_attr}>:&nbsp;#{I18n.t('venue_management.before')}#{self.number_field((arg[0].to_s+'_reminder_day').to_sym, :class => 'input-mini')}#{I18n.t('venue_management.day_send_email')}</div>".html_safe
end
calendar_type_key = "#{base_name}[calendar_data][type][#{arg[0]}]"
calendar_type = @object['calendar_data']['type'][arg[0]] rescue nil
2020-08-15 13:40:31 +00:00
tp4 = select_tag("#{base_name}[calendar_data][page_id][#{arg[0]}]",options_for_select([["----- Select a page -----",nil]]+module_pages,(@object['calendar_data']['page_id'][arg[0]] rescue nil)))
2020-08-07 14:03:30 +00:00
tp3 = content_tag(:div, :style => "float: left;flex-wrap: wrap;display: inline-flex;margin-left: 1em;align-items: center;") do
2020-08-15 13:40:31 +00:00
check_box_tag("#{base_name}[calendar_data][key][]",arg[0],calendar_show,:onclick => onclick_func1) + "#{I18n.t('venue_management.add_to_calendar')}<div class=\"calendar_div\"#{style_attr2}>:&nbsp;#{select_tag(calendar_type_key,options_for_select(calendar_types,calendar_type))}#{tp4}</div>".html_safe
2020-08-04 09:04:04 +00:00
end
2020-08-15 13:40:31 +00:00
2020-08-07 14:03:30 +00:00
tp = content_tag(:div, tp , :style=>"float: left;")+ tp2 + tp3
2020-08-04 09:04:04 +00:00
end
tp
end
end