diff --git a/app/assets/stylesheets/ask/ask.css b/app/assets/stylesheets/ask/ask.css
index 3dc5539..f468a9c 100644
--- a/app/assets/stylesheets/ask/ask.css
+++ b/app/assets/stylesheets/ask/ask.css
@@ -1,15 +1,20 @@
-
-.form-horizontal {
+.ask-question .control-group.col-sm-6:nth-child(2n+1) {
+ clear: left;
+}
+.ask-question .controls label.radio-inline{
+ float: left;
+}
+.ask-question-form {
background-color: #fdfdfd;
padding: 2em;
}
-.form-horizontal .control-group {
+.ask-question-form .control-group {
margin-bottom: 1em;
padding-bottom: 0.5em;
}
-.form-horizontal .control-label {
+.ask-question-form .control-label {
font-size: 1em;
float: left;
width: 10em;
@@ -20,13 +25,13 @@
display: block;
}
-.form-horizontal .control-group .controls {
+.ask-question-form .control-group .controls {
margin-left: 13.5em;
}
-.form-horizontal input[type="text"],
-.form-horizontal textarea,
-.form-horizontal select {
+.ask-question-form input[type="text"],
+.ask-question-form textarea,
+.ask-question-form select {
height: 2.1em;
line-height: 2.1em;
width: 220px;
@@ -35,17 +40,17 @@
border-radius: 0.3em;
}
-.form-horizontal textarea {
+.ask-question-form textarea {
width: 97%;
height: 180px;
}
/*button*/
-.form-horizontal .form-actions {
+.ask-question-form .form-actions {
border-top: 1px solid #d7dadb;
/*padding: 1em 0 0 20em;*/
}
-.form-horizontal .form-actions input, .form-horizontal .form-actions a{
+.ask-question-form .form-actions input, .ask-question-form .form-actions a{
float: right;
}
/*驗證碼*/
diff --git a/app/controllers/admin/asks_controller.rb b/app/controllers/admin/asks_controller.rb
index 12be007..b4db427 100644
--- a/app/controllers/admin/asks_controller.rb
+++ b/app/controllers/admin/asks_controller.rb
@@ -5,6 +5,7 @@ class Admin::AsksController < OrbitAdminController
before_action ->(module_app = @app_title) { set_variables module_app }
before_action :set_askquestion, only: [:edit, :destroy, :update, :print]
layout :compute_layout
+ helper_method :ask_thead
def compute_layout
if action_name=='print'
false
@@ -18,8 +19,7 @@ class Admin::AsksController < OrbitAdminController
end
def print_setting
@set = nil
- @cats_relations = get_categories_info_for_ask
- @category_id = (params[:category] || @cats_relations[0][0] rescue nil)
+ prepare_category_select
if @category_id.blank?
@set = AskPrintSetting.first
else
@@ -38,7 +38,7 @@ class Admin::AsksController < OrbitAdminController
set = AskPrintSetting.first
end
set.update_attributes(print_format: params[:ask_print_setting][:print_format],save_name: params[:ask_print_setting][:save_name])
- redirect_to "/#{locale}/admin/asks"
+ redirect_to admin_asks_path(:locale=>locale)
end
def category_print_setting_save
locale = I18n.locale
@@ -47,11 +47,9 @@ class Admin::AsksController < OrbitAdminController
set.update_attributes(print_format: params['print_format'],save_name: params['save_name'],category_id: params['category_id'])
redirect_to "/#{locale}/admin/asks/category_setting"
end
- def filter_fields(categories, tags)
+ def filter_fields(categories, tags=[])
{
- :situation=>[{:title=>"ask.is_waiting",:id=>"is_waiting"},{:title=>"ask.is_processed",:id=>"is_processed"},{:title=>"ask.is_referral",:id=>"is_referral"},{:title=>"ask.is_published",:id=>"is_published"}],
- :category=>categories.map{|c| {:title=>(c.title.blank? ? " " : c.title), :id=>c.id}},
- :identity=>tags.map{|tag| {:title=>(tag.name.blank? ? " " : tag.name), :id=>tag.id}}
+ :situation=> AskTicketStatus.all.map{|s| {:title=> s.title, :id=>s.key}}
}
end
@@ -79,6 +77,7 @@ class Admin::AsksController < OrbitAdminController
end
end
def category_setting_save
+ # render :html => params and return
locale = I18n.locale
ask_setting = AskCategorySetting.where(category_id: params['category_id']).first
ask_setting = AskCategorySetting.create(category_id: params['category_id']) if ask_setting.nil?
@@ -90,6 +89,17 @@ class Admin::AsksController < OrbitAdminController
@ask_setting = AskSetting.first
@url = setting_save_admin_asks_path
end
+ def backend_table_setting
+ category_id = params[:category_id].present? ? params[:category_id] : nil
+ @ask_list_setting = AskListSetting.where(:category_id=>category_id).first || AskListSetting.create(:category_id=>category_id)
+ @url = ask_list_setting_save_admin_asks_path
+ end
+ def ask_list_setting_save
+ @ask_list_setting = AskListSetting.find(params[:id])
+ ask_list_setting_params = params.require('ask_list_setting').permit!
+ @ask_list_setting.update_attributes(ask_list_setting_params)
+ redirect_to admin_asks_path(:locale=>locale)
+ end
def get_new_setting_index
ask_setting_index = AskSettingIndex.first
ask_setting_index = AskSettingIndex.create() if ask_setting_index.nil?
@@ -137,11 +147,32 @@ class Admin::AsksController < OrbitAdminController
def index
AskPrintSetting.create() if AskPrintSetting.first.nil?
@ask_setting = AskSetting.first
- @tags = @module_app.tags
+ prepare_category_select
+ category_id = @category_id.present? ? @category_id : nil
+ @ask_list_setting = AskListSetting.where(:category_id=>category_id).first || AskListSetting.create(:category_id=>category_id)
+ # @tags = @module_app.tags
@categories = @module_app.categories.enabled.sort_by{|category| (((@module_app.asc rescue true) ? category.sort_number.to_i : -category.sort_number.to_i) rescue category.id)}
- @filter_fields = filter_fields(@categories, @tags)
+ @filter_fields = filter_fields(@categories)
# 列表欄位
- @table_fields = ['ask.serial_number', :situation, :category, 'title' , 'ask.name', 'ask.phone', 'ask.appointment','ask.created_at','ask.ip']
+ @table_fields_default_fields = @ask_list_setting.default_fields.select{|f| @ask_setting.default_setting[f].nil? || @ask_setting.default_setting[f] }
+ @table_fields = @table_fields_default_fields.map{|v| ['title'].include?(v) ? v : "ask.#{v}"}
+ if @category_id.present?
+ ask_setting = AskCategorySetting.where(:category_id=>@category_id).first
+ tmp = ask_setting.custom_fields
+ list_setting_custom_fields = @ask_list_setting.custom_fields_list
+ else
+ tmp = []
+ default_setting = AskSetting.first
+ if default_setting
+ tmp += default_setting.custom_fields.map{|k,v| ["default@#{k}", v]}
+ end
+ AskCategorySetting.all.each do |ask_setting|
+ tmp += ask_setting.custom_fields.map{|k,v| ["custom@#{ask_setting.id}@#{k}", v]}
+ end
+ tmp = tmp.to_h
+ list_setting_custom_fields = (tmp.keys & @ask_list_setting.custom_fields)
+ end
+ @table_ext_fields = list_setting_custom_fields.map{|k| [k,tmp[k]]}.select{|k,v| v}
# 列表排序
# debugger
if filter2("situation").blank? and filter2("identity").blank?
@@ -161,7 +192,7 @@ class Admin::AsksController < OrbitAdminController
.any_in(:identity => filter2("identity"))
.any_in(:situation => filter2("situation"))
end
-
+ @askquestions = @askquestions.where(:category_id=>category_id)
# 分頁
@askquestions = search_data(@askquestions,[:title]).page(params[:page]).per(10)
if request.xhr?
@@ -307,10 +338,20 @@ class Admin::AsksController < OrbitAdminController
@url = admin_ask_path(@ask_question)
end
+ def batch_modify_status
+ AskQuestion.where(:id.in=>params[:ids]).update_all(:situation=>params[:status_key])
+ render :body => nil, :status => 204
+ end
+
+ def delete
+ AskQuestion.where(:id.in=>params[:ids]).destroy
+ render :body => nil, :status => 204
+ end
+
def destroy
locale = I18n.locale
@ask_question.destroy
- redirect_to "/#{locale}/admin/asks"
+ redirect_to admin_asks_path(:locale=>locale)
end
def update
@@ -351,7 +392,7 @@ class Admin::AsksController < OrbitAdminController
build_email(@ask_question)
end
- redirect_to "/#{locale}/admin/asks", notice: t('ask.reply_success')
+ redirect_to admin_asks_path(:locale=>locale), notice: t('ask.reply_success')
end
def build_email(email_er)
@@ -426,9 +467,12 @@ class Admin::AsksController < OrbitAdminController
@ask_question = AskQuestion.find(params[:id])
end
def order_fields
+ prepare_category_select
+ @disp_fields_infos = AskSetting.get_disp_fields_infos(false,@category_id)
+ end
+ def prepare_category_select
@cats_relations = get_categories_info_for_ask
@category_id = (params[:category] || @cats_relations[0][0] rescue nil)
- @disp_fields_infos = AskSetting.get_disp_fields_infos(false,@category_id)
end
def update_order_fields
ask_setting = AskCategorySetting.where(:category_id=>params[:category]).first
@@ -439,6 +483,10 @@ class Admin::AsksController < OrbitAdminController
default_setting = AskSetting.first
ask_setting = AskCategorySetting.create(category_id: params[:category])
p1 = default_setting.get_attrs
+ p1['need_check_customs'] = []
+ p1['agree_customs'] = p1['custom_fields'].keys rescue []
+ p1['reject_customs'] = []
+ p1['custom_fields'] = p1['custom_fields'].map{|k,v| ["default@#{k}", v]}.to_h rescue {}
ask_setting.update_attributes(p1)
ask_setting.update(:use_default => true)
ask_setting_index = AskCategorySettingIndex.where(category_id: params[:category]).first
@@ -555,4 +603,16 @@ class Admin::AsksController < OrbitAdminController
end
param_clone.merge({"custom_fields"=> custom_fields})
end
+ def ask_thead(field, trans,center=false)
+ sort = field.to_s.include?('.') ? field.to_s.split('.')[1] : field.to_s
+ active = params[:sort].eql? sort
+ order = active ? (["asc", "desc"]-[params[:order]]).first : "asc"
+ arrow = (order.eql? "desc") ? " " : " "
+ klass = field.eql?(:title) ? "span5" : "span2"
+
+ th_data = "#{trans} #{active ? arrow : ""} "
+
+ "
diff --git a/app/views/admin/asks/_default_ask_setting.html.erb b/app/views/admin/asks/_default_ask_setting.html.erb
index 2f0c17a..a3ded9e 100644
--- a/app/views/admin/asks/_default_ask_setting.html.erb
+++ b/app/views/admin/asks/_default_ask_setting.html.erb
@@ -3,11 +3,16 @@
<%= render :partial => 'show_default_ask_setting' %>
- <%= form_for @default_ask_setting, method: 'post',url: @url,html: { class: 'form-horizontal main-forms previewable' } do |f| %>
+ <%= form_for @default_ask_setting, method: 'post',url: @url,html: { class: 'form-horizontal main-forms previewable fix_diabled_form' } do |f| %>
<% f.object_name = 'ask_category_setting' %>
<%= hidden_field_tag "not_clone_attrs", true , :class=> 'not_clone_attrs' %>
<%= hidden_field_tag "category_id", @first_category_id , :class=> 'hidden_category_id' %>
- <%= render partial: 'ask_setting',locals:{ask_setting: @default_ask_setting,f: f,submit_text: t('submit'), :@has_email_regex => false, :@has_switch_button => true} %>
+ <%= render partial: 'ask_setting',locals:{ask_setting: @default_ask_setting,f: f,submit_text: t('submit'), :@has_email_regex => false, :@has_switch_button => true, :@default_custom_fields => true } %>
<% end %>
+
\ No newline at end of file
diff --git a/app/views/admin/asks/_index.html.erb b/app/views/admin/asks/_index.html.erb
index 50a2ad4..3a97575 100644
--- a/app/views/admin/asks/_index.html.erb
+++ b/app/views/admin/asks/_index.html.erb
@@ -1,11 +1,180 @@
+
+
+
+
@@ -23,42 +192,56 @@
%>
<% @askquestions.each do |b| %>
- <%= b.get_serial_number(last_serial_number, display_length) %>
-
- <%= situation_trans[b.situation] %>
-
-
- <%= b.category.title rescue 'category not set' %>
-
-
-
- <% if b.situation == 'is_published' %>
- <%= link_to b.title,((Page.where(:module=>'ask').first.url+"?item=#{b.id}") rescue "javascript:alert('#{t('ask.no_index_page')}')") %>
- <% else %>
- <%= b.title %>
- <% end %>
-
- <% if @ask_setting.default_setting['name'].nil? || @ask_setting.default_setting['name'] %>
-
- <%= b.name %>
-
- <% end %>
- <% if @ask_setting.default_setting['phone'] %>
+ <% is_editable = can_edit_or_delete?(b) %>
+ <% if is_editable %> <% end %>
+ <% @table_fields_default_fields.each do |f| %>
+ <% case f %>
+ <% when 'serial_number' %>
+ <%= b.get_serial_number(last_serial_number, display_length) %>
+ <% when 'situation' %>
+
+ <%= situation_trans[b.situation] %>
+
+ <% when 'ask_category_id' %>
+
+ <%= b.category.title rescue 'category not set' %>
+
+
+ <% when 'title' %>
+
+ <% if b.situation == 'is_published' %>
+ <%= link_to b.title,((Page.where(:module=>'ask').first.url+"?item=#{b.id}") rescue "javascript:alert('#{t('ask.no_index_page')}')") %>
+ <% else %>
+ <%= b.title %>
+ <% end %>
+
+ <% when 'name' %>
+
+ <%= b.name %>
+
+ <% when 'phone' %>
<%= b.phone %>
- <% end %>
- <% if @ask_setting.default_setting['appointment'] %>
+ <% when 'appointment' %>
<%= b.appointment.strftime("%Y-%m-%d %H:%M") rescue nil %>
+ <% when 'created_at' %>
+ <%= b.created_at.strftime("%Y-%m-%d %H:%M") rescue nil %>
+ <% when 'ip' %>
+ <%= b.ip %>
+ <% end %>
+ <% end %>
+ <% @table_ext_fields.each do |f, v| %>
+
+ <%= show_on_front(f,v,b.custom_values[f],true) %>
+
<% end %>
- <%= b.created_at.strftime("%Y-%m-%d %H:%M") rescue nil %>
- <%= b.ip %>
<% end %>
@@ -67,5 +250,13 @@
<%=
content_tag :div, class: "bottomnav clearfix" do
content_tag :div, paginate(@askquestions), class: "pagination pagination-centered"
+ content_tag :div, link_to(I18n.t('ask.display_fields_setting'), backend_table_setting_admin_asks_path + (@category_id.present? ? "?category_id=#{@category_id}" : ''), :class=>'btn btn-primary' ) + link_to(t("ask.delete_selected"), "javascript:void(0)", :class=>"btn btn-danger delete_asks_btn hide", :style=>'margin-left: 0.5em;') + link_to(t("ask.batch_modify_status"), "javascript:void(0)", :class=>"btn btn-success batch_modify_status_btn hide", :style=>'margin-left: 0.5em;'), class: 'pull-right'
end
-%>
\ No newline at end of file
+%>
+
\ No newline at end of file
diff --git a/app/views/admin/asks/backend_table_setting.html.erb b/app/views/admin/asks/backend_table_setting.html.erb
new file mode 100644
index 0000000..bc2e396
--- /dev/null
+++ b/app/views/admin/asks/backend_table_setting.html.erb
@@ -0,0 +1,47 @@
+<% cat = Category.where(:id=>params[:category_id]).first %>
+<%= form_for @ask_list_setting,method: 'post',url: @url,html: { class: 'form-horizontal main-forms prekiewable' } do |f| %>
+
+ <%= t('ask.backend_table_setting') %> - <%= cat ? cat.title : t(:all) %>
+
+ <%= I18n.t("ask.default_head_for_table") %>
+
+ <% tmp = AskListSetting::DefaultFields
+ %>
+ <% tmp.each do |k| %>
+
+
+ <%= f.label "default_fields_#{k}", I18n.t("ask.#{k}",default: I18n.t("mongoid.attributes.ask_question.#{k}")) %>
+
+
+ <%= f.check_box :default_fields, {:checked=> @ask_list_setting.default_fields.include?(k), :multiple=> true}, k, nil %>
+ <%= f.label "default_fields_#{k}", I18n.t(:enable), {:style=> 'display: inline-block'} %>
+
+
+ <% end %>
+ <% @ask_list_setting.custom_fields_list.each do |title, data| %>
+
+ <%= title %>
+
+ <% data.each do |k,name| %>
+
+
+ <%= f.label "custom_fields#{k}", name %>
+
+
+ <%= f.check_box :custom_fields, {:checked=> @ask_list_setting.custom_fields.include?(k), :multiple=> true}, k, nil %>
+ <%= f.label "custom_fields_#{k}", I18n.t(:enable), {:style=> 'display: inline-block'} %>
+
+
+ <% end %>
+ <% end %>
+ <%= hidden_field_tag :id, @ask_list_setting.id %>
+
+ <%= f.submit t(:submit), class: 'btn btn-primary' %>
+
+
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/admin/asks/list_table_setting.html.erb b/app/views/admin/asks/list_table_setting.html.erb
new file mode 100644
index 0000000..be5a851
--- /dev/null
+++ b/app/views/admin/asks/list_table_setting.html.erb
@@ -0,0 +1,16 @@
+<%= form_for @ask_list_setting,method: 'post',url: @url,html: { class: 'form-horizontal main-forms previewable' } do |f| %>
+
+ <% tmp = f.object.default_fields %>
+ <% tmp.each do |k| %>
+ <% f.fields_for :default_fields, tmp do |f| %>
+ <% f.fields_for k, tmp[k] do |f| %>
+ <%= f.label :key %>
+ <%= f.check_box :is_enabled %>
+ <% end %>
+ <% end %>
+ <% end %>
+
+ <%= f.submit t(:submit), class: 'btn btn-primary' %>
+
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/asks/index.html.erb b/app/views/asks/index.html.erb
index 1872726..63d7c67 100644
--- a/app/views/asks/index.html.erb
+++ b/app/views/asks/index.html.erb
@@ -53,8 +53,8 @@
width: 100%;
display: inline-flex;
flex-wrap: wrap;
- align-items: center;
- justify-content: center;
+ align-items: flex-start;
+ justify-content: flex-start;
}
.ask-question .ask-question-form.multi-col.form-horizontal div[data-list="fields"]{
float: left;
diff --git a/ask.gemspec b/ask.gemspec
index 38ce40c..09c8cf1 100644
--- a/ask.gemspec
+++ b/ask.gemspec
@@ -1,40 +1,22 @@
-$:.push File.expand_path("../lib", __FILE__)
+# -*- encoding: utf-8 -*-
+# stub: ask 0.0.1 ruby lib
-# Maintain your gem's version:
-require "ask/version"
-bundle_update_flag = ARGV[0]=='update' || ARGV[0]=='install'
-if bundle_update_flag
- app_path = File.expand_path(__dir__)
- template_path = ENV['PWD'] + '/app/templates'
- all_template = Dir.glob(template_path+'/*/')
- puts 'copying ask module'
- all_template.each do |folder|
- if folder.split('/')[-1] != 'mobile'
- begin
- system ('cp -r '+ app_path + '/modules/ ' + folder)
- rescue
- puts 'error copy'
- end
- end
- end
-end
-#syst
-# Describe your gem and declare its dependencies:
Gem::Specification.new do |s|
- s.name = "ask"
- s.version = Ask::VERSION
- s.authors = ["RulingDigital"]
- s.email = ["orbit@rulingcom.com"]
- s.homepage = "http://www.rulingcom.com"
- s.summary = "Ask for orbit"
- s.description = "Ask for orbit"
- s.license = "MIT"
+ s.name = "ask".freeze
+ s.version = "0.0.1"
- s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"]
- s.test_files = Dir["test/**/*"]
- s.metadata = {
- "_require" => "#{File.expand_path("../app/models/ask_setting", __FILE__)}",
- "global_hash" => "{last_ticket_key: (AskSetting.pluck(:last_ticket_key)[0].to_i rescue 0), last_serial_number: (AskSetting.pluck(:last_serial_number)[0].to_i rescue 0)}"
- }
- # s.add_dependency ~> "gotcha"
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
+ s.metadata = { "_require" => "/home/rulingcom/.rvm/gems/ruby-2.1.10/bundler/gems/ask-50f9c1b5f4c9/app/models/ask_setting", "global_hash" => "{last_ticket_key: (AskSetting.pluck(:last_ticket_key)[0].to_i rescue 0), last_serial_number: (AskSetting.pluck(:last_serial_number)[0].to_i rescue 0)}" } if s.respond_to? :metadata=
+ s.require_paths = ["lib".freeze]
+ s.authors = ["RulingDigital".freeze]
+ s.date = "2022-10-01"
+ s.description = "Ask for orbit".freeze
+ s.email = ["orbit@rulingcom.com".freeze]
+ s.files = ["MIT-LICENSE".freeze, "README.rdoc".freeze, "Rakefile".freeze, "app/assets/javascripts/admin/ask.js".freeze, "app/assets/javascripts/ask".freeze, "app/assets/javascripts/jquery.ui.datepicker.monthyearpicker.js".freeze, "app/assets/stylesheets/admin/ask.css".freeze, "app/assets/stylesheets/ask".freeze, "app/assets/stylesheets/ask/ask.css".freeze, "app/assets/stylesheets/custom_field.css".freeze, "app/assets/stylesheets/jquery-ui-timepicker-addon.css".freeze, "app/assets/stylesheets/yearpicker.css".freeze, "app/controllers/admin/ask_acknowledgements_controller.rb".freeze, "app/controllers/admin/ask_admins_controller.rb".freeze, "app/controllers/admin/asks_controller.rb".freeze, "app/controllers/asks_controller.rb".freeze, "app/helpers/admin/asks_helper.rb".freeze, "app/models/ask_acknowledgement.rb".freeze, "app/models/ask_admin.rb".freeze, "app/models/ask_category_print_setting.rb".freeze, "app/models/ask_category_setting.rb".freeze, "app/models/ask_category_setting_index.rb".freeze, "app/models/ask_file.rb".freeze, "app/models/ask_image.rb".freeze, "app/models/ask_print_setting.rb".freeze, "app/models/ask_question.rb".freeze, "app/models/ask_setting.rb".freeze, "app/models/ask_setting_index.rb".freeze, "app/models/ask_ticket_status.rb".freeze, "app/uploaders/ask_image_uploader.rb".freeze, "app/views/admin/ask_acknowledgements".freeze, "app/views/admin/ask_acknowledgements/index.html.erb".freeze, "app/views/admin/ask_admins".freeze, "app/views/admin/ask_admins/edit.html.erb".freeze, "app/views/admin/ask_admins/index.html.erb".freeze, "app/views/admin/asks".freeze, "app/views/admin/asks/_ask_setting.html.erb".freeze, "app/views/admin/asks/_category_print_setting.html.erb".freeze, "app/views/admin/asks/_category_setting_field.html.erb".freeze, "app/views/admin/asks/_default_ask_setting.html.erb".freeze, "app/views/admin/asks/_form.html.erb".freeze, "app/views/admin/asks/_index.html.erb".freeze, "app/views/admin/asks/_print_format_explain.html.erb".freeze, "app/views/admin/asks/_show_default_ask_setting.html.erb".freeze, "app/views/admin/asks/category_setting.html.erb".freeze, "app/views/admin/asks/edit.html.erb".freeze, "app/views/admin/asks/email.html.erb".freeze, "app/views/admin/asks/export.html.erb".freeze, "app/views/admin/asks/index.html.erb".freeze, "app/views/admin/asks/order_fields.html.erb".freeze, "app/views/admin/asks/print.html.erb".freeze, "app/views/admin/asks/print_format_explain.html.erb".freeze, "app/views/admin/asks/print_setting.html.erb".freeze, "app/views/admin/asks/setting.html.erb".freeze, "app/views/admin/asks/ticket_status.html.erb".freeze, "app/views/asks".freeze, "app/views/asks/email.html.erb".freeze, "app/views/asks/index.html.erb".freeze, "app/views/asks/published_index.erb".freeze, "app/views/asks/show.html.erb".freeze, "app/views/asks/sorry.html.erb".freeze, "app/views/asks/thank.html.erb".freeze, "app/views/layouts/back_end_with_jquery_first.html.erb".freeze, "config/locales/en.yml".freeze, "config/locales/zh_tw.yml".freeze, "config/routes.rb".freeze, "lib/ask".freeze, "lib/ask.rb".freeze, "lib/ask/engine.rb".freeze, "lib/ask/version.rb".freeze, "lib/tasks/ask_tasks.rake".freeze]
+ s.homepage = "http://www.rulingcom.com".freeze
+ s.licenses = ["MIT".freeze]
+ s.rubygems_version = "3.0.8".freeze
+ s.summary = "Ask for orbit".freeze
+
+ s.installed_by_version = "3.0.8" if s.respond_to? :installed_by_version
end
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e4f8b3a..db1a78d 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -2,6 +2,13 @@ en:
situation: Status
sex: Sex
ask:
+ batch_modify_status: "Batch Modify Status"
+ delete_selected: "Delete Selected"
+ backend_table_setting: Backend Table Setting
+ ask_category_id: Category
+ default_head_for_table: Default Head for Table
+ situation: Status
+ display_fields_setting: Display Fields Setting
go_back: "Go back"
this_field_is_default_custom_fields: "This field is default custom fields(Not editable)"
display_discard_fields: "Display discard fields"
@@ -118,7 +125,7 @@ en:
agree_usage: Agree related usage rule
ask_category_id: Ask Category
recaptcha: Recaptcha
- sex: Sex
+ sex: Sex
name: Name
identity: Identity
mail: Email
diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml
index ff88fc0..4c5c146 100644
--- a/config/locales/zh_tw.yml
+++ b/config/locales/zh_tw.yml
@@ -6,6 +6,13 @@ zh_tw:
errors:
verification_failed: 驗證碼錯誤
ask:
+ batch_modify_status: "批次修改狀態"
+ delete_selected: "刪除所選"
+ backend_table_setting: 後台表格設定
+ ask_category_id: 類別
+ default_head_for_table: 表格預設表頭
+ situation: 狀態
+ display_fields_setting: 顯示欄位設定
go_back: "回上一頁"
this_field_is_default_custom_fields: "此欄位為預設客製化欄位(不可修改)"
display_discard_fields: "顯示捨棄的欄位"
diff --git a/config/routes.rb b/config/routes.rb
index 91ef03f..6d07d58 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -54,9 +54,12 @@ Rails.application.routes.draw do
namespace :admin do #backend
resources :asks do
collection do
+ delete 'delete'
+ post 'batch_modify_status'
get ':id/print', to: 'asks#print'
get 'export'
get 'setting'
+ get 'backend_table_setting'
get 'category_setting'
post 'get_category_setting_field'
post 'category_setting_save'
@@ -73,6 +76,7 @@ Rails.application.routes.draw do
delete 'delete_ticket_status'
post 'print_setting_save'
post 'setting_save'
+ post 'ask_list_setting_save'
post 'get_new_setting_index'
post 'get_new_category_setting_index'
post 'export', to: 'asks#do_export'
diff --git a/lib/ask/engine.rb b/lib/ask/engine.rb
index 20df664..0130022 100644
--- a/lib/ask/engine.rb
+++ b/lib/ask/engine.rb
@@ -26,6 +26,7 @@ module Ask
end
begin
require File.expand_path('../../../app/models/ask_setting', __FILE__)
+ require File.expand_path('../../../app/models/ask_list_setting', __FILE__)
require File.expand_path('../../../app/models/ask_category_setting', __FILE__)
require File.expand_path('../../../app/models/ask_setting_index', __FILE__)
if defined?(AskSetting)
@@ -41,6 +42,16 @@ module Ask
AskCategorySetting.all.update_all(email_regex_enable: ask_setting.email_regex_enable,email_regex: ask_setting.email_regex)
end
end
+ if defined?(AskListSetting)
+ ask_list_setting = AskListSetting.first
+ if ask_list_setting.nil?
+ ask_list_setting = AskListSetting.create()
+ elsif AskListSetting.count > 1
+ AskListSetting.where(:category_id=>nil)[1..-1].each do |a|
+ a.destroy
+ end
+ end
+ end
if defined?(AskSettingIndex)
if AskSettingIndex.first.nil?
AskSettingIndex.create()
@@ -139,6 +150,7 @@ module Ask
:priority=>10,
:active_for_action=>{'admin/asks'=>'exports'},
:available_for => 'managers'
+
# context_link 'new_',
# :link_path=>"new_admin_ask_path" ,
# :priority=>2,
diff --git a/modules/ask/_ask_widget_form.html.erb b/modules/ask/_ask_widget_form.html.erb
index 957310f..539e507 100644
--- a/modules/ask/_ask_widget_form.html.erb
+++ b/modules/ask/_ask_widget_form.html.erb
@@ -10,7 +10,7 @@
flex-wrap: wrap;
display: flex;
width: 100%;
- align-items: center;
+ align-items: flex-start;
}
.ask-question .controls > *{
display: block;
@@ -28,7 +28,7 @@
.ask-question .form-horizontal .control-group .controls{
margin: 0;
display: inline-flex;
- align-items: center;
+ align-items: flex-start;
overflow: hidden;
position: relative;
min-width: 10em;
@@ -36,7 +36,7 @@
padding-left: 0;
width: 100%;
padding: 0.5em;
- justify-content: center;
+ justify-content: flex-start;
}
.ask-question .form-horizontal input[type="text"],.ask-question .form-horizontal select{
width: 97%;