From f2c38fe8c828e548ac4ca7478d7d8510e2cc5c9d Mon Sep 17 00:00:00 2001 From: BOHUNG Date: Fri, 31 Jan 2020 21:46:35 +0800 Subject: [PATCH] add frontend pages --- app/assets/javascripts/olympiamanagement.js | 43 ++++++++++++++++++ .../olympiamanagements_controller.rb | 34 ++++++++++++++ .../_olympia_managements_widget.html.erb | 7 +++ app/views/olympiamanagements/info.json | 30 ++++++++++++ .../olympia_managements_index.html.erb | 7 +++ ...ia_managements_instructions_index.html.erb | 7 +++ app/views/olympiamanagements/thumbs/thumb.png | Bin 0 -> 4075 bytes .../updata_school_data.html.erb | 1 + .../updata_student_data.html.erb | 1 + ...a_managements_instructions_widget.html.erb | 5 ++ .../_olympia_managements_widget.html.erb | 7 +++ olympiamanagement/info.json | 38 ++++++++++++++++ .../olympia_managements_index.html.erb | 5 ++ ...ia_managements_instructions_index.html.erb | 5 ++ olympiamanagement/thumbs/thumb.png | Bin 0 -> 4075 bytes 15 files changed, 190 insertions(+) create mode 100644 app/assets/javascripts/olympiamanagement.js create mode 100644 app/views/olympiamanagements/_olympia_managements_widget.html.erb create mode 100644 app/views/olympiamanagements/info.json create mode 100644 app/views/olympiamanagements/olympia_managements_index.html.erb create mode 100644 app/views/olympiamanagements/olympia_managements_instructions_index.html.erb create mode 100644 app/views/olympiamanagements/thumbs/thumb.png create mode 100644 app/views/olympiamanagements/updata_school_data.html.erb create mode 100644 app/views/olympiamanagements/updata_student_data.html.erb create mode 100644 olympiamanagement/_olympia_managements_instructions_widget.html.erb create mode 100644 olympiamanagement/_olympia_managements_widget.html.erb create mode 100644 olympiamanagement/info.json create mode 100644 olympiamanagement/olympia_managements_index.html.erb create mode 100644 olympiamanagement/olympia_managements_instructions_index.html.erb create mode 100644 olympiamanagement/thumbs/thumb.png diff --git a/app/assets/javascripts/olympiamanagement.js b/app/assets/javascripts/olympiamanagement.js new file mode 100644 index 0000000..cf2cbbb --- /dev/null +++ b/app/assets/javascripts/olympiamanagement.js @@ -0,0 +1,43 @@ +$(document).ready(function(){ + $('.class_setting_block input[type="reset"]').off('click').on('click',function(){ + $('.col_input').val(''); + }); + $('.class_setting_block input[type="submit"]').off('click').on('click',function(){ + var class_number_range = []; + class_number_range.push(Number($('.class_setting_block .col_input[name="MinClass"]').val())); + class_number_range.push(Number($('.class_setting_block .col_input[name="MaxClass"]').val())); + var enrollment_available = $('.class_setting_block .col_input#Person').val(); + class_number_range.sort(); + var params_array = (window.location.search.substring(1)=="") ? [] : window.location.search.substring(1).split('&').map(function(el){return el.split('=')}); + var params = {}; + params_array.forEach(function(el){params[el[0]] = el[1]}); + var params_to_send = {'type':'class_setting','class_number_range':class_number_range,'enrollment_available':enrollment_available}; + params_to_send = Object.assign(params,params_to_send); + var post_data = $.post('/admin/olympiamanagements/update_school_data',params_to_send); + post_data.done(function(){ + window.location.search=""; + }); + }); + $('.fieldset_block input[type="submit"]').click(function(){ + $el = $('.fieldset_block li.required'); + for(var i = 0; i< $el.length ; i++){ + if($el.eq(i).siblings('.col_r').find('.required').val() == ""){ + $el.eq(i).addClass('errFld'); + if($el.eq(i).siblings('.col_r').find('.errMsg').length == 0) + $el.eq(i).siblings('.col_r').append('
'+((I18n.locale == "en") ? 'Required field': '必填欄位')+'
'); + }else{ + $el.eq(i).removeClass('errFld'); + $el.eq(i).siblings('.col_r').find('.errMsg').remove(); + }; + }; + if($('.fieldset_block .required.errFld').length != 0) + return false; + else + return true; + }) + var $el = $('.fieldset_block select'); + for(var i = 0 ; i < $el.length ; i++) + if($el.eq(i).attr('value') != "" && $el.eq(i).attr('value') != undefined) + $el.eq(i).find('option[value='+$el.eq(i).attr('value')+']').attr('selected','selected'); + CKEDITOR.replaceAll(); +}); \ No newline at end of file diff --git a/app/controllers/olympiamanagements_controller.rb b/app/controllers/olympiamanagements_controller.rb index 9febd3b..88992cd 100644 --- a/app/controllers/olympiamanagements_controller.rb +++ b/app/controllers/olympiamanagements_controller.rb @@ -1,6 +1,40 @@ class OlympiamanagementsController < ApplicationController + def initialize + super + @app_title = "olympiamanagement" + end def index + 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) + end + { + "olympiamanagement" => [], + "extras"=>{"instructions"=> @olympiamanagement_instruction} + } end def widget + 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) + end + { + "olympiamanagement" => [], + "extras"=>{"instructions"=> @olympiamanagement_instruction} + } + end + def updata_school_data + #render :html => '123' + end + def updata_student_data + #render :html => '123' end end \ No newline at end of file diff --git a/app/views/olympiamanagements/_olympia_managements_widget.html.erb b/app/views/olympiamanagements/_olympia_managements_widget.html.erb new file mode 100644 index 0000000..4203a62 --- /dev/null +++ b/app/views/olympiamanagements/_olympia_managements_widget.html.erb @@ -0,0 +1,7 @@ + + + +{{table}} + + + \ No newline at end of file diff --git a/app/views/olympiamanagements/info.json b/app/views/olympiamanagements/info.json new file mode 100644 index 0000000..ae9f1e4 --- /dev/null +++ b/app/views/olympiamanagements/info.json @@ -0,0 +1,30 @@ +{ + "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 new file mode 100644 index 0000000..4203a62 --- /dev/null +++ b/app/views/olympiamanagements/olympia_managements_index.html.erb @@ -0,0 +1,7 @@ + + + +{{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 new file mode 100644 index 0000000..4203a62 --- /dev/null +++ b/app/views/olympiamanagements/olympia_managements_instructions_index.html.erb @@ -0,0 +1,7 @@ + + + +{{table}} + + + \ No newline at end of file diff --git a/app/views/olympiamanagements/thumbs/thumb.png b/app/views/olympiamanagements/thumbs/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..266af5606742714c262a949cd58aedc2b84b1959 GIT binary patch literal 4075 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 +{{instructions}} + + + \ No newline at end of file diff --git a/olympiamanagement/_olympia_managements_widget.html.erb b/olympiamanagement/_olympia_managements_widget.html.erb new file mode 100644 index 0000000..4203a62 --- /dev/null +++ b/olympiamanagement/_olympia_managements_widget.html.erb @@ -0,0 +1,7 @@ + + + +{{table}} + + + \ No newline at end of file diff --git a/olympiamanagement/info.json b/olympiamanagement/info.json new file mode 100644 index 0000000..69131d2 --- /dev/null +++ b/olympiamanagement/info.json @@ -0,0 +1,38 @@ +{ + "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" : "2. Online registration instructions" + }, + "thumbnail" : "thumb.png" + } + ], + "widgets" : [ + { + "filename" : "olympia_managements_widget", + "name" : { + "zh_tw" : "1. 初選線上報名", + "en" : "1. Primary online registration" + }, + "thumbnail" : "thumb.png" + }, + { + "filename" : "olympia_managements_instructions_widget", + "name" : { + "zh_tw" : "2. 線上報名說明", + "en" : "2. Online registration instructions" + }, + "thumbnail" : "thumb.png" + } + ] +} \ No newline at end of file diff --git a/olympiamanagement/olympia_managements_index.html.erb b/olympiamanagement/olympia_managements_index.html.erb new file mode 100644 index 0000000..35f3164 --- /dev/null +++ b/olympiamanagement/olympia_managements_index.html.erb @@ -0,0 +1,5 @@ + +{{instructions}} + + + \ No newline at end of file diff --git a/olympiamanagement/olympia_managements_instructions_index.html.erb b/olympiamanagement/olympia_managements_instructions_index.html.erb new file mode 100644 index 0000000..35f3164 --- /dev/null +++ b/olympiamanagement/olympia_managements_instructions_index.html.erb @@ -0,0 +1,5 @@ + +{{instructions}} + + + \ No newline at end of file diff --git a/olympiamanagement/thumbs/thumb.png b/olympiamanagement/thumbs/thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..266af5606742714c262a949cd58aedc2b84b1959 GIT binary patch literal 4075 zcmcgvYdBPE`=8Q@or=MZk}-~jIXD}qFebzhVvsZ#jA2HMW=0OFFbKQkR5@2;7{)1- z&=wM+oMYofvU8{uIS&7&UHkuj*w_2v{qU~qTI;!=weH`2-_Lz|o)v3@JtZh0Apin_ z1kKIRw!l~h+!g!w0MC|jUMDb!Q%!MHJBk;Th7Tlwj65ms1cm?>ZoCb zunI6C_z=xP0tt2@SbL8Ul825b)X)H;M@Iny{0US%gzoQ04nooOq2J}A0DAj1918i) zLM7=#|1t_^Wdkvx1QH+`FocQ+LK6wmREHte5jyHR$`Dlq5&=i5!Vy|3NCZkl3xz;J zeq2yMTcD>G$`+0Jp$nMlLw%^!02CZfqtReAH5et(8;;b`(SajW;i{@C0EbEtgG|NK zRmedyKP8|EK^}p`04k9}hHOj3yHkRx`cS~qzn0)1U}g2UU~4vB3<+^0l07N3pzZMdwOTYGka&sUi3z0mL%#bLMf?Z- z>ZS-JMhk;Ms+p<-HXx1FOpGw9+S;btnx?86+SLrFqmAt8Lvxw>O#9Ok(U(6adi=}!UB|h@GFIv~ z3by;zyIaw_j2w*cMtljDe@vCYYBBN{3B_}Vjo?=y5{HRi5Qzi{pS+umos~BYBNJa& zkB#!~P<#uqTbUmXSksK04_O}zQA=O@9o_oaC^d(oz7rtA`(Fz|ZJl&3e@9oBUHof} zii!$-7EjmN-Q6)UF+u6`U4kzeZoO$!*c@J5RNonGEUj;m*6pneu6?<%aM4#VPAhUf8>TQU zggnVU*>r`u;}8-A-Gko$zozhV-1BvXNA*K07ecJnTNzBq!E9)tfjr4yJM48svB1DR(~qCqDFK6W{c3 zH6;U@u$qM5KnN;IP3F7D9z3f3I$hbkK$rIMoRCAwHLHipoCjs(ktYRPYby(rqTtfW z7fFr>j_DmvnAA>kT~$YLGg+S9*wr7Xw)3Wu%pe!sRi1%Rt_BUV0-C(c?B3zSEr zhH7b)e3<)El-#ka)_#IVH0^z&`U1{dmX%seHb(vOMs!!~hq<>EFU{{XL5-qiu9m3X zFi*!wq?oQAXfH&aIseu9xKWe7vpau}vc;d8={1&3PO#V}#$-#v`?2zx+$FnvMUGs| zhQY zv|2uUKg)>djjunlqw$VPb5YP@ElI^eek&T)dwhI1&|~8+I@^icFhGv8YH{sS`ceUPyi9m3ekAZ*W@Ati|`yP&xel^fU=*AW>a4 zZd+$%EfR$e`To`2gg9oV&u7IB z#kt*zr*$^sOlv~URCa1ng@WEaP4^*orb@Z^)1CXE(e8Gsbz+utIg27K!o$f7J@3wY zv7@|OQj)MC7FL>e`PN|K+=^ZIcmS!ofLH8wBz(!GNSAiWMlF@>x3BuHDEoOS8&z6< zpPc=oigpP$V+ES6>G{z?!vor#COgNcSD`y-ofGsk~b~sChbDiXtak z(l;uY@`kK%IhUv~48$w>qUehm1rA^4`F_RsUs-8Yp&tj!JWP)&B_~~D){0ovg8BV@ z7M9oRPUqk&q@dpz$#hv&FcYhKM542fki29$&)6rmJ0~Cz?l)Q2cB>GaGDZt=+bis? zXqNo~cTbhFQzAAtbD3}Ng3pPDmj+L>BpqG_hS|y_=(8HvpJnz&E=LZt`J`AK&|?`r zox)c%&@*rB8F{&HH~K$^)NzW|gdTzo`(~a^TxZ<6o4=77#<$TLhr7L+<6&`wk)Svp zD}vr1rqJ~~ue|>JvtoHRlP(&Y@75|OAl21J3K`wo5IEHq_tN$4Dxr6GKR3CF*BIZH z`ut1YTvC9_eWpp|>Ym~BPC)9;e2iU$tybvJ<->-vV?vcch8R{jw$sK{7C5ty zf`oNblLmwJ>JQxZqE|Gr#EY&C5~uB*i`%3gY8Ck3y>}_P`#I73Lhw$I5Ff-Hgx=3Q z3{dYn3;&2)UHv-U*2A(^k}?eU+o-!VKh*XzS>ZBvxxd&YWxItZ9@V*8erUm>vXwW{ z98VbYAF57n z524D!g-bbHbpCSq#jQ;qX47-ZZs1M9zsB&QOx(`Vy34f5icu@Y@{(_1x@Pt~k$_si zvHH3%z#i06u(POF0od>&Oj;?UPl<83yztEpM$dH0(r7isjR5Qn?aDb>va)`P)d%p3 z`ax%V%{^B|J2l%YXZe)wH6%{Ar@^bFau(K?KaD9R9n*JCJviki+4;?AwxZ2rwe+d@ zcyQxdsXEV0 z+UkxzW!Q8li3R$euYdX9dw%Fdp*GY zog?xFXZ#%Ww<{`H5~T&!%?l3tnu{@+T64SD>Qmv2=*NqL{156qSS@P5RC;%1JxuaT zsPZ4KYB>a;##o$Eil@f?iR-EDs4LZ1oKm~uUrm?=@D4|HbUQnFtoA?hXlJ}PP?QWR zTeQ`azZ6#abhJC2>l0qYbMtmOvwCaPvE$39-rp`wN=HxBhpv`O?}1||BTG*852Fdi zf=bq!Y)hxw^KZ}{@?OYaIJ4|?Z86-WfT&Z+h7^$wIQ)6H8xhTE`Qp%t27{yI5x&}n zjGJe_fr|$Pt|~uDnhZ1N{|vMz!Q7S573!lkX`w*`M_tsqp5B&;jQ4iu-%6ZvY&d?S z(Yb!KKCBjcBfE4hloZ^UW{2r=yHy0PzyN)UnCjQ^&}bh?xwb$$BT+V%+b{b zq?WOa<=b6)e-`d$?21O2jFEohz$tKYMmUzXr zv!G#9d=mkj!$T|>;o(^`Q6(9fne#dcS*H7Knqnn^b1|?Q$