diff --git a/app/controllers/admin/personal_plugin_fields_controller.rb b/app/controllers/admin/personal_plugin_fields_controller.rb
index 28ff3cf..1f8c95f 100644
--- a/app/controllers/admin/personal_plugin_fields_controller.rb
+++ b/app/controllers/admin/personal_plugin_fields_controller.rb
@@ -43,19 +43,18 @@ class Admin::PersonalPluginFieldsController < OrbitAdminController
cp_template_dir_path = "#{Rails.root}/tmp/#{@personal_plugin_field.module_name}/"
FileUtils.rm_rf(cp_template_dir_path)
FileUtils.cp_r(template_dir_path,cp_template_dir_path)
-
dirs = Dir.glob("#{cp_template_dir_path}*/")
files = Dir.glob("#{cp_template_dir_path}*").select { |fn| File.file?(fn) }
-
+ begin
in_use_locales = Site.first.in_use_locales
-
+ primary_modal_fields = @personal_plugin_field.primary_modal_fields.select{|f| (f[:field_name].present? rescue false)}
yml_files = Dir.glob("#{cp_template_dir_path}config/locales/*.yml")
yml_files.each do |yml_file|
locale = yml_file.split("/").last.split(".yml").first
yml_text = File.read(yml_file)
translate_hash = {}
- @personal_plugin_field.primary_modal_fields.each do |field_value|
- if field_value[:field_name] && (field_value[:translation_name][locale].present? rescue false)
+ primary_modal_fields.each do |field_value|
+ if (field_value[:translation_name][locale].present? rescue false)
translate_hash[field_value[:field_name]] = field_value[:translation_name][locale]
end
end
@@ -88,10 +87,14 @@ class Admin::PersonalPluginFieldsController < OrbitAdminController
end
end
@blank_text = " "
- slug_title = @personal_plugin_field.primary_modal_fields.select{|field_value| field_value[:slug_title] == "1" rescue false}.first[:field_name].to_s rescue ""
- plugin_template_related_files = @personal_plugin_field.primary_modal_fields.select{|field_value| field_value[:field_type] == "file" rescue false}.map{|v| v[:field_name]}
+ slug_title = primary_modal_fields.select{|field_value| field_value[:slug_title] == "1" rescue false}.first[:field_name].to_s rescue ""
+ plugin_template_related_files = primary_modal_fields.select{|field_value| field_value[:field_type] == "file" rescue false}.map{|v| v[:field_name]}
+ plugin_template_related_links = primary_modal_fields.select{|field_value| field_value[:field_type] == "link" rescue false}.map{|v| v[:field_name]}
+ plugin_template_related_members = primary_modal_fields.select{|field_value| field_value[:field_type] == "member" rescue false}.map{|v| v[:field_name]}
plugin_template_related_files_text = plugin_template_related_files.to_s
- plugin_template_related_files_fields = plugin_template_related_files.map{|field_name|
+ plugin_template_related_links_text = plugin_template_related_links.to_s
+ fields = plugin_template_related_files + plugin_template_related_links
+ plugin_template_related_files_fields = fields.map{|field_name|
"has_many :#{field_name.pluralize}, :dependent => :destroy, :autosave => true\r\n" +
"accepts_nested_attributes_for :#{field_name.pluralize}, :allow_destroy => true"
}.join("\r\n")
@@ -99,15 +102,17 @@ class Admin::PersonalPluginFieldsController < OrbitAdminController
backend_index_fields = @personal_plugin_field.backend_fields["index"] rescue []
backend_index_fields_contents = backend_index_fields.map do |field_name|
if field_name == slug_title
- "<%= link_to #{plugin_template}.#{field_name}, page_for_#{plugin_template}(#{plugin_template}), target: \"blank\" %>\r\n" +
- "
@@ -228,7 +228,7 @@
}
})
}
- $("form").submit(function(){
+ $(".main-forms").submit(function(){
if($("#primary_modal_plane .slug_title:checked").length == 0){
alert("<%=thead_field('please_choose_one_slug_title')%>");
}else if($("#primary_modal_plane .slug_title:checked").length > 1){
diff --git a/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb b/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb
index 0f26282..a46afcd 100644
--- a/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb
+++ b/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb
@@ -1,16 +1,22 @@
+
<% object = f.object
%>
<%=thead_field(page_name)%>
-
+<%=t("select_all")%>
+<%=t("de_select_all")%>
+">
<% object.primary_modal_fields.each do |field_value| %>
+ <% next if (!access_field_types.include?(field_value[:field_type]) rescue false) %>
<%="#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}"%>
<% end %>
- <% f.object.related_modal_name.each_with_index do |related_modal_name,i| %>
- <% field_values = f.object.related_modal_fields[i].to_a %>
- <% field_values.each do |field_value| %>
- <%="#{related_modal_name}-#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}"%>
+ <% if page_name != "analysis" %>
+ <% f.object.related_modal_name.each_with_index do |related_modal_name,i| %>
+ <% field_values = f.object.related_modal_fields[i].to_a %>
+ <% field_values.each do |field_value| %>
+ <%="#{related_modal_name}-#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}"%>
+ <% end %>
<% end %>
<% end %>
@@ -20,20 +26,24 @@
<%= f.fields_for root_name do |f| %>
<%= f.fields_for page_name do |f| %>
<% object.primary_modal_fields.each do |field_value| %>
+ <% next if (!access_field_types.include?(field_value[:field_type]) rescue false) %>
<%= check_box_tag "#{f.object_name}[]", field_value[:field_name] , (object.send(root_name)[page_name].include?(field_value[:field_name]) rescue false),:id=>nil %>
<% end %>
- <% object.related_modal_name.each_with_index do |related_modal_name,i| %>
- <% field_values = object.related_modal_fields[i].to_a %>
- <% field_values.each do |field_value| %>
-
- <%= check_box_tag "#{f.object_name}[]", "#{related_modal_name+'.'+field_value[:field_name]}" , (object.send(root_name)[page_name].include?(related_modal_name+'.'+field_value[:field_name]) rescue false),:id=>nil %>
-
+ <% if page_name != "analysis" %>
+ <% object.related_modal_name.each_with_index do |related_modal_name,i| %>
+ <% field_values = object.related_modal_fields[i].to_a %>
+ <% field_values.each do |field_value| %>
+
+ <%= check_box_tag "#{f.object_name}[]", "#{related_modal_name+'.'+field_value[:field_name]}" , (object.send(root_name)[page_name].include?(related_modal_name+'.'+field_value[:field_name]) rescue false),:id=>nil %>
+
+ <% end %>
<% end %>
<% end %>
<% end %>
<% end %>
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/views/admin/personal_plugin_fields/fields_setting.html.erb b/app/views/admin/personal_plugin_fields/fields_setting.html.erb
index 932b285..7e3f37d 100644
--- a/app/views/admin/personal_plugin_fields/fields_setting.html.erb
+++ b/app/views/admin/personal_plugin_fields/fields_setting.html.erb
@@ -25,6 +25,7 @@
<%= thead_field('backend_page') %>
<%= render :partial => 'render_fields_check_table',locals: {:f=>f,:root_name=>'backend_fields',:page_name=>'index'} %>
+ <%= render :partial => 'render_fields_check_table',locals: {:f=>f,:root_name=>'backend_fields',:page_name=>'analysis',:access_field_types=>["date","date_time","year","year_month","time"]} %>
<%= thead_field('frontend_page') %>
@@ -41,4 +42,31 @@
<%= link_to t('cancel'), request.referer, :class=>"btn" %>
-<% end %>
\ No newline at end of file
+<% end %>
+
\ No newline at end of file
diff --git a/config/locales/en.yml b/config/locales/en.yml
index d354e69..3295ffe 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -35,5 +35,9 @@ en:
slug_title: Slug title
please_choose_one_slug_title: Please choose one Slug title!
slug_title_can_only_choose_one: Slug title can only choose one!
+ please_choose_one_analysis_field: Please choose one analysis field!
+ analysis_field_can_only_choose_one: Analysis field can only choose one!
generate_plugin: Generate plugin
- member: Member
\ No newline at end of file
+ member: Member
+ link: Link
+ analysis: Analysis Page
\ No newline at end of file
diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml
index c09be43..e7ae731 100644
--- a/config/locales/zh_tw.yml
+++ b/config/locales/zh_tw.yml
@@ -35,5 +35,9 @@ zh_tw:
slug_title: 頭銜標題
please_choose_one_slug_title: 請至少選擇一個頭銜標題!
slug_title_can_only_choose_one: 頭銜標題只能選擇一個!
+ please_choose_one_analysis_field: 請至少選擇一個分析欄位!
+ analysis_field_can_only_choose_one: 分析欄位只能選擇一個!
generate_plugin: 生成個人外掛
- member: 會員
\ No newline at end of file
+ member: 會員
+ link: 連結
+ analysis: 分析頁面
\ No newline at end of file
diff --git a/template_generator/app/controllers/admin/plugin_templates_controller.rb b/template_generator/app/controllers/admin/plugin_templates_controller.rb
index ca73d31..cefe86c 100644
--- a/template_generator/app/controllers/admin/plugin_templates_controller.rb
+++ b/template_generator/app/controllers/admin/plugin_templates_controller.rb
@@ -24,21 +24,25 @@ class Admin::PluginTemplatesController < OrbitMemberController
def show
end
+ def analysis
+ end
def analysis_report
role = params[:role_id]
- year_start = params[:year_start].to_i
- year_end = params[:year_end].to_i
+ analysis_field_name_start = params[:analysis_field_name_start]
+ analysis_field_name_end = params[:analysis_field_name_end]
graph_by = params[:graph_by]
- @data = get_chart_data(year_start,year_end,role,params[:graph_by])
+ @data = get_chart_data(analysis_field_name_start,analysis_field_name_end,role,params[:graph_by],params[:time_zone])
render :layout => false
end
def download_excel
- year_start = params[:year_start].to_i
- year_end = params[:year_end].to_i
- @data = get_data_for_excel(year_start,year_end)
+ analysis_field_name_start = params[:analysis_field_name_start]
+ analysis_field_name_end = params[:analysis_field_name_end]
+ @data = get_data_for_excel(analysis_field_name_start,analysis_field_name_end,params[:time_zone])
+ @protocol = (request.referer.blank? ? "http" : URI(request.referer).scheme)
+ @host_url = "#{@protocol}://#{request.host_with_port}"
respond_to do |format|
format.xlsx {
response.headers['Content-Disposition'] = 'attachment; filename="plugin_templates.xlsx"'
@@ -103,9 +107,9 @@ class Admin::PluginTemplatesController < OrbitMemberController
end
def get_settings
- <% parse_again_start %>
+ parse_again_start
@plugin_template_relateds = PluginTemplateRelated.all
- <% parse_again_end %>
+ parse_again_end
end
def set_plugin
diff --git a/template_generator/app/helpers/admin/plugin_templates_helper.rb b/template_generator/app/helpers/admin/plugin_templates_helper.rb
index 999d0ce..bbfe971 100644
--- a/template_generator/app/helpers/admin/plugin_templates_helper.rb
+++ b/template_generator/app/helpers/admin/plugin_templates_helper.rb
@@ -1,28 +1,58 @@
module Admin::PluginTemplatesHelper
+ include OrbitFormHelper
+ alias :org_datetime_picker :datetime_picker
+ def datetime_picker(*arg,**args)
+ org_datetime_picker(arg,args)
+ end
+ def time_iterate(start_time, end_time, step, &block)
+ begin
+ yield(start_time)
+ end while (start_time += step) <= end_time
+ end
+ def parse_time(time_str,timezone="+08:00")
+ DateTime.parse("0000-01-01 " + time_str + timezone)
+ end
def page_for_plugin_template(plugin_template_object)
page = Page.where(:module=>"personal_plugin_template").first
("/#{I18n.locale}"+page.url+'/'+plugin_template_object.to_param).gsub('//','/') rescue "#"
end
- def get_data_for_excel(year_start,year_end)
+ def get_data_for_excel(analysis_field_name_start,analysis_field_name_end,timezone)
+ analysis_field_name_start = parse_date_time_field("analysis_field_name",analysis_field_name_start,timezone)
+ analysis_field_name_end = parse_date_time_field("analysis_field_name",analysis_field_name_end,timezone)
data = []
roles = Role.where(:disabled => false, :title.ne => "", :title.ne => nil).asc(:key)
roles.each do |role|
d = {}
d["name"] = role.title
mps = role.member_profile_ids
- d["data"] = PluginTemplate.where(:year.gte => year_start, :year.lte => year_end, :member_profile_id.in => mps) rescue []
+ d["data"] = PluginTemplate.where(:analysis_field_name.gte => analysis_field_name_start, :analysis_field_name.lte => analysis_field_name_end, :member_profile_id.in => mps) rescue []
data << d
end
return data
end
- def get_chart_data(year_start,year_end,role,type)
+ def get_chart_data(analysis_field_name_start,analysis_field_name_end,role,type,timezone)
+ analysis_field_name_start = parse_date_time_field("analysis_field_name",analysis_field_name_start,timezone)
+ analysis_field_name_end = parse_date_time_field("analysis_field_name",analysis_field_name_end,timezone)
+ main_field_name = ""
+ time_fields = time_fields_text
+ max_iterate = 20
+ iterate_step = iterate_step_text
+ iterate_count = ((analysis_field_name_end - analysis_field_name_start) / iterate_step * 1.day.second).ceil
+ if iterate_count > max_iterate
+ iterate_step = (iterate_step * (iterate_count / max_iterate.to_f).ceil).second
+ end
case type
- when "semester"
- jls = CourseSemester.all
- when "category"
- jls = CourseCategory.all
+ when "default"
+ jls = []
+parse_again_start
+ when "plugin_template_related"
+ jls = PluginTemplateRelated.all
+ main_field_name = "plugin_template_related_main_field"
+parse_again_end
+ else
+ jls = []
end
finaldata = []
@@ -33,31 +63,69 @@ module Admin::PluginTemplatesHelper
end
jls.each do |jl|
data = {}
- data["name"] = jl.title
+ data["name"] = jl.send(main_field_name) rescue "N/A"
data["data"] = {}
- (year_start..year_end).each do |year|
- # d1 = DateTime.new(year,1,1,0,0)
- # d2 = DateTime.new(year,12,31,23,59)
- t = jl.courses.where(:year.gte => year, :year.lte => year, :member_profile_id.in => mps).count rescue 0
- data["data"][year.to_s] = t
+ time_iterate(analysis_field_name_start,analysis_field_name_end,iterate_step) do |analysis_field_name|
+ next_analysis_field_name = analysis_field_name + iterate_step
+ current_analysis_field_name = analysis_field_name
+ current_analysis_field_name = analysis_field_name.strftime("%H:%M") if time_fields.include?("analysis_field_name")
+ next_analysis_field_name = next_analysis_field_name.strftime("%H:%M") if time_fields.include?("analysis_field_name")
+ t = jl.plugin_templates.where(:analysis_field_name.gte => current_analysis_field_name, :analysis_field_name.lt => next_analysis_field_name, :member_profile_id.in => mps).count rescue 0
+ if current_analysis_field_name.class == DateTime
+ current_analysis_field_name = display_date_time(current_analysis_field_name,timezone,iterate_step)
+ end
+ data["data"][current_analysis_field_name.to_s] = t
end
finaldata << data
end
data = {"name" => "N/A", "data" => {}}
- (year_start..year_end).each do |year|
- # d1 = DateTime.new(year,1,1,0,0)
- # d2 = DateTime.new(year,12,31,23,59)
+ time_iterate(analysis_field_name_start,analysis_field_name_end,iterate_step) do |analysis_field_name|
+ next_analysis_field_name = analysis_field_name + iterate_step
+ current_analysis_field_name = analysis_field_name
+ current_analysis_field_name = analysis_field_name.strftime("%H:%M") if time_fields.include?("analysis_field_name")
+ next_analysis_field_name = next_analysis_field_name.strftime("%H:%M") if time_fields.include?("analysis_field_name")
case type
- when "semester"
- t = Course.where(:year.gte => year, :year.lte => year, :member_profile_id.in => mps, :course_semester_id => nil).count rescue 0
- when "category"
- t = Course.where(:year.gte => year, :year.lte => year, :member_profile_id.in => mps, :course_category_id => nil).count rescue 0
+ when "default"
+ t = PluginTemplate.where(:analysis_field_name.gte => current_analysis_field_name, :analysis_field_name.lt => next_analysis_field_name, :member_profile_id.in => mps).count rescue 0
+parse_again_start
+ when "plugin_template_related"
+ t = PluginTemplate.where(:analysis_field_name.gte => current_analysis_field_name, :analysis_field_name.lt => next_analysis_field_name, :member_profile_id.in => mps, :plugin_template_related_id => nil).count rescue 0
+parse_again_end
+ else
+ t = PluginTemplate.where(:analysis_field_name.gte => current_analysis_field_name, :analysis_field_name.lt => next_analysis_field_name, :member_profile_id.in => mps).count rescue 0
end
-
- data["data"][year.to_s] = t
+ current_analysis_field_name = current_analysis_field_name.new_offset(timezone) if current_analysis_field_name.class == DateTime
+ if current_analysis_field_name.class == DateTime
+ current_analysis_field_name = display_date_time(current_analysis_field_name,timezone,iterate_step)
+ end
+ data["data"][current_analysis_field_name.to_s] = t
end
finaldata << data
finaldata
end
-
+ def parse_date_time_field(field,value,timezone="+08:00")
+ time_fields = time_fields_text
+ if time_fields.include?(field)
+ parse_time(value,timezone)
+ elsif PluginTemplate.fields[field].type == Integer
+ value.to_i
+ elsif PluginTemplate.fields[field].type == Date
+ Date.parse(value)
+ else
+ DateTime.parse(value+timezone).utc
+ end
+ end
+ def display_date_time(date_time,timezone,iterate_step)
+ date_time = date_time.new_offset(timezone)
+ if iterate_step > 1.year
+ date_time = date_time.strftime("%Y")
+ elsif iterate_step > 1.month
+ date_time = date_time.strftime("%Y/%m")
+ elsif iterate_step > 1.day
+ date_time = date_time.strftime("%Y/%m/%d")
+ else
+ date_time = date_time.strftime("%Y/%m/%d %H:%M")
+ end
+ return date_time
+ end
end
\ No newline at end of file
diff --git a/template_generator/app/models/plugin_template.rb b/template_generator/app/models/plugin_template.rb
index 276c1e8..e554d44 100644
--- a/template_generator/app/models/plugin_template.rb
+++ b/template_generator/app/models/plugin_template.rb
@@ -10,17 +10,24 @@ class PluginTemplate
plugin_template_related_files_fields
-<% parse_again_start %>
+parse_again_start
belongs_to :plugin_template_related
-<% parse_again_end %>
+parse_again_end
+ field :rss2_id
belongs_to :member_profile
scope :sort_for_frontend, ->{ where(:is_hidden=>false).order_by(plugin_template_sort_hash) }
-<% parse_again_start %>
+parse_again_start
member_methods_define
-<% parse_again_end %>
+parse_again_end
+ before_save do
+ before_save_codes
+ end
+ def parse_time(time_str)
+ DateTime.parse("0000-01-01 " + time_str)
+ end
def self.get_plugin_datas_to_member(datas)
fields_to_show = col_name_to_show
@@ -88,7 +95,7 @@ class PluginTemplate
}
end
- def display_field(field)
+ def display_field(field,text_only=false)
plugin_template = self
display_field_code
end
diff --git a/template_generator/app/models/plugin_template_link.rb b/template_generator/app/models/plugin_template_link.rb
new file mode 100644
index 0000000..aa28ab6
--- /dev/null
+++ b/template_generator/app/models/plugin_template_link.rb
@@ -0,0 +1,25 @@
+# encoding: utf-8
+require 'uri'
+
+class PluginTemplateLink
+ include Mongoid::Document
+ include Mongoid::Timestamps
+
+ field :url
+ field :title, localize: true
+
+ belongs_to :plugin_template
+
+ before_validation :add_http
+
+ #validates :url, :presence => true, :format => /\A(http|https):\/\/(([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5})|((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))(:[0-9]{1,5})?(\/.*)?\Z/i
+
+ protected
+
+ def add_http
+ unless self.url[/^http:\/\//] || self.url[/^https:\/\//]
+ self.url = 'http://' + self.url
+ end
+ end
+
+end
\ No newline at end of file
diff --git a/template_generator/app/views/admin/plugin_template_relateds/_form.html.erb b/template_generator/app/views/admin/plugin_template_relateds/_form.html.erb
index c3b05ac..4b33bd8 100644
--- a/template_generator/app/views/admin/plugin_template_relateds/_form.html.erb
+++ b/template_generator/app/views/admin/plugin_template_relateds/_form.html.erb
@@ -5,7 +5,7 @@
@@ -180,6 +217,18 @@
return false;
})
+ var links = <%= links_hash.to_json.html_safe %>;
+ $("a.add_link").on("click",function(){
+ var type = $(this).attr("for"),
+ html = links[type].html,
+ count = parseInt(links[type].count),
+ replaceReg = new RegExp("new_" + type + "s","g");
+ html = html.replace(replaceReg,count);
+ $(".add-target[for=" + type + "]").append(html);
+ count++;
+ links[type].count = count;
+ return false;
+ })
$(document).on('click', '.delete_file', function(){
$(this).parents('.input-prepend').remove();
});
diff --git a/template_generator/app/views/admin/plugin_templates/_form_link.html.erb b/template_generator/app/views/admin/plugin_templates/_form_link.html.erb
new file mode 100644
index 0000000..461a3fc
--- /dev/null
+++ b/template_generator/app/views/admin/plugin_templates/_form_link.html.erb
@@ -0,0 +1,26 @@
+
diff --git a/template_generator/app/views/admin/plugin_templates/_plugin_template_related.html.erb b/template_generator/app/views/admin/plugin_templates/_plugin_template_related.html.erb
index 62822ea..7ce8dcb 100644
--- a/template_generator/app/views/admin/plugin_templates/_plugin_template_related.html.erb
+++ b/template_generator/app/views/admin/plugin_templates/_plugin_template_related.html.erb
@@ -1,17 +1,17 @@
-<% parse_again_start %>
+parse_again_start
<%= t("personal_plugin_template.plugin_template_related.related_backend_index_fields") %>
-<% parse_again_end %>
+parse_again_end
<%= t(:action) %>
<% @plugin_template_relateds.each do |plugin_template_related| %>
-<% parse_again_start %>
+parse_again_start
related_backend_index_fields_contents
-<% parse_again_end %>
+parse_again_end
<%= t(:edit) %>
<%= link_to t(:delete_), admin_plugin_template_related_path(plugin_template_related), "data-confirm" => t('sure?'), :method => :delete, :remote => true,:class=>"archive_toggle action" %>
diff --git a/template_generator/app/views/admin/plugin_templates/_plugin_templates.html.erb b/template_generator/app/views/admin/plugin_templates/_plugin_templates.html.erb
index 6adc52a..93818f7 100644
--- a/template_generator/app/views/admin/plugin_templates/_plugin_templates.html.erb
+++ b/template_generator/app/views/admin/plugin_templates/_plugin_templates.html.erb
@@ -1,7 +1,7 @@
<% @plugin_templates.each do |plugin_template| %>
-<% parse_again_start %>
+parse_again_start
backend_index_fields_contents
-<% parse_again_end %>
+parse_again_end
<% end %>
\ No newline at end of file
diff --git a/template_generator/app/views/admin/plugin_templates/analysis.html.erb b/template_generator/app/views/admin/plugin_templates/analysis.html.erb
index 3e6a09d..c93670c 100644
--- a/template_generator/app/views/admin/plugin_templates/analysis.html.erb
+++ b/template_generator/app/views/admin/plugin_templates/analysis.html.erb
@@ -32,24 +32,26 @@
<%= javascript_include_tag "justgage.1.0.1.min" %>
<%= javascript_include_tag "raphael.2.1.0.min" %>
<%= javascript_include_tag "validator" %>
+ <%= javascript_include_tag "lib/bootstrap-datetimepicker" %>
+ <%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %>
<% end %>
-<% parse_again_end %>
\ No newline at end of file
+parse_again_end
\ No newline at end of file
diff --git a/template_generator/app/views/plugin/personal_plugin_template/_profile.html.erb b/template_generator/app/views/plugin/personal_plugin_template/_profile.html.erb
index 86533b0..5e2da04 100644
--- a/template_generator/app/views/plugin/personal_plugin_template/_profile.html.erb
+++ b/template_generator/app/views/plugin/personal_plugin_template/_profile.html.erb
@@ -28,9 +28,9 @@
<% if has_access? %>
<% end -%>
-<% parse_again_start %>
+parse_again_start
<%= t('personal_plugin_template.backend_profile_fields') %>
-<% parse_again_end %>
+parse_again_end
@@ -41,9 +41,9 @@
<%= check_box_tag 'to_change[]', plugin_template.id.to_s, false, :class => "list-check" %>
<% end %>
-<% parse_again_start %>
+parse_again_start
backend_profile_fields_contents
-<% parse_again_end %>
+parse_again_end
<% end %>
diff --git a/template_generator/config/locales/en.yml b/template_generator/config/locales/en.yml
index 816d52c..e7db082 100644
--- a/template_generator/config/locales/en.yml
+++ b/template_generator/config/locales/en.yml
@@ -4,4 +4,17 @@ en:
plugin_templates: personal_plugin_template_translate
plugin_template: personal_plugin_template_translate
personal_plugin_template:
+ extend_translate:
+ start_time: Start time
+ end_time: End time
+ start_date: Start date
+ end_date: End date
+ start_date_time: Start date & time
+ end_date_time: End date & time
+ start_year: Start year
+ end_year: End year
+ start_year_month: Start year/month
+ end_year_month: End year/month
+ total_number: Total number
+ graph_by: "Graph By"
col_name_translate_yaml
\ No newline at end of file
diff --git a/template_generator/config/locales/zh_tw.yml b/template_generator/config/locales/zh_tw.yml
index 849a2b3..9fc705e 100644
--- a/template_generator/config/locales/zh_tw.yml
+++ b/template_generator/config/locales/zh_tw.yml
@@ -4,4 +4,17 @@ zh_tw:
plugin_templates: personal_plugin_template_translate
plugin_template: personal_plugin_template_translate
personal_plugin_template:
+ extend_translate:
+ start_time: 開始時間
+ end_time: 結束時間
+ start_date: 開始日期
+ end_date: 結束日期
+ start_date_time: 開始日期時間
+ end_date_time: 結束日期時間
+ start_year: 開始年分
+ end_year: 結束年分
+ start_year_month: 開始年月
+ end_year_month: 結束年月
+ total_number: 總數量
+ graph_by: "Graph By"
col_name_translate_yaml
\ No newline at end of file
diff --git a/template_generator/config/routes.rb b/template_generator/config/routes.rb
index a51f015..9f9a723 100644
--- a/template_generator/config/routes.rb
+++ b/template_generator/config/routes.rb
@@ -24,9 +24,9 @@ Rails.application.routes.draw do
end
end
end
-<% parse_again_start %>
+parse_again_start
resources :plugin_template_relateds
-<% parse_again_end %>
+parse_again_end
end
end
end
diff --git a/template_generator/modules/personal_plugin_template/index.html.erb b/template_generator/modules/personal_plugin_template/index.html.erb
index d6ff619..cf5d8c8 100644
--- a/template_generator/modules/personal_plugin_template/index.html.erb
+++ b/template_generator/modules/personal_plugin_template/index.html.erb
@@ -2,16 +2,16 @@
{{widget-title}}
- <% parse_again_start %>
+ parse_again_start
{{th-col_name_to_show_in_index_page_arr}}
- <% parse_again_end %>
+ parse_again_end
- <% parse_again_start %>
+ parse_again_start
{{col_name_to_show_in_index_page_arr}}
- <% parse_again_end %>
+ parse_again_end