diff --git a/app/assets/images/2020131_download_school_code.xlsx b/app/assets/images/2020131_download_school_code.xlsx new file mode 100644 index 0000000..5f43ae4 Binary files /dev/null and b/app/assets/images/2020131_download_school_code.xlsx differ diff --git a/app/controllers/olympiamanagements_controller.rb b/app/controllers/olympiamanagements_controller.rb index 88992cd..1664767 100644 --- a/app/controllers/olympiamanagements_controller.rb +++ b/app/controllers/olympiamanagements_controller.rb @@ -7,15 +7,29 @@ class OlympiamanagementsController < ApplicationController uid = OrbitHelper.params[:uid] rescue "" tags = OrbitHelper.widget_tags categories = OrbitHelper.widget_categories || [] - @sign_up_setting = SignUpSetting.last - @olympiamanagement_instruction = @sign_up_setting.registration_instructions[I18n.locale.to_s].to_s - @sign_up_setting.attributes.to_h.each do |key,value| - @olympiamanagement_instruction = @olympiamanagement_instruction.gsub("{{#{key}}}",value.to_s) + case OrbitHelper.params[:layout_type] + when "olympia_managements_instructions_index" + @sign_up_setting = SignUpSetting.last + @olympiamanagement_instruction = @sign_up_setting.registration_instructions[I18n.locale.to_s].to_s + @sign_up_setting.attributes.to_h.each do |key,value| + @olympiamanagement_instruction = @olympiamanagement_instruction.gsub("{{#{key}}}",value.to_s) + end + @edit_link = '/admin/olympiamanagements/sign_up_setting#registration_instructions' + @edit_text = (I18n.locale.to_s == "zh_tw") ? "編輯" : "Edit" + if !OrbitHelper.current_user.nil? + @olympiamanagement_instruction += '

'+@edit_text+'

' + end + #sign_up_hint + { + "olympiamanagement" => [], + "extras"=>{"instructions"=> @olympiamanagement_instruction} + } + when "olympia_managements_index" + { + "olympiamanagement" => [], + "extras"=>{"instructions"=> '

'+t('olympiamanagement.sign_up_hint')+'

'} + } end - { - "olympiamanagement" => [], - "extras"=>{"instructions"=> @olympiamanagement_instruction} - } end def widget uid = OrbitHelper.params[:uid] rescue "" @@ -31,6 +45,20 @@ class OlympiamanagementsController < ApplicationController "extras"=>{"instructions"=> @olympiamanagement_instruction} } end + def download_school_code + @OlympiaSchoolDataFields = OlympiaSchoolDataFields.all.asc(:school_code) + dir_path = 'tmp/olypiamanagement/' + #FileUtils.rm_r(dir_path, :force => true) if Dir.exist?(dir_path) + FileUtils.mkdir dir_path if !Dir.exist?(dir_path) #create dir for storing tmp_file if dir doesn't exist + @filename = 'download_school_code.xlsx' + Dir.chdir(dir_path) do + File.open(@filename, 'w') do |f| + f.write render_to_string( :handlers=> [:axlsx], :formats=> [:xlsx] ,:partial=> 'school_code.xlsx',:locals=> {:@OlympiaSchoolDataFields=>@OlympiaSchoolDataFields} ) + end + end + tmp_filename_data = File.read(dir_path +@filename) + send_data(tmp_filename_data, type: 'application/xlsx', disposition: 'attachment', filename: "#{Time.now.year}#{Time.now.month}#{Time.now.day}_download_school_code.xlsx") + end def updata_school_data #render :html => '123' end diff --git a/app/views/admin/olympiamanagements/sign_up_setting.html.erb b/app/views/admin/olympiamanagements/sign_up_setting.html.erb index 2db38bc..df32b3b 100644 --- a/app/views/admin/olympiamanagements/sign_up_setting.html.erb +++ b/app/views/admin/olympiamanagements/sign_up_setting.html.erb @@ -47,7 +47,7 @@ <%=render :partial=>'checkbox',:locals=>{:name=>t('olympiamanagement.sign_up_setting_hint'),:params_name=>'[sign_up_setting][set_default_password]',:id=>'set_default_password',:extra_class=>'lleft',:is_checked=>nil}%>
-

<%= t('olympiamanagement.remark')+"(#{t('olympiamanagement.print_registration_form')})" %>

+

<%= t('olympiamanagement.remark')+"(#{t('olympiamanagement.print_registration_form')})" %>