Merge branch 'master' into 'master'
Updated! See merge request spen/seminar!21
This commit is contained in:
commit
1043304d20
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
|
@ -37,9 +37,25 @@ class SeminarsController < ApplicationController
|
||||||
template_path = content_style_info["template"]
|
template_path = content_style_info["template"]
|
||||||
template_info = content_style_info["info"]
|
template_info = content_style_info["info"]
|
||||||
custom_footer = seminar_template_setting.footer_info
|
custom_footer = seminar_template_setting.footer_info
|
||||||
if seminar_template_setting.seminar_banner_images.count != 0
|
if seminar_template_setting.seminar_banner_images.count != 0 || background_style_info["default_logo"]
|
||||||
banner_title = seminar.title
|
banner_title = seminar.title
|
||||||
external_link = prefix_url + "/home"
|
external_link = prefix_url + "/home"
|
||||||
|
images = []
|
||||||
|
if seminar_template_setting.seminar_banner_images.count == 0
|
||||||
|
images = [{
|
||||||
|
"image_link" => background_style_info["default_logo"],
|
||||||
|
"image_alt" => banner_title,
|
||||||
|
"title" => "",
|
||||||
|
"alt_title" => banner_title,
|
||||||
|
"class" => "active",
|
||||||
|
"height" => 0,
|
||||||
|
"width" => 0,
|
||||||
|
"caption" => '<div class="cycle-overlay"></div><div class="cycle-pager"></div>',
|
||||||
|
"context" => "",
|
||||||
|
"link" => external_link,
|
||||||
|
"target" => ""
|
||||||
|
}]
|
||||||
|
else
|
||||||
images = seminar_template_setting.seminar_banner_images.map.with_index do |image,i|
|
images = seminar_template_setting.seminar_banner_images.map.with_index do |image,i|
|
||||||
caption = (i == 0 ? '<div class="cycle-overlay"></div><div class="cycle-pager"></div>' : "")
|
caption = (i == 0 ? '<div class="cycle-overlay"></div><div class="cycle-pager"></div>' : "")
|
||||||
klass = (i == 0 ? "active" : "")
|
klass = (i == 0 ? "active" : "")
|
||||||
|
@ -60,6 +76,7 @@ class SeminarsController < ApplicationController
|
||||||
"target" => ""
|
"target" => ""
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
end
|
||||||
custom_banner = {
|
custom_banner = {
|
||||||
"extras" => {
|
"extras" => {
|
||||||
"ad_fx" => "fade",
|
"ad_fx" => "fade",
|
||||||
|
|
|
@ -473,6 +473,22 @@ class SeminarMain
|
||||||
no_dup_flag = new_object.send(f).present?
|
no_dup_flag = new_object.send(f).present?
|
||||||
elsif clone_target.relations[f].macro == :has_many
|
elsif clone_target.relations[f].macro == :has_many
|
||||||
no_dup_flag = new_object.send(f).to_a.count != 0
|
no_dup_flag = new_object.send(f).to_a.count != 0
|
||||||
|
elsif clone_target.relations[f].macro == :embeds_many #Fix localize fields
|
||||||
|
if new_object.send(f).to_a.count != 0
|
||||||
|
need_fix_fields = new_object.send(f).to_a[0].fields.select{|k,v| (v.options[:localize] rescue false)}.keys
|
||||||
|
locale = I18n.locale.to_s
|
||||||
|
embeded_records = new_object.send(f).map do |embeded_record|
|
||||||
|
need_fix_fields.each do |f|
|
||||||
|
if (embeded_record[f][locale].class != String rescue false)
|
||||||
|
embeded_record.send("#{f}_translations=",embeded_record[f][locale])
|
||||||
|
else
|
||||||
|
embeded_record.send("#{f}_translations=",embeded_record[f])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
embeded_record
|
||||||
|
end
|
||||||
|
new_object.send("#{f}=",embeded_records)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
if clone_target.relations[f].macro == :belongs_to || clone_target.relations[f].class_name == "MemberProfile"
|
if clone_target.relations[f].macro == :belongs_to || clone_target.relations[f].class_name == "MemberProfile"
|
||||||
if @records_all["#{f}_ids"].nil?
|
if @records_all["#{f}_ids"].nil?
|
||||||
|
|
|
@ -10,10 +10,46 @@ class SeminarTemplateSetting
|
||||||
field :website_title, type: String , default: "", localize: true
|
field :website_title, type: String , default: "", localize: true
|
||||||
field :footer_info, type: String , default: "", localize: true
|
field :footer_info, type: String , default: "", localize: true
|
||||||
field :introduction, type: String , default: "", localize: true
|
field :introduction, type: String , default: "", localize: true
|
||||||
field :background_style, type: String , default: ""
|
field :background_style, type: String , default: "1"
|
||||||
field :content_style, type: String , default: ""
|
field :content_style, type: String , default: "1"
|
||||||
has_many :seminar_banner_images, :autosave => true, :dependent => :destroy
|
has_many :seminar_banner_images, :autosave => true, :dependent => :destroy
|
||||||
accepts_nested_attributes_for :seminar_banner_images, :allow_destroy => true
|
accepts_nested_attributes_for :seminar_banner_images, :allow_destroy => true
|
||||||
|
after_create do
|
||||||
|
if self.seminar_main
|
||||||
|
@seminar_page_root = Page.where(:parent_page_id=>self.seminar_main_id).first
|
||||||
|
available_locales = Site.first.in_use_locales rescue I18n.available_locales
|
||||||
|
available_locales = available_locales.map{|l| l.to_s}
|
||||||
|
if @seminar_page_root.nil?
|
||||||
|
@seminar_page_root = Page.create(:parent_page_id=>self.seminar_main_id,:module=>"seminars_home",:name_translations=>@seminar.title_translations,:url=>"/home",:page_id=>"home",:enabled_for=>available_locales,:bind_uid=>@seminar.uid,:bind_module_app=>"seminar",:bind_model=>"SeminarMain",:menu_enabled_for=>available_locales)
|
||||||
|
else
|
||||||
|
@seminar_page_root.update(:name_translations=>@seminar.title_translations,:module=>"seminars_home",:url=>"/home",:page_id=>"home",:enabled_for=>available_locales,:bind_uid=>@seminar.uid,:bind_module_app=>"seminar",:bind_model=>"SeminarMain",:menu_enabled_for=>available_locales)
|
||||||
|
end
|
||||||
|
pages_info = {"introduction" => "seminars_page",
|
||||||
|
"news" => "custom_announcement",
|
||||||
|
"registration" => "seminar_registration",
|
||||||
|
"submission" => "seminar_submission",
|
||||||
|
"album" => "custom_gallery"}
|
||||||
|
relation_model = {"news" => "CustomBulletin","album"=>"CustomAlbum"}
|
||||||
|
pages_info.each do |page_id , page_module|
|
||||||
|
seminar_page = @seminar_page_root.child_page.where(:page_id=>page_id).first
|
||||||
|
page_trans = available_locales.map{|l| [l,I18n.with_locale(l){I18n.t("seminar.menu.#{page_id}")}]}.to_h
|
||||||
|
available_locales_tmp = available_locales.clone
|
||||||
|
if relation_model[page_id]
|
||||||
|
relation = relation_model[page_id].constantize rescue nil
|
||||||
|
if relation
|
||||||
|
if relation.where(:bind_uid=>@seminar.uid).count == 0
|
||||||
|
available_locales_tmp = []
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if seminar_page.nil?
|
||||||
|
seminar_page = @seminar_page_root.child_page.create(:name_translations=>page_trans,:page_id=>page_id,:url=>"/home/#{page_id}",:enabled_for=>available_locales_tmp,:module=>page_module,:menu_enabled_for=>available_locales_tmp)
|
||||||
|
else
|
||||||
|
seminar_page.update(:name_translations=>page_trans,:page_id=>page_id,:url=>"/home/#{page_id}",:module=>page_module)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
after_save do
|
after_save do
|
||||||
if self.display_menu_changed?
|
if self.display_menu_changed?
|
||||||
@seminar_page_root = Page.where(:parent_page_id=>self.seminar_main_id).first
|
@seminar_page_root = Page.where(:parent_page_id=>self.seminar_main_id).first
|
||||||
|
@ -45,10 +81,15 @@ class SeminarTemplateSetting
|
||||||
image_file = image_file.select{|f| File.basename(f).include?(folder_name)}.first
|
image_file = image_file.select{|f| File.basename(f).include?(folder_name)}.first
|
||||||
key = File.basename(folder)
|
key = File.basename(folder)
|
||||||
image_path = "/assets/seminar/background_style/#{key}/#{File.basename(image_file) rescue ''}"
|
image_path = "/assets/seminar/background_style/#{key}/#{File.basename(image_file) rescue ''}"
|
||||||
|
default_logo = nil
|
||||||
|
if File.exist?("#{folder}logo.jpg")
|
||||||
|
default_logo = "#{folder}logo.jpg".split("app")[1..-1].join("app").sub("/stylesheets/","/")
|
||||||
|
end
|
||||||
@@background_style_infos[key] = {
|
@@background_style_infos[key] = {
|
||||||
"image"=>image_path,
|
"image"=>image_path,
|
||||||
"css"=> get_folder_content(folder,"css"),
|
"css"=> get_folder_content(folder,"css"),
|
||||||
"js"=> get_folder_content(folder,"js")
|
"js"=> get_folder_content(folder,"js"),
|
||||||
|
"default_logo"=> default_logo
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@background_style_infos = @@background_style_infos.sort_by {|k, v| (k.match(/\d+/)[0].to_i rescue 0)}.to_h
|
@@background_style_infos = @@background_style_infos.sort_by {|k, v| (k.match(/\d+/)[0].to_i rescue 0)}.to_h
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
<% begin %>
|
<% begin %>
|
||||||
<table class="table table-hover table-striped seminar-index">
|
<table class="table table-hover table-striped seminar-index">
|
||||||
<caption>
|
<caption>
|
||||||
<h3><%= t('seminar.seminar') %></h3>
|
<% page = OrbitHelper.page rescue Page.where(:page_id => params[:page_id]).first %>
|
||||||
|
<h3><%= page.name rescue t('seminar.seminar') %></h3>
|
||||||
</caption>
|
</caption>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
Loading…
Reference in New Issue