fix some error
This commit is contained in:
1 parent
ca55f99f53
commit
dbb2ddd3f6
9 files changed
+87
-35
No files matched your search
@@ -25,6 +25,9 @@ class AsksController < ActionController::Base
|
||||
if ask_setting.nil?
|
||||
ask_setting = AskSetting.first
|
||||
ask_setting = AskSetting.create() if ask_setting.nil?
|
||||
@default_ask_setting = ask_setting
|
||||
else
|
||||
@default_ask_setting = AskSetting.first
|
||||
end
|
||||
defalt_fields = cal_form_from_setting(ask_setting,categories)
|
||||
request = OrbitHelper.request
|
||||
@@ -125,12 +128,15 @@ class AsksController < ActionController::Base
|
||||
if ask_setting.nil?
|
||||
ask_setting = AskSetting.first
|
||||
ask_setting = AskSetting.create() if ask_setting.nil?
|
||||
@default_ask_setting = ask_setting
|
||||
else
|
||||
@default_ask_setting = AskSetting.first
|
||||
end
|
||||
csrf_value = OrbitHelper.request.session[:_csrf_token] || SecureRandom.base64(32)
|
||||
token_tag = hidden_field_tag('authenticity_token',csrf_value)
|
||||
switch_form = cal_switch_form(ask_settings,categories,token_tag,referer_url)
|
||||
tags = module_app.tags
|
||||
ask_question = AskQuestion.new
|
||||
ask_question = AskQuestion.new(id: nil)
|
||||
{
|
||||
'layout_type' => 'index',
|
||||
'ask_question' => ask_question,
|
||||
@@ -138,7 +144,8 @@ class AsksController < ActionController::Base
|
||||
'tags' => tags,
|
||||
'module_app' => module_app,
|
||||
'switch_form' => switch_form,
|
||||
'ask_setting' => ask_setting
|
||||
'ask_setting' => ask_setting,
|
||||
'default_ask_setting' => @default_ask_setting
|
||||
}
|
||||
elsif @layout_type == 'published_index'
|
||||
page_number = OrbitHelper.page_number.to_i
|
||||
@@ -252,33 +259,33 @@ class AsksController < ActionController::Base
|
||||
defalt_fields = [{'style_html'=>'','label'=>ask_label(t('title'),'true'),'content'=>text_field_tag('ask_question[title]',nil,placeholder: t('title'),required: true)}]
|
||||
if show_categories || ask_setting.default_setting['ask_category_id']
|
||||
if categories.count > 1
|
||||
defalt_fields = defalt_fields + [{'style_html'=>'','label'=>ask_label(t("#{tmp}.ask_category_id"),'true'),'content'=>select_tag('ask_question[category_id]', options_for_select(categories.collect{|t| [ t.title, t.id ]}))}]
|
||||
defalt_fields = defalt_fields + [{'style_html'=>'','label'=>ask_label(@default_ask_setting.field_name("ask_category_id"),'true'),'content'=>select_tag('ask_question[category_id]', options_for_select(categories.collect{|t| [ t.title, t.id ]}))}]
|
||||
else
|
||||
defalt_fields = defalt_fields + [{'style_html'=>'','label'=>ask_label(t("#{tmp}.ask_category_id"),'true'),'content'=>"<span>#{(categories[0].title rescue '')}</span>"+hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))}]
|
||||
defalt_fields = defalt_fields + [{'style_html'=>'','label'=>ask_label(@default_ask_setting.field_name("ask_category_id"),'true'),'content'=>"<span>#{(categories[0].title rescue '')}</span>"+hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))}]
|
||||
end
|
||||
else
|
||||
defalt_fields = defalt_fields + [{'style_html'=>'display: none;','label'=>'','content'=>hidden_field_tag('ask_question[category_id]', (categories[0].id.to_s rescue ''))}]
|
||||
end
|
||||
defalt_fields = defalt_fields + ['name','sex','mail','phone','appointment'].select{|v| ask_setting.default_setting[v]}.collect do |field|
|
||||
required = ['phone','appointment'].exclude?(field) ? 'true' : 'false'
|
||||
f1 = {'style_html'=>'','label'=>ask_label(t("#{tmp}.#{field}"),required)}
|
||||
f1 = {'style_html'=>'','label'=>ask_label(@default_ask_setting.field_name("#{field}"),required)}
|
||||
field_name = "ask_question[#{field}]"
|
||||
case field
|
||||
when 'name'
|
||||
f1['content'] = text_field_tag(field_name,nil,data: {"fv-validation" => "required;", "fv-messages" => "必填欄位;"},required: true,placeholder:t("#{tmp}.#{field}"))
|
||||
f1['content'] = text_field_tag(field_name,nil,data: {"fv-validation" => "required;", "fv-messages" => "必填欄位;"},required: true,placeholder:@default_ask_setting.field_name("#{field}"))
|
||||
when 'sex'
|
||||
f1['content'] = "<label class=\"radio-inline\">
|
||||
#{radio_button(field_name,'male')}#{I18n.t('users.male')}
|
||||
#{radio_button_tag(field_name,'male')}#{I18n.t('users.male')}
|
||||
</label>
|
||||
<label class=\"radio-inline\">
|
||||
#{radio_button(field_name,'female')}#{I18n.t('users.female')}
|
||||
#{radio_button_tag(field_name,'female')}#{I18n.t('users.female')}
|
||||
</label>"
|
||||
when 'mail'
|
||||
f1['content'] = text_field_tag(field_name,nil,data: {"fv-validation" => "required;check_email;", "fv-messages" => "必填欄位;Email不正確;"},required: true,placeholder:t("#{tmp}.#{field}"))
|
||||
f1['content'] = text_field_tag(field_name,nil,data: {"fv-validation" => "required;check_email;", "fv-messages" => "必填欄位;Email不正確;"},required: true,placeholder:@default_ask_setting.field_name("#{field}"))
|
||||
when 'phone'
|
||||
f1['content'] = text_field_tag(field_name,nil,placeholder:t("#{tmp}.#{field}"))
|
||||
f1['content'] = text_field_tag(field_name,nil,placeholder:@default_ask_setting.field_name("#{field}"))
|
||||
when 'appointment'
|
||||
f1['content'] = "<div class=\"default_picker\">#{text_field_tag(field_name,nil,placeholder:t("#{tmp}.#{field}"))}</div>"
|
||||
f1['content'] = "<div class=\"default_picker\">#{text_field_tag(field_name,nil,placeholder:@default_ask_setting.field_name("#{field}"))}</div>"
|
||||
end
|
||||
f1
|
||||
end
|
||||
@@ -337,18 +344,19 @@ class AsksController < ActionController::Base
|
||||
if (id != $(this).parents('form').eq(0).attr('id')){
|
||||
var self = $(this)
|
||||
var old_controls = self.parents('form').eq(0).find('.control-group')
|
||||
var old_inputs = old_controls.find('label').map(function(){
|
||||
var old_inputs = old_controls.children('label').map(function(){
|
||||
return $.trim($(this).text().replace(/\\\*/g,''));
|
||||
}).get()
|
||||
var new_controls = self.parents('.ask-question').eq(0).find('form#'+id).find('.control-group')
|
||||
var new_inputs = new_controls.find('label').map(function(){
|
||||
var new_inputs = new_controls.children('label').map(function(){
|
||||
return $.trim($(this).text().replace(/\\\*/g,''));
|
||||
}).get()
|
||||
$(new_inputs).each(function(i,v){
|
||||
var i0 = old_inputs.indexOf(v)
|
||||
if (i0 != -1 && new_controls.eq(i).find('select#ask_question_category_id').length==0){
|
||||
new_controls.eq(i).find('.controls').eq(0).before(old_controls.eq(i0).find('.controls').clone())
|
||||
new_controls.eq(i).find('.controls').eq(-1).remove()
|
||||
var new_ = new_controls.eq(i).find('.controls').eq(0),
|
||||
old_ = old_controls.eq(i0).find('.controls').eq(0);
|
||||
old_.clone().replaceAll(new_);
|
||||
}
|
||||
})
|
||||
self.parents('.ask-question').eq(0).find('form').hide()
|
||||
|
||||
Reference in new issue
Block a user