From ba32ecbf88ee0ae2a6dc005c0abd65264cc861b6 Mon Sep 17 00:00:00 2001 From: manson Date: Mon, 26 May 2014 10:25:08 +0800 Subject: [PATCH] Revert "Member Module - User Signup Changed, Member Summary, Thumbnail" This reverts commit 6a0ba3f6bc5b9ff9cdf112cb93aea30a8e1f8b3c. --- .../images/availability-check-loader.gif | Bin 1644 -> 0 bytes app/assets/images/person.png | Bin 6989 -> 0 bytes app/assets/images/result.png | Bin 524 -> 0 bytes app/assets/images/social-share-button.png | Bin 7549 -> 0 bytes app/assets/images/thumb_person.png | Bin 2036 -> 0 bytes app/assets/images/write.png | Bin 738 -> 0 bytes .../javascripts/admin/member_infos.js.coffee | 3 - .../javascripts/lib/member/role-forms.js | 32 +- app/assets/javascripts/member.js.coffee | 3 - .../stylesheets/admin/member_infos.css.scss | 3 - app/assets/stylesheets/member.css.scss | 3 - .../admin/member_infos_controller.rb | 55 --- app/controllers/admin/members_controller.rb | 59 +-- app/controllers/orbit_member_controller.rb | 7 +- app/controllers/users_controller.rb | 5 +- .../admin/attribute_values_view_helper.rb | 16 - app/helpers/admin/member_infos_helper.rb | 2 - app/helpers/attribute_fields_helper.rb | 463 ------------------ app/helpers/attribute_values_helper.rb | 109 ----- app/helpers/member_helper.rb | 2 - app/helpers/orbit_form_helper.rb | 108 ---- app/mailers/confirm_user_mailer.rb | 2 +- app/models/member_profile.rb | 10 - app/models/member_profile_field.rb | 115 ----- app/models/member_profile_field_value.rb | 10 - app/models/user.rb | 7 +- .../admin/member_infos/_attributes.html.erb | 16 - app/views/admin/member_infos/edit.html.erb | 39 -- app/views/admin/member_infos/index.html.erb | 19 - app/views/admin/member_infos/new.html.erb | 38 -- .../admin/members/_member_basic.html.erb | 66 +-- .../members/_member_for_listing.html.erb | 16 +- .../members/_member_for_summary.html.erb | 30 -- .../members/_member_for_thumbnail.html.erb | 22 - app/views/admin/members/_side_bar.html.erb | 14 +- .../admin/members/_user_basic_passwd.html.erb | 43 -- app/views/admin/members/edit.html.erb | 6 +- .../admin/members/index_summary.html.erb | 48 -- app/views/admin/members/index_summary.js.erb | 3 - .../admin/members/index_thumbnail.html.erb | 48 -- .../admin/members/index_thumbnail.js.erb | 3 - app/views/admin/members/new.html.erb | 40 -- app/views/js/_support_member_form_js.erb | 277 ----------- app/views/member/new.html.erb | 2 - app/views/users/new.html.erb | 51 +- config/initializers/load_lists.rb | 2 - config/list.yml | 35 -- config/locales/en.yml | 7 +- config/locales/zh_tw.yml | 4 - config/routes.rb | 10 +- .../admin/member_infos_controller_test.rb | 9 - test/controllers/member_controller_test.rb | 9 - test/fixtures/member_infos.yml | 11 - test/fixtures/member_profile_field_values.yml | 11 - test/fixtures/member_profile_fields.yml | 9 - .../helpers/admin/member_infos_helper_test.rb | 4 - test/helpers/member_helper_test.rb | 4 - test/models/member_info_test.rb | 7 - test/models/member_profile_field_test.rb | 7 - .../models/member_profile_field_value_test.rb | 7 - 60 files changed, 110 insertions(+), 1821 deletions(-) delete mode 100644 app/assets/images/availability-check-loader.gif delete mode 100644 app/assets/images/person.png delete mode 100644 app/assets/images/result.png delete mode 100644 app/assets/images/social-share-button.png delete mode 100644 app/assets/images/thumb_person.png delete mode 100644 app/assets/images/write.png delete mode 100644 app/assets/javascripts/admin/member_infos.js.coffee delete mode 100644 app/assets/javascripts/member.js.coffee delete mode 100644 app/assets/stylesheets/admin/member_infos.css.scss delete mode 100644 app/assets/stylesheets/member.css.scss delete mode 100644 app/controllers/admin/member_infos_controller.rb delete mode 100644 app/helpers/admin/attribute_values_view_helper.rb delete mode 100644 app/helpers/admin/member_infos_helper.rb delete mode 100644 app/helpers/attribute_fields_helper.rb delete mode 100644 app/helpers/attribute_values_helper.rb delete mode 100644 app/helpers/member_helper.rb delete mode 100644 app/helpers/orbit_form_helper.rb delete mode 100644 app/models/member_profile_field.rb delete mode 100644 app/models/member_profile_field_value.rb delete mode 100644 app/views/admin/member_infos/_attributes.html.erb delete mode 100644 app/views/admin/member_infos/edit.html.erb delete mode 100644 app/views/admin/member_infos/index.html.erb delete mode 100644 app/views/admin/member_infos/new.html.erb delete mode 100644 app/views/admin/members/_member_for_summary.html.erb delete mode 100644 app/views/admin/members/_member_for_thumbnail.html.erb delete mode 100644 app/views/admin/members/_user_basic_passwd.html.erb delete mode 100644 app/views/admin/members/index_summary.html.erb delete mode 100644 app/views/admin/members/index_summary.js.erb delete mode 100644 app/views/admin/members/index_thumbnail.html.erb delete mode 100644 app/views/admin/members/index_thumbnail.js.erb delete mode 100644 app/views/admin/members/new.html.erb delete mode 100644 app/views/js/_support_member_form_js.erb delete mode 100644 app/views/member/new.html.erb delete mode 100644 config/initializers/load_lists.rb delete mode 100644 config/list.yml delete mode 100644 test/controllers/admin/member_infos_controller_test.rb delete mode 100644 test/controllers/member_controller_test.rb delete mode 100644 test/fixtures/member_infos.yml delete mode 100644 test/fixtures/member_profile_field_values.yml delete mode 100644 test/fixtures/member_profile_fields.yml delete mode 100644 test/helpers/admin/member_infos_helper_test.rb delete mode 100644 test/helpers/member_helper_test.rb delete mode 100644 test/models/member_info_test.rb delete mode 100644 test/models/member_profile_field_test.rb delete mode 100644 test/models/member_profile_field_value_test.rb diff --git a/app/assets/images/availability-check-loader.gif b/app/assets/images/availability-check-loader.gif deleted file mode 100644 index 49b6d85326305cebc519dd8eb1a8fbe108b6f282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1644 zcmbW%ZA?>V6bJCf+xxWl#rF2T7Vd3(OIL0SDyd2qmMx^-i?iiL%f_59xXDBWW3W@F z9U-%7VN5EhC@1<6Kf|A^YItz~<*mOJ)U?WuH>Z7&P&*jZMdRaITF6Qs?cIFWp{c<#%& zApreXzKGeo*+)cHV@r1k;t|ZZyu({}=)lMVm=~wIyMn=3cSF1)$I*fxyS0^h3Kpu! zq^~vGYsXMg7CzFU1Y}bQ-X$MHYpV$^dQ47ds!2TsdC9?(sH%rJf@!&+CJzvZ5S6#Ms(okvlxx11a=I+S=`_*P&o!FiMvw!w~IWEDra zKBHZ3>PQhzSQUjq0ys42FoBdZWLXi`>;aS@=p>6X9uM$>6*wh^bDh`F%e&o@w1s(J zMXr~el```mBbJkad7-VoNU+jlj_Q64Wq3FfIJn!(c^2Sj!BSfmf&Z~D6kgj|2fIB> zJmig4lN-Yvck5tJvAEa#VVI$fb!LhY4huZT*45F_+Q?v%n3`h2G#EoE(IFFdmZe2o zF+iLWFY_3Ej&*C9l0?cb)Fz(mR0l-8EQ=oxtKub)epg>mpwDMy;qkoGWCnum>#%yi zt2^iedN^D>_9;fy!J#47!bPojbsK=^vcGZSpr1nv7d>e>8v6P7bTyRgFpyS`Ah5zh z6oUJl#B`RJWXVum9tromV~kT~?26H7rmcWtC{C6UHpP1GoQAk$1<))HO-7T( zTo!~M^TQIxbgBpy=wij7RV+$4(}v2mjTZFccQD!UEU zZ4!>6m_5bFoWxLdzl~-sMjAZl$mc&lyY(f*|?|eVL80ZVmEO+_Q<|*89X&t6L{QR5aJMutN_Dt3OytaEoq#dJ$ z=kDM79eM-A0|=uiRsx4Hl1g*YtldR$F-T&FojsMJcsK&}Yn^u9YLp-mBlLS2w+$MN zjTqJr116&x#MY4)w5vus@e??s>4!4G0Nk9PuY-nObzW<7xq_85et;xGxVJVp-M6)8 zz0Rnv_oh;~B?_TcM4J<|7`9wqx=FEAu`uLnW!9xVaS^x^98 zovT0e4Hh6e^;+S)(2lt)@I0JMz+cNcz6K4=UwE@QV0#cn`)YHKclSK;lqhoKsm3gn zruBy9bZrKOA7>8?71Ff$ zqL2^-D}w=~glg-;u`5>sNh@g6p}fFreemje6|Gj0#J3kN=Kq3_c>W6T=G<-lul@zk Ce59oS diff --git a/app/assets/images/person.png b/app/assets/images/person.png deleted file mode 100644 index db1d7d2460f9f21a1b2350879baefb2c0b06f383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6989 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 diff --git a/app/assets/images/result.png b/app/assets/images/result.png deleted file mode 100644 index ff6c475bdc37a4ec9f14312b7c86f4c1db095baf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmV+n0`vWeP)X)>i_@& zVo5|nR5*>TR5@-0F$^OC_xbKVJE?szh0dAH1_82D3~WoHC5kd1j|blQjdM=h3IP8P zC<&y)2@nX-*Yt}-5V9!JVnE2e^FQ`p86^lLBUeF?AdBB{(+nMM=S$GS~ESy%o(~QmOWke&PxUnMGs0Le>oc diff --git a/app/assets/images/social-share-button.png b/app/assets/images/social-share-button.png deleted file mode 100644 index 3507161c70537db2d5dc99583d1a4992f7d5ecbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7549 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 diff --git a/app/assets/images/thumb_person.png b/app/assets/images/thumb_person.png deleted file mode 100644 index f0493974cc8e8e49e1048eef058ec50949e90a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2036 zcmaJ?X;c&E8XiI*Hl=8)P}VpN;6lm9Dv{Vi2HIGXvI$%^3CR$0A(=6mNZ5|Fih$mN z6^gaca%E9KEGUJDmTMFQ4T}ZsIdauDqNuSVAW%3^dhW!Ey+1B@&dhw@_n!B8-t9Rv z#bLq^-y%DZ0RVW5{}B{{uVJQV4FP|fso+I?vB!dAu}CBp%M>YLAW(v&z#v~PlEM+N zNRqYZIvfB1=B~1+SS(f$$`K=ShREc@(8y674FCb}YfzCm9mc>ESSnL+X_FT((LkAm zON;RlummU%PLq9Kog@V1yN&M8lLH&CCJg&vraGScD0($Kf+4Cj1O<7K zzTg&tNGwyB3|n6!1Og6Up~6H8G0ca!G@OGWlSw#%Y!)lXlLz_uu)NspV9%gnRuB~8 z=NA&f^V=5a&0fJmh*&L$71#<^@)tIERjf%2aukmY!AjX)SQ4T{J<~NAJg`=aPh-y>B9|x(NEgnz=PU9qKFZ*-m{kIy$=9$&!RKFo=}d_)hM?kt-r9OT zx28zS9i!;Kpa1soUG(0Oj>l7u4=!eK`f{^}CaY$a2JM>)3M_>DG5-Q1X@Rs*$zMLc z@7eFa=VoTkKYH}YU@$B$#?=nnecpTEz=5i&s`Ka1BNkRisHM`pyyZ7;Kc3+qC009H zS#~8M?Qy~3-j##Z=w|nka~rHIovr)E#%k_N{I;|_xzE0}^6Rh3WU}N9tH5;aonsXh z;6Hd5THD*(Pn-x$)rrO8va&MK?xgT=(b?G0O_2)4cUJi%OG_|6JajapV`xZtvVX*2 z0Bz~lj9AT*`Fgt-H}!h*;?v}JG!h9h?|NcF!Ut|*ik<%1__$kel10Aj|l6 zZ;nw*jYavQm;u^UPY;nYH9Lznki-vlt+2W?0lRnQ)~yZkI{Xt+H!(akWF4&8rCVq)AG+k0BMT>h1f_5A(8iHS3JCa4Y$WXt_u#Q*x_Nken9yL35;1$0DA71$#;T>lUb}U>a|+!UHR*}yu7^PX)>i_@( zI7vi7R5*=&ls#)!K@f$XgDZ(?RIm>cNYuilv$8Y!0XBk_kU+3dD2(fCn$3F-ea+I@7;V(^S<2OIXmZ^nbF$X8o(1^1rP_vDc~0HY}fa1 zz#HHpKtG1^kY-nU`Bm^>80DgycMYzC7 z*hc80@w#B%Xc_!FwQc^3bppu76H=+rfb0MSA+QSp>lbhmaU8s0SeKbcET^1XRPLG} z>;b|9IOE}_(6nVR7Lw%!;1gyswQXBpuVU1*Qg#cN!N$Qv@DG>(7Qv*Pb5PlBMuFJ_ zw)e5^Igzz4w+u7FxTx7fZUA%j11UFoz$k_G;6qk`?NY+t1kF{g0OEFPauamJ zis~Hehwy1Cdn94lkUiIvGD6~`%~DX_H?9Mx_oH8E?ufU*60n_`+=O(hXmii-Sok~E z2aCzVl1<68?)7l!DJ~ZblXBDU=(loJkHA-vE?_Q!zX*OB&8mzNeV;}xjo~OpDd(nt zh5j@$&H-N$XE3Y4%aLJ#jduqR57UsMl^!799}KIr>;Lha+5mJ>vJ{BLFt(wS9hHs9 z9(p$RiA`$ySsrb{Ry8<*{Mfu61QMC*D%pz_7P?#c65RrT&s+~-2 z+dc true) - end - - def new - @attribute = MemberProfileField.new - end - - def show - end - - def edit - end - - def create - @attribute = MemberProfileField.new(member_info_params) - @attribute.save - - redirect_to action: :index - end - - def update - @attribute.update_params(member_info_params) - end - - def destroy - @attribute.destroy - redirect_to action: :index - end - -private - # Use callbacks to share common setup or constraints between actions. - def set_member_info - @attribute = MemberProfileField.find(params[:id]) - end - - # Never trust parameters from the scary internet, only allow the white list through. - def member_info_params - params.require(:member_profile_field).permit! - end - -protected - - def set_attribute - @attribute_type = 'info' - @class = 'infos' - end -end diff --git a/app/controllers/admin/members_controller.rb b/app/controllers/admin/members_controller.rb index 1481159..147fe8c 100644 --- a/app/controllers/admin/members_controller.rb +++ b/app/controllers/admin/members_controller.rb @@ -1,5 +1,5 @@ class Admin::MembersController < OrbitMemberController - before_action :set_member_profile, only: [:show, :edit, :update] + before_action :set_member_profile, only: [:show, :edit, :update, :create] def index @roles = Role.all @@ -27,13 +27,13 @@ class Admin::MembersController < OrbitMemberController render case params[:at] when 'summary' - @members=MemberProfile.all.page(page_num).per(12).desc("_id") + @members=User.all.page(page_num).per(12).desc("_id") "index_summary" when 'thumbnail' - @members=MemberProfile.all.page(page_num).per(36).desc("_id") + @members=User.all.page(page_num).per(36).desc("_id") "index_thumbnail" else - @members=MemberProfile.all.page(page_num).per(10).desc("_id") + @members=User.all.page(page_num).per(10).desc("_id") "index" end @@ -41,13 +41,13 @@ class Admin::MembersController < OrbitMemberController render case params[:at] when 'summary' - @members=MemberProfile.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id") + @members=User.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id") "index_summary" when 'thumbnail' - @members=MemberProfile.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id") + @members=User.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id") "index_thumbnail" else - @members=MemberProfile.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id") + @members=User.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id") "index" end @@ -55,13 +55,13 @@ class Admin::MembersController < OrbitMemberController render case params[:at] when 'summary' - @members=MemberProfile.all.any_in(:role_ids=>@filter['role']).page(page_num).per(12).desc("_id") + @members=User.all.any_in(:role_ids=>@filter['role']).page(page_num).per(12).desc("_id") "index_summary" when 'thumbnail' - @members=MemberProfile.all.any_in(:role_ids=>@filter['role']).page(page_num).per(36).desc("_id") + @members=User.all.any_in(:role_ids=>@filter['role']).page(page_num).per(36).desc("_id") "index_thumbnail" else - @members=MemberProfile.all.any_in(:role_ids=>@filter['role']).page(page_num).per(10).desc("_id") + @members=User.all.any_in(:role_ids=>@filter['role']).page(page_num).per(10).desc("_id") "index" end @@ -73,42 +73,17 @@ class Admin::MembersController < OrbitMemberController end def new - @member = MemberProfile.new - get_info_and_roles - @user = User.new end def edit - if @member.user.present? - @user = @member.user - else - @user = User.new(member_profile_id: @member.id) - end end def create - @member = MemberProfile.new(member_profile_params) - @user = User.new(user_params) - - if @member.save - @user.member_profile_id = @member.id - @user.save - redirect_to admin_members_path - else - redirect_to new_admin_member_path - end end def update respond_to do |format| if @member.update(member_profile_params) - if @member.user.present? - @member.user.update(user_params) - else - @user = User.new(user_params) - @user.save - @user.update_attributes(member_profile_id: @member.id) - end format.html { redirect_to admin_members_path, notice: 'Successfully Updated the User' } format.json { head :no_content } @@ -123,9 +98,9 @@ class Admin::MembersController < OrbitMemberController if params[:id].eql?(current_user.id.to_s) flash[:error] = t(:cant_delete_self) else - @member_profile = MemberProfile.find(params[:id]) - @member_profile.user.delete if @member_profile.user.present? - @member_profile.delete + @user = User.find(params[:id]) + @user.member_profile.delete + @user.delete end render action: "index" @@ -143,17 +118,9 @@ class Admin::MembersController < OrbitMemberController params.require(:member_profile).permit! end - def user_params - params.require(:user).permit! - end - protected - def get_info_and_roles - @roles = Role.excludes('disabled' => true) - end - def set_attribute @class = 'users' end diff --git a/app/controllers/orbit_member_controller.rb b/app/controllers/orbit_member_controller.rb index eee72d4..380d8bc 100644 --- a/app/controllers/orbit_member_controller.rb +++ b/app/controllers/orbit_member_controller.rb @@ -1,6 +1,7 @@ class OrbitMemberController < ApplicationController - include OrbitBackendHelper - - before_action :authenticate_user + include Authorize + include AdminHelper + include ApplicationHelper + layout "member" end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 4c37e7f..2e7522e 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -6,10 +6,7 @@ class UsersController < ApplicationController def create @user = User.new(user_params) - @member = MemberProfile.new(email: params[:email]) if @user.save - @member.save - @user.update_attributes(member_profile_id: @member.id) redirect_to root_url, :notice => "Signed Up Successfully, Please Check your email for confirmation!" @user.send_confirmation_email else @@ -35,6 +32,6 @@ class UsersController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def user_params - params.require(:user).permit(:password, :password_confirmation, :user_name, :member_profile_id, :email) + params.require(:user).permit(:email, :password, :password_confirmation, :user_name) end end diff --git a/app/helpers/admin/attribute_values_view_helper.rb b/app/helpers/admin/attribute_values_view_helper.rb deleted file mode 100644 index 9a724c9..0000000 --- a/app/helpers/admin/attribute_values_view_helper.rb +++ /dev/null @@ -1,16 +0,0 @@ -module Admin::AttributeValuesViewHelper - OPT = [ - ["YYYY / MM / DD hh : mm","format1"], - ["YYYY / MM / DD","format2"], - ["YYYY / MM","format3"], - ["YYYY","format4"] - ] - def show_type_panel(attribute_field,type) - markup = attribute_field.markup - LIST[:markups][markup]["panel"] == type ? type : [type,'hide'].join(" ") - end - - def name_to_id(str) - str.gsub(/\]/,'').gsub(/\[/,"_") - end -end \ No newline at end of file diff --git a/app/helpers/admin/member_infos_helper.rb b/app/helpers/admin/member_infos_helper.rb deleted file mode 100644 index 1382853..0000000 --- a/app/helpers/admin/member_infos_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module Admin::MemberInfosHelper -end diff --git a/app/helpers/attribute_fields_helper.rb b/app/helpers/attribute_fields_helper.rb deleted file mode 100644 index 8d2cbae..0000000 --- a/app/helpers/attribute_fields_helper.rb +++ /dev/null @@ -1,463 +0,0 @@ -#encoding: utf-8 -module AttributeFieldsHelper - include ActionView::Helpers::FormTagHelper - include ActionView::Helpers::FormOptionsHelper - include ActionView::Helpers::DateHelper - include ActionView::Helpers::TagHelper - include ActionView::Helpers::RenderingHelper - include ActionView::Context - include OrbitBasis::RenderAnywhere - - include OrbitFormHelper - - def block_helper(user,index,disable = false) - unless self.disabled - @index = index - @markup_options = markup_options.merge(:disabled=>disable,:func=>"input_unit") - @user = user - @attribute_value = @user.get_value_from_field_id(id) - @new_attribute = @attribute_value.nil? - @attribute_value = @attribute_value || @user.attribute_values.build( attribute_field_id: id ) - @prefiled_value = @attribute_value.value - @panel_setting = self.get_data - return instance_eval("render_#{markup}") #rescue "" - - end - end - - def lang_tab(str,lang) - content_tag(:div,str,:class=>"tab-pane fade",:id=>(get_field_name_base+"tab_#{lang}")) - end - - def render_address - control_group_wrapper do |key,value| - value = (can_muti_lang_input? ? @prefiled_value[key] : @prefiled_value) rescue nil - key_field = can_muti_lang_input? ? "[#{key}]" : "" - place_holder= @panel_setting["placeholder"][key] rescue '' - # result = text_area_tag(get_field_name_base + key_field, value,@markup_options.merge({:placeholder=>place_holder,:for=>key})) - result = text_field_tag(get_field_name_base + key_field, value,@markup_options.merge({:placeholder=>place_holder,:for=>key})) - - add_ext= @attribute_value.address_ext[key] rescue {} - - result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][county]",add_ext["county"],:class=>"county_#{key}") - result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][street_address]",add_ext["street_address"],:class=>"street_address_#{key}") - result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][city]",add_ext["city"],:class=>"city_#{key}") - result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][zip]",add_ext["zip"],:class=>"zip_#{key}") - result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][country]",add_ext["country"],:class=>"country_#{key}") - result << hidden_field_tag(get_basic_field_name_base+"[address_ext][#{key}][indicator]",add_ext["indicator"],:class=>"indicator_#{key}") - end - end - - def render_checkbox - @prefiled_value ||=[] - control_group_wrapper do - a = self[:option_list].collect do |key,value| - label_tag(key,check_box_tag(get_field_name_base+"[#{key}]", true , (@prefiled_value.include?(key) ? true : false), {})+value[I18n.locale.to_s],@markup_options.merge(:class=>"checkbox inline")) - end.join rescue "" - end - end - - def render_date - - d = DateTime.now() - - if date_is_range? - # fill_from = @attribute_value.get_date(:from) rescue nil - # fill_to = @attribute_value.get_date(:to) rescue nil - control_group_wrapper do - - case self.typeC['format'] - when 'format1' - fill_from = (@prefiled_value && @prefiled_value["from"] ) ? @prefiled_value["from"] : d.strftime("%Y/%m/%d %H:%M") - fill_to = (@prefiled_value && @prefiled_value["to"] ) ? @prefiled_value["to"] : d.strftime("%Y/%m/%d %H:%M") - buf = datetime_picker(get_field_name_base+'[from]', fill_from, 'yyyy/MM/dd hh:mm', true) - buf << ' ~ ' - buf << datetime_picker(get_field_name_base+'[to]', fill_to, 'yyyy/MM/dd hh:mm', true) - when 'format2' - fill_from = (@prefiled_value && @prefiled_value["from"] ) ? @prefiled_value["from"] : d.strftime("%Y/%m/%d") - fill_to = (@prefiled_value && @prefiled_value["to"] ) ? @prefiled_value["to"] : d.strftime("%Y/%m/%d") - buf = datetime_picker(get_field_name_base+'[from]', fill_from, 'yyyy/MM/dd') - buf << ' ~ ' - buf << datetime_picker(get_field_name_base+'[to]', fill_to, 'yyyy/MM/dd') - when 'format3' - fill_from = (@prefiled_value && @prefiled_value["from"] ) ? @prefiled_value["from"] : d.strftime("%Y/%m") - fill_to = (@prefiled_value && @prefiled_value["to"] ) ? @prefiled_value["to"] : d.strftime("%Y/%m/") - buf = datetime_picker(get_field_name_base+'[from]', fill_from, 'yyyy/MM') - buf << ' ~ ' - buf << datetime_picker(get_field_name_base+'[to]', fill_to, 'yyyy/MM') - when 'format4' - fill_from = (@prefiled_value && @prefiled_value["from"] ) ? @prefiled_value["from"] : d.strftime("%Y") - fill_to = (@prefiled_value && @prefiled_value["to"] ) ? @prefiled_value["to"] : d.strftime("%Y") - buf = datetime_picker(get_field_name_base+'[from]', fill_from, 'yyyy') - buf << ' ~ ' - buf << datetime_picker(get_field_name_base+'[to]', fill_to, 'yyyy') - end - - # buf = date_select(get_field_name_base+'[from]',nil,@markup_options.merge(:default=>fill_from),:class=>"input-small") - # buf << ' ~ ' - # buf << date_select(get_field_name_base+'[to]',nil,@markup_options.merge(:default=>fill_to),:class=>"input-small") - buf - end - else - # @prefiled_value = @attribute_value.get_date - # @prefiled_value = @attribute_value.get_date - - case self.typeC['format'] - when 'format1' - tmp = datetime_picker(get_field_name_base, (@prefiled_value ? @prefiled_value : d.strftime("%Y/%m/%d %H:%M")), 'yyyy/MM/dd hh:mm', true) - when 'format2' - tmp = datetime_picker(get_field_name_base, (@prefiled_value ? @prefiled_value : d.strftime("%Y/%m/%d")), 'yyyy/MM/dd') - when 'format3' - tmp = datetime_picker(get_field_name_base, (@prefiled_value ? @prefiled_value : d.strftime("%Y/%m")), 'yyyy/MM') - when 'format4' - tmp = datetime_picker(get_field_name_base, (@prefiled_value ? @prefiled_value : d.strftime("%Y")), 'yyyy') - end - - control_group_wrapper{tmp} - # control_group_wrapper{date_select(get_field_name_base,nil,@markup_options.merge(:default=>@prefiled_value),:class=>"input-small")} - - end - end - - def datetime_picker(object_name, value, format, time=false) - content_tag :div, :class => "input-append datetimepick", "data-date-format"=>format, "data-picktime"=>"#{time}" do - concat text_field_tag(object_name, value, :placeholder=>format) - concat (content_tag :span, :class => 'add-on clearDate' do - content_tag :i, nil, :class => 'icons-cross-3' - end) - concat (content_tag :span, :class => 'add-on iconbtn' do - content_tag :i, nil, 'data-time-icon' => 'icons-clock', 'data-date-icon' => 'icons-calendar', :class=>"icons-calendar" - end) - end - end - - def render_date_durnation #Need re-write low priority - - end - - def render_radio_button - @prefiled_value ||=[] - control_group_wrapper do - self[:option_list].collect do |key,value| - label_tag(key,radio_button_tag(get_field_name_base, key , (@prefiled_value.include?(key) ? true : false), {})+value[I18n.locale.to_s],@markup_options.merge(:class=>"radio inline")) - end.join - end - end - - def render_select - prompt = @panel_setting["initial"][I18n.locale.to_s] rescue nil - @markup_options.merge!(:prompt => prompt) unless prompt.nil? - control_group_wrapper{select_tag( get_field_name_base,options_for_select(self.option_list.collect{|p| [p[1][I18n.locale.to_s],p[0]]},@prefiled_value),@markup_options)} rescue "" - end - - def render_text_area - control_group_wrapper do |key,value| - value = can_muti_lang_input? ? @prefiled_value[key] : @prefiled_value - key = can_muti_lang_input? ? "[#{key}]" : "" - place_holder= @panel_setting["placeholder"][I18n.locale.to_s] rescue '' - text_area_tag(get_field_name_base + key, value,@markup_options.merge(:placeholder=>place_holder)) - end - end - - def render_text_field - a = control_group_wrapper do |key,value| - add_more_blank = can_add_more ? "[]" : "" - key_field = can_muti_lang_input? ? "[#{key}]" : "" - place_holder= @panel_setting["placeholder"][key] rescue '' - text_field_tag([get_field_name_base,add_more_blank,key_field].join, value,@markup_options.merge(:placeholder=>place_holder)) - end - end - - def date_is_range? - is_range = "false" - data = get_data - if !data.nil? - is_range = data['is_range'] if data.has_key? "is_range" - end - is_range == "true" - end - -protected - - def lang_panel_tabbable_wrapper(add_more_params,&block) - add_more_counter = '' - - if self.markup=='text_area' #or self.markup=='address' - - tmp1 = VALID_LOCALES.collect do |key| - value = @prefiled_value[key] rescue nil - # div_class_ary = ["tab-pane" ,"fade","#{get_pairing_tab_class({})}_#{key}"] - div_class_ary = ["tab-pane" ,"fade"] - - div_id = "#{get_pairing_tab_class({})}_#{key}" - - if can_add_more - add_more_value = add_more_params[0][:value] - add_more_counter = add_more_params[0][:counter] - value = add_more_value[key] rescue nil - div_class_ary << "add_more_item_#{add_more_counter}" - end - - div_class = div_class_ary.join(" ") - div_class << (key == I18n.locale.to_s ? " active in" : '') - content_tag(:div,yield(key,value), :id=>div_id,:class=>div_class) - end# of VALID_LOCALES.collect for tabed input - - - tmp2 = content_tag(:div,:class => 'btn-group', :data=>{:toggle=>"buttons-radio"}) do - buff2 = VALID_LOCALES.each.collect do |key| - # link_entry = self.add_more ? "#{add_more_tab(:tab_btn,loop_counter,key)}" : "#tab"+id.to_s+"_#{key}" - link_entry_ary = ["##{get_pairing_tab_class({})}","_#{key}"] - link_entry_ary << ".add_more_item_#{add_more_counter}" if can_add_more - link_entry = link_entry_ary.join - link_to(I18nVariable.from_locale(key),link_entry,:data=>{:toggle=>"tab"},:class=>"btn #{(key == I18n.locale.to_s ? "active" : nil)}",:for=>key) - end # of VALID_LOCALES.collect for tabs - - buff2 << link_to((content_tag :i,'',:class=>'icon-edit'),"##{get_pairing_tab_class({})}_m_window", :role=>"button",:class=>'btn',:data=>{:toggle=>"modal"}) if self.markup == 'address' - buff2 << link_to((content_tag :i,'',:class=>'icon-trash'),"#",:class=>"btn remove-input") if self.add_more - buff2.join.html_safe - end # of content ul - - - tmp = content_tag :div,:class=> "tab-content textarea-lang" do - tmp2 << tmp1.join('').html_safe - end - - else - - # tmp = content_tag :div,:class=> (add_more || self.markup=='address') ? "input-append" : "tab-content" do - tmp1 = - content_tag :div,:class=> "tab-content" do - - buff = VALID_LOCALES.collect do |key| - value = @prefiled_value[key] rescue nil - # div_class_ary = ["tab-pane" ,"fade","#{get_pairing_tab_class({})}_#{key}"] - div_class_ary = ["tab-pane" ,"fade"] - - div_id = "#{get_pairing_tab_class({})}_#{key}" - - - if can_add_more - add_more_value = add_more_params[0][:value] - add_more_counter = add_more_params[0][:counter] - value = add_more_value[key] rescue nil - div_class_ary << "add_more_item_#{add_more_counter}" - end - - div_class = div_class_ary.join(" ") - div_class << (key == I18n.locale.to_s ? " active in" : '') - content_tag(:div,yield(key,value), :id=>div_id,:class=>div_class) - end# of VALID_LOCALES.collect for tabed input - - buff.join('').html_safe - - end - - tmp2 = content_tag(:div,:class => 'btn-group', :data=>{:toggle=>"buttons-radio"}) do - buff2 = VALID_LOCALES.each.collect do |key| - # link_entry = self.add_more ? "#{add_more_tab(:tab_btn,loop_counter,key)}" : "#tab"+id.to_s+"_#{key}" - link_entry_ary = ["##{get_pairing_tab_class({})}","_#{key}"] - link_entry_ary << ".add_more_item_#{add_more_counter}" if can_add_more - link_entry = link_entry_ary.join - link_to(I18nVariable.from_locale(key),link_entry,:data=>{:toggle=>"tab"},:class=>"btn #{(key == I18n.locale.to_s ? "active" : nil)}",:for=>key) - end # of VALID_LOCALES.collect for tabs - - buff2 << link_to((content_tag :i,'',:class=>'icon-edit'),"#address-field", :role=>"button",:class=>'btn',:data=>{:toggle=>"modal"}) if self.markup == 'address' - buff2 << link_to((content_tag :i,'',:class=>'icon-trash'),"#",:class=>"btn remove-input") if self.add_more - buff2.join.html_safe - end # of content ul - - - - tmp = content_tag :div,:class=> "input-append" do - tmp1 << tmp2 - end - - # tmp << content_tag(:ul,:class=> 'nav nav-pills') do - # VALID_LOCALES.each.collect do |key| - # # link_entry = self.add_more ? "#{add_more_tab(:tab_btn,loop_counter,key)}" : "#tab"+id.to_s+"_#{key}" - # link_entry_ary = [".#{get_pairing_tab_class({})}",".#{key}"] - # link_entry_ary << ".add_more_item_#{add_more_counter}" if can_add_more - # link_entry = link_entry_ary.join - # content_tag(:li,link_to(I18nVariable.from_locale(key),link_entry,:data=>{:toggle=>"tab"}),:class=>(key == I18n.locale.to_s ? "active" : nil),:for=>key) - # end.join.html_safe # of VALID_LOCALES.collect for tabs - # end # of content ul - - end - - end - - - def controls_wrapper(*add_more_params,&block) - result = '' - add_more_counter = "" - - if can_add_more - add_more_counter = add_more_params[0][:counter] - add_more_value = add_more_params[0][:value] - end - - - - if can_muti_lang_input? - result << lang_panel_tabbable_wrapper(add_more_params,&block) - result << gen_modal_dialog if self.markup == "address" - - # result << add_more_unt if can_add_more - else #cross lang field - - case can_add_more - when true - value = add_more_params[0][:value] - result << content_tag(:div,:class=>"input-append"){yield(nil,value) + link_to((content_tag :i,'',:class=>'icon-trash'),"#",:class=>"btn remove-input") } - # result << add_more_unt - else - value = @prefiled_value - result << yield(nil,value) - end - - - end - - result.html_safe - - end # of def controls_wrapper(&block) - - def control_group_wrapper(&block) - div_class = can_muti_lang_input? ? "control-group" : "control-group" - # div_class = can_muti_lang_input? ? "control-group language-swich" : "control-group" - result ="" - - case self.markup - - when "text_field" - - if can_add_more - - multipleInputs = - content_tag(:div,:class=>"add-target") do - @attribute_value.add_more_counter.times.collect do |t| - controls_wrapper(:value=>(@prefiled_value[t] rescue nil),:counter=>t,&block) - end.join('').html_safe # of add_more fields - end - - - temp = label + content_tag(:div, multipleInputs + add_more_unt, :class=>'controls add-input') - - result = content_tag(:div,temp,:class=>div_class) - - # result = label + multipleInputs + add_more_unt - # result = label + 一堆的輸入框(要用 multipleInput editMore 包起來) + add_more btn + hidden_fields - else - temp = label + content_tag(:div, controls_wrapper(&block), :class=>'controls') - result = content_tag(:div,temp,:class=>div_class) - - end - - when "address" - - # address = content_tag :div,:class=>"multipleInput editMore" do - address = content_tag :div,:class=>"control-group" do - label + content_tag(:div, controls_wrapper(&block), :class=>'controls add-input') - end # of div multipleInput editMore - - result = address - - else - temp = label + content_tag(:div, controls_wrapper(&block), :class=>'controls') - result = content_tag(:div,temp,:class=>div_class) - - end - - result << end_block - result.html_safe - - end - - - def add_more_unt - temp_field_name = get_basic_field_name_base + '[temp]' - add_more = content_tag :p,:class=> 'add-btn' do - content = link_to (content_tag :i,I18n.t(:add),:class=>"icon-plus"),"#","data-roles"=>"role_a",:class=>"trigger #{can_muti_lang_input? ? 'textLengInput' : 'textInput' } btn btn-small btn-primary" - content << hidden_field_tag("#{temp_field_name}[count]",@attribute_value.add_more_counter ,:class=>"list_count") - content << hidden_field_tag("#{temp_field_name}[count]",get_basic_field_name_base,:class=>"field_name") - content - end # of div - # add_more = content_tag :div,:class=> 'controls' do - # content_tag :span,:class=> 'help-block' do - # content = link_to (content_tag :i,I18n.t(:add),:class=>"icon-plus-sign"),"#",:class=>'addinput' - # content << hidden_field_tag("#{temp_field_name}[count]",@attribute_value.add_more_counter ,:class=>"list_count") - # content << hidden_field_tag("#{temp_field_name}[count]",get_basic_field_name_base,:class=>"field_name") - # content - # end # of span - # end # of div - end - - def end_block - if @new_attribute - hidden_field_tag(get_basic_field_name_base+"[attribute_field_id]",id,:for=>"field_#{@index}") - else - hidden_field_tag(get_basic_field_name_base+"[id]",@attribute_value.id,:for=>"field_#{@index}") - end - end - - def add_more_tab(mode,counter,key) - case mode - when :input_field - get_pairing_tab_class(:suffix=>['','tab'+counter.to_s,key].join('-')) - when :tab_btn - ".#{get_pairing_tab_class(:suffix=>['','tab'+counter.to_s,key].join('-'))}" - end - end - - def get_pairing_tab_class(opts) - prefix = opts[:prefix] - suffix = opts[:suffix] - str = get_basic_field_name_base.gsub("[","_").gsub("]",'') - str = prefix.nil? ? str : prefix+ str - suffix.nil? ? str : str + suffix - end - - def get_basic_field_name_base - if @new_attribute - "user[new_attribute_values][#{@index}]" - else - "user[attribute_values][#{@index}]" - end - end - - def get_field_name_base - get_basic_field_name_base + "[value]" - end - - def label - label_tag(key,title,:class=>"control-label muted",:func => "field_label") - end - - def can_muti_lang_input? - if self.markup == "address" - return true - else - LIST[:markups][markup]["muti_lang_input_supprt"] and !(get_data["cross_lang"] == "true") - end - end - - def can_add_more - if self.markup == "address" - return false - else - add_more - end - end - - def gen_modal_dialog - render_anywhere("shared/attribute_field/address_modal_dialog",{ - :field_name=>title, - :html_id=>"address-field", - :btn_class => "#{get_pairing_tab_class({})}", - :field_name_basic => get_basic_field_name_base - } - ) - end - -end \ No newline at end of file diff --git a/app/helpers/attribute_values_helper.rb b/app/helpers/attribute_values_helper.rb deleted file mode 100644 index c72a7b6..0000000 --- a/app/helpers/attribute_values_helper.rb +++ /dev/null @@ -1,109 +0,0 @@ -module AttributeValuesHelper - def show_west_calender(from_to=nil) - case from_to - when :to - date = get_date(:to) - when :from - date = get_date(:from) - when nil - date = get_date - end - - # case self.attribute_field["typeC"]["format"] - # when 'format1' # Y/M/D h:m - # date.strftime("%Y/%m/%d %H:%M") - # when 'format2' # Y/M/D - # date.strftime("%Y/%m/%d") - # when 'format3' # Y/M - # date.strftime("%Y/%m") - # when 'format4' # Y - # date.strftime("%Y") - # end # of case west cal format - end - - def show_minguo_calendar(from_to=nil) - get_minguo - - case from_to - when :to - date = get_date(:to) - when :from - date = get_date(:from) - when nil - date = get_date - end - - @date = date.split('/') - date_year = @date[0].to_i - - year_str = "" - unless date_year == 1912 - m_year = (date_year - 1912).abs.to_s + I18n.t("date.minguo_calendar.year") - year_str = minguo_format_year(m_year) - end - get_minguo_year(from_to) + minguo_m_y_d_time(from_to) - end - - def get_minguo_year(from_to=nil) - case from_to - when :to - date = get_date(:to) - when :from - date = get_date(:from) - when nil - date = get_date - end - - @date = date.split('/') - date_year = @date[0].to_i - - m_year = (date_year - 1911).abs - year_end = I18n.t("date.minguo_calendar.year") - case - when date_year <1912 - I18n.t("date.minguo_calendar.before") + (m_year+1).to_s + year_end - when date_year ==1912 - I18n.t("date.minguo_calendar.first_year") - when date_year >1912 - I18n.t("date.minguo_calendar.after")+ (m_year).to_s + year_end - end # of case tw_calendar year - end - - def minguo_m_y_d_time(from_to=nil) - case from_to - when :to - date = get_date(:to) - when :from - date = get_date(:from) - when nil - date = get_date - end - @date = date.split('/') - - case self.attribute_field["typeC"]["format"] - when 'format1' # Y/M/D h:m - "/#{@date[1]}/#{@date[2]}" - when 'format2' # Y/M/D - "/#{@date[1]}/#{@date[2]}" - when 'format3' # Y/M - - "/#{@date[1]}#{I18n.t("date.minguo_calendar.month")}"\ - when 'format4' # Y - '' - end # of case - end - - def get_date_by_format(from_to = nil) - case I18n.locale - when :zh_tw - case - when self.attribute_field["typeC"]["calendar"] == "west_calendar" - show_west_calender(from_to) - when self.attribute_field["typeC"]["calendar"] == "tw_calendar" - show_minguo_calendar(from_to) - end #case self.attribute_field["typeC"]["calendar"] - when :en - show_west_calender(from_to) - end - end -end \ No newline at end of file diff --git a/app/helpers/member_helper.rb b/app/helpers/member_helper.rb deleted file mode 100644 index 65965f5..0000000 --- a/app/helpers/member_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module MemberHelper -end diff --git a/app/helpers/orbit_form_helper.rb b/app/helpers/orbit_form_helper.rb deleted file mode 100644 index 05ffc2e..0000000 --- a/app/helpers/orbit_form_helper.rb +++ /dev/null @@ -1,108 +0,0 @@ -module OrbitFormHelper - def self.included(base) - ActionView::Helpers::FormBuilder.send(:include, Orbit::FormBuilder) - end - - def datetime_picker(object_name, method, options = {}) - options[:icon_time] ||= 'icons-clock' - options[:icon_date] ||= 'icons-calendar' - options[:icon_clear] ||= 'icons-cross-3' - options[:input_class] ||= 'input-large' - options[:value] ||= options[:object].send(method) if options[:object] && options[:object][method] - case options[:picker_type] - when 'date' - content_tag :div, :id => options[:id], :class => options[:class] do - date_picker(object_name, method, options) - end - when 'time' - content_tag :div, :id => options[:id], :class => options[:class] do - time_picker(object_name, method, options) - end - when 'separated' - options[:label] ||= I18n.t('datetime_picker.separated.label') - content_tag :div, :id => options[:id], :class => "separated_picker #{options[:class]}" do - concat label_tag options[:label] unless options[:no_label] - concat hidden_field(object_name, method, :value => options[:value]) - concat separated_picker(object_name, method, options) - end - else - content_tag :div, :id => options[:id], :class => options[:class] do - default_picker(object_name, method, options) - end - end - end - - def date_picker(object_name, method, options) - custom = {} - custom[:format] = options[:format] || 'yyyy/MM' - custom[:value] = format_value(options[:value], custom[:format]) if options[:value] - custom[:picker_class] = 'date_picker' - custom[:label] = options[:label] || I18n.t('datetime_picker.date.label') - custom[:placeholder] = options[:placeholder] || I18n.t('datetime_picker.date.placeholder') - picker(object_name, method, options.merge(custom)) - end - - def default_picker(object_name, method, options) - custom = {} - custom[:format] = options[:format] || 'yyyy/MM/dd hh:mm' - custom[:value] = format_value(options[:value], custom[:format]) if options[:value] - custom[:picker_class] = 'default_picker' - custom[:label] = options[:label] || I18n.t('datetime_picker.default.label') - custom[:placeholder] = options[:placeholder] || I18n.t('datetime_picker.default.placeholder') - picker(object_name, method, options.merge(custom)) - end - - def time_picker(object_name, method, options) - custom = {} - custom[:format] = options[:format] || 'hh:mm' - custom[:value] = format_value(options[:value], custom[:format]) if options[:value] - custom[:picker_class] = 'time_picker' - custom[:label] = options[:label] || I18n.t('datetime_picker.time.label') - custom[:placeholder] = options[:placeholder] || I18n.t('datetime_picker.time.placeholder') - picker(object_name, method, options.merge(custom)) - end - - def separated_picker(object_name, method, options) - custom = {} - custom[:no_label] = true - custom[:separated] = true - date_picker(nil, nil, options.merge(custom)) + time_picker(nil, nil, options.merge(custom)) - end - - - def single_picker(object_name, method, options) - content_tag :div, :id => options[:id], :class => options[:class] do - picker(object_name, method, options) - end - end - - def double_picker(object_name, method, options) - - end - - def picker(object_name, method, options) - content_tag :div, :class => "#{options[:picker_class]} input-append", :style => "#{(options[:picker_class].eql?('time_picker') && options[:value].blank? && options[:separated]) ? 'pointer-events:none' : nil}" do - concat label_tag options[:label] unless options[:no_label] - concat text_field object_name, method, :placeholder => options[:placeholder], :class => options[:input_class], 'data-format' => options[:format], :value => options[:value] - concat (content_tag :span, :class => 'add-on clearDate' do - content_tag :i, nil, :class => options[:icon_clear] - end) - concat (content_tag :span, :class => 'add-on iconbtn' do - content_tag :i, nil, 'data-time-icon' => options[:icon_time], 'data-date-icon' => options[:icon_date] - end) - end - end - - def format_value(value, format) - value.strftime(format.gsub('yyyy', '%Y').gsub('MM', '%m').gsub('dd', '%d').gsub('hh', '%H').gsub('mm', '%M')) - end - -end - -module Orbit::FormBuilder - # ActionPack's metaprogramming would have done this for us, if FormHelper#labeled_input - # had been defined at load. Instead we define it ourselves here. - def datetime_picker(method, options = {}) - @template.datetime_picker(@object_name, method, objectify_options(options)) - end -end \ No newline at end of file diff --git a/app/mailers/confirm_user_mailer.rb b/app/mailers/confirm_user_mailer.rb index b0d74e2..0c47f5c 100644 --- a/app/mailers/confirm_user_mailer.rb +++ b/app/mailers/confirm_user_mailer.rb @@ -2,7 +2,7 @@ class ConfirmUserMailer < ActionMailer::Base default from: "noreply@rulingcom.com" def user_confirmation_email(user) - email = user.member_profile.email + email = user.email @confirmation_token = user.confirmation_token mail(:to => email, :subject => "User Confirmation instructions") end diff --git a/app/models/member_profile.rb b/app/models/member_profile.rb index 4dace42..eccc1a1 100644 --- a/app/models/member_profile.rb +++ b/app/models/member_profile.rb @@ -1,20 +1,10 @@ class MemberProfile include Mongoid::Document - include Mongoid::Timestamps - field :first_name, type: String, localize: true field :last_name, type: String, localize: true field :gender field :sid field :office_tel - field :birthday, type: DateTime - field :address - field :personal_website - field :autobiography, type: String, localize: true - field :email, type: String - - VALID_EMAIL_FORMAT = /\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z/ - validates :email, uniqueness: true, format: { with: VALID_EMAIL_FORMAT } has_one :user has_and_belongs_to_many :roles diff --git a/app/models/member_profile_field.rb b/app/models/member_profile_field.rb deleted file mode 100644 index faf6996..0000000 --- a/app/models/member_profile_field.rb +++ /dev/null @@ -1,115 +0,0 @@ -class MemberProfileField - include Mongoid::Document - include Mongoid::Timestamps - include ::AttributeFieldsHelper - - field :key, type: String - field :title, type: String, localize: true - field :markup, default: "text_field" - field :option_list, type: Hash,default: {} - field :markup_options, type: Hash - field :built_in, type: Boolean, default: false - field :disabled, type: Boolean, default: false - field :to_delete, type: Boolean,default: false - - field :to_search, type: Boolean, default: false - field :to_show,type: Boolean,default: true - - field :typeA, type: Hash, default: {cross_lang: false} - field :typeB, type: Hash, default: {} - field :typeC, type: Hash, default: {calendar: "west_calendar", format: "format3"} - field :typeD, type: Hash, default: {cross_lang: false} - field :typeE, type: Hash, default: {} - - embeds_many :member_profile_field_values - - def markup_value - get_data["option_list"] - end - - def add_more - (get_data["add_more"] == "true" ? true : false) rescue false - end - - def locale - get_data["cross_lang"] == "true" ? false : true - end - - - def option_list - if self[:option_list].nil? || (self[:option_list].empty?) - return {} - else - return self[:option_list] - end - end - - def markup_options=(var) - self[:markup_options] = (eval(var) rescue {}) - end - - def markup_options - if self[:markup_options].nil? - return {} - else - Hash[self[:markup_options].map{|key,val|[key.to_sym,val]}] rescue {} - end - - end - - def role - self.attribute.role - end - - def panel - panel = LIST[:markups][self[:markup]]["panel"] - end - - def get_data - self[panel] - end - - def typeA=(var) - check_add_more_convert(var) - check_cross_lang_convert(var,"typeA") - self["typeA"] = var - end - - def typeD=(var) - check_cross_lang_convert(var,"typeD") - self["typeD"] = var - end - - def is_built_in? - self.built_in - end - - def is_disabled? - self.disabled - end - - protected - - def check_cross_lang_convert(var,field) - if self[field]["cross_lang"] != var["cross_lang"] - case var["cross_lang"] - when "true" #from no-add_more to add_more - cross_lang_convert(:to_cross_lang) - else #from add_more to no-add_more - cross_lang_convert(:to_no_cross_lang) - end # of case - end # of if - end - - def check_add_more_convert(var) - if self["typeA"]["add_more"] != var["add_more"] - case var["add_more"] - when "true" #from no-add_more to add_more - add_more_convert(:to_add_more) - else #from add_more to no-add_more - add_more_convert(:to_no_add_more) - end # of case - end # of if - end - -end diff --git a/app/models/member_profile_field_value.rb b/app/models/member_profile_field_value.rb deleted file mode 100644 index ecae25c..0000000 --- a/app/models/member_profile_field_value.rb +++ /dev/null @@ -1,10 +0,0 @@ -class MemberProfileFieldValue - include Mongoid::Document - include Mongoid::Timestamps - include AttributeValuesHelper - - field :key - field :address_key - - embedded_in :member_profile_field -end diff --git a/app/models/user.rb b/app/models/user.rb index ec297b2..23e9910 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -5,6 +5,7 @@ class User include ActiveModel::SecurePassword field :user_name, type: String + field :email, type: String field :password_digest, type: String field :confirmation_token, type: String field :reset_token, type: String @@ -19,11 +20,11 @@ class User has_many :authorizations belongs_to :member_profile + VALID_EMAIL_FORMAT = /\A[^@\s]+@([^@.\s]+\.)+[^@.\s]+\z/ + validates :user_name, presence: true, uniqueness: true validates :password, presence: true, :on => :create, length: {:in => 8..20} - - #Add getter and setter for email virtual field - attr_accessor :email + validates :email, presence: true, uniqueness: true, format: { with: VALID_EMAIL_FORMAT } def generate_confirmation_token self.confirmation_token = SecureRandom.hex(5) diff --git a/app/views/admin/member_infos/_attributes.html.erb b/app/views/admin/member_infos/_attributes.html.erb deleted file mode 100644 index 0fd4043..0000000 --- a/app/views/admin/member_infos/_attributes.html.erb +++ /dev/null @@ -1,16 +0,0 @@ - - <% @attributes.each do |attribute| %> - - <%= attribute.key %> - - <%= attribute.title %> -
- -
- - <%= attribute.key %> - - <% end %> \ No newline at end of file diff --git a/app/views/admin/member_infos/edit.html.erb b/app/views/admin/member_infos/edit.html.erb deleted file mode 100644 index df66b88..0000000 --- a/app/views/admin/member_infos/edit.html.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% content_for :side_bar do %> - <%= render :partial => 'admin/members/side_bar' %> -<% end %> - -<% content_for :page_specific_css do -%> - <%= stylesheet_link_tag "lib/wrap-nav.css" %> - <%= stylesheet_link_tag "lib/pageslide.css" %> - <%= stylesheet_link_tag "lib/main-forms.css" %> - <%= stylesheet_link_tag "lib/togglebox.css" %> -<% end -%> - -<% content_for :page_specific_javascript do -%> - <%= javascript_include_tag "lib/jquery.tmpl.min.js" %> - <%= javascript_include_tag "lib/member/role-forms.js" %> -<% end -%> - -<%= form_for @attribute,:url => admin_member_info_path(@attribute) , :html => { :class=> "form-horizontal main-forms", :id=>'info' } do |f| %> -

Basic Info

- -
- -
- -
- -
- - <%= hidden_field_tag 'id', params[:role_id] if !params[:role_id].blank? %> - <%= f.submit t(:submit),:class=>"btn btn-primary"%> - <%= link_to t('cancel'), get_go_back, :class=>"btn" %> -
-
- -<% end %> - - -<% content_for :page_specific_javascript do -%> - <%= render 'js/support_member_form_js' %> -<% end -%> \ No newline at end of file diff --git a/app/views/admin/member_infos/index.html.erb b/app/views/admin/member_infos/index.html.erb deleted file mode 100644 index 6ea1cae..0000000 --- a/app/views/admin/member_infos/index.html.erb +++ /dev/null @@ -1,19 +0,0 @@ -<% content_for :side_bar do %> - <%= render :partial => 'admin/members/side_bar' %> -<% end %> - - -
- - - - - - - - - - <%= render :partial => "attributes",:collection=> @attributes%> - -
<%= t('key') %><%= t('title') %><%= t('type') %>
-
diff --git a/app/views/admin/member_infos/new.html.erb b/app/views/admin/member_infos/new.html.erb deleted file mode 100644 index 2b5787c..0000000 --- a/app/views/admin/member_infos/new.html.erb +++ /dev/null @@ -1,38 +0,0 @@ -<% content_for :side_bar do %> - <%= render :partial => 'admin/members/side_bar' %> -<% end %> - -<% content_for :page_specific_css do -%> - <%= stylesheet_link_tag "lib/wrap-nav.css" %> - <%= stylesheet_link_tag "lib/pageslide.css" %> - <%= stylesheet_link_tag "lib/main-forms.css" %> - <%= stylesheet_link_tag "lib/togglebox.css" %> -<% end -%> - -<% content_for :page_specific_javascript do -%> - <%= javascript_include_tag "lib/jquery.tmpl.min.js" %> - <%= javascript_include_tag "lib/member/role-forms.js" %> -<% end -%> - -<%= form_for @attribute,:url => admin_member_infos_path(@attribute) , :html => { :class=> "form-horizontal main-forms", :id=>'info' } do |f| %> -

Basic Info

- -
- -
- -
- -
- - <%= hidden_field_tag 'id', params[:role_id] if !params[:role_id].blank? %> - <%= f.submit t(:submit),:class=>"btn btn-primary"%> - <%= link_to t('cancel'), get_go_back, :class=>"btn" %> -
-
- -<% end %> - -<% content_for :page_specific_javascript do -%> - <%= render 'js/support_member_form_js' %> -<% end -%> \ No newline at end of file diff --git a/app/views/admin/members/_member_basic.html.erb b/app/views/admin/members/_member_basic.html.erb index 57e630f..a9f30ad 100644 --- a/app/views/admin/members/_member_basic.html.erb +++ b/app/views/admin/members/_member_basic.html.erb @@ -8,7 +8,7 @@
- + <%= f.label t("users.avatar"),:class=>"control-label muted" %>
@@ -37,7 +37,7 @@
- + <%= f.label t("users.first_name"),{:class=>"control-label muted", :func=>"field_label"} %>
@@ -63,7 +63,7 @@
- + <%= f.label t("users.last_name"),{:class=>"control-label muted", :func=>"field_label"} %>
@@ -87,20 +87,9 @@
- -
- -
- <%= f.text_field :email, :class=>"input-medium", :id=>"account", :placeholder=>"#{t('users.email')}" %> -
-
- -
- + <%= f.label t("users.sid"),:class=>"control-label muted" %>
<%= f.text_field :sid %> <%= t("users.sid_note")%> @@ -109,7 +98,7 @@
- + <%= f.label t("users.office_tel"),:class=>"control-label muted" %>
<%= f.text_field :office_tel %> <%= t("users.office_tel_note")%> @@ -118,7 +107,7 @@
- + <%= f.label t("users.sex"),:class=>"control-label muted" %>
- -
- -
- <%= f.datetime_picker :birthday, :no_label => true %> -
-
- - -
- -
- <%= f.text_area :address %> -
-
- - - - - -
- <% @site_in_use_locales.each_with_index do |locale, i| %> -
"> - -
- -
- <%= f.fields_for :autobiography_translations do |f| %> - <%= f.cktext_area locale, rows: 5, class: "input-block-level", :value => (@member.autobiography_translations[locale] rescue nil) %> - <% end %> -
-
- -
- <% end %> -
-
\ No newline at end of file diff --git a/app/views/admin/members/_member_for_listing.html.erb b/app/views/admin/members/_member_for_listing.html.erb index b5e1128..93e0274 100644 --- a/app/views/admin/members/_member_for_listing.html.erb +++ b/app/views/admin/members/_member_for_listing.html.erb @@ -1,10 +1,10 @@ - <% if member_for_listing.present?%> + <% if member_for_listing.member_profile.present?%> <% - if member_for_listing.gender == 'male' + if member_for_listing.member_profile.gender == 'male' @member_gender = 'gender-man' - elsif member_for_listing.gender == 'female' + elsif member_for_listing.member_profile.gender == 'female' @member_gender = 'gender-woman' - elsif member_for_listing.gender.nil? + elsif member_for_listing.member_profile.gender.nil? @member_gender = 'gender-none' end %> @@ -12,17 +12,17 @@ - <% member_for_listing.roles.each do |rf| %> + <% member_for_listing.member_profile.roles.each do |rf| %> <% @roledata = Role.find(rf.id) %> <%= @roledata.title %> <% end %> - <%= link_to (member_for_listing.name && member_for_listing.name != (member_for_listing.email if member_for_listing.user.present?) ? member_for_listing.name : member_for_listing.user.id),admin_member_path(member_for_listing) %> + <%= link_to (member_for_listing.member_profile.name && member_for_listing.member_profile.name != member_for_listing.email ? member_for_listing.member_profile.name : member_for_listing.id),admin_member_path(member_for_listing.member_profile) %>
diff --git a/app/views/admin/members/_member_for_summary.html.erb b/app/views/admin/members/_member_for_summary.html.erb deleted file mode 100644 index 36f8ccf..0000000 --- a/app/views/admin/members/_member_for_summary.html.erb +++ /dev/null @@ -1,30 +0,0 @@ -
  • -
    - <% - if member_for_summary.gender == 'male' - @member_sex = 'gender-man' - elsif member_for_summary.gender == 'female' - @member_sex = 'gender-woman' - elsif member_for_summary.gender.nil? - @member_sex = 'gender-none' - end - %> -

    -
    - <%= link_to(content_tag(:i, nil, :class => 'icon-edit'),edit_admin_member_path(member_for_summary),:class=>"edit" ) if current_user.is_admin?%> - <%= link_to(content_tag(:i, nil, :class => 'icon-key'),:class=>"key" ) if current_user.is_admin? and current_user.id != member_for_summary.id %> - <%= link_to(content_tag(:i, nil, :class => 'icon-trash'), admin_members_path(member_for_summary, :at=>params[:at]), :confirm => t(:sure?), :method => :delete, :class=>"trash", :remote => true) if current_user.is_admin? %> -
    - <%= image_tag(member_for_summary.avatar) %> -
    -
    -

    <%= link_to (member_for_summary.name && member_for_summary.name != member_for_summary.email ? member_for_summary.name : member_for_summary.user_id),admin_members_path(member_for_summary)%>

    -
    <%= member_for_summary.email%>
    -
    -
      - -
    -
    -
  • - - diff --git a/app/views/admin/members/_member_for_thumbnail.html.erb b/app/views/admin/members/_member_for_thumbnail.html.erb deleted file mode 100644 index 8bbad0b..0000000 --- a/app/views/admin/members/_member_for_thumbnail.html.erb +++ /dev/null @@ -1,22 +0,0 @@ - <% - if member_for_thumbnail.gender == 'male' - @user_sex = 'gender-man' - elsif member_for_thumbnail.gender == 'female' - @user_sex = 'gender-woman' - elsif member_for_thumbnail.gender.nil? - @user_sex = 'gender-none' - end - %> -
  • -
    -
    - - <%= link_to(content_tag(:i, nil, :class => 'icon-edit'),edit_admin_member_path(member_for_thumbnail),:class=>"edit" ) if current_user.is_admin?%> - <%= link_to(content_tag(:i, nil, :class => 'icon-key'),:class=>"key" ) if current_user.is_admin? and current_user.id != member_for_thumbnail.id %> - <%= link_to(content_tag(:i, nil, :class => 'icon-trash'), admin_members_path(member_for_thumbnail, :at=>params[:at]), :confirm => t(:sure?), :method => :delete, :class=>"trash", :remote => true) if current_user.is_admin? %> - -
    - <%= image_tag(member_for_thumbnail.avatar) %> -
    -

    <%= link_to (member_for_thumbnail.name && member_for_thumbnail.name != member_for_thumbnail.email ? member_for_thumbnail.name : member_for_thumbnail.user_id),admin_members_path(member_for_thumbnail)%>

    -
  • \ No newline at end of file diff --git a/app/views/admin/members/_side_bar.html.erb b/app/views/admin/members/_side_bar.html.erb index 8c5237e..86388ae 100644 --- a/app/views/admin/members/_side_bar.html.erb +++ b/app/views/admin/members/_side_bar.html.erb @@ -6,7 +6,7 @@ -
    -
    - <%= email_field_tag :email, "", class: "availibility", id: "user_email", placeholder: t("users.email") %> - - Not Available - Available -
    +
    + <%= f.email_field :email, :placeholder => t("users.email"), :id=>"user_email", :class=>"availibility" %> + + Not Available + Available +
    @@ -56,4 +55,40 @@
    - \ No newline at end of file + + + \ No newline at end of file diff --git a/config/initializers/load_lists.rb b/config/initializers/load_lists.rb deleted file mode 100644 index cf57726..0000000 --- a/config/initializers/load_lists.rb +++ /dev/null @@ -1,2 +0,0 @@ -data = File.open(File.join(Rails.root, 'config', 'list.yml')).read -LIST = YAML::load(ERB.new(data).result(binding)).symbolize_keys \ No newline at end of file diff --git a/config/list.yml b/config/list.yml deleted file mode 100644 index abf05b9..0000000 --- a/config/list.yml +++ /dev/null @@ -1,35 +0,0 @@ -forbidden_item_names: - - admin - - panel - - appfront - -#NO_MULTI_TAG = ["select","date","radio_button","checkbox","date_durnation"] - -markups: - text_field: - muti_lang_input_supprt: true - ext_support: true - panel: typeA - select: - muti_lang_input_supprt: false - ext_support: false - panel: typeB - date: - muti_lang_input_supprt: false - ext_support: false - panel: typeC - text_area: - muti_lang_input_supprt: true - ext_support: false - panel: typeD - radio_button: - muti_lang_input_supprt: false - ext_support: false - panel: typeE - checkbox: - muti_lang_input_supprt: false - ext_support: false - panel: typeE - address: - muti_lang_input_supprt: true - ext_support: true diff --git a/config/locales/en.yml b/config/locales/en.yml index e18fead..6e7efc3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -319,7 +319,7 @@ en: me: Me member_: Member member_authorization: Authorizations - member_info: Member Attributes + member_info: Profile Form member_registration: Registration Approval member_role: Member Roles menu_enabled_for: Menu enabled for @@ -647,11 +647,6 @@ en: user_id_error: Someone already use that user account user_basic_id_form: Account Info. user_basic_data: Personal Profile - address: Address - personal_website: Personal Website - autobiography: Autobiography - birthday: Birthday - version: Version vertical: Vertical view: View diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index 1117714..04c0e4b 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -630,10 +630,6 @@ zh_tw: user_id_error: 該使用者帳號已被使用 user_basic_id_form: 帳號資料 user_basic_data: 個人資料 - address: 聯絡地址 - personal_website: 個人網址 - autobiography: 自我介紹 - birthday: 生日 version: 版本 vertical: 垂直的 view: 檢視 diff --git a/config/routes.rb b/config/routes.rb index 1e0f679..ac8a5fd 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -39,9 +39,6 @@ Orbit::Application.routes.draw do locales = Site.first.in_use_locales rescue I18n.available_locales scope "(:locale)", locale: Regexp.new(locales.join("|")) do - - resources :member_profiles - resources :users do collection do get 'confirm_user' @@ -70,8 +67,6 @@ Orbit::Application.routes.draw do get 'role_field' post 'toggle' end - - resources :member_infos resources :module_apps do resources :categories do @@ -142,7 +137,9 @@ Orbit::Application.routes.draw do get 'update_orbit' get 'restart_server' end - + + + resources :designs do collection do get 'upload_package' @@ -156,6 +153,7 @@ Orbit::Application.routes.draw do end end get 'design_list' => 'designs#design_list' + get 'module_store' => 'module_store#index' end get ':page(/:page)(/:page)(/:page)', to: 'pages#show', constraints: KeywordConstraint.new diff --git a/test/controllers/admin/member_infos_controller_test.rb b/test/controllers/admin/member_infos_controller_test.rb deleted file mode 100644 index f9b3033..0000000 --- a/test/controllers/admin/member_infos_controller_test.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'test_helper' - -class Admin::MemberInfosControllerTest < ActionController::TestCase - test "should get index" do - get :index - assert_response :success - end - -end diff --git a/test/controllers/member_controller_test.rb b/test/controllers/member_controller_test.rb deleted file mode 100644 index 04aacba..0000000 --- a/test/controllers/member_controller_test.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'test_helper' - -class MemberControllerTest < ActionController::TestCase - test "should get new" do - get :new - assert_response :success - end - -end diff --git a/test/fixtures/member_infos.yml b/test/fixtures/member_infos.yml deleted file mode 100644 index 937a0c0..0000000 --- a/test/fixtures/member_infos.yml +++ /dev/null @@ -1,11 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value diff --git a/test/fixtures/member_profile_field_values.yml b/test/fixtures/member_profile_field_values.yml deleted file mode 100644 index 937a0c0..0000000 --- a/test/fixtures/member_profile_field_values.yml +++ /dev/null @@ -1,11 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html - -# This model initially had no columns defined. If you add columns to the -# model remove the '{}' from the fixture names and add the columns immediately -# below each fixture, per the syntax in the comments below -# -one: {} -# column: value -# -two: {} -# column: value diff --git a/test/fixtures/member_profile_fields.yml b/test/fixtures/member_profile_fields.yml deleted file mode 100644 index ddd653b..0000000 --- a/test/fixtures/member_profile_fields.yml +++ /dev/null @@ -1,9 +0,0 @@ -# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html - -one: - key: MyString - title: MyString - -two: - key: MyString - title: MyString diff --git a/test/helpers/admin/member_infos_helper_test.rb b/test/helpers/admin/member_infos_helper_test.rb deleted file mode 100644 index 2f52bb9..0000000 --- a/test/helpers/admin/member_infos_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class Admin::MemberInfosHelperTest < ActionView::TestCase -end diff --git a/test/helpers/member_helper_test.rb b/test/helpers/member_helper_test.rb deleted file mode 100644 index f0c6a4e..0000000 --- a/test/helpers/member_helper_test.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'test_helper' - -class MemberHelperTest < ActionView::TestCase -end diff --git a/test/models/member_info_test.rb b/test/models/member_info_test.rb deleted file mode 100644 index a410b53..0000000 --- a/test/models/member_info_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class MemberInfoTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/models/member_profile_field_test.rb b/test/models/member_profile_field_test.rb deleted file mode 100644 index e09b098..0000000 --- a/test/models/member_profile_field_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class MemberProfileFieldTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end diff --git a/test/models/member_profile_field_value_test.rb b/test/models/member_profile_field_value_test.rb deleted file mode 100644 index ffeb0de..0000000 --- a/test/models/member_profile_field_value_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require 'test_helper' - -class MemberProfileFieldValueTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end