#{multiple_lang_tag(k,'text_field','prompt_word',v['prompt_word'],{placeholder: t('ask.prompt_word')})}
"
require_ask_tag = "#{t('ask.required')}: #{field_radio_button_tag(k,'required','true',v['required']=='true')}#{t('ask.yes')}#{field_radio_button_tag(k,'required','false',v['required']!='true')}#{t('ask.no')}
"
- tmp = "
#{multi_lang_tag}
diff --git a/app/models/ask_category_print_setting.rb b/app/models/ask_category_print_setting.rb
new file mode 100644
index 0000000..4cb0f7f
--- /dev/null
+++ b/app/models/ask_category_print_setting.rb
@@ -0,0 +1,7 @@
+class AskCategoryPrintSetting
+ include Mongoid::Document
+ include Mongoid::Timestamps
+ field :print_format, type: String,default: ''
+ field :save_name, type: String,default: 'ask_{title}'
+ field :category_id
+end
diff --git a/app/models/ask_category_setting.rb b/app/models/ask_category_setting.rb
new file mode 100644
index 0000000..7acfba8
--- /dev/null
+++ b/app/models/ask_category_setting.rb
@@ -0,0 +1,29 @@
+class AskCategorySetting
+ include Mongoid::Document
+ include Mongoid::Timestamps
+ after_initialize do
+ if !self.new_record?
+ if self.default_setting.class != Hash && self.default_setting.class != BSON::Document
+ self.default_setting = {}
+ end
+ if self.default_setting[:agree_show].nil?
+ self.default_setting[:agree_show] = true
+ end
+ if self.default_setting[:agree_usage].nil?
+ self.default_setting[:agree_usage] = false
+ end
+ if self.custom_fields.class != Hash && self.custom_fields.class != BSON::Document
+ self.custom_fields = {}
+ end
+ self.save
+ end
+ end
+ def custom_fields
+ tmp = super
+ tmp.select{|k,v| v['delete'] != true}
+ end
+ field :default_setting, type: Hash,default: {ask_category_id: true,name: true,sex: false,mail: true,phone: false,appointment: false,recaptcha: false,agree_show: true,agree_usage: false}
+ field :custom_fields, type: Hash,default: {}
+ field :usage_rule
+ field :category_id
+end
diff --git a/app/models/ask_category_setting_index.rb b/app/models/ask_category_setting_index.rb
new file mode 100644
index 0000000..05a4995
--- /dev/null
+++ b/app/models/ask_category_setting_index.rb
@@ -0,0 +1,6 @@
+class AskCategorySettingIndex
+ include Mongoid::Document
+ include Mongoid::Timestamps
+ field :key,type: Integer,default: 0
+ field :category_id
+end
diff --git a/app/models/ask_print_setting.rb b/app/models/ask_print_setting.rb
new file mode 100644
index 0000000..4cc4ab4
--- /dev/null
+++ b/app/models/ask_print_setting.rb
@@ -0,0 +1,6 @@
+class AskPrintSetting
+ include Mongoid::Document
+ include Mongoid::Timestamps
+ field :print_format, type: String,default: ''
+ field :save_name, type: String,default: 'ask_{title}'
+end
diff --git a/app/models/ask_question.rb b/app/models/ask_question.rb
index ce88b31..b224979 100644
--- a/app/models/ask_question.rb
+++ b/app/models/ask_question.rb
@@ -23,6 +23,7 @@ class AskQuestion
field :email_id
field :custom_values, type: Hash,default: {}
field :agree_show,type: Boolean,default: false
+ field :agree_usage,type: Boolean,default: false
# validates_presence_of :name, :identity, :mail, :title, :content
def email
diff --git a/app/models/ask_setting.rb b/app/models/ask_setting.rb
index 81f7677..f0c4ca1 100644
--- a/app/models/ask_setting.rb
+++ b/app/models/ask_setting.rb
@@ -2,18 +2,27 @@ class AskSetting
include Mongoid::Document
include Mongoid::Timestamps
after_initialize do
- if default_setting.class != Hash
- default_setting = {}
+ if !self.new_record?
+ if self.default_setting.class != Hash && self.default_setting.class != BSON::Document
+ self.default_setting = {}
+ end
+ if self.default_setting[:agree_show].nil?
+ self.default_setting[:agree_show] = true
+ end
+ if self.default_setting[:agree_usage].nil?
+ self.default_setting[:agree_usage] = false
+ end
+ if self.custom_fields.class != Hash && self.custom_fields.class != BSON::Document
+ self.custom_fields = {}
+ end
+ self.save
end
- if custom_fields.class != Hash
- custom_fields = {}
- end
- self.save
end
def custom_fields
tmp = super
tmp.select{|k,v| v['delete'] != true}
end
- field :default_setting, type: Hash,default: {ask_category_id: true,name: true,sex: false,mail: true,phone: false,appointment: false,recaptcha: false}
+ field :default_setting, type: Hash,default: {ask_category_id: true,name: true,sex: false,mail: true,phone: false,appointment: false,recaptcha: false,agree_show: true,agree_usage: false}
field :custom_fields, type: Hash,default: {}
+ field :usage_rule
end
diff --git a/app/views/admin/asks/_ask_setting.html.erb b/app/views/admin/asks/_ask_setting.html.erb
new file mode 100644
index 0000000..68b1da5
--- /dev/null
+++ b/app/views/admin/asks/_ask_setting.html.erb
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+ <%= t('ask.field') %>
+
+
+ <%= t('ask.whether_open') %>
+
+
+
+
+ <% ask_setting.default_setting.each do |k,v| %>
+
+
+ <%= ['agree_show','agree_usage'].include?(k.to_s) ? t("ask.#{k}_checkbox") : t("mongoid.attributes.ask_question.#{k}") %>
+
+
+ <%= f.select "default_setting[#{k}]",[[t('yes'),'true'],[t('no'),false]] ,selected: v %>
+
+
+ <% end %>
+
+
+ <%= t("ask.usage_rule") %>
+
+
+ <%= f.text_area "usage_rule",class: 'ckeditor' %>
+
+
+ <% ask_setting.custom_fields.each do |k,v| %>
+ <%= custom_field_block(k,v).html_safe %>
+ <% end %>
+
+
+
+
+
+
+
+ <%= hidden_field_tag :delete_field, nil,{'class'=> 'delete_field' } %>
+ <%= f.hidden_field :id, value: ask_setting.id %>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/views/admin/asks/_category_print_setting.html.erb b/app/views/admin/asks/_category_print_setting.html.erb
new file mode 100644
index 0000000..77b6777
--- /dev/null
+++ b/app/views/admin/asks/_category_print_setting.html.erb
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+ <%= label_tag t('ask.save_name') %>
+
+
+ <%= text_field_tag "save_name",print_setting.save_name %>
+
+
+
+
+ <%= label_tag t('ask.print_format') %>
+
+
+ <%= text_area_tag "print_format",print_setting.print_format,class: 'ckeditor' %>
+
+
+
+
diff --git a/app/views/admin/asks/_category_setting_field.html.erb b/app/views/admin/asks/_category_setting_field.html.erb
new file mode 100644
index 0000000..5b5b891
--- /dev/null
+++ b/app/views/admin/asks/_category_setting_field.html.erb
@@ -0,0 +1,8 @@
+<%
+ set_input_name('ask_category_setting[custom_fields]')
+%>
+<%= form_for ask_setting,method: 'post',url: "/#{I18n.locale}/admin/asks/category_setting_save",html: { class: "fade-in active detail", 'id' => ask_setting.id.to_s ,:id => ask_setting.id} do |f| %>
+ <%= render partial: 'ask_setting',locals:{ask_setting: ask_setting,f: f,submit_text: t('ask.modify')} %>
+ <%= hidden_field_tag "category_id",ask_setting.category_id %>
+ '"><%= t('delete_') %>
+<% end %>
\ No newline at end of file
diff --git a/app/views/admin/asks/_form.html.erb b/app/views/admin/asks/_form.html.erb
index a8d321e..bcf6a1e 100644
--- a/app/views/admin/asks/_form.html.erb
+++ b/app/views/admin/asks/_form.html.erb
@@ -1,5 +1,5 @@
<%
- ask_setting = AskSetting.first
+ ask_setting = @ask_setting
set_input_name('ask_question')
%>
<% content_for :page_specific_css do %>
@@ -43,24 +43,24 @@
<%= AskQuestion.human_attribute_name(:name) %>:<%= @ask_question.name %>
-
<%= AskQuestion.human_attribute_name(:mail) %>:<%= @ask_question.mail %>
<%= AskQuestion.human_attribute_name(:phone) %>:<%= @ask_question.phone %>
-
+
<%= t('title') %>:<%= f.text_field :title %>
<%= AskQuestion.human_attribute_name(:appointment) %>:<%= @ask_question.appointment.strftime("%Y-%m-%d %H:%M") rescue nil %>
-
+
-
+
diff --git a/app/views/admin/asks/_index.html.erb b/app/views/admin/asks/_index.html.erb
index 6d5e714..de7c428 100644
--- a/app/views/admin/asks/_index.html.erb
+++ b/app/views/admin/asks/_index.html.erb
@@ -31,6 +31,7 @@
<%= t(:edit) %>
<%= t(:delete_) %>
<% end %>
+ <%= t('ask.print') %>
diff --git a/app/views/admin/asks/_print_format_explain.html.erb b/app/views/admin/asks/_print_format_explain.html.erb
new file mode 100644
index 0000000..741693a
--- /dev/null
+++ b/app/views/admin/asks/_print_format_explain.html.erb
@@ -0,0 +1,126 @@
+<% trans = 'mongoid.attributes.ask_question' %>
+
+ <%= t('ask.explanation') %>:
+
+ {ask_time} -> <%= t('ask.ask_time') %>
+
+ {title} -> <%= t('title') %>
+
+ {category} -> <%= t("#{trans}.ask_category_id") %>
+
+ {name} -> <%= t("#{trans}.name") %>
+
+ {name|mask} -> <%= t("ask.name_mask") %>
+
+ {sex} -> <%= t("#{trans}.sex") %>
+ (<%= t("#{trans}.male") %>/<%= t("#{trans}.female") %>)
+
+ {mail} -> <%= t("#{trans}.mail") %>
+
+ {phone} -> <%= t("#{trans}.phone") %>
+
+ {appointment} -> <%= t("#{trans}.appointment") %>
+
+ {agree_show} -> <%= t("#{trans}.agree_show_explain") %>
+
+ {custom1} -> <%= t("ask.custom1") %>
+
+ {custom2} -> <%= t("ask.custom2") %>
+
+ {custom3} -> <%= t("ask.custom3") %>
+
+ <%= t("ask.and_so_on") %>
+
+ {custom} -><%= t("ask.custom_explain") %>
+
+ {custom|format} -><%= t("ask.custom_format_explain") %>
+
+ {?_title} -> ?<%= t("ask.can_be_filled_with") %>ask_time、title、category、name、sex、mail、phone、appointment、agree_show、custom、custom1、custom2、custom3 ...,<%= t("ask.show_title_trans") %>, <%= t("ask.like") %>{sex_title}-><%= t("#{trans}.sex") %>
+
+
+ <%= t("ask.example") %>:
+
+ <%= t("ask.example_explain") %>
+
+ <%= t('ask.print_format') %>:
+
+
+
+
+ <%= t("ask.example") %>
+
+
+
+
+
+
+ {title_title}
+ {title}
+
+
+ {category_title}
+ {category}
+
+
+ {name_title}
+ {name}
+
+
+ {mail_title}
+ {mail}
+
+
+ {custom_title}
+ {custom}
+
+
+ {custom1_title}
+ {custom1}
+
+
+
+
+
+ <%= t('ask.output_result') %>:
+
+
+
+
+ <%= t("ask.example") %>
+
+
+
+
+
+
+
+ <%= t('title') %>
+ example
+
+
+ <%= t("#{trans}.ask_category_id") %>
+ 測試
+
+
+ <%= t("#{trans}.name") %>
+ 工程師1號
+
+
+ <%= t("#{trans}.mail") %>
+ test@rulingcom.com
+
+
+ test2
+ b
+
+
+ test3
+ c
+
+
+ test1
+ a
+
+
+
+
\ No newline at end of file
diff --git a/app/views/admin/asks/category_setting.html.erb b/app/views/admin/asks/category_setting.html.erb
new file mode 100644
index 0000000..cbf88ba
--- /dev/null
+++ b/app/views/admin/asks/category_setting.html.erb
@@ -0,0 +1,173 @@
+<%= t('ask.setting_type') %>: <%= select_tag "setting_type", options_for_select([[t('ask.field_setting'),'field'],[t('ask.print_setting'),'print']]), :class => "category-selector" %>
+
+
+
+ <%
+ set_input_name('ask_category_setting[custom_fields]')
+ %>
+
+ <% if @category_not_add.length != 0 %>
+ <% ask_setting = AskCategorySetting.new %>
+ <%= form_for ask_setting,method: 'post',url: "/#{I18n.locale}/admin/asks/category_setting_save",html: { class: "category-set-page"} do |f| %>
+
+ <% prompt = t('ask.select_category') %>
+ <%= t('category') %>: <%= select_tag "category_id", options_for_select(@category_not_add.unshift(prompt),selected: prompt,disabled: prompt), :class => "category-selector" %>
+ <%= render partial: 'ask_setting',locals:{ask_setting: ask_setting,f: f,submit_text: t('submit')} %>
+
+ <% end %>
+ <% end %>
+ <% index1 = 0 %>
+ <% first_category_added = nil %>
+
+ <% @category_added.each do |category_added| %>
+ <% category = @categories.select{|cat| cat.id.to_s==category_added.category_id.to_s}[0] %>
+ <% if !category.nil? %>
+ <% if first_category_added.nil?
+ first_category_added = category_added
+ end
+ %>
+ <% index1+=1 %>
+ <% name1 = category.title %>
+
<%= name1.blank? ? "no name" : name1 %>
+ <% end %>
+ <% end %>
+
+ <% if !first_category_added.nil? %>
+ <%= render partial: 'category_setting_field',locals: {ask_setting: first_category_added} %>
+ <% end %>
+
+
+
+
+ <% if @category_print_not_add.length != 0 %>
+
+ <% else %>
+ <%= render partial: 'print_format_explain' %>
+ <% end %>
+ <% index1 = 0 %>
+ <% categories = []%>
+
+ <% @category_print_added.each do |category_print_added| %>
+ <% category = @categories.select{|cat| cat.id.to_s==category_print_added.category_id.to_s}[0] %>
+ <% categories << category %>
+ <% if !category.nil? %>
+ <% index1+=1 %>
+ <% name1 = category.title %>
+
<%= name1.blank? ? "no name" : name1 %>
+ <% end %>
+ <% end %>
+
+ <% index2 = 0 %>
+ <% @category_print_added.each_with_index do |category_print_added,index1| %>
+ <% if !categories[index1].nil? %>
+ <% index2 = index2 + 1 %>
+
+ <% end %>
+ <% end %>
+
\ No newline at end of file
diff --git a/app/views/admin/asks/print.html.erb b/app/views/admin/asks/print.html.erb
new file mode 100644
index 0000000..633f50c
--- /dev/null
+++ b/app/views/admin/asks/print.html.erb
@@ -0,0 +1,48 @@
+
+
+<%= javascript_include_tag "jspdf.min" %>
+
+
+
+
+
+
+<%= @print_text.html_safe %>
+
\ No newline at end of file
diff --git a/app/views/admin/asks/print_format_explain.html.erb b/app/views/admin/asks/print_format_explain.html.erb
new file mode 100644
index 0000000..741693a
--- /dev/null
+++ b/app/views/admin/asks/print_format_explain.html.erb
@@ -0,0 +1,126 @@
+<% trans = 'mongoid.attributes.ask_question' %>
+
+ <%= t('ask.explanation') %>:
+
+ {ask_time} -> <%= t('ask.ask_time') %>
+
+ {title} -> <%= t('title') %>
+
+ {category} -> <%= t("#{trans}.ask_category_id") %>
+
+ {name} -> <%= t("#{trans}.name") %>
+
+ {name|mask} -> <%= t("ask.name_mask") %>
+
+ {sex} -> <%= t("#{trans}.sex") %>
+ (<%= t("#{trans}.male") %>/<%= t("#{trans}.female") %>)
+
+ {mail} -> <%= t("#{trans}.mail") %>
+
+ {phone} -> <%= t("#{trans}.phone") %>
+
+ {appointment} -> <%= t("#{trans}.appointment") %>
+
+ {agree_show} -> <%= t("#{trans}.agree_show_explain") %>
+
+ {custom1} -> <%= t("ask.custom1") %>
+
+ {custom2} -> <%= t("ask.custom2") %>
+
+ {custom3} -> <%= t("ask.custom3") %>
+
+ <%= t("ask.and_so_on") %>
+
+ {custom} -><%= t("ask.custom_explain") %>
+
+ {custom|format} -><%= t("ask.custom_format_explain") %>
+
+ {?_title} -> ?<%= t("ask.can_be_filled_with") %>ask_time、title、category、name、sex、mail、phone、appointment、agree_show、custom、custom1、custom2、custom3 ...,<%= t("ask.show_title_trans") %>, <%= t("ask.like") %>{sex_title}-><%= t("#{trans}.sex") %>
+
+
+ <%= t("ask.example") %>:
+
+ <%= t("ask.example_explain") %>
+
+ <%= t('ask.print_format') %>:
+
+
+
+
+ <%= t("ask.example") %>
+
+
+
+
+
+
+ {title_title}
+ {title}
+
+
+ {category_title}
+ {category}
+
+
+ {name_title}
+ {name}
+
+
+ {mail_title}
+ {mail}
+
+
+ {custom_title}
+ {custom}
+
+
+ {custom1_title}
+ {custom1}
+
+
+
+
+
+ <%= t('ask.output_result') %>:
+
+
+
+
+ <%= t("ask.example") %>
+
+
+
+
+
+
+
+ <%= t('title') %>
+ example
+
+
+ <%= t("#{trans}.ask_category_id") %>
+ 測試
+
+
+ <%= t("#{trans}.name") %>
+ 工程師1號
+
+
+ <%= t("#{trans}.mail") %>
+ test@rulingcom.com
+
+
+ test2
+ b
+
+
+ test3
+ c
+
+
+ test1
+ a
+
+
+
+
\ No newline at end of file
diff --git a/app/views/admin/asks/print_setting.html.erb b/app/views/admin/asks/print_setting.html.erb
new file mode 100644
index 0000000..c2a964f
--- /dev/null
+++ b/app/views/admin/asks/print_setting.html.erb
@@ -0,0 +1,36 @@
+<%= form_for @set,method: 'post',url: @url,html: { class: 'form-horizontal main-forms previewable' } do |f| %>
+
+
+
+<% end %>
+<%= render partial: 'print_format_explain' %>
\ No newline at end of file
diff --git a/app/views/admin/asks/setting.html.erb b/app/views/admin/asks/setting.html.erb
index c639523..1650f6a 100644
--- a/app/views/admin/asks/setting.html.erb
+++ b/app/views/admin/asks/setting.html.erb
@@ -1,89 +1,7 @@
<%
set_input_name('ask_setting[custom_fields]')
%>
-
-
+
<%= form_for @ask_setting,method: 'post',url: @url,html: { class: 'form-horizontal main-forms previewable' } do |f| %>
-
-
-
-
-
- <%= t('ask.field') %>
-
-
- <%= t('ask.whether_open') %>
-
-
-
-
- <% @ask_setting.default_setting.each do |k,v| %>
-
-
- <%= t("mongoid.attributes.ask_question.#{k}") %>
-
-
- <%= f.select "default_setting[#{k}]",[[t('yes'),'true'],[t('no'),false]] ,selected: v %>
-
-
- <% end %>
- <% @ask_setting.custom_fields.each do |k,v| %>
- <%= custom_field_block(k,v).html_safe %>
- <% end %>
-
-
-
-
-
-
-
- <%= hidden_field_tag :delete_field, nil,{'class'=> 'delete_field' } %>
- <%= f.hidden_field :id, value: @ask_setting.id %>
-
-
-
-
-
-
+ <%= render partial: 'ask_setting',locals:{ask_setting: @ask_setting,f: f,submit_text: t('submit')} %>
<% end %>
\ No newline at end of file
diff --git a/app/views/asks/index.html.erb b/app/views/asks/index.html.erb
index 4df2aae..45e62db 100644
--- a/app/views/asks/index.html.erb
+++ b/app/views/asks/index.html.erb
@@ -3,8 +3,8 @@
@categories = data["categories"]
@tags = data["tags"]
@module_app = data["module_app"]
- ask_setting = AskSetting.first
- ask_setting = AskSetting.create() if ask_setting.nil?
+ @switch_form = data["switch_form"]
+ ask_setting = data["ask_setting"]
set_input_name('ask_question')
%>
<% if data['layout_type'] != 'index' %>
@@ -12,7 +12,7 @@
<% else %>