From 65349796d012d73351e6cf9abb07dc69bf7842b5 Mon Sep 17 00:00:00 2001 From: chris2tof Date: Fri, 18 Nov 2011 16:43:14 +0800 Subject: [PATCH] Ray's modifications --- .rvmrc | 2 +- app/assets/images/75.png | Bin 0 -> 923 bytes app/assets/images/Thumbs.db | Bin 56320 -> 61440 bytes app/assets/images/hr_cover.png | Bin 0 -> 964 bytes app/assets/images/icon.png | Bin 2432 -> 5317 bytes app/assets/images/orbitbar1.png | Bin 0 -> 1010 bytes app/assets/images/person.png | Bin 0 -> 2428 bytes app/assets/images/upload_but.png | Bin 0 -> 963 bytes app/assets/stylesheets/admin.css.erb | 2 +- app/assets/stylesheets/content.css.erb | 2 +- app/assets/stylesheets/member.css.erb | 246 ++++++++++++++++-- app/assets/stylesheets/messy.css.erb | 2 +- app/models/user/attribute_model.rb | 3 +- app/models/user/user.rb | 25 +- app/models/user/user_role_model.rb | 5 + .../_attribute_model.html.erb | 62 ++--- .../user_attribute_models/_form.html.erb | 98 ++++--- .../admin/user_attribute_models/edit.html.erb | 34 +-- .../user_attribute_models/index.html.erb | 46 ++-- .../admin/user_attribute_models/new.html.erb | 36 +-- app/views/admin/users/_form.html.erb | 94 +++---- .../admin/users/_show_user_attribute.html.erb | 44 ++-- .../admin/users/_user_attribute.html.erb | 74 +++--- app/views/admin/users/edit.html.erb | 32 +-- app/views/admin/users/index.html.erb | 62 ++--- app/views/admin/users/new.html.erb | 32 ++- app/views/admin/users/show.html.erb | 59 +++-- app/views/layouts/member.html.erb | 5 +- lib/tasks/dev.rake | 2 +- vendor/plugins/NewBlog/.gitignore | 6 + vendor/plugins/NewBlog/Gemfile | 16 ++ vendor/plugins/NewBlog/Gemfile.lock | 101 +++++++ vendor/plugins/NewBlog/MIT-LICENSE | 20 ++ vendor/plugins/NewBlog/NewBlog.gemspec | 23 ++ vendor/plugins/NewBlog/NewBlog.json | 9 + vendor/plugins/NewBlog/README.rdoc | 3 + vendor/plugins/NewBlog/Rakefile | 39 +++ .../app/assets/images/NewBlog/.gitkeep | 0 .../app/assets/javascripts/NewBlog/.gitkeep | 0 .../app/assets/stylesheets/NewBlog/.gitkeep | 0 .../stylesheets/NewBlog/application.css | 7 + .../assets/stylesheets/NewBlog/production.css | 21 ++ .../plugins/NewBlog/app/controllers/.gitkeep | 0 .../app/controllers/application_controller.rb | 23 ++ .../panel/blog/comments_controller.rb | 7 + .../panel/blog/posts_controller.rb | 111 ++++++++ vendor/plugins/NewBlog/app/helpers/.gitkeep | 0 .../NewBlog/app/helpers/application_helper.rb | 2 + vendor/plugins/NewBlog/app/mailers/.gitkeep | 0 vendor/plugins/NewBlog/app/models/.gitkeep | 0 vendor/plugins/NewBlog/app/models/comment.rb | 7 + vendor/plugins/NewBlog/app/models/post.rb | 8 + vendor/plugins/NewBlog/app/views/.gitkeep | 0 .../app/views/layouts/application.html.erb | 14 + .../app/views/layouts/edit_view.html.erb | 14 + .../app/views/layouts/production.html.erb | 3 + .../app/views/panel/blog/posts/_form.html.erb | 14 + .../app/views/panel/blog/posts/edit.html.erb | 8 + .../app/views/panel/blog/posts/index.html.erb | 25 ++ .../panel/blog/posts/latest_post.html.erb | 5 + .../app/views/panel/blog/posts/new.html.erb | 6 + .../app/views/panel/blog/posts/show.html.erb | 38 +++ .../panel/blog/posts/widget_index.html.erb | 16 ++ .../blog/posts/widget_latest_post.html.erb | 7 + vendor/plugins/NewBlog/config/routes.rb | 13 + vendor/plugins/NewBlog/lib/NewBlog.rb | 5 + vendor/plugins/NewBlog/lib/NewBlog/engine.rb | 6 + vendor/plugins/NewBlog/lib/NewBlog/version.rb | 3 + .../NewBlog/lib/tasks/NewBlog_tasks.rake | 4 + vendor/plugins/NewBlog/script/rails | 6 + vendor/plugins/NewBlog/test/NewBlog_test.rb | 7 + vendor/plugins/NewBlog/test/dummy/Rakefile | 7 + .../app/assets/javascripts/application.js | 9 + .../app/assets/stylesheets/application.css | 7 + .../app/controllers/application_controller.rb | 3 + .../dummy/app/helpers/application_helper.rb | 2 + .../NewBlog/test/dummy/app/mailers/.gitkeep | 0 .../NewBlog/test/dummy/app/models/.gitkeep | 0 .../app/views/layouts/application.html.erb | 14 + vendor/plugins/NewBlog/test/dummy/config.ru | 4 + .../NewBlog/test/dummy/config/application.rb | 46 ++++ .../plugins/NewBlog/test/dummy/config/boot.rb | 10 + .../NewBlog/test/dummy/config/database.yml | 25 ++ .../NewBlog/test/dummy/config/environment.rb | 5 + .../dummy/config/environments/development.rb | 27 ++ .../dummy/config/environments/production.rb | 51 ++++ .../test/dummy/config/environments/test.rb | 39 +++ .../initializers/backtrace_silencers.rb | 7 + .../dummy/config/initializers/inflections.rb | 10 + .../dummy/config/initializers/mime_types.rb | 5 + .../dummy/config/initializers/secret_token.rb | 7 + .../config/initializers/session_store.rb | 8 + .../config/initializers/wrap_parameters.rb | 14 + .../NewBlog/test/dummy/config/locales/en.yml | 5 + .../NewBlog/test/dummy/config/mongoid.yml | 1 + .../NewBlog/test/dummy/config/routes.rb | 58 +++++ .../NewBlog/test/dummy/lib/assets/.gitkeep | 0 .../plugins/NewBlog/test/dummy/log/.gitkeep | 0 .../NewBlog/test/dummy/public/404.html | 26 ++ .../NewBlog/test/dummy/public/422.html | 26 ++ .../NewBlog/test/dummy/public/500.html | 26 ++ .../NewBlog/test/dummy/public/favicon.ico | 0 .../plugins/NewBlog/test/dummy/script/rails | 6 + .../test/integration/navigation_test.rb | 10 + vendor/plugins/NewBlog/test/test_helper.rb | 10 + 105 files changed, 1663 insertions(+), 369 deletions(-) create mode 100644 app/assets/images/75.png create mode 100644 app/assets/images/hr_cover.png create mode 100644 app/assets/images/orbitbar1.png create mode 100644 app/assets/images/person.png create mode 100644 app/assets/images/upload_but.png create mode 100644 vendor/plugins/NewBlog/.gitignore create mode 100644 vendor/plugins/NewBlog/Gemfile create mode 100644 vendor/plugins/NewBlog/Gemfile.lock create mode 100644 vendor/plugins/NewBlog/MIT-LICENSE create mode 100644 vendor/plugins/NewBlog/NewBlog.gemspec create mode 100644 vendor/plugins/NewBlog/NewBlog.json create mode 100644 vendor/plugins/NewBlog/README.rdoc create mode 100644 vendor/plugins/NewBlog/Rakefile create mode 100644 vendor/plugins/NewBlog/app/assets/images/NewBlog/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/assets/javascripts/NewBlog/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/application.css create mode 100644 vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/production.css create mode 100644 vendor/plugins/NewBlog/app/controllers/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/controllers/application_controller.rb create mode 100644 vendor/plugins/NewBlog/app/controllers/panel/blog/comments_controller.rb create mode 100644 vendor/plugins/NewBlog/app/controllers/panel/blog/posts_controller.rb create mode 100644 vendor/plugins/NewBlog/app/helpers/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/helpers/application_helper.rb create mode 100644 vendor/plugins/NewBlog/app/mailers/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/models/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/models/comment.rb create mode 100644 vendor/plugins/NewBlog/app/models/post.rb create mode 100644 vendor/plugins/NewBlog/app/views/.gitkeep create mode 100644 vendor/plugins/NewBlog/app/views/layouts/application.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/layouts/edit_view.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/layouts/production.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/_form.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/edit.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/index.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/latest_post.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/new.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/show.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_index.html.erb create mode 100644 vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_latest_post.html.erb create mode 100644 vendor/plugins/NewBlog/config/routes.rb create mode 100644 vendor/plugins/NewBlog/lib/NewBlog.rb create mode 100644 vendor/plugins/NewBlog/lib/NewBlog/engine.rb create mode 100644 vendor/plugins/NewBlog/lib/NewBlog/version.rb create mode 100644 vendor/plugins/NewBlog/lib/tasks/NewBlog_tasks.rake create mode 100644 vendor/plugins/NewBlog/script/rails create mode 100644 vendor/plugins/NewBlog/test/NewBlog_test.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/Rakefile create mode 100644 vendor/plugins/NewBlog/test/dummy/app/assets/javascripts/application.js create mode 100644 vendor/plugins/NewBlog/test/dummy/app/assets/stylesheets/application.css create mode 100644 vendor/plugins/NewBlog/test/dummy/app/controllers/application_controller.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/app/helpers/application_helper.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/app/mailers/.gitkeep create mode 100644 vendor/plugins/NewBlog/test/dummy/app/models/.gitkeep create mode 100644 vendor/plugins/NewBlog/test/dummy/app/views/layouts/application.html.erb create mode 100644 vendor/plugins/NewBlog/test/dummy/config.ru create mode 100644 vendor/plugins/NewBlog/test/dummy/config/application.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/boot.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/database.yml create mode 100644 vendor/plugins/NewBlog/test/dummy/config/environment.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/environments/development.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/environments/production.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/environments/test.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/initializers/backtrace_silencers.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/initializers/inflections.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/initializers/mime_types.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/initializers/secret_token.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/initializers/session_store.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/initializers/wrap_parameters.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/config/locales/en.yml create mode 120000 vendor/plugins/NewBlog/test/dummy/config/mongoid.yml create mode 100644 vendor/plugins/NewBlog/test/dummy/config/routes.rb create mode 100644 vendor/plugins/NewBlog/test/dummy/lib/assets/.gitkeep create mode 100644 vendor/plugins/NewBlog/test/dummy/log/.gitkeep create mode 100644 vendor/plugins/NewBlog/test/dummy/public/404.html create mode 100644 vendor/plugins/NewBlog/test/dummy/public/422.html create mode 100644 vendor/plugins/NewBlog/test/dummy/public/500.html create mode 100644 vendor/plugins/NewBlog/test/dummy/public/favicon.ico create mode 100644 vendor/plugins/NewBlog/test/dummy/script/rails create mode 100644 vendor/plugins/NewBlog/test/integration/navigation_test.rb create mode 100644 vendor/plugins/NewBlog/test/test_helper.rb diff --git a/.rvmrc b/.rvmrc index c9b4fc50..cf0bc52d 100644 --- a/.rvmrc +++ b/.rvmrc @@ -1 +1 @@ -rvm ruby-1.9.2-p180@rails31rc4 +rvm ruby-1.9.2-p290@rails31rc4 diff --git a/app/assets/images/75.png b/app/assets/images/75.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8aef6e9e3343651e3add7d973dc6c40e3613ab GIT binary patch literal 923 zcmaJ=O^?z*7_KoQlY9=1fr6zBJSpuC_OC| z44QgL5c7aVpip!tY{_+5INhcY#(UW)-CdKoFqpeB#0n}>DuK5Be`px)(J6Q6gWrD& zr^8iDp+i%)OgvGz>1h!vCY^-3oFzlXZpvHi&lzXwoW-Cs&=d@=gUDxDy20Bvv7(f_ zkw+~3_& literal 0 HcmV?d00001 diff --git a/app/assets/images/Thumbs.db b/app/assets/images/Thumbs.db index a91692c565d27d2d8a7e7e0979750bde24815299..964d8da85783f56f9ecc8eb37c507b9a78a62bf2 100644 GIT binary patch delta 5061 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 MXU!wyE!-FW50}rfS^xk5 delta 2120 zcmY+B3pmqn8^?dlIWt5Ko0L;23zecNWSC@;b1T%sDqCrUdbddt8L_S2DO)-Gku_w< zVIsrd+9&yoxlp(3StCyMj=m%^Kr3^2a7`s;Omfy^MaRduF3AdE$wK3b@`JOa*(lofp8V zX1`XPROwHH98qZd2R3{6;XRtj3(M9+zpmCU-WV>L!LNEBvE|15)ar zUqdx4rFqs-Ci9~wh~0*(7H_`GV?<<9Tq063!|&>3XXgHa+DvRsO%2P!!otv7jBRv%=DLCc8QVR_FfP6l*=Ve&wUj5+|#vLo489+-@Vnu#3aMR$7hi@ii0lI5C8!} z|Dx&;hYPR&D;(qdYa!mFz{0khI*BCFOhNnylpwCV>SxKk?D<^9|oA( zL-kHuM5Mcdv&9C{60pO1?E8$;60YD4isLNND)1qCdI>NO19O-Q&p<9ciM@vSP$#Yn zC8s9`h>x4}uK?=xI*)eF=1L}gbLf1>oaZoaH^xn1EG_mFk1`BqHwU`AD^zoWfDb27 zo3$?0TO5~BY~f{|W~ZlDnk&mGW@!$iQK$+eC_6iQYGgqFuix*okl~>0GZr;3UQ;ev| zV6)e@UMmC=t%G3MN)hw(^NWGk6O$ZF&xHqtgscaGyfb>u&-6Yzpbjbyq?q}hK6B=m zlv3=XsIsVNR*_(jc|mAn*-*#|;tR%oVG%Db53h~3vk;Gor$}~ocE+#j?pQ$v57A2G zHH{dP#Jvdkh)f`=On29(lk2W_1U%5d6)n6rQ4OFCc6p$q<&Ds>uWvl0=At+x0dIVrY2T9$NjI4eJ;zh z!{(f@p{(+6*<$({-{b~gxiV+n^k>ur@2j98s_Dx-I=_h2p4?T1qhPwF{8M(pu%YYnpE8XQoV(gNl~7}& zGas92;a;o+?Qz5UQ8{oPt?^q;Zq9*vpah?!Z7TmFe++VT!s1JTeK&Gp-XiUf&zixb zl-T^Vz{O=G19yGJT?=6K9J?L2zgz&nXwlJ^MFw%F*oB3KopW$jPF4oq;p;0U2Li`0a*ZMCN zhJ@bYkG*}okafMZyjIxAa)>7U@mnSZN^pM<1efOjfdzG7+$~(DndT7R$jHcQDtV{c zp%!I+*hrJk_Jhlo#8zefPmYkS))hXMIO*P8*GEIDJEAt1?kvXHvrO~&u)~BUAzFA! ztN6!{YisDUO@q~uMe-C+kyUC_VDU9Xi}ihvmH>g!D>p+{<2d6 zp5R*_41u|W;DyD-VP`aY=;pdIS1=N!Dt0^Scr5xYOM9!xER*+@l&rbLg!!}p5t~!l zZ1&}lwue1{Y~TI?NA}+NB)29btQv} zdl(2{ODsKp>kz&Xihix7ye~!=(D^B6Rttfs8_?ugO;x8C_NaUqzT{s0Gr7oCq>E4$ TPR-72ccLrj?cv3=#z6iCXB-5Y diff --git a/app/assets/images/hr_cover.png b/app/assets/images/hr_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..74ebf48664adbfd73077e8b391ac6ed040af9e8b GIT binary patch literal 964 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 diff --git a/app/assets/images/orbitbar1.png b/app/assets/images/orbitbar1.png new file mode 100644 index 0000000000000000000000000000000000000000..4f27a0a274441b22f1d002bcc52b6b3ededdd6bc GIT binary patch literal 1010 zcmaJ=PiWIn9L|_bH<{axD#$bQrcGYDc5TA4t!wtDxQx*iR$<7}kzeqo!(|IzUC384W%9@Lqgn@Giq%5s~(nvE_Zhb&Q4Aah< znJmew(~^!YP75%cZ#k6BFhe80qv<6?Kn@j5TV}t$-C%)f$n1Png{qT8MRTg+qPfaU zMz54~(O^f0!H_Re0Sgfg_|}r`Nxsb1bS1hDj(HZ;AfzO-$ELFCEJ$J(fhY$hJzKo|;;7s5P@g#;)?V-gfV{bOk~*T_q0WuhL7?qs$|h$HcQxm@PT0~~e> zyda7q55s&o9HNMjw_+2`57}OSLqS2F?wSrUu?+%6Er*wh%u=VvDOgTZ*7oXUq6Oo9 z&EW+O1}Qaws``JZWi`D6y-3-P{jVjI- zF~MFDJ0Lk1g4bZlWbOXa&omkrm{cw~;a7Vhhw#mdw^(VlDORT%)y@ zcuOu%&G5m+{&mrfBicQ|ve~wD(`03WI{pfH~+f*;#y!iU@_OpeB z{q5(&t3Nlls@2`TY1rO*sdw`nn;kvX|A1+qfStXIOxumsgPpVAo(8WlH9n)f99z8m E2d&yi=l}o! literal 0 HcmV?d00001 diff --git a/app/assets/images/person.png b/app/assets/images/person.png new file mode 100644 index 0000000000000000000000000000000000000000..653cfaeb0ea02774c234d98c63cf2c5e46e80f6c GIT binary patch literal 2428 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 Dep@m_ literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/admin.css.erb b/app/assets/stylesheets/admin.css.erb index 9e318b68..bbd6c92d 100644 --- a/app/assets/stylesheets/admin.css.erb +++ b/app/assets/stylesheets/admin.css.erb @@ -16,7 +16,7 @@ body{ } #panel_banner_link{ - background: url(<%= asset_path "orbitbar.png" %>) repeat-x scroll 0 0; + background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0; height: 52px; left: 0; position: absolute; diff --git a/app/assets/stylesheets/content.css.erb b/app/assets/stylesheets/content.css.erb index 0ec8bd21..2d3cd2d0 100644 --- a/app/assets/stylesheets/content.css.erb +++ b/app/assets/stylesheets/content.css.erb @@ -16,7 +16,7 @@ body{ } #panel_banner_link{ - background: url(<%= asset_path "orbitbar.png" %>) repeat-x scroll 0 0; + background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0; height: 52px; left: 0; position: absolute; diff --git a/app/assets/stylesheets/member.css.erb b/app/assets/stylesheets/member.css.erb index 669e571f..d55f31ea 100644 --- a/app/assets/stylesheets/member.css.erb +++ b/app/assets/stylesheets/member.css.erb @@ -13,6 +13,7 @@ html,body { height:100%; margin:0; font-family: Helvetica, '微軟正黑體'; + overflow-x:hidden } ul { list-style:none; @@ -20,6 +21,17 @@ ul { margin:0; padding:0; } +input{ + border:none; + padding:5px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +input:focus, select:focus, textarea:focus { + outline:none; + -moz-outline-radius: 0; +} .clear:after { content:"."; clear:both; @@ -37,7 +49,7 @@ ul { height: 100%; width:220px; /*background-color:rgba(245,245,245,1);*/ - background-color:rgba(0,0,0,0.75); + background:url(<%= asset_path '75.png' %>) repeat left top; -moz-box-shadow: 3px 0px 4px #472a12; /* Firefox */ -webkit-box-shadow: 3px 0px 4px #472a12;/* Safari 和 Chrome */ box-shadow: 3px 0px 4px #472a12; /* Opera 10.5 + */ @@ -51,9 +63,10 @@ ul { #search input { background:url(<%= asset_path 'search_bg.png' %>) no-repeat left top; border:none; - width:174px; + width:154px; height:20px; - padding-left:20px; + padding: 0 20px; + font-family:Helvetica; } h1 { background:url(<%= asset_path 'h1_bg.png' %>) repeat-x left top; @@ -127,7 +140,7 @@ h1 { padding-top:70px; } .main_list li { - background-color:rgba(0,0,0,0.75); + background:url(<%= asset_path '75.png' %>) repeat left top; margin-bottom:20px; } .main_list li span { @@ -140,7 +153,7 @@ h1 { width:18%; } .main_list li.list_head { - background-color:inherit; + background:none; margin-bottom:10px; } .main_list li.list_head span { @@ -175,7 +188,7 @@ h1 { float: right; width:10%; } -.main_list li .action a{ +#main .action a{ background-image:url(<%= asset_path 'icon.png' %>); text-indent:-9999px; display:inline-block; @@ -184,43 +197,56 @@ h1 { margin-top:8px; margin-right:10px; } -.main_list li .action a.show{ +#main .action a.show{ background-position:left top; } -.main_list li .action a.edit{ +#main .action a.edit{ background-position:-19px top; } -.main_list li .action a.delete{ +#main .action a.delete{ background-position:-38px top; } -.main_list li .action a.show:hover{ - background-position:left bottom; +#main .action a.show:hover{ + background-position:left -19px; } -.main_list li .action a.edit:hover{ - background-position:-19px bottom; +#main .action a.edit:hover{ + background-position:-19px -19px; } -.main_list li .action a.delete:hover{ - background-position:-38px bottom; +#main .action a.delete:hover{ + background-position:-38px -19px; } -.main_list li.list_item .roles { +#main .list_item .roles { background-image:url(<%= asset_path 'roles_type.jpg' %>); background-repeat:repeat-x; border-radius: 5px 0 0 5px; -moz-border-radius: 5px 0 0 5px; -webkit-border-radius: 5px 0 0 5px; } +#roles_list .roles_block .action a{ + margin-top:0; + margin-right:0; +} .student { background-position:0 -5px; } .teacher { background-position:0 -54px; } -#add_new { - margin-bottom: 20px; -} #add_new a { - background-image:url(<%= asset_path 'icon.png' %>); background-position:-54px -17px; +} +#add_new a:hover { + background-position: -54px 3px; +} +#confirm a{ + background-position:4px -70px; +} +#confirm a:hover{ + background-position: 4px -51px; +} +.buttom a { + margin-bottom: 20px; + background-image:url(<%= asset_path 'icon.png' %>); background-repeat:no-repeat; font-size:12px; color:#FFF; @@ -236,9 +262,185 @@ h1 { -webkit-box-shadow: 3px 0px 4px #180902;/* Safari 和 Chrome */ box-shadow: 3px 0px 4px #180902; /* Opera 10.5 + */ } -#add_new a:hover { - background-position: -54px 3px; +.buttom a:hover { color:#000; font-weight:bold; background-color: rgba(255, 255, 255, 1); +} +#porfile{ + padding-top:100px; +} +#porfile h2 { + color: #FFFFFF; + font-weight: normal; + margin: 0; + padding: 0; + text-shadow: 0 3px 2px #000000; + position:absolute; + top:-30px; +} +#porfile label { + display:block; + text-shadow: 0 1px 0 #FFFFFF; + background:url(<%= asset_path 'upload_but.png' %>) repeat-x left top; + height: 25px; + width:110px; + padding: 0 0 0 18px; + border:1px solid #d8d8d8; + margin-top:10px; + color:#666666; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +#porfile label:hover{ + background-position:left bottom; + color:#000; + border:1px solid #a6a6a6; +} +#porfile label input { + border:none; + margin: 6px 15px 0 0; + float:left; +} +#porfile label span { + display:block; + float:left; + line-height:27px; + font-size:12px; +} +.roles_block { + min-width:710px; + margin-bottom:50px; + position:relative; + padding-bottom: 20px; + background:url(<%= asset_path '75.png' %>) repeat left top; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + -moz-box-shadow: 0px 0px 4px #180902; /* Firefox */ + -webkit-box-shadow: 0px 0px 4px #180902;/* Safari 和 Chrome */ + box-shadow: 0px 0px 4px #180902; /* Opera 10.5 + */ +} +#user_list .roles_block { + margin-left:180px; +} +#person { + left: 265px; + position: fixed; + top: 75px; +} +#person img { + background-color:#FFF; + padding:5px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + -moz-box-shadow: 0px 0px 4px #180902; /* Firefox */ + -webkit-box-shadow: 0px 0px 4px #180902;/* Safari 和 Chrome */ + box-shadow: 0px 0px 4px #180902; /* Opera 10.5 + */ +} +#upload, #edit{ + display:block; + text-shadow: 0 1px 0 #FFFFFF; + background:url(<%= asset_path 'upload_but.png' %>) repeat-x left top; + height: 25px; + line-height:27px; + color:#666666; + width:128px; + text-align:center; + font-size:12px; + border:1px solid #d8d8d8; + margin-top:10px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +#upload:hover{ + background-position:left bottom; + color:#000; + border:1px solid #a6a6a6; +} +#main hr{ + height:8px; + border:none; + margin:0; + border-radius: 5px 5px 0px 0px; + -moz-border-radius: 5px 5px 0px 0px; + -webkit-border-radius: 5px 5px 0px 0px; + border-bottom:1px solid #000; +} +#basic_block hr{ + background-color:#666666; +} +#teacher_block hr{ + background-color:#0071a9; +} +#student_block hr{ + background-color:#af0045; +} +.info_input { + padding:10px 20px; +} +.info_input table { + color:#fff; + width:100%; + font-size:14px; +} +.info_input table td { + padding:5px 10px 5px 0; + width: 10%; +} +.info_input .list_head { + background:url(<%= asset_path 'line.png' %>) left bottom repeat-x; +} +.info_input .list_head td { +} +.info_input .list_item { + color:#AEAEAE; +} +.info_input .add { + display:block; + padding-left:22px; + font-size:12px; + line-height:21px; + height:19px; + background:url(<%= asset_path 'icon.png' %>) no-repeat -59px 0; + margin-top: 10px; + color: #DDDDDD; +} +.info_input .add:hover { + color:#FFF; + background-position:-59px -19px; +} +.info_input li { + height:30px; + margin-bottom: 5px; +} +.info_input li span { + display:inline-block; + float:left; + color:#fff; + font-size:14px; + line-height:30px; + margin-right:10px; +} +#user_list .info_input li span { + width: 25%; +} +#roles_list .info_input li span { + width:15%; +} +.info_input li span:last-child { +} +#person select { + background:url(<%= asset_path 'upload_but.png' %>) repeat-x left top; + border:1px solid #d8d8d8; + margin-top: 10px; + width: 130px; + padding:3px 6px 3px 14px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border:none; } \ No newline at end of file diff --git a/app/assets/stylesheets/messy.css.erb b/app/assets/stylesheets/messy.css.erb index 6646b7ca..3cc491d8 100644 --- a/app/assets/stylesheets/messy.css.erb +++ b/app/assets/stylesheets/messy.css.erb @@ -8,7 +8,7 @@ body{ padding: 0; } #hmenu{ - background:url(<%= asset_path 'orbitbar.png' %>) repeat-x 0 0; + background:url(<%= asset_path 'orbitbar1.png' %>) repeat-x 0 0; height: 50px; position:fixed; top:0; diff --git a/app/models/user/attribute_model.rb b/app/models/user/attribute_model.rb index 0bd5b3ca..d2cb8a1a 100644 --- a/app/models/user/attribute_model.rb +++ b/app/models/user/attribute_model.rb @@ -29,7 +29,8 @@ class AttributeModel if self.i18n_variable_id self.i18n_variable.update_attributes(attr) else - var = I18nVariable.new(attr.merge({:key => self.key, :document_class => self.class, :parent_id => self.user_attribute_model.i18n_variable_id})) + # var = I18nVariable.new(attr.merge({:key => self.key, :document_class => self.class, :parent_id => self.user_attribute_model.i18n_variable_id})) + var = I18nVariable.new(attr.merge({:key => self.key, :document_class => self.class})) var.save self.i18n_variable_id = var.id end diff --git a/app/models/user/user.rb b/app/models/user/user.rb index 7eec8145..f582dc04 100644 --- a/app/models/user/user.rb +++ b/app/models/user/user.rb @@ -8,12 +8,11 @@ class User mount_uploader :avatar, AvatarUploader field :admin, :type => Boolean, :default => true - field :active_roles, :type => Array + field :active_role has_many :user_attributes has_many :user_roles has_many :user_infos - before_save :clean_active_roles # Update or create the user_role records def user_roles=(*attrs) @@ -49,21 +48,6 @@ class User self.user_roles.detect {|a| a.key.to_s == key.to_s } end - # Get the active user_role_models - def get_active_role_models - self.active_roles.map{ |role| get_role_model(role) } rescue [] - end - - # Get an user_role_model from key - def get_role_model(key) - UserRoleModel.first(:conditions => {:key => key}) - end - - # Get the active roles names or default to '-' - def get_roles - (self.active_roles.nil? || self.active_roles.empty?) ? '-' : self.active_roles.map{|role| I18nVariable.first(:conditions => {:key => role})[I18n.locale] rescue role}.join(' / ') - end - def name infos = self.user_infos.detect {|info| info.key.to_s.eql?('profile') } if infos @@ -75,11 +59,4 @@ class User end end - protected - - # Remove empty values - def clean_active_roles - self.active_roles.delete('') if self.active_roles - end - end diff --git a/app/models/user/user_role_model.rb b/app/models/user/user_role_model.rb index b35fce32..d5271edd 100644 --- a/app/models/user/user_role_model.rb +++ b/app/models/user/user_role_model.rb @@ -1,3 +1,8 @@ class UserRoleModel < UserAttributeModel + # Get an user_role_model from key + def self.get_role_model_from_key(key) + self.first(:conditions => {:key => key}) + end + end diff --git a/app/views/admin/user_attribute_models/_attribute_model.html.erb b/app/views/admin/user_attribute_models/_attribute_model.html.erb index e8ad4854..10dac715 100644 --- a/app/views/admin/user_attribute_models/_attribute_model.html.erb +++ b/app/views/admin/user_attribute_models/_attribute_model.html.erb @@ -1,26 +1,26 @@ <%= fields_for "user_#{@attribute}_model[attribute_models][]", attribute_model, :index => nil do |f| %> - - - <%= attribute_model.new_record? ? (f.text_field :key, {:style => "width:130px"}) : attribute_model.key %> - - <%= check_box_tag "locale[]", value = '', attribute_model.locale.nil? ? true : attribute_model.locale %> - <%= hidden_field_tag "user_#{@attribute}_model[attribute_models][][locale]", attribute_model.locale.nil? ? true : attribute_model.locale %> - - <% @site_valid_locales.each do |locale| %> - <%= text_field_tag "user_#{@attribute}_model[attribute_models][][i18n_variable][#{locale}]", (attribute_model.i18n_variable[locale] rescue nil), :style => "width:130px" %> - <% end %> - - <%= f.select :markup, LIST[:markups], {}, {:style => "width:90px"} %> -
> - <%= t('admin.options') %>: - <%= text_field_tag "user_#{@attribute}_model[attribute_models][][select_list_options]", attribute_model.select_list_options, :style => "width:130px" %> -
- - - <% if attribute_model.new_record? %> -
(<%= t(:delete) %>) - <% else %> - + + <%= attribute_model.new_record? ? (f.text_field :key) : attribute_model.key %> + + <%= check_box_tag "locale[]", value = '', attribute_model.locale.nil? ? true : attribute_model.locale %> + <%= hidden_field_tag "user_#{@attribute}_model[attribute_models][][locale]", attribute_model.locale.nil? ? true : attribute_model.locale %> + + <% @site_valid_locales.each do |locale| %> + <%= text_field_tag "user_#{@attribute}_model[attribute_models][][i18n_variable][#{locale}]", (attribute_model.i18n_variable[locale] rescue nil), :style => "width:130px" %> + <% end %> + + <%= f.select :markup, LIST[:markups], {}, {:style => "width:90px"} %> +
> + <%= t('admin.options') %>: + <%= text_field_tag "user_#{@attribute}_model[attribute_models][][select_list_options]", attribute_model.select_list_options, :style => "width:130px" %> +
+ + + + <% if attribute_model.new_record? %> + <%= t(:delete) %> + <% else %> + <% if attribute_model.is_built_in? %> <%= t(:disable) %> @@ -28,13 +28,13 @@ <%= hidden_field_tag "user_#{@attribute}_model[attribute_models][][disabled]", attribute_model.is_disabled? , :class => 'built_in_state' %> <% else %> - (<%= t(:delete) %>) - <%= hidden_field_tag "user_#{@attribute}_model[attribute_models][][should_destroy]", nil , :class => 'should_destroy' %> + <%= t(:delete) %> + <%= hidden_field_tag "user_#{@attribute}_model[attribute_models][][should_destroy]", nil , :class => 'should_destroy' %> <% end %> - <%= f.hidden_field :id %> - <%= f.hidden_field :key %> - <% end %> - - - -<% end %> + <%= f.hidden_field :id %> + <%= f.hidden_field :key %> + <% end %> + + + +<% end %> \ No newline at end of file diff --git a/app/views/admin/user_attribute_models/_form.html.erb b/app/views/admin/user_attribute_models/_form.html.erb index 3b8a0b5f..f7325ec2 100644 --- a/app/views/admin/user_attribute_models/_form.html.erb +++ b/app/views/admin/user_attribute_models/_form.html.erb @@ -1,59 +1,73 @@ - - - - <% @site_valid_locales.each do |locale| %> - - <% end %> - - - - <% @site_valid_locales.each do |locale| %> - - <% end %> - -
<%= t('admin.key') %><%= locale %>
<%= is_new ? (f.text_field :key, {:style => "width:130px"}) : @user_attribute_model.key %> - <%= text_field_tag "user_#{@attribute}_model[i18n_variable][#{locale}]", (@i18n_variable[locale] if @i18n_variable), :style => "width:130px" %> -
- -
- - <%= t('admin.attributes')%> - - - - - - - <% @site_valid_locales.each do |locale| %> - - <% end %> - - - - <%= render :partial => 'admin/user_attribute_models/attribute_model', :collection => @user_attribute_model.attribute_models %> -
<%= t('admin.key') %><%= t('admin.multilingual') %><%= locale %><%= t('admin.type')%>
- - (<%= t(:add) %>) -
+
+

User Role

+
+ + + + + <% @site_valid_locales.each do |locale| %> + + <% end %> + + + + + + <% @site_valid_locales.each do |locale| %> + + <% end %> + + +
<%= t('admin.key') %><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %>
<%= is_new ? (f.text_field :key, {:style => "width:150px"}) : @user_attribute_model.key %> + <%= text_field_tag "user_#{@attribute}_model[i18n_variable][#{locale}]", (@i18n_variable[locale] if @i18n_variable), :style => "width:150px" %> +
+
+
+
+

Attributes

+
+ + + + + + <% @site_valid_locales.each do |locale| %> + + <% end %> + + + + + + + + + + + <%= render :partial => 'admin/user_attribute_models/attribute_model', :collection => @user_attribute_model.attribute_models %> + +
<%= t('admin.key') %><%= t('admin.multilingual') %><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %><%= t('admin.type')%> 
<%= t(:add) %>
+
+
<% content_for :page_specific_javascript do %> <% end -%> diff --git a/app/views/admin/users/_show_user_attribute.html.erb b/app/views/admin/users/_show_user_attribute.html.erb index 2531f29a..a6468944 100644 --- a/app/views/admin/users/_show_user_attribute.html.erb +++ b/app/views/admin/users/_show_user_attribute.html.erb @@ -1,17 +1,27 @@ -
- <%= am.i18n_variable[I18n.locale] %> - - <% am.get_enabled_attribute_models.each do |attr| %> - - - - - <% end %> -
<%= attr.i18n_variable[I18n.locale] %> - <% if attr["locale"] && attr["markup"] == 'text_field' %> - <%= show_user_attribute(object, attr.key, I18n.locale) %> - <% else %> - <%= show_user_attribute(object, attr.key) %> - <% end %> -
-
+
+ + + + <% @site_valid_locales.each do |locale| %> + + <% end %> + + + <% am.get_enabled_attribute_models.each do |attr| %> + + + + <% @site_valid_locales.each do |locale| %> + + <% end %> + + <% end %> + +
<%= t("admin.key") %><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %>
<%= attr.i18n_variable[I18n.locale] %> + <% if attr["locale"] && attr["markup"] == 'text_field' %> + <%= show_user_attribute(object, attr.key, locale) %> + <% else %> + <%= show_user_attribute(object, attr.key) %> + <% end %> +
+
\ No newline at end of file diff --git a/app/views/admin/users/_user_attribute.html.erb b/app/views/admin/users/_user_attribute.html.erb index f9e4fd76..1ee17890 100644 --- a/app/views/admin/users/_user_attribute.html.erb +++ b/app/views/admin/users/_user_attribute.html.erb @@ -1,42 +1,44 @@ <%= fields_for "user[user_#{type}s]", user_attribute, :index => nil do |f| %> - <%= ua.i18n_variable[I18n.locale] %> <%= f.hidden_field :key, :value => ua.key %> <%= f.hidden_field :id unless user_attribute.new_record? %> - - - - - <% @site_valid_locales.each do |locale| %> - - <% end %> - - - <% ua.get_enabled_attribute_models.each do |attr| %> - <% value = user_attribute.attribute_values.detect{|v| v.key == attr.key } %> - <%= hidden_field_tag "user[user_#{type}s][][attribute_values][][id]", value.id rescue nil %> - <%= hidden_field_tag "user[user_#{type}s][][attribute_values][][key]", attr.key %> - - - <% if attr["locale"] && attr["markup"] == 'text_field' %> - <%= hidden_field_tag "user[user_#{type}s][][attribute_values][][non_locale]", nil %> - <% @site_valid_locales.each do |locale| %> - - <% end -%> - <% else %> - - <% end -%> - - <% end %> - -
<%= t("admin.key") %><%= locale %>
<%= attr.i18n_variable[I18n.locale] %> - <%= text_field_tag "user[user_#{type}s][][attribute_values][][#{locale}]", (value[locale] rescue nil) %> - > - <% if attr["markup"] == "text_field" %> - <%= text_field_tag "user[user_#{type}s][][attribute_values][][non_locale]", (value['non_locale'] rescue nil) %> - <% elsif attr["markup"] == "select" %> - <%= select_tag "user[user_#{type}s][][attribute_values][][non_locale]", options_for_select(attr["options"], value['non_locale']) %> - <% end -%> -
+
+ + + + + <% @site_valid_locales.each do |locale| %> + + <% end %> + + + + <% ua.get_enabled_attribute_models.each do |attr| %> + <% value = user_attribute.attribute_values.detect{|v| v.key == attr.key } %> + <%= hidden_field_tag "user[user_#{type}s][][attribute_values][][id]", value.id rescue nil %> + <%= hidden_field_tag "user[user_#{type}s][][attribute_values][][key]", attr.key %> + + + <% if attr["locale"] && attr["markup"] == 'text_field' %> + <%= hidden_field_tag "user[user_#{type}s][][attribute_values][][non_locale]", nil %> + <% @site_valid_locales.each do |locale| %> + + <% end -%> + <% else %> + + <% end -%> + + <% end %> + +
<%= t("admin.key") %><%= I18nVariable.first(:conditions => {:key => locale})[I18n.locale] %>
<%= attr.i18n_variable[I18n.locale] %> + <%= text_field_tag "user[user_#{type}s][][attribute_values][][#{locale}]", (value[locale] rescue nil) %> + > + <% if attr["markup"] == "text_field" %> + <%= text_field_tag "user[user_#{type}s][][attribute_values][][non_locale]", (value['non_locale'] rescue nil) %> + <% elsif attr["markup"] == "select" %> + <%= select_tag "user[user_#{type}s][][attribute_values][][non_locale]", options_for_select(attr["options"], value['non_locale']) %> + <% end -%> +
+
<% end %> diff --git a/app/views/admin/users/edit.html.erb b/app/views/admin/users/edit.html.erb index 1e4f9134..43053c4f 100644 --- a/app/views/admin/users/edit.html.erb +++ b/app/views/admin/users/edit.html.erb @@ -1,19 +1,21 @@ +<% content_for :body_id do %>user_list<% end -%> + <% content_for :secondary do %> -
    -
  • <%= link_to t('admin.new_user'), new_admin_user_path, :class => 'button positive' %>
  • -
+
+

Member Setup

+
    +
  • <%= link_to content_tag(:span, t('admin.list_users')), admin_users_path %>
  • +
  • <%= link_to content_tag(:span, t('admin.list_user_roles')), admin_user_role_models_path %>
  • +
+
<% end -%> -<%= flash_messages %> - -

<%= t('admin.user_panel') %>

- -<%= form_for @user, :url => admin_user_path(@user), :html => { :multipart => true } do |f| %> - <%= f.error_messages %> +
+ <%= form_for @user, :url => admin_user_path(@user), :html => { :multipart => true } do |f| %> + <%= f.error_messages %> <%= render :partial => 'form', :locals => { :f => f } %> - -

- <%= f.submit t(:update) %> <%= link_back %> -

- -<% end -%> +
+ <%= f.submit t('update') %> <%= link_back %> +
+ <% end -%> +
\ No newline at end of file diff --git a/app/views/admin/users/index.html.erb b/app/views/admin/users/index.html.erb index 86d8e209..72c8179d 100644 --- a/app/views/admin/users/index.html.erb +++ b/app/views/admin/users/index.html.erb @@ -1,42 +1,46 @@ +<% content_for :body_id do %>user_list<% end -%> + <% content_for :secondary do %> -
-
-

Member Setup

-
    -
  • <%= link_to content_tag(:span, t('admin.list_users')), admin_users_path %>
  • -
  • <%= link_to content_tag(:span, t('admin.list_user_roles')), admin_user_role_models_path %>
  • -
-
+
+

Member Setup

+
    +
  • <%= link_to content_tag(:span, t('admin.list_users')), admin_users_path %>
  • +
  • <%= link_to content_tag(:span, t('admin.list_user_roles')), admin_user_role_models_path %>
  • +
<% end -%> -<%= flash_messages %> -
- <%= link_to t('admin.new_user'), new_admin_user_path %> -
-
    -
  • - Roles - Name - - Admin - Action -
  • - <% @users.each do |user| %> + +
    + <%= flash_messages %> +
    + <%= link_to t('admin.new_user'), new_admin_user_path %> +
    +
      +
    • + Roles + Name + + Admin + Action +
    • + <% @users.each do |user| %>
    • - <%= user.get_roles %> + <% active_role = UserRoleModel.get_role_model_from_key(user.active_role) %> + <%= active_role.i18n_variable[I18n.locale] rescue nil %> <%= user.name ? user.name : 'bob' %> <%= user.admin ? t(:yes_) : t(:no_) %> - <%= link_to t(:show), admin_user_path(user), :class => 'show' %> - <%= link_to t(:edit), edit_admin_user_path(user), :class => 'edit' %> - <%= link_to t(:delete), admin_user_path(user), :class => 'delete', :confirm => t('sure?'), :method => :delete %> + <%= link_to t(:show), admin_user_path(user), :class => 'show' %> + <%= link_to t(:edit), edit_admin_user_path(user), :class => 'edit' %> + <%= link_to t(:delete), admin_user_path(user), :class => 'delete', :confirm => t('sure?'), :method => :delete %>
    • - <% end %> -
    -
    - <%= link_to t('admin.new_user'), new_admin_user_path %> + <% end %> +
+
+ <%= link_to t('admin.new_user'), new_admin_user_path %> +
diff --git a/app/views/admin/users/new.html.erb b/app/views/admin/users/new.html.erb index 855493c4..9a3a866f 100644 --- a/app/views/admin/users/new.html.erb +++ b/app/views/admin/users/new.html.erb @@ -1,18 +1,26 @@ +<% content_for :body_id do %>user_list<% end -%> + <% content_for :secondary do %> -
    -
  • <%= link_to t('admin.new_user'), new_admin_user_path, :class => 'button positive' %>
  • -
+
+

Member Setup

+
    +
  • <%= link_to content_tag(:span, t('admin.list_users')), admin_users_path %>
  • +
  • <%= link_to content_tag(:span, t('admin.list_user_roles')), admin_user_role_models_path %>
  • +
+
<% end -%> -

<%= t('admin.user_panel') %>

+
+ <%= form_for @user, :url => admin_users_path, :html => { :multipart => true } do |f| %> + <%= f.error_messages %> + <%= render :partial => 'form', :locals => { :f => f } %> +
+ <%= f.submit t('create') %> <%= link_back %> +
+ <% end -%> +
+ + -<%= form_for @user, :url => admin_users_path, :html => { :multipart => true } do |f| %> - <%= f.error_messages %> - <%= render :partial => 'form', :locals => { :f => f } %> -

- <%= f.submit t(:create) %> <%= link_back %> -

- -<% end -%> diff --git a/app/views/admin/users/show.html.erb b/app/views/admin/users/show.html.erb index 7024387a..7e4b5ab6 100644 --- a/app/views/admin/users/show.html.erb +++ b/app/views/admin/users/show.html.erb @@ -1,29 +1,40 @@ +<% content_for :body_id do %>user_list<% end -%> + <% content_for :secondary do %> -
    -
  • <%= link_to t('admin.new_user'), new_admin_user_path, :class => 'button positive' %>
  • -
+
+

Member Setup

+
    +
  • <%= link_to content_tag(:span, t('admin.list_users')), admin_users_path %>
  • +
  • <%= link_to content_tag(:span, t('admin.list_user_roles')), admin_user_role_models_path %>
  • +
+
<% end -%> -

<%= t('admin.user_panel') %>

+
+ +
+ <% if @user.avatar? %> + <%= image_tag(@user.avatar.thumb.url) %> + <% else %> + <%= image_tag "person.png" %> + <% end %> + <%= link_to t(:edit), edit_admin_user_path(@user), :id => 'edit' %> +
+ + <% @user_info_models.each do |am| %> +
+

<%= am.i18n_variable[I18n.locale] %>

+
+ <%= render :partial => 'show_user_attribute', :locals => {:am => am, :object => @user.get_info_from_model_key(am.key)} %> +
+ <% end -%> -<%= image_tag(@user.avatar.thumb.url) rescue nil %> +
+ <% active_role = UserRoleModel.get_role_model_from_key(@user.active_role) %> +

<%= active_role.i18n_variable[I18n.locale] %>

+
+ <%= render :partial => 'show_user_attribute', :locals => {:am => active_role, :object => @user.get_role_from_model_key(active_role.key)} %> +
+ +
-<%= @user.email %> - -<% if @user_info_models %> -
- <%= t('admin.info') %> - <% @user_info_models.each do |am| %> - <%= render :partial => 'show_user_attribute', :locals => {:am => am, :object => @user.get_info_from_model_key(am.key)} %> - <% end -%> -
-<% end %> - -<% if @user.active_roles.size > 0 %> -
- <%= t('admin.roles') %> - <% @user.get_active_role_models.each do |am| %> - <%= render :partial => 'show_user_attribute', :locals => {:am => am, :object => @user.get_role_from_model_key(am.key)} %> - <% end -%> -
-<% end %> diff --git a/app/views/layouts/member.html.erb b/app/views/layouts/member.html.erb index 6d8d9517..5cffe7b4 100644 --- a/app/views/layouts/member.html.erb +++ b/app/views/layouts/member.html.erb @@ -12,7 +12,7 @@ <%= csrf_meta_tag %> - +
@@ -35,8 +35,7 @@
-
- <%= yield %> + <%= yield %>
diff --git a/lib/tasks/dev.rake b/lib/tasks/dev.rake index 4603c2a2..975ed336 100644 --- a/lib/tasks/dev.rake +++ b/lib/tasks/dev.rake @@ -13,7 +13,7 @@ namespace :dev do Site.create( :school => 'The Best School', :department => 'Awesome', :valid_locales => [ 'en', 'zh_tw' ], :in_use_locales => [ 'zh_tw', 'en' ]) - user = User.new( :email => 'chris@rulingcom.com', :password => 'password', :password_confirmation => 'password', :admin => true, :active_roles => ['teacher']) + user = User.new( :email => 'chris@rulingcom.com', :password => 'password', :password_confirmation => 'password', :admin => true, :active_role => 'teacher') user.user_roles.build(:key => 'teacher', :discipline_en => 'Database', :discipline_zh_tw => '資料庫' ) user.save! diff --git a/vendor/plugins/NewBlog/.gitignore b/vendor/plugins/NewBlog/.gitignore new file mode 100644 index 00000000..1463de6d --- /dev/null +++ b/vendor/plugins/NewBlog/.gitignore @@ -0,0 +1,6 @@ +.bundle/ +log/*.log +pkg/ +test/dummy/db/*.sqlite3 +test/dummy/log/*.log +test/dummy/tmp/ \ No newline at end of file diff --git a/vendor/plugins/NewBlog/Gemfile b/vendor/plugins/NewBlog/Gemfile new file mode 100644 index 00000000..52a1640b --- /dev/null +++ b/vendor/plugins/NewBlog/Gemfile @@ -0,0 +1,16 @@ +source "http://rubygems.org" + +# Declare your gem's dependencies in NewBlog.gemspec. +# Bundler will treat runtime dependencies like base dependencies, and +# development dependencies will be added by default to the :development group. + +gem "mongoid" +gemspec + +# Declare any dependencies that are still in development here instead of in +# your gemspec. These might include edge Rails or gems from your path or +# Git. Remember to move these dependencies to your gemspec before releasing +# your gem to rubygems.org. + +# To use debugger +# gem 'ruby-debug19', :require => 'ruby-debug' diff --git a/vendor/plugins/NewBlog/Gemfile.lock b/vendor/plugins/NewBlog/Gemfile.lock new file mode 100644 index 00000000..e986f6fe --- /dev/null +++ b/vendor/plugins/NewBlog/Gemfile.lock @@ -0,0 +1,101 @@ +PATH + remote: . + specs: + NewBlog (0.0.1) + rails (~> 3.1.0.rc6) + +GEM + remote: http://rubygems.org/ + specs: + actionmailer (3.1.0) + actionpack (= 3.1.0) + mail (~> 2.3.0) + actionpack (3.1.0) + activemodel (= 3.1.0) + activesupport (= 3.1.0) + builder (~> 3.0.0) + erubis (~> 2.7.0) + i18n (~> 0.6) + rack (~> 1.3.2) + rack-cache (~> 1.0.3) + rack-mount (~> 0.8.2) + rack-test (~> 0.6.1) + sprockets (~> 2.0.0) + activemodel (3.1.0) + activesupport (= 3.1.0) + bcrypt-ruby (~> 3.0.0) + builder (~> 3.0.0) + i18n (~> 0.6) + activerecord (3.1.0) + activemodel (= 3.1.0) + activesupport (= 3.1.0) + arel (~> 2.2.1) + tzinfo (~> 0.3.29) + activeresource (3.1.0) + activemodel (= 3.1.0) + activesupport (= 3.1.0) + activesupport (3.1.0) + multi_json (~> 1.0) + arel (2.2.1) + bcrypt-ruby (3.0.0) + bson (1.3.1) + builder (3.0.0) + erubis (2.7.0) + hike (1.2.1) + i18n (0.6.0) + mail (2.3.0) + i18n (>= 0.4.0) + mime-types (~> 1.16) + treetop (~> 1.4.8) + mime-types (1.16) + mongo (1.3.1) + bson (>= 1.3.1) + mongoid (2.1.9) + activemodel (~> 3.0) + mongo (~> 1.3) + tzinfo (~> 0.3.22) + multi_json (1.0.3) + polyglot (0.3.2) + rack (1.3.2) + rack-cache (1.0.3) + rack (>= 0.4) + rack-mount (0.8.3) + rack (>= 1.0.0) + rack-ssl (1.3.2) + rack + rack-test (0.6.1) + rack (>= 1.0) + rails (3.1.0) + actionmailer (= 3.1.0) + actionpack (= 3.1.0) + activerecord (= 3.1.0) + activeresource (= 3.1.0) + activesupport (= 3.1.0) + bundler (~> 1.0) + railties (= 3.1.0) + railties (3.1.0) + actionpack (= 3.1.0) + activesupport (= 3.1.0) + rack-ssl (~> 1.3.2) + rake (>= 0.8.7) + rdoc (~> 3.4) + thor (~> 0.14.6) + rake (0.9.2) + rdoc (3.9.4) + sprockets (2.0.0) + hike (~> 1.2) + rack (~> 1.0) + tilt (!= 1.3.0, ~> 1.1) + thor (0.14.6) + tilt (1.3.3) + treetop (1.4.10) + polyglot + polyglot (>= 0.3.1) + tzinfo (0.3.29) + +PLATFORMS + ruby + +DEPENDENCIES + NewBlog! + mongoid diff --git a/vendor/plugins/NewBlog/MIT-LICENSE b/vendor/plugins/NewBlog/MIT-LICENSE new file mode 100644 index 00000000..80cf031a --- /dev/null +++ b/vendor/plugins/NewBlog/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright 2011 YOURNAME + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/plugins/NewBlog/NewBlog.gemspec b/vendor/plugins/NewBlog/NewBlog.gemspec new file mode 100644 index 00000000..93e5b31d --- /dev/null +++ b/vendor/plugins/NewBlog/NewBlog.gemspec @@ -0,0 +1,23 @@ +$:.push File.expand_path("../lib", __FILE__) + +# Maintain your gem's version: +require "NewBlog/version" + +# Describe your gem and declare its dependencies: +Gem::Specification.new do |s| + s.name = "NewBlog" + s.version = NewBlog::VERSION + s.authors = ["TODO: Your name"] + s.email = ["TODO: Your email"] + s.homepage = "TODO" + s.summary = "TODO: Summary of NewBlog." + s.description = "TODO: Description of NewBlog." + + s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] + s.test_files = Dir["test/**/*"] + + s.add_dependency "rails", "~> 3.1.0.rc6" + # s.add_dependency "jquery-rails" + + #s.add_development_dependency "sqlite3" +end diff --git a/vendor/plugins/NewBlog/NewBlog.json b/vendor/plugins/NewBlog/NewBlog.json new file mode 100644 index 00000000..0197b9d0 --- /dev/null +++ b/vendor/plugins/NewBlog/NewBlog.json @@ -0,0 +1,9 @@ +{ + "name_of_app": "NewBlog", + "version": "0.1", + "organization": "Rulingcom", + "author": "RD dep", + "intro": "A simple blog……", + "update_info": "Some info", + "create_date": "11-11-2011" +} \ No newline at end of file diff --git a/vendor/plugins/NewBlog/README.rdoc b/vendor/plugins/NewBlog/README.rdoc new file mode 100644 index 00000000..4845c91f --- /dev/null +++ b/vendor/plugins/NewBlog/README.rdoc @@ -0,0 +1,3 @@ += NewBlog + +This project rocks and uses MIT-LICENSE. \ No newline at end of file diff --git a/vendor/plugins/NewBlog/Rakefile b/vendor/plugins/NewBlog/Rakefile new file mode 100644 index 00000000..01e88eef --- /dev/null +++ b/vendor/plugins/NewBlog/Rakefile @@ -0,0 +1,39 @@ +#!/usr/bin/env rake +begin + require 'bundler/setup' +rescue LoadError + puts 'You must `gem install bundler` and `bundle install` to run rake tasks' +end +begin + require 'rdoc/task' +rescue LoadError + require 'rdoc/rdoc' + require 'rake/rdoctask' + RDoc::Task = Rake::RDocTask +end + +RDoc::Task.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = 'NewBlog' + rdoc.options << '--line-numbers' + rdoc.rdoc_files.include('README.rdoc') + rdoc.rdoc_files.include('lib/**/*.rb') +end + +APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__) +load 'rails/tasks/engine.rake' + + +Bundler::GemHelper.install_tasks + +require 'rake/testtask' + +Rake::TestTask.new(:test) do |t| + t.libs << 'lib' + t.libs << 'test' + t.pattern = 'test/**/*_test.rb' + t.verbose = false +end + + +task :default => :test diff --git a/vendor/plugins/NewBlog/app/assets/images/NewBlog/.gitkeep b/vendor/plugins/NewBlog/app/assets/images/NewBlog/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/assets/javascripts/NewBlog/.gitkeep b/vendor/plugins/NewBlog/app/assets/javascripts/NewBlog/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/.gitkeep b/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/application.css b/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/application.css new file mode 100644 index 00000000..69b4b126 --- /dev/null +++ b/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/application.css @@ -0,0 +1,7 @@ +/* + *This is a manifest file that'll automatically include all the stylesheets available in this directory + *and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + *the top of the compiled file, but it's generally better to create a new file per style scope. + *= require_self + *= require_tree . +*/ diff --git a/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/production.css b/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/production.css new file mode 100644 index 00000000..202a62a4 --- /dev/null +++ b/vendor/plugins/NewBlog/app/assets/stylesheets/NewBlog/production.css @@ -0,0 +1,21 @@ +.preview h2 { + font-size: large; + background-color: red; + } + +.production h2 { + font-size: large; + background-color: green; + } + +.widget_index { + width: 200px; + height: 120px; + border: solid; +} + +.widget_latest_post{ + width: 200px; + height: 120px; + border: solid; +} \ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/controllers/.gitkeep b/vendor/plugins/NewBlog/app/controllers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/controllers/application_controller.rb b/vendor/plugins/NewBlog/app/controllers/application_controller.rb new file mode 100644 index 00000000..307a4acd --- /dev/null +++ b/vendor/plugins/NewBlog/app/controllers/application_controller.rb @@ -0,0 +1,23 @@ +class ApplicationController < ActionController::Base + protect_from_forgery + before_filter :set_locale + + # Set I18n.locale + def set_locale + # update session if passed + session[:locale] = params[:locale] if params[:locale] + + # set locale based on session or default + begin + # check if locale is valid for non site pages + if !VALID_LOCALES.include?(session[:locale]) + I18n.locale = I18n.default_locale + else + I18n.locale = session[:locale] + end + rescue + I18n.locale = I18n.default_locale + end + end + +end diff --git a/vendor/plugins/NewBlog/app/controllers/panel/blog/comments_controller.rb b/vendor/plugins/NewBlog/app/controllers/panel/blog/comments_controller.rb new file mode 100644 index 00000000..971f58a6 --- /dev/null +++ b/vendor/plugins/NewBlog/app/controllers/panel/blog/comments_controller.rb @@ -0,0 +1,7 @@ +class Panel::Blog::CommentsController < ApplicationController + def create + @post = Post.find(params[:post_id]) + @comment = @post.comments.create!(params[:comment]) + redirect_to panel_blog_post_url(@post) + end +end \ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/controllers/panel/blog/posts_controller.rb b/vendor/plugins/NewBlog/app/controllers/panel/blog/posts_controller.rb new file mode 100644 index 00000000..41468846 --- /dev/null +++ b/vendor/plugins/NewBlog/app/controllers/panel/blog/posts_controller.rb @@ -0,0 +1,111 @@ +class Panel::Blog::PostsController < ApplicationController + + layout 'admin' + + # GET /posts + # GET /posts.xml + def widget_index + @posts = Post.all + widget_default_layout + end + def widget_latest_post + @post = Post.all.last + widget_default_layout + end + def index + @posts = Post.all + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @posts } + end + end + + # GET /posts/1 + # GET /posts/1.xml + def show + @post = Post.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @post } + end + end + + # GET /posts/new + # GET /posts/new.xml + def new + @post = Post.new + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @post } + end + end + + # GET /posts/1/edit + def edit + @post = Post.find(params[:id]) + end + + # POST /posts + # POST /posts.xml + def create + @post = Post.new(params[:post]) + + respond_to do |format| + if @post.save + format.html { redirect_to(panel_blog_post_url(@post), :notice => t('blog.create_post_success')) } + format.xml { render :xml => @post, :status => :created, :location => @post } + else + format.html { render :action => "new" } + format.xml { render :xml => @post.errors, :status => :unprocessable_entity } + end + end + end + + # PUT /posts/1 + # PUT /posts/1.xml + def update + @post = Post.find(params[:id]) + + respond_to do |format| + if @post.update_attributes(params[:post]) + format.html { redirect_to(panel_blog_post_url(@post), :notice => t('blog.update_post_success')) } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @post.errors, :status => :unprocessable_entity } + end + end + end + + # DELETE /posts/1 + # DELETE /posts/1.xml + def destroy + @post = Post.find(params[:id]) + @post.destroy + + respond_to do |format| + format.html { redirect_to(panel_blog_posts_url) } + format.xml { head :ok } + end + end +end + + +def widget_default_layout + respond_to do |format| + format.html { + if params[:edit_view] + #in the case of editing,should be displayed in modal window and + #be restricted by the border developer sat. + render :layout => 'admin' + else + #in the case of fetching data for ajax display,should + render :layout => 'production' + end + } + format.xml { render :xml => @posts } + end +end diff --git a/vendor/plugins/NewBlog/app/helpers/.gitkeep b/vendor/plugins/NewBlog/app/helpers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/helpers/application_helper.rb b/vendor/plugins/NewBlog/app/helpers/application_helper.rb new file mode 100644 index 00000000..de6be794 --- /dev/null +++ b/vendor/plugins/NewBlog/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/vendor/plugins/NewBlog/app/mailers/.gitkeep b/vendor/plugins/NewBlog/app/mailers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/models/.gitkeep b/vendor/plugins/NewBlog/app/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/models/comment.rb b/vendor/plugins/NewBlog/app/models/comment.rb new file mode 100644 index 00000000..a85b7a43 --- /dev/null +++ b/vendor/plugins/NewBlog/app/models/comment.rb @@ -0,0 +1,7 @@ +class Comment + include Mongoid::Document + include Mongoid::Timestamps + field :name, :type => String + field :body, :type => String + embedded_in :post, :inverse_of => :comments +end \ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/models/post.rb b/vendor/plugins/NewBlog/app/models/post.rb new file mode 100644 index 00000000..f60c1c19 --- /dev/null +++ b/vendor/plugins/NewBlog/app/models/post.rb @@ -0,0 +1,8 @@ +class Post + include Mongoid::Document + include Mongoid::Timestamps + field :title, :type => String + field :body, :type => String + embeds_many :comments + validates_presence_of :title, :body +end \ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/views/.gitkeep b/vendor/plugins/NewBlog/app/views/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/app/views/layouts/application.html.erb b/vendor/plugins/NewBlog/app/views/layouts/application.html.erb new file mode 100644 index 00000000..e8c46989 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + Blog + <%= stylesheet_link_tag :all %> + <%= javascript_include_tag :defaults %> + <%= csrf_meta_tag %> + + + +<%= yield %> + + + diff --git a/vendor/plugins/NewBlog/app/views/layouts/edit_view.html.erb b/vendor/plugins/NewBlog/app/views/layouts/edit_view.html.erb new file mode 100644 index 00000000..28bf833a --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/layouts/edit_view.html.erb @@ -0,0 +1,14 @@ + + + + Blog + <%= stylesheet_link_tag :all %> + <%= javascript_include_tag :defaults %> + <%= csrf_meta_tag %> + + +
+ <%= yield %> +
+ + diff --git a/vendor/plugins/NewBlog/app/views/layouts/production.html.erb b/vendor/plugins/NewBlog/app/views/layouts/production.html.erb new file mode 100644 index 00000000..d90a4112 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/layouts/production.html.erb @@ -0,0 +1,3 @@ +
+ <%= yield %> +
diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/_form.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/_form.html.erb new file mode 100644 index 00000000..3c459566 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/_form.html.erb @@ -0,0 +1,14 @@ + + <%= f.error_messages %> + +
+ <%= f.label :title %>
+ <%= f.text_field :title %> +
+
+ <%= f.label :body %>
+ <%= f.text_area :body %> +
+
+ <%= f.submit %> +
diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/edit.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/edit.html.erb new file mode 100644 index 00000000..8b2b1f1d --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/edit.html.erb @@ -0,0 +1,8 @@ +

<%= t('blog.editing_post') %>

+ +<%= form_for @post, :url => panel_blog_post_path(@post) do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> + +<%= link_to t('blog.show'), panel_blog_post_path(@post) %> | +<%= link_back %> diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/index.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/index.html.erb new file mode 100644 index 00000000..346cd133 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/index.html.erb @@ -0,0 +1,25 @@ +

<%= t('blog.list_post') %>

+ + + + + + + + + + +<% @posts.each do |post| %> + + + + + + + +<% end %> +
<%= t('blog.title') %><%= t('blog.body') %>
<%= post.title %><%= post.body %><%= link_to t('blog.show'), panel_blog_post_path(post) %><%= link_to t('blog.edit'), edit_panel_blog_post_path(post) %><%= link_to t('blog.delete'), panel_blog_post_path(post), :confirm => t('blog.sure?'), :method => :delete %>
+ +
+ +<%= link_to t('blog.new_post'), new_panel_blog_post_path %> \ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/latest_post.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/latest_post.html.erb new file mode 100644 index 00000000..9eb6ebbb --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/latest_post.html.erb @@ -0,0 +1,5 @@ +<%=stylesheet_link_tag "NewBlog/application"%> +

<%=@post.title%>

+

+ <%= @post.body%> +

diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/new.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/new.html.erb new file mode 100644 index 00000000..5e6eee2f --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/new.html.erb @@ -0,0 +1,6 @@ +

<%= t('blog.new_post') %>

+<%= form_for @post, :url => panel_blog_posts_path do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> + +<%= link_back %> diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/show.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/show.html.erb new file mode 100644 index 00000000..7fce5fd1 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/show.html.erb @@ -0,0 +1,38 @@ +

<%= flash_messages %>

+ +

+ <%= t('blog.body') %> + <%=h @post.body %> +

+ +

<%= t('blog.comments') %>

+ +<% @post.comments.each do |c| %> +

+ <%=h c.name %> said:
+ <%= time_ago_in_words(c.created_at) %> ago +

+ +

+ <%=h c.body %> +

+<% end %> + +<%= form_for Comment.new, :url => panel_blog_comments_path do |f| %> +

+ + <%= f.label :name, "Author" %>
+ <%= f.text_field :name %>
+ <%= f.label :body, "Comment Description" %>
+ <%= f.text_area :body %> + <%= hidden_field_tag :post_id, @post.id %> +

+ +

+ <%= f.submit "Add Comment" %> +

+<% end %> + + +<%= link_to t('blog.edit'), edit_panel_blog_post_path(@post) %> | +<%= link_back %> \ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_index.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_index.html.erb new file mode 100644 index 00000000..cd16cfc7 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_index.html.erb @@ -0,0 +1,16 @@ +<%=stylesheet_link_tag "NewBlog/application"%> +
+ + + + + + + <% @posts.each do |post| %> + + + + + <% end %> +
<%= t('blog.title') %><%= t('blog.body') %>
<%= link_to post.title,panel_blog_post_path(post) %><%= post.body.truncate(14) %>
+
\ No newline at end of file diff --git a/vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_latest_post.html.erb b/vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_latest_post.html.erb new file mode 100644 index 00000000..2312fc74 --- /dev/null +++ b/vendor/plugins/NewBlog/app/views/panel/blog/posts/widget_latest_post.html.erb @@ -0,0 +1,7 @@ +<%=stylesheet_link_tag "NewBlog/application"%> +
+

<%= @post.title %>

+

+ <%= @post.body %> +

+
\ No newline at end of file diff --git a/vendor/plugins/NewBlog/config/routes.rb b/vendor/plugins/NewBlog/config/routes.rb new file mode 100644 index 00000000..b619df18 --- /dev/null +++ b/vendor/plugins/NewBlog/config/routes.rb @@ -0,0 +1,13 @@ +Rails.application.routes.draw do + + namespace :panel do + namespace :blog do + root :to => "posts#index" + resources :posts + resources :comments + match "widget_latest_post" => "posts#widget_latest_post" + match "widget_index" => "posts#widget_index" + end + end + +end diff --git a/vendor/plugins/NewBlog/lib/NewBlog.rb b/vendor/plugins/NewBlog/lib/NewBlog.rb new file mode 100644 index 00000000..09046450 --- /dev/null +++ b/vendor/plugins/NewBlog/lib/NewBlog.rb @@ -0,0 +1,5 @@ +require "NewBlog/engine" + + +module NewBlog +end diff --git a/vendor/plugins/NewBlog/lib/NewBlog/engine.rb b/vendor/plugins/NewBlog/lib/NewBlog/engine.rb new file mode 100644 index 00000000..90afca77 --- /dev/null +++ b/vendor/plugins/NewBlog/lib/NewBlog/engine.rb @@ -0,0 +1,6 @@ +module NewBlog + class Engine < Rails::Engine + isolate_namespace NewBlog + PrototypeR4::Application::Orbit_Apps << "NewBlog" + end +end diff --git a/vendor/plugins/NewBlog/lib/NewBlog/version.rb b/vendor/plugins/NewBlog/lib/NewBlog/version.rb new file mode 100644 index 00000000..9690b537 --- /dev/null +++ b/vendor/plugins/NewBlog/lib/NewBlog/version.rb @@ -0,0 +1,3 @@ +module NewBlog + VERSION = "0.0.1" +end diff --git a/vendor/plugins/NewBlog/lib/tasks/NewBlog_tasks.rake b/vendor/plugins/NewBlog/lib/tasks/NewBlog_tasks.rake new file mode 100644 index 00000000..0975b49b --- /dev/null +++ b/vendor/plugins/NewBlog/lib/tasks/NewBlog_tasks.rake @@ -0,0 +1,4 @@ +# desc "Explaining what the task does" +# task :NewBlog do +# # Task goes here +# end diff --git a/vendor/plugins/NewBlog/script/rails b/vendor/plugins/NewBlog/script/rails new file mode 100644 index 00000000..e323e44b --- /dev/null +++ b/vendor/plugins/NewBlog/script/rails @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby +#!/usr/bin/env ruby +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +ENGINE_PATH = File.expand_path('../..', __FILE__) +load File.expand_path('../../test/dummy/script/rails', __FILE__) diff --git a/vendor/plugins/NewBlog/test/NewBlog_test.rb b/vendor/plugins/NewBlog/test/NewBlog_test.rb new file mode 100644 index 00000000..2870704b --- /dev/null +++ b/vendor/plugins/NewBlog/test/NewBlog_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class NewBlogTest < ActiveSupport::TestCase + test "truth" do + assert_kind_of Module, NewBlog + end +end diff --git a/vendor/plugins/NewBlog/test/dummy/Rakefile b/vendor/plugins/NewBlog/test/dummy/Rakefile new file mode 100644 index 00000000..36458522 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/Rakefile @@ -0,0 +1,7 @@ +#!/usr/bin/env rake +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require File.expand_path('../config/application', __FILE__) + +Dummy::Application.load_tasks diff --git a/vendor/plugins/NewBlog/test/dummy/app/assets/javascripts/application.js b/vendor/plugins/NewBlog/test/dummy/app/assets/javascripts/application.js new file mode 100644 index 00000000..37c7bfcd --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/app/assets/javascripts/application.js @@ -0,0 +1,9 @@ +// This is a manifest file that'll be compiled into including all the files listed below. +// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically +// be included in the compiled file accessible from http://example.com/assets/application.js +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// +//= require jquery +//= require jquery_ujs +//= require_tree . diff --git a/vendor/plugins/NewBlog/test/dummy/app/assets/stylesheets/application.css b/vendor/plugins/NewBlog/test/dummy/app/assets/stylesheets/application.css new file mode 100644 index 00000000..fc25b572 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/app/assets/stylesheets/application.css @@ -0,0 +1,7 @@ +/* + * This is a manifest file that'll automatically include all the stylesheets available in this directory + * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + * the top of the compiled file, but it's generally better to create a new file per style scope. + *= require_self + *= require_tree . +*/ \ No newline at end of file diff --git a/vendor/plugins/NewBlog/test/dummy/app/controllers/application_controller.rb b/vendor/plugins/NewBlog/test/dummy/app/controllers/application_controller.rb new file mode 100644 index 00000000..e8065d95 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/app/controllers/application_controller.rb @@ -0,0 +1,3 @@ +class ApplicationController < ActionController::Base + protect_from_forgery +end diff --git a/vendor/plugins/NewBlog/test/dummy/app/helpers/application_helper.rb b/vendor/plugins/NewBlog/test/dummy/app/helpers/application_helper.rb new file mode 100644 index 00000000..de6be794 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/vendor/plugins/NewBlog/test/dummy/app/mailers/.gitkeep b/vendor/plugins/NewBlog/test/dummy/app/mailers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/test/dummy/app/models/.gitkeep b/vendor/plugins/NewBlog/test/dummy/app/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/test/dummy/app/views/layouts/application.html.erb b/vendor/plugins/NewBlog/test/dummy/app/views/layouts/application.html.erb new file mode 100644 index 00000000..9a8a761b --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + Dummy + <%= stylesheet_link_tag "application" %> + <%= javascript_include_tag "application" %> + <%= csrf_meta_tags %> + + + +<%= yield %> + + + diff --git a/vendor/plugins/NewBlog/test/dummy/config.ru b/vendor/plugins/NewBlog/test/dummy/config.ru new file mode 100644 index 00000000..1989ed8d --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config.ru @@ -0,0 +1,4 @@ +# This file is used by Rack-based servers to start the application. + +require ::File.expand_path('../config/environment', __FILE__) +run Dummy::Application diff --git a/vendor/plugins/NewBlog/test/dummy/config/application.rb b/vendor/plugins/NewBlog/test/dummy/config/application.rb new file mode 100644 index 00000000..5e17b68c --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/application.rb @@ -0,0 +1,46 @@ +require File.expand_path('../boot', __FILE__) + +require "action_controller/railtie" +require "action_mailer/railtie" +require "active_resource/railtie" +require "rails/test_unit/railtie" +require "sprockets/railtie" # Uncomment this line for Rails 3.1+ + +Bundler.require +require "NewBlog" + +module Dummy + class Application < Rails::Application + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + + # Custom directories with classes and modules you want to be autoloadable. + # config.autoload_paths += %W(#{config.root}/extras) + + # Only load the plugins named here, in the order given (default is alphabetical). + # :all can be used as a placeholder for all plugins not explicitly named. + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # Activate observers that should always be running. + # config.active_record.observers = :cacher, :garbage_collector, :forum_observer + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. + # config.time_zone = 'Central Time (US & Canada)' + + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. + # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] + # config.i18n.default_locale = :de + + # Configure the default encoding used in templates for Ruby 1.9. + config.encoding = "utf-8" + + # Configure sensitive parameters which will be filtered from the log file. + config.filter_parameters += [:password] + + # Enable the asset pipeline + config.assets.enabled = true + end +end + diff --git a/vendor/plugins/NewBlog/test/dummy/config/boot.rb b/vendor/plugins/NewBlog/test/dummy/config/boot.rb new file mode 100644 index 00000000..eba06813 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/boot.rb @@ -0,0 +1,10 @@ +require 'rubygems' +gemfile = File.expand_path('../../../../Gemfile', __FILE__) + +if File.exist?(gemfile) + ENV['BUNDLE_GEMFILE'] = gemfile + require 'bundler' + Bundler.setup +end + +$:.unshift File.expand_path('../../../../lib', __FILE__) \ No newline at end of file diff --git a/vendor/plugins/NewBlog/test/dummy/config/database.yml b/vendor/plugins/NewBlog/test/dummy/config/database.yml new file mode 100644 index 00000000..51a4dd45 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/database.yml @@ -0,0 +1,25 @@ +# SQLite version 3.x +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +development: + adapter: sqlite3 + database: db/development.sqlite3 + pool: 5 + timeout: 5000 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + adapter: sqlite3 + database: db/test.sqlite3 + pool: 5 + timeout: 5000 + +production: + adapter: sqlite3 + database: db/production.sqlite3 + pool: 5 + timeout: 5000 diff --git a/vendor/plugins/NewBlog/test/dummy/config/environment.rb b/vendor/plugins/NewBlog/test/dummy/config/environment.rb new file mode 100644 index 00000000..3da5eb91 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/environment.rb @@ -0,0 +1,5 @@ +# Load the rails application +require File.expand_path('../application', __FILE__) + +# Initialize the rails application +Dummy::Application.initialize! diff --git a/vendor/plugins/NewBlog/test/dummy/config/environments/development.rb b/vendor/plugins/NewBlog/test/dummy/config/environments/development.rb new file mode 100644 index 00000000..1f1595dc --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/environments/development.rb @@ -0,0 +1,27 @@ +Dummy::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Log error messages when you accidentally call methods on nil. + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Don't care if the mailer can't send + config.action_mailer.raise_delivery_errors = false + + # Print deprecation notices to the Rails logger + config.active_support.deprecation = :log + + # Only use best-standards-support built into browsers + config.action_dispatch.best_standards_support = :builtin + + # Do not compress assets + config.assets.compress = false +end diff --git a/vendor/plugins/NewBlog/test/dummy/config/environments/production.rb b/vendor/plugins/NewBlog/test/dummy/config/environments/production.rb new file mode 100644 index 00000000..67a50850 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/environments/production.rb @@ -0,0 +1,51 @@ +Dummy::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # Code is not reloaded between requests + config.cache_classes = true + + # Full error reports are disabled and caching is turned on + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Disable Rails's static asset server (Apache or nginx will already do this) + config.serve_static_assets = false + + # Compress JavaScripts and CSS + config.assets.compress = true + + # Specifies the header that your server uses for sending files + # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # See everything in the log (default is :info) + # config.log_level = :debug + + # Use a different logger for distributed setups + # config.logger = SyslogLogger.new + + # Use a different cache store in production + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server + # config.action_controller.asset_host = "http://assets.example.com" + + # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) + # config.assets.precompile += %w( search.js ) + + # Disable delivery errors, bad email addresses will be ignored + # config.action_mailer.raise_delivery_errors = false + + # Enable threaded mode + # config.threadsafe! + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation can not be found) + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners + config.active_support.deprecation = :notify +end diff --git a/vendor/plugins/NewBlog/test/dummy/config/environments/test.rb b/vendor/plugins/NewBlog/test/dummy/config/environments/test.rb new file mode 100644 index 00000000..6810c914 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/environments/test.rb @@ -0,0 +1,39 @@ +Dummy::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Configure static asset server for tests with Cache-Control for performance + config.serve_static_assets = true + config.static_cache_control = "public, max-age=3600" + + # Log error messages when you accidentally call methods on nil + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment + config.action_controller.allow_forgery_protection = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Use SQL instead of Active Record's schema dumper when creating the test database. + # This is necessary if your schema can't be completely dumped by the schema dumper, + # like if you have constraints or database-specific column types + # config.active_record.schema_format = :sql + + # Print deprecation notices to the stderr + config.active_support.deprecation = :stderr +end diff --git a/vendor/plugins/NewBlog/test/dummy/config/initializers/backtrace_silencers.rb b/vendor/plugins/NewBlog/test/dummy/config/initializers/backtrace_silencers.rb new file mode 100644 index 00000000..59385cdf --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/vendor/plugins/NewBlog/test/dummy/config/initializers/inflections.rb b/vendor/plugins/NewBlog/test/dummy/config/initializers/inflections.rb new file mode 100644 index 00000000..9e8b0131 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/initializers/inflections.rb @@ -0,0 +1,10 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format +# (all these examples are active by default): +# ActiveSupport::Inflector.inflections do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end diff --git a/vendor/plugins/NewBlog/test/dummy/config/initializers/mime_types.rb b/vendor/plugins/NewBlog/test/dummy/config/initializers/mime_types.rb new file mode 100644 index 00000000..72aca7e4 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/initializers/mime_types.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register_alias "text/html", :iphone diff --git a/vendor/plugins/NewBlog/test/dummy/config/initializers/secret_token.rb b/vendor/plugins/NewBlog/test/dummy/config/initializers/secret_token.rb new file mode 100644 index 00000000..500605a4 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/initializers/secret_token.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +Dummy::Application.config.secret_token = 'd50c02c22eac460faa82296161da6222762a7baff08669429b7b14b1e80b33f14cf1e1f8daf99486dda3b4d281c73b835169269a121027552299286a818c7d03' diff --git a/vendor/plugins/NewBlog/test/dummy/config/initializers/session_store.rb b/vendor/plugins/NewBlog/test/dummy/config/initializers/session_store.rb new file mode 100644 index 00000000..952473ff --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/initializers/session_store.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +Dummy::Application.config.session_store :cookie_store, key: '_dummy_session' + +# Use the database for sessions instead of the cookie-based default, +# which shouldn't be used to store highly confidential information +# (create the session table with "rails generate session_migration") +# Dummy::Application.config.session_store :active_record_store diff --git a/vendor/plugins/NewBlog/test/dummy/config/initializers/wrap_parameters.rb b/vendor/plugins/NewBlog/test/dummy/config/initializers/wrap_parameters.rb new file mode 100644 index 00000000..999df201 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# Disable root element in JSON by default. +ActiveSupport.on_load(:active_record) do + self.include_root_in_json = false +end diff --git a/vendor/plugins/NewBlog/test/dummy/config/locales/en.yml b/vendor/plugins/NewBlog/test/dummy/config/locales/en.yml new file mode 100644 index 00000000..179c14ca --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/locales/en.yml @@ -0,0 +1,5 @@ +# Sample localization file for English. Add more files in this directory for other locales. +# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. + +en: + hello: "Hello world" diff --git a/vendor/plugins/NewBlog/test/dummy/config/mongoid.yml b/vendor/plugins/NewBlog/test/dummy/config/mongoid.yml new file mode 120000 index 00000000..75196a04 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/mongoid.yml @@ -0,0 +1 @@ +../../../../../../../orbit/config/mongoid.yml \ No newline at end of file diff --git a/vendor/plugins/NewBlog/test/dummy/config/routes.rb b/vendor/plugins/NewBlog/test/dummy/config/routes.rb new file mode 100644 index 00000000..bb509f27 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/config/routes.rb @@ -0,0 +1,58 @@ +Dummy::Application.routes.draw do + # The priority is based upon order of creation: + # first created -> highest priority. + + # Sample of regular route: + # match 'products/:id' => 'catalog#view' + # Keep in mind you can assign values other than :controller and :action + + # Sample of named route: + # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase + # This route can be invoked with purchase_url(:id => product.id) + + # Sample resource route (maps HTTP verbs to controller actions automatically): + # resources :products + + # Sample resource route with options: + # resources :products do + # member do + # get 'short' + # post 'toggle' + # end + # + # collection do + # get 'sold' + # end + # end + + # Sample resource route with sub-resources: + # resources :products do + # resources :comments, :sales + # resource :seller + # end + + # Sample resource route with more complex sub-resources + # resources :products do + # resources :comments + # resources :sales do + # get 'recent', :on => :collection + # end + # end + + # Sample resource route within a namespace: + # namespace :admin do + # # Directs /admin/products/* to Admin::ProductsController + # # (app/controllers/admin/products_controller.rb) + # resources :products + # end + + # You can have the root of your site routed with "root" + # just remember to delete public/index.html. + # root :to => 'welcome#index' + + # See how all your routes lay out with "rake routes" + + # This is a legacy wild controller route that's not recommended for RESTful applications. + # Note: This route will make all actions in every controller accessible via GET requests. + # match ':controller(/:action(/:id(.:format)))' +end diff --git a/vendor/plugins/NewBlog/test/dummy/lib/assets/.gitkeep b/vendor/plugins/NewBlog/test/dummy/lib/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/test/dummy/log/.gitkeep b/vendor/plugins/NewBlog/test/dummy/log/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/test/dummy/public/404.html b/vendor/plugins/NewBlog/test/dummy/public/404.html new file mode 100644 index 00000000..9a48320a --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/public/404.html @@ -0,0 +1,26 @@ + + + + The page you were looking for doesn't exist (404) + + + + + +
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+ + diff --git a/vendor/plugins/NewBlog/test/dummy/public/422.html b/vendor/plugins/NewBlog/test/dummy/public/422.html new file mode 100644 index 00000000..83660ab1 --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/public/422.html @@ -0,0 +1,26 @@ + + + + The change you wanted was rejected (422) + + + + + +
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+ + diff --git a/vendor/plugins/NewBlog/test/dummy/public/500.html b/vendor/plugins/NewBlog/test/dummy/public/500.html new file mode 100644 index 00000000..b80307fc --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/public/500.html @@ -0,0 +1,26 @@ + + + + We're sorry, but something went wrong (500) + + + + + +
+

We're sorry, but something went wrong.

+

We've been notified about this issue and we'll take a look at it shortly.

+
+ + diff --git a/vendor/plugins/NewBlog/test/dummy/public/favicon.ico b/vendor/plugins/NewBlog/test/dummy/public/favicon.ico new file mode 100644 index 00000000..e69de29b diff --git a/vendor/plugins/NewBlog/test/dummy/script/rails b/vendor/plugins/NewBlog/test/dummy/script/rails new file mode 100644 index 00000000..f8da2cff --- /dev/null +++ b/vendor/plugins/NewBlog/test/dummy/script/rails @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +APP_PATH = File.expand_path('../../config/application', __FILE__) +require File.expand_path('../../config/boot', __FILE__) +require 'rails/commands' diff --git a/vendor/plugins/NewBlog/test/integration/navigation_test.rb b/vendor/plugins/NewBlog/test/integration/navigation_test.rb new file mode 100644 index 00000000..97a94c9b --- /dev/null +++ b/vendor/plugins/NewBlog/test/integration/navigation_test.rb @@ -0,0 +1,10 @@ +require 'test_helper' + +class NavigationTest < ActionDispatch::IntegrationTest + fixtures :all + + # test "the truth" do + # assert true + # end +end + diff --git a/vendor/plugins/NewBlog/test/test_helper.rb b/vendor/plugins/NewBlog/test/test_helper.rb new file mode 100644 index 00000000..dcd3b276 --- /dev/null +++ b/vendor/plugins/NewBlog/test/test_helper.rb @@ -0,0 +1,10 @@ +# Configure Rails Environment +ENV["RAILS_ENV"] = "test" + +require File.expand_path("../dummy/config/environment.rb", __FILE__) +require "rails/test_help" + +Rails.backtrace_cleaner.remove_silencers! + +# Load support files +Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }