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')})" %>
+
<% @site_locales.each_with_index do |locale,i|%>
- >
@@ -66,7 +66,7 @@
<% end %>
-
<%= t('olympiamanagement.registration_instructions') %>
+ <%= t('olympiamanagement.registration_instructions') %>
<% @site_locales.each_with_index do |locale,i|%>
- >
diff --git a/app/views/olympiamanagements/_olympia_managements_widget.html.erb b/app/views/olympiamanagements/_olympia_managements_widget.html.erb
deleted file mode 100644
index 4203a62..0000000
--- a/app/views/olympiamanagements/_olympia_managements_widget.html.erb
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-{{table}}
-
-
-
\ No newline at end of file
diff --git a/app/views/olympiamanagements/_school_code.xlsx.axlsx b/app/views/olympiamanagements/_school_code.xlsx.axlsx
new file mode 100644
index 0000000..599ae0f
--- /dev/null
+++ b/app/views/olympiamanagements/_school_code.xlsx.axlsx
@@ -0,0 +1,27 @@
+# encoding: utf-8
+
+wb = xlsx_package.workbook
+wb.add_worksheet(name: "school_class") do |sheet|
+ row = []
+ title = sheet.styles.add_style(:bg_color => "FFFF00",:border=>{ :style => :thin, :color => "666666" },:alignment=>{ :horizontal => :center,:vertical => :center ,:wrap_text => true})
+ column = sheet.styles.add_style(:alignment=>{ :horizontal => :center,:vertical => :center ,:wrap_text => true},:border=>{ :style => :thin, :color => "666666" })
+ @fields = [ "school_code", "school_name" ,"school_address" ]
+ @fields.each do |field|
+ row << t('olympiamanagement.'+field)
+ end
+ #export data start
+ export_data_rows = []
+ @OlympiaSchoolDataFields.each do |school_data_field|
+ temp_row = []
+ @fields.each do |field_key|
+ temp_row << (school_data_field[field_key] rescue '')
+ end
+ export_data_rows << temp_row
+ end
+
+ #export data end
+ sheet.add_row row , :style=> title,:widths => row.map{|cell| (cell.length* 11/ 2).round}
+ export_data_rows.each do |infos_row|
+ sheet.add_row infos_row , :style=> column
+ end
+end
\ No newline at end of file
diff --git a/app/views/olympiamanagements/index.html.erb b/app/views/olympiamanagements/index.html.erb
new file mode 100644
index 0000000..648b75c
--- /dev/null
+++ b/app/views/olympiamanagements/index.html.erb
@@ -0,0 +1 @@
+<%= render_view %>
\ No newline at end of file
diff --git a/app/views/olympiamanagements/info.json b/app/views/olympiamanagements/info.json
deleted file mode 100644
index ae9f1e4..0000000
--- a/app/views/olympiamanagements/info.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "frontend": [
- {
- "filename" : "olympia_managements_index",
- "name" : {
- "zh_tw" : "1. 初選線上報名",
- "en" : "1. Primary online registration"
- },
- "thumbnail" : "thumb.png"
- },
- {
- "filename" : "olympia_managements_instructions_index",
- "name" : {
- "zh_tw" : "2. 線上報名說明",
- "en" : "1. Online registration instructions "
- },
- "thumbnail" : "thumb.png"
- }
- ],
- "widgets" : [
- {
- "filename" : "olympia_managements_widget",
- "name" : {
- "zh_tw" : "1. 初選線上報名",
- "en" : "1. Primary online registration"
- },
- "thumbnail" : "thumb.png"
- }
- ]
-}
\ No newline at end of file
diff --git a/app/views/olympiamanagements/olympia_managements_index.html.erb b/app/views/olympiamanagements/olympia_managements_index.html.erb
deleted file mode 100644
index 4203a62..0000000
--- a/app/views/olympiamanagements/olympia_managements_index.html.erb
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-{{table}}
-
-
-
\ No newline at end of file
diff --git a/app/views/olympiamanagements/olympia_managements_instructions_index.html.erb b/app/views/olympiamanagements/olympia_managements_instructions_index.html.erb
deleted file mode 100644
index 4203a62..0000000
--- a/app/views/olympiamanagements/olympia_managements_instructions_index.html.erb
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-{{table}}
-
-
-
\ No newline at end of file
diff --git a/app/views/olympiamanagements/thumbs/thumb.png b/app/views/olympiamanagements/thumbs/thumb.png
deleted file mode 100644
index 266af56..0000000
Binary files a/app/views/olympiamanagements/thumbs/thumb.png and /dev/null differ
diff --git a/config/locales/en.yml b/config/locales/en.yml
index dd76b6e..4fc83ee 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -56,4 +56,5 @@ en:
minute: Min.
remark: Remarks
registration_instructions: Online registration instructions
- print_registration_form: Print registration form
\ No newline at end of file
+ print_registration_form: Print registration form
+ sign_up_hint: Sign-up doesn't start yet or already close.
\ No newline at end of file
diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml
index 086dd8a..1d28b72 100644
--- a/config/locales/zh_tw.yml
+++ b/config/locales/zh_tw.yml
@@ -56,4 +56,5 @@ zh_tw:
minute: 分
remark: 注意事項
registration_instructions: 線上報名說明
- print_registration_form: 列印報名表
\ No newline at end of file
+ print_registration_form: 列印報名表
+ sign_up_hint: 報名時間尚未開始或已經結束
\ No newline at end of file
diff --git a/extra_route.txt b/extra_route.txt
new file mode 100644
index 0000000..5c3b65f
--- /dev/null
+++ b/extra_route.txt
@@ -0,0 +1,7 @@
+get 'olympiamanagements/updata_school_data' , to: 'olympiamanagements#updata_school_data'
+ post 'olympiamanagements/updata_school_data' , to: 'olympiamanagements#updata_school_data'
+ patch 'olympiamanagements/updata_school_data' , to: 'olympiamanagements#updata_school_data'
+ get 'olympiamanagements/updata_student_data' , to: 'olympiamanagements#updata_student_data'
+ post 'olympiamanagements/updata_student_data' , to: 'olympiamanagements#updata_student_data'
+ patch 'olympiamanagements/updata_student_data' , to: 'olympiamanagements#updata_student_data'
+ get 'olympiamanagements/download_school_code' , to: 'olympiamanagements#download_school_code'
\ No newline at end of file