From 5518ae362d06cd7e2222ae63892d5eb7580d45f9 Mon Sep 17 00:00:00 2001 From: Christophe Vilayphiou Date: Tue, 24 Jan 2012 11:38:53 +0800 Subject: [PATCH] Ray's modification before redesign --- app/assets/images/PIE.htc | 96 ++ app/assets/images/bar_orbit.png | Bin 4619 -> 6475 bytes app/assets/images/service_btn.png | Bin 5037 -> 3307 bytes app/assets/javascripts/rc.js | 120 +++ app/assets/javascripts/rss.js | 8 +- app/assets/javascripts/site_editor.js | 3 +- app/assets/stylesheets/admin_back_end.css.erb | 145 ++- app/assets/stylesheets/reset.css | 4 + app/assets/stylesheets/site_items.css.erb | 925 +++++++++--------- app/controllers/pages_controller.rb | 8 +- app/views/admin/assets/_asset.html.erb | 2 +- app/views/admin/assets/_form.html.erb | 2 +- app/views/admin/assets/_new.html.erb | 2 +- .../admin/users/_sub_role_selector.html.erb | 4 +- app/views/layouts/admin.html.erb | 68 +- app/views/layouts/site_editor.html.erb | 70 +- config/environments/development.rb | 2 +- lib/parsers/parser_back_end.rb | 2 +- lib/parsers/parser_common.rb | 47 +- lib/parsers/parser_front_end.rb | 4 +- lib/tasks/pages.rake | 66 ++ 21 files changed, 1000 insertions(+), 578 deletions(-) create mode 100644 app/assets/images/PIE.htc create mode 100644 app/assets/javascripts/rc.js create mode 100644 lib/tasks/pages.rake diff --git a/app/assets/images/PIE.htc b/app/assets/images/PIE.htc new file mode 100644 index 00000000..00b63838 --- /dev/null +++ b/app/assets/images/PIE.htc @@ -0,0 +1,96 @@ + + + + + + + + + diff --git a/app/assets/images/bar_orbit.png b/app/assets/images/bar_orbit.png index feaca6b838d4de02fa3342e964663236fc40498c..eb0c95ee0ce7368e019c83542c9ee8fe9b2f1814 100644 GIT binary patch literal 6475 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
xwAwuvJZX@ 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 YPW5A2c8Kf^a$5z|m35RF6s#lu57Kg1{{R30 literal 4619 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'+t+''); + $(this).find('.td').show().css('display','inline-block'); + $(document).mousemove(function(e){ + $(this).find('.td').css({ + left: e.pageX - p.left + 16, + top: e.pageY - p.top - th - 20 + }); + }); + }) + .mouseout(function(){ + $(this).find('.td').hide().detach(); + }); + }); +} + +function accordion(){ + if( !$('.rc_accor').length ){ + return; + } + $('.rc_accor').each(function(){ + $(this).find('.ac_ctrl:first').addClass('recent'); + $(this).find('.ac_content:not(:first)').hide(); + if($(this).hasClass('av')){ + $(this).find('.ac_ctrl').click(function(){ + var index = $(this).parents('.av').find('.ac_ctrl').index(this); + $(this).siblings('.ac_ctrl').removeClass('recent'); + $(this).addClass('recent'); + $(this).parents('.rc_accor').find('.ac_content:not(:eq('+index+'))').stop().slideUp(); + $(this).parents('.rc_accor').find('.ac_content:eq('+index+')').stop().slideToggle(); + return false; + }); + } else if($(this).hasClass('ah')){ + var w = $(this).find('.ac_content').css('width'); + $(this).find('.ac_content:not(:eq(0))').css({width:0}); + $(this).find('.ac_ctrl').click(function(){ + var index = $(this).parents('.ah').find('.ac_ctrl').index(this); + $(this).siblings('.ac_ctrl').removeClass('recent'); + $(this).addClass('recent'); + $(this).parents('.rc_accor').find('.ac_content:not(:eq('+index+'))').stop().animate({width:0}); + $(this).parents('.rc_accor').find('.ac_content:eq('+index+')').stop().show().animate({width:w}); + return false; + }); + } + + + + }); +} diff --git a/app/assets/javascripts/rss.js b/app/assets/javascripts/rss.js index a9d8ff32..737b08b7 100644 --- a/app/assets/javascripts/rss.js +++ b/app/assets/javascripts/rss.js @@ -393,9 +393,9 @@ modalWindow : function(settings,callbackFn){ }else{tempwidth="auto";} $rss("body").append('
'); - $rss("#rgsheath").css({background: "#000", width: "100%", position: "fixed", top: 0, left: 0,opacity:0.9,'z-index':199}); + $rss("#rgsheath").css({background: "#000", width: "100%", position: "fixed", top: 0, left: 0,opacity:0.5,'z-index':199}); $rss("body").append('
'); - $rss("#rgWindow").css({"position": "fixed", "z-index": "999", "background": "#fff", "border": "solid 3px #ccc", "padding": "20px", "overflow": "hidden", "border-radius": "12px", "-webkit-border-radius": "12px", "-moz-border-radius": "12px", "-ms-border-radius": "12px", "box-shadow": "0 0 20px rgba(0,0,0,0.9)","-webkit-box-shadow": "0 0 20px rgba(0,0,0,0.9)","-moz-box-shadow": "0 0 20px rgba(0,0,0,0.9)","-ms-box-shadow": "0 0 20px rgba(0,0,0,0.9)"}); + $rss("#rgWindow").css({"position": "fixed", "z-index": "999", "background": "#fff", "border": "solid 1px #ccc", "padding": "10px", "border-radius": "5px", "-webkit-border-radius": "5px", "-moz-border-radius": "5px", "-ms-border-radius": "5px", "box-shadow": "0 0 20px rgba(0,0,0,0.7)","-webkit-box-shadow": "0 0 20px rgba(0,0,0,0.7)","-moz-box-shadow": "0 0 20px rgba(0,0,0,0.7)","-ms-box-shadow": "0 0 20px rgba(0,0,0,0.7)"}); var rgWTop = (rgmaskHeight-20)/2; var rgWLeft = (rgmaskWidth-20)/2; $rss("#rgWindow").css({top:rgWTop+"px", left:rgWLeft+"px"}); @@ -433,8 +433,8 @@ modalWindow : function(settings,callbackFn){ $rss("#rgWindow").empty().show(); var closebtn = ""; if(closeBtn) - closebtn='X'; - $rss("#rgWindow").animate({"width":tempwidth+"px","height":tempheight+"px",top:rgWTop+"px", left:rgWLeft+"px"},500,function(){$rss("#rgWindow").html(closebtn+"
"+dhtml+"
"); + closebtn='X'; + $rss("#rgWindow").animate({"width":tempwidth+"px","height":tempheight+"px",top:rgWTop+"px", left:rgWLeft+"px"},500,function(){$rss("#rgWindow").html(closebtn+"
"+dhtml+"
"); $rss("#close_modal").mouseover(function(){$rss(this).css("color","#999");}).mouseout(function(){$rss(this).css("color","#666");}) $rss("#close_modal").click(function(){ $rss("#rgWindow").empty(); diff --git a/app/assets/javascripts/site_editor.js b/app/assets/javascripts/site_editor.js index 98405564..ef4acc85 100644 --- a/app/assets/javascripts/site_editor.js +++ b/app/assets/javascripts/site_editor.js @@ -7,4 +7,5 @@ //= require jquery //= require jquery_ujs //= require page_edit -//= require side_bar_history \ No newline at end of file +//= require side_bar_history +//= require rc \ No newline at end of file diff --git a/app/assets/stylesheets/admin_back_end.css.erb b/app/assets/stylesheets/admin_back_end.css.erb index 405281b4..5aecff45 100644 --- a/app/assets/stylesheets/admin_back_end.css.erb +++ b/app/assets/stylesheets/admin_back_end.css.erb @@ -14,39 +14,69 @@ body{ } #back_banner_link{ - background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0; - height: 50px; - left: 0; - position: fixed; - top: 0; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #787e82), color-stop(0.05, #61676c), color-stop(1, #292c2d) ); + background:-moz-linear-gradient( center top -90deg, #787e82 0%, #61676c 5%, #292c2d 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#61676c', endColorstr='#292c2d'); + -moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7); + -webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7); + box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7); + border-top: 1px solid #474a4c; + border-bottom: 1px solid #1d2020; + height: 41px; width: 100%; - z-index: 5; + behavior: url(<%= asset_path "PIE.htc" %>); } .hmenu{ - height: 40px; - position: absolute; - right: 0; - top: 1px; - width: 250px; + float: right; + height: 41px; } #back_orbit{ - background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent; - cursor:pointer; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #70787d), color-stop(1, #3b4043) ); + background:-moz-linear-gradient( center top -90deg, #70787d 0%, #3b4043 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#70787d', endColorstr='#3b4043'); + -webkit-border-radius: 0px 0px 5px 5px; + -moz-border-radius: 0px 0px 5px 5px; + border-radius: 0px 0px 5px 5px; + -moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7); + -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7); + box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7); + cursor: pointer; + float: left; height: 43px; - left: 10px; - position: relative; + margin-left: 10px; width: 41px; + behavior: url(<%= asset_path "PIE.htc" %>); +} +#back_orbit span{ + text-indent: -9999px; + background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent; + display: block; + height: 43px; + width: 100%; } #back_orbit:hover{ - background-position:0 -43px; - box-shadow: 0 3px 3px #000000; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #fefefe), color-stop(1, #e4e4e4) ); + background:-moz-linear-gradient( center top -90deg, #fefefe 0%, #e4e4e4 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#e4e4e4'); + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} +#back_orbit:hover span{ + background-position: 0 -44px; } #back_orbit:hover #orblist{ display:block; } #orblist{ - background: none repeat scroll 0 0 #FFFFFF; - border-radius: 0 3px 3px 3px; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #e4e4e4), color-stop(1, #FFFFFF) ); + background:-moz-linear-gradient( center top -90deg, #e4e4e4 0%, #FFFFFF 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4e4e4', endColorstr='#FFFFFF'); + -webkit-border-radius: 0px 3px 3px 3px; + -moz-border-radius: 0px 3px 3px 3px; + border-radius: 0px 3px 3px 3px; + -webkit-box-shadow: 0 3px 3px #000000; + -moz-box-shadow: 0 3px 3px #000000; box-shadow: 0 3px 3px #000000; display: none; margin: 0; @@ -70,30 +100,37 @@ body{ background:#eee; color:#333; } - +#log_out{ + -moz-box-shadow:inset 1px 0px 0px 0px #73777b; + -webkit-box-shadow:inset 1px 0px 0px 0px #73777b; + box-shadow:inset 1px 0px 0px 0px #73777b; + border-right:1px solid #41474c; + border-left:1px solid #41474c; + float:right; + width:41px; + height:41px; +} +#log_out:hover{ + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #01afde), color-stop(1, #007ec6) ); + background:-moz-linear-gradient( center top -90deg, #01afde 0%, #007ec6 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#01afde', endColorstr='#007ec6'); +} #log_out a{ background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent; - border: medium none !important; - display: block !important; - height: 40px !important; - line-height: normal !important; - padding: 0 !important; - position: absolute; - right: 0px; - text-indent: -10000px; - top: 0px; - width: 43px !important; + display: block; + height: 41px; + text-indent: -9999px; + width: 41px; } #log_out a:hover{ background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important; } .lang{ - color: #FFFFFF; - font-size: 15px; - line-height: 40px; - position: absolute; - right: 55px; - top: 0; + color: #FFFFFF; + float: right; + font-size: 15px; + line-height: 40px; + margin-right: 10px; } .lang a{ color:#fff; @@ -589,4 +626,40 @@ hr.student_block { position: absolute; top: -15%; width: 130%; +} +#rgContent .main2{ + padding:0; +} +#rgContent h1{ + border-bottom: 1px dashed #CCCCCC; + color: #333333; + font-size: 19px; + font-weight: bold; + margin: 0 0 20px; + padding: 0 0 10px; + text-align: center; +} +#rgContent label { + color: #888888; + display: block; + font-size: 12px; + margin: 25px 0 5px; + width: 100%; +} +#rgContent input { + color: #888888; + width: 98%; +} +#rgContent .button_bar { + float: none; + text-align: center; + width:100%; + margin:30px 0 0; +} +#rgContent .button_bar a { + float: none; + display:block; +} +#close_modal{ + display:none !important; } \ No newline at end of file diff --git a/app/assets/stylesheets/reset.css b/app/assets/stylesheets/reset.css index 44f2ae77..612cab19 100644 --- a/app/assets/stylesheets/reset.css +++ b/app/assets/stylesheets/reset.css @@ -42,3 +42,7 @@ input:focus, select:focus, textarea:focus { height:0; visibility:hidden; } +.fixed { + position: fixed; + z-index: 100; +} \ No newline at end of file diff --git a/app/assets/stylesheets/site_items.css.erb b/app/assets/stylesheets/site_items.css.erb index 151dabde..38b0a185 100644 --- a/app/assets/stylesheets/site_items.css.erb +++ b/app/assets/stylesheets/site_items.css.erb @@ -1,445 +1,482 @@ -html, body{ - height: 100%; - margin: 0; - padding: 0; -} -html{ - background: url(<%= asset_path "body.jpg" %>) no-repeat fixed 0 0 transparent; - background-size: cover; -} - -body{ - color: #000000; - font-family: Helvetica, '微軟正黑體'; -} -#back_banner_link{ - background: url(<%= asset_path "orbitbar1.png" %>) repeat-x scroll 0 0; - height: 50px; - left: 0; - position: fixed; - top: 0; - width: 100%; - z-index: 5; -} -.hmenu{ - height: 40px; - position: absolute; - right: 0; - top: 1px; - width: 250px; -} -#back_orbit{ - background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent; - cursor:pointer; - height: 43px; - left: 10px; - position: relative; - width: 41px; -} -#back_orbit:hover{ - background-position:0 -43px; - box-shadow: 0 3px 3px #000000; -} -#back_orbit:hover #orblist{ - display:block; -} -#orblist{ - background: none repeat scroll 0 0 #FFFFFF; - border-radius: 0 3px 3px 3px; - box-shadow: 0 3px 3px #000000; - display: none; - margin: 0; - padding: 10px; - position: absolute; - top: 43px; - width: 130px; -} -#orblist li{ - border-bottom:1px solid #aaa; - list-style:none; -} -.orblink{ - color: #333333; - display: block; - font: 12px/100% arial,sans-serif; - padding: 5px; - text-decoration: none; -} -.orblink:hover{ - background:#eee; - color:#333; -} - -#log_out a{ - background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent; - border: medium none !important; - display: block !important; - height: 40px !important; - line-height: normal !important; - padding: 0 !important; - position: absolute; - right: 0px; - text-indent: -10000px; - top: 0px; - width: 43px !important; -} -#log_out a:hover{ - background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important; -} -.lang{ - color: #FFFFFF; - font-size: 15px; - line-height: 40px; - position: absolute; - right: 55px; - top: 0; -} -.lang a{ - color:#fff; - text-decoration:none; -} -.lang a:hover{ - text-decoration:underline; -} -#back_content{ - height: 100%; -} -#back_footer{ - background-color: #101010; - bottom: 0; - color: #FFFFFF; - font-size: 11px; - padding: 10px; - position: fixed; - width: 100%; - left: 0; - box-shadow: 0 -3px 4px #000; -} -.items_setup{ - padding:42px 0 0 0; -} -#back_sidebar .items_setup .list li{ - padding: 6px 0 7px 5px; -} -#back_sidebar .items_setup .list li a{ - display: inline; - font-size: 0.9em; - padding: 0; -} -#back_sidebar .items_setup .list li a span{ - background:none; - padding:0; - text-shadow:none; -} -.main { - background: none repeat scroll 0 0 #FFFFFF; - height: 100%; - margin-left: 220px; - padding: 0 40px; - position: relative; -} -.main_list { - padding-top: 70px; -} -.main_list ul { - clear:both; -} -#porfile { - padding-top: 100px; -} -/*add_buttom*/ -.button_bar { - float: right; - -moz-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black; - -webkit-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black; - box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black; - background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #4f4f4f), color-stop(1, #000000) ); - background:-moz-linear-gradient( center top, #4f4f4f 5%, #000000 100% ); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4f4f4f', endColorstr='#000000'); - background-color:#4f4f4f; - -moz-border-radius:5px; - -webkit-border-radius:5px; - border-radius:5px; - display:inline-block; - padding:0; - margin:10px 0 60px; -} -.button_bar a { - text-decoration:none; - text-shadow:0px -1px 0px #000000; - font-size:12px; - color:#EDEDED; - border-right:1px solid #555; - -moz-box-shadow:1px 0px 0px black; - -webkit-box-shadow:1px 0px 0px black; - box-shadow:1px 0px 0px black; - padding: 6px 10px 4px; - display: inline-block; - float: left; -} -.button_bar a:active { - padding: 7px 10px 3px !important; - text-shadow:0px 1px 0px #000000; - background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #000000), color-stop(1, #4f4f4f) ); - background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% ); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f'); -} -.button_bar a:last-child { - border-right:none; - -moz-box-shadow:none; - -webkit-box-shadow:none; - box-shadow:none; - -moz-border-radius:0px 5px 5px 0px; - -webkit-border-radius:0px 5px 5px 0px; - border-radius:0px 5px 5px 0px; -} -.button_bar a:first-child { - -moz-border-radius:5px 0px 0px 5px; - -webkit-border-radius:5px 0px 0px 5px; - border-radius:5px 0px 0px 5px; -} -.button_bar a.new { - padding: 5px 10px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - border-radius:5px; -} -.button_bar a:hover { - color:#FFFFFF; -} -.up { - margin:10px 0; -} -#person { - left: 245px; - position: fixed; - text-align: center; - top: 75px; - width: 140px; - background-color:#FFF; - padding:15px; - 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 + */ -} -#file { - display:none; -} -#person img { -} -.user_mail { - border: medium none; - border:1px solid #DDDDDD; - color: #666666; - font-size: 12px; - width: 140px; -} -#person label { - display: block; - margin: 15px 0 0; -} -#person label input { -} -#person label #user_admin { - float:right; - margin: 0; -} -#person label span { - text-align:left; - font-size:11px; - color:#888; - display:block; -} -#person select { - border: 1px solid #DDDDDD; - padding: 0; - width: 140px; -} -#porfile .users{ - margin-left: 180px; -} -.roles_block { - background: url(<%= asset_path "75.png" %>) repeat left top; - min-width:710px; - margin-bottom:50px; - position:relative; - padding-bottom: 20px; - 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 + */ -} -.roles_block h2 { - color: #FFFFFF; - font-weight: normal; - margin: 0; - padding: 0; - position: absolute; - text-shadow: 0 3px 2px #000000; - top: -30px; -} -.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; -} -.main2{ - padding:70px 0 0; -} -#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; -} - -.main table { - width:100%; -} -.main td { - padding-left:20px; - color:#fff; - font-size:14px; - line-height:40px; -} -.main tr.have td{ - background: url(<%= asset_path "75.png" %>) repeat left top; -} -.main tr.have td:first-child{ - border-radius: 5px 0 0 5px; - -moz-border-radius: 5px 0 0 5px; - -webkit-border-radius: 5px 0 0 5px; -} -.main tr.have td:last-child{ - border-radius: 0 5px 5px 0; - -moz-border-radius: 0 5px 5px 0; - -webkit-border-radius: 0 5px 5px 0; -} -.main thead td { - line-height:40px; - font-size:16px; - text-shadow: 0px 1px 1px #3e2914; -} -.main thead td.action { - width:140px; -} -.main tbody td.roles { - background-image: url(<%= asset_path "roles_type.jpg" %>); - background-repeat: repeat-x; -} -.main tbody td.teacher { - background-position: 0 -54px; -} -.main tbody td.student { - background-position: 0 -5px; -} -.main tbody td.action a { - background-image: url(<%= asset_path "icon.png" %>); - display: inline-block; - height: 19px; - margin-right: 10px; - top: 8px; - text-indent: -9999px; - width: 19px; - position: relative; -} -.main tbody td.action a.show { - background-position: left top; -} -.main tbody td.action a.show:hover { - background-position: left -19px; -} -.main tbody td.action a.edit { - background-position: -19px top; -} -.main tbody td.action a.edit:hover { - background-position: -19px -19px; -} -.main tbody td.action a.delete { - background-position: -38px top; -} -.main tbody td.action a.delete:hover { - background-position: -38px -19px; -} -.main tbody td.action a.switch { - background: url(<%= asset_path "switch.png" %>) no-repeat left 3px; - width: 40px; -} -.main tbody tr.disable td.action a.switch { - background-position:left bottom; -} -.main tbody td.action a.delete:hover { - background-position: -38px -19px; -} -.main tbody tr.have { -} -.main tbody tr.disable { - opacity: 0.7; -} -.main tbody tr { - background:none; - height:15px; -} -h1{ - margin:0 0 20px; -} -p{ - margin:0 0 10px; -} - -#back_sidebar .items_setup .list li{ - background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top; - border:none; - padding: 0 0 0 5px; -} -#back_sidebar .items_setup .list li a{ - line-height:31px; -} -#back_sidebar .items_setup .list li:hover{ - background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top; - border:none; -} -#back_sidebar .items_setup ul .list { +html, body{ + height: 100%; + margin: 0; + padding: 0; +} +html{ + background: url(<%= asset_path "body.jpg" %>) no-repeat fixed 0 0 transparent; + background-size: cover; +} + +body{ + color: #000000; + font-family: Helvetica, '微軟正黑體'; +} +#back_banner_link{ + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #787e82), color-stop(0.05, #61676c), color-stop(1, #292c2d) ); + background:-moz-linear-gradient( center top -90deg, #787e82 0%, #61676c 5%, #292c2d 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#61676c', endColorstr='#292c2d'); + -moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7); + -webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7); + box-shadow: 0px 1px 5px 0px rgba(0,0,0,.7); + border-top: 1px solid #474a4c; + border-bottom: 1px solid #1d2020; + height: 41px; + width: 100%; + behavior: url(<%= asset_path "PIE.htc" %>); +} +.hmenu{ + float: right; + height: 41px; +} +#back_orbit{ + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #70787d), color-stop(1, #3b4043) ); + background:-moz-linear-gradient( center top -90deg, #70787d 0%, #3b4043 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#70787d', endColorstr='#3b4043'); + -webkit-border-radius: 0px 0px 5px 5px; + -moz-border-radius: 0px 0px 5px 5px; + border-radius: 0px 0px 5px 5px; + -moz-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7); + -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7); + box-shadow: 0px 1px 1px 0px rgba(0,0,0,.7); + cursor: pointer; + float: left; + height: 43px; + margin-left: 10px; + width: 41px; + behavior: url(<%= asset_path "PIE.htc" %>); +} +#back_orbit span{ + text-indent: -9999px; + background: url(<%= asset_path "bar_orbit.png" %>) no-repeat scroll 0 0 transparent; + display: block; + height: 43px; + width: 100%; +} +#back_orbit:hover{ + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #fefefe), color-stop(1, #e4e4e4) ); + background:-moz-linear-gradient( center top -90deg, #fefefe 0%, #e4e4e4 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#e4e4e4'); + -webkit-border-radius: 0px; + -moz-border-radius: 0px; + border-radius: 0px; +} +#back_orbit:hover span{ + background-position: 0 -44px; +} +#back_orbit:hover #orblist{ + display:block; +} +#orblist{ + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #e4e4e4), color-stop(1, #FFFFFF) ); + background:-moz-linear-gradient( center top -90deg, #e4e4e4 0%, #FFFFFF 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4e4e4', endColorstr='#FFFFFF'); + -webkit-border-radius: 0px 3px 3px 3px; + -moz-border-radius: 0px 3px 3px 3px; + border-radius: 0px 3px 3px 3px; + -webkit-box-shadow: 0 3px 3px #000000; + -moz-box-shadow: 0 3px 3px #000000; + box-shadow: 0 3px 3px #000000; + display: none; + margin: 0; + padding: 10px; + position: absolute; + top: 43px; + width: 130px; +} +#orblist li{ + border-bottom:1px solid #aaa; + list-style:none; +} +.orblink{ + color: #333333; + display: block; + font: 12px/100% arial,sans-serif; + padding: 5px; + text-decoration: none; +} +.orblink:hover{ + background:#eee; + color:#333; +} +#log_out{ + -moz-box-shadow:inset 1px 0px 0px 0px #73777b; + -webkit-box-shadow:inset 1px 0px 0px 0px #73777b; + box-shadow:inset 1px 0px 0px 0px #73777b; + border-right:1px solid #41474c; + border-left:1px solid #41474c; + float:right; + width:41px; + height:41px; +} +#log_out:hover{ + background:-webkit-gradient( linear, left top, left bottom, color-stop(0, #01afde), color-stop(1, #007ec6) ); + background:-moz-linear-gradient( center top -90deg, #01afde 0%, #007ec6 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#01afde', endColorstr='#007ec6'); +} +#log_out a{ + background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right 0 transparent; + display: block; + height: 41px; + text-indent: -9999px; + width: 41px; +} +#log_out a:hover{ + background: url(<%= asset_path "service_btn.png" %>) no-repeat scroll right bottom transparent !important; +} +.lang{ + color: #FFFFFF; + float: right; + font-size: 15px; + line-height: 40px; + margin-right: 10px; +} +.lang a{ + color:#fff; + text-decoration:none; +} +.lang a:hover{ + text-decoration:underline; +} +#back_content{ + height: 100%; +} +#back_footer{ + background-color: #101010; + bottom: 0; + color: #FFFFFF; + font-size: 11px; + padding: 10px; + position: fixed; + width: 100%; + left: 0; + box-shadow: 0 -3px 4px #000; +} +.items_setup{ + padding:42px 0 0 0; +} +#back_sidebar .items_setup .list li{ + padding: 6px 0 7px 5px; +} +#back_sidebar .items_setup .list li a{ + display: inline; + font-size: 0.9em; + padding: 0; +} +#back_sidebar .items_setup .list li a span{ + background:none; + padding:0; + text-shadow:none; +} +.main { + background: none repeat scroll 0 0 #FFFFFF; + height: 100%; + margin-left: 220px; + padding: 0 40px; + position: relative; +} +.main_list { + padding-top: 70px; +} +.main_list ul { + clear:both; +} +#porfile { + padding-top: 100px; +} +/*add_buttom*/ +.button_bar { + float: right; + -moz-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black; + -webkit-box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black; + box-shadow:inset 0px 1px 0px 0px #666, 0px 0px 3px black; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #4f4f4f), color-stop(1, #000000) ); + background:-moz-linear-gradient( center top, #4f4f4f 5%, #000000 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4f4f4f', endColorstr='#000000'); + background-color:#4f4f4f; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border-radius:5px; + display:inline-block; + padding:0; + margin:10px 0 60px; +} +.button_bar a { + text-decoration:none; + text-shadow:0px -1px 0px #000000; + font-size:12px; + color:#EDEDED; + border-right:1px solid #555; + -moz-box-shadow:1px 0px 0px black; + -webkit-box-shadow:1px 0px 0px black; + box-shadow:1px 0px 0px black; + padding: 6px 10px 4px; + display: inline-block; + float: left; +} +.button_bar a:active { + padding: 7px 10px 3px !important; + text-shadow:0px 1px 0px #000000; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #000000), color-stop(1, #4f4f4f) ); + background:-moz-linear-gradient( center top, #000000 5%, #4f4f4f 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#4f4f4f'); +} +.button_bar a:last-child { + border-right:none; + -moz-box-shadow:none; + -webkit-box-shadow:none; + box-shadow:none; + -moz-border-radius:0px 5px 5px 0px; + -webkit-border-radius:0px 5px 5px 0px; + border-radius:0px 5px 5px 0px; +} +.button_bar a:first-child { + -moz-border-radius:5px 0px 0px 5px; + -webkit-border-radius:5px 0px 0px 5px; + border-radius:5px 0px 0px 5px; +} +.button_bar a.new { + padding: 5px 10px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border-radius:5px; +} +.button_bar a:hover { + color:#FFFFFF; +} +.up { + margin:10px 0; +} +#person { + left: 245px; + position: fixed; + text-align: center; + top: 75px; + width: 140px; + background-color:#FFF; + padding:15px; + 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 + */ +} +#file { + display:none; +} +#person img { +} +.user_mail { + border: medium none; + border:1px solid #DDDDDD; + color: #666666; + font-size: 12px; + width: 140px; +} +#person label { + display: block; + margin: 15px 0 0; +} +#person label input { +} +#person label #user_admin { + float:right; + margin: 0; +} +#person label span { + text-align:left; + font-size:11px; + color:#888; + display:block; +} +#person select { + border: 1px solid #DDDDDD; + padding: 0; + width: 140px; +} +#porfile .users{ + margin-left: 180px; +} +.roles_block { + background: url(<%= asset_path "75.png" %>) repeat left top; + min-width:710px; + margin-bottom:50px; + position:relative; + padding-bottom: 20px; + 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 + */ +} +.roles_block h2 { + color: #FFFFFF; + font-weight: normal; + margin: 0; + padding: 0; + position: absolute; + text-shadow: 0 3px 2px #000000; + top: -30px; +} +.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; +} +.main2{ + padding:70px 0 0; +} +#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; +} + +.main table { + width:100%; +} +.main td { + padding-left:20px; + color:#fff; + font-size:14px; + line-height:40px; +} +.main tr.have td{ + background: url(<%= asset_path "75.png" %>) repeat left top; +} +.main tr.have td:first-child{ + border-radius: 5px 0 0 5px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; +} +.main tr.have td:last-child{ + border-radius: 0 5px 5px 0; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; +} +.main thead td { + line-height:40px; + font-size:16px; + text-shadow: 0px 1px 1px #3e2914; +} +.main thead td.action { + width:140px; +} +.main tbody td.roles { + background-image: url(<%= asset_path "roles_type.jpg" %>); + background-repeat: repeat-x; +} +.main tbody td.teacher { + background-position: 0 -54px; +} +.main tbody td.student { + background-position: 0 -5px; +} +.main tbody td.action a { + background-image: url(<%= asset_path "icon.png" %>); + display: inline-block; + height: 19px; + margin-right: 10px; + top: 8px; + text-indent: -9999px; + width: 19px; + position: relative; +} +.main tbody td.action a.show { + background-position: left top; +} +.main tbody td.action a.show:hover { + background-position: left -19px; +} +.main tbody td.action a.edit { + background-position: -19px top; +} +.main tbody td.action a.edit:hover { + background-position: -19px -19px; +} +.main tbody td.action a.delete { + background-position: -38px top; +} +.main tbody td.action a.delete:hover { + background-position: -38px -19px; +} +.main tbody td.action a.switch { + background: url(<%= asset_path "switch.png" %>) no-repeat left 3px; + width: 40px; +} +.main tbody tr.disable td.action a.switch { + background-position:left bottom; +} +.main tbody td.action a.delete:hover { + background-position: -38px -19px; +} +.main tbody tr.have { +} +.main tbody tr.disable { + opacity: 0.7; +} +.main tbody tr { + background:none; + height:15px; +} +h1{ + margin:0 0 20px; +} +p{ + margin:0 0 10px; +} + +#back_sidebar .items_setup .list li{ + background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top; + border:none; + padding: 0 0 0 5px; +} +#back_sidebar .items_setup .list li a{ + line-height:31px; +} +#back_sidebar .items_setup .list li:hover{ + background:url(<%= asset_path "sidebar_li2.jpg" %>) repeat left top; + border:none; +} +#back_sidebar .items_setup ul .list { } \ No newline at end of file diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 693243c2..33c927ac 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -19,7 +19,7 @@ class PagesController < ApplicationController end def show - begin + #begin item = Item.first(:conditions => {:full_name => params[:page_name]}) case item._type when 'Page' @@ -28,9 +28,9 @@ class PagesController < ApplicationController when 'Link' redirect_to "http://#{item[:url]}" end - rescue - render :file => "#{Rails.root}/public/404.html", :status => :not_found - end + #rescue + # render :file => "#{Rails.root}/public/404.html", :status => :not_found + #end end end diff --git a/app/views/admin/assets/_asset.html.erb b/app/views/admin/assets/_asset.html.erb index b29bc51d..7aad2ef8 100644 --- a/app/views/admin/assets/_asset.html.erb +++ b/app/views/admin/assets/_asset.html.erb @@ -13,5 +13,5 @@ - + \ No newline at end of file diff --git a/app/views/admin/assets/_form.html.erb b/app/views/admin/assets/_form.html.erb index 3ee7c644..72199ceb 100644 --- a/app/views/admin/assets/_form.html.erb +++ b/app/views/admin/assets/_form.html.erb @@ -9,6 +9,6 @@

-<%= f.label :data, t('admin.data') %> +<%= f.label :data, t('admin.data'), :class => 'file' %> <%= f.file_field :data %>

\ No newline at end of file diff --git a/app/views/admin/assets/_new.html.erb b/app/views/admin/assets/_new.html.erb index 4f15fafc..49e638c8 100644 --- a/app/views/admin/assets/_new.html.erb +++ b/app/views/admin/assets/_new.html.erb @@ -9,7 +9,7 @@ <%= link_back %> <%= f.submit t(:create) %> <% else %> - <%= t(:create) %> + <%= t(:create) %> <% end %> <% end %> diff --git a/app/views/admin/users/_sub_role_selector.html.erb b/app/views/admin/users/_sub_role_selector.html.erb index 6d7924ca..2305cb47 100644 --- a/app/views/admin/users/_sub_role_selector.html.erb +++ b/app/views/admin/users/_sub_role_selector.html.erb @@ -1,4 +1,4 @@ <% role.sub_roles.each do |sub_role| %> - <%= sub_role.i18n_variable[I18n.locale] %> - <%= check_box_tag "user[sub_role_ids][]", sub_role.id, @user.sub_role_ids.include?(sub_role.id), :class => 'sub_role_select' %> + <%= f.label sub_role.i18n_variable[I18n.locale], :for => "check_sub_role_#{sub_role.id}", :class => 'sub_role_select' %> + <%= check_box_tag "user[sub_role_ids][]", sub_role.id, @user.sub_role_ids.include?(sub_role.id), :id => "check_sub_role_#{sub_role.id}", :class => 'sub_role_select' %> <% end %> \ No newline at end of file diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb index 63137048..d800ab5d 100644 --- a/app/views/layouts/admin.html.erb +++ b/app/views/layouts/admin.html.erb @@ -1,31 +1,37 @@ - - - - - <%= @title || APP_CONFIG['orbit'] %> - - <%= stylesheet_link_tag "admin" %> - <%= javascript_include_tag "admin" %> - <%= yield :page_specific_css %> - <%= yield :page_specific_javascript %> - <%= csrf_meta_tag %> - - - - -
-
<%= yield :secondary %>
-
- <%= yield %> -
-
<%= yield :tertiary %>
- -
- - + + + + + <%= @title || APP_CONFIG['orbit'] %> + + + <%= stylesheet_link_tag "admin" %> + <%= javascript_include_tag "admin" %> + <%= yield :page_specific_css %> + <%= yield :page_specific_javascript %> + <%= csrf_meta_tag %> + + + + +
+
<%= yield :secondary %>
+
+ <%= yield %> +
+
<%= yield :tertiary %>
+ +
+ + diff --git a/app/views/layouts/site_editor.html.erb b/app/views/layouts/site_editor.html.erb index f419fb02..f4df75c4 100644 --- a/app/views/layouts/site_editor.html.erb +++ b/app/views/layouts/site_editor.html.erb @@ -1,32 +1,38 @@ - - - - - <%= @title || APP_CONFIG['orbit'] %> - - <%= stylesheet_link_tag "site_editor" %> - <%= javascript_include_tag "site_editor" %> - <%= yield :page_specific_css %> - <%= yield :page_specific_javascript %> - <%= csrf_meta_tag %> - - - - -
-
<%= yield :sidebar %>
-
- <%= yield %> -
-
<%= yield :tertiary %>
- -
- - - + + + + + <%= @title || APP_CONFIG['orbit'] %> + + + <%= stylesheet_link_tag "site_editor" %> + <%= javascript_include_tag "site_editor" %> + <%= yield :page_specific_css %> + <%= yield :page_specific_javascript %> + <%= csrf_meta_tag %> + + + + +
+
<%= yield :sidebar %>
+
+ <%= yield %> +
+
<%= yield :tertiary %>
+ +
+ + + diff --git a/config/environments/development.rb b/config/environments/development.rb index 48f4d956..d1b671e5 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -10,7 +10,7 @@ PrototypeR4::Application.configure do config.whiny_nils = true # Show full error reports and disable caching - config.consider_all_requests_local = true + config.consider_all_requests_local = false #config.action_view.debug_rjs = true config.action_controller.perform_caching = false diff --git a/lib/parsers/parser_back_end.rb b/lib/parsers/parser_back_end.rb index d11ce9b2..48b6a1df 100644 --- a/lib/parsers/parser_back_end.rb +++ b/lib/parsers/parser_back_end.rb @@ -107,7 +107,7 @@ module ParserBackEnd c.define_tag 'menu' do |tag| home = get_homepage menu = page.design.layout.menu - menu_level(home, 1, menu, true) + menu_level(home, 0, menu, true) end end end diff --git a/lib/parsers/parser_common.rb b/lib/parsers/parser_common.rb index e96c9201..70006eb3 100644 --- a/lib/parsers/parser_common.rb +++ b/lib/parsers/parser_common.rb @@ -1,23 +1,33 @@ module ParserCommon def menu_level(page, current, menu, edit = false) + res = '' if current <= menu.levels - res = "" end end @@ -26,8 +36,11 @@ module ParserCommon res << menu.values["li_class_#{current}"] res << "_#{i}" if i res << ">" - res << "#{page.name}" - res << menu_level(page, current + 1, menu, edit) if page.children.size > 0 && !page.is_home? + if page.children.size > 0 + res << menu_level(page, current + 1, menu, edit) + else + res << "#{page.name}" + end res << "" end diff --git a/lib/parsers/parser_front_end.rb b/lib/parsers/parser_front_end.rb index 660a779b..3452f4fc 100644 --- a/lib/parsers/parser_front_end.rb +++ b/lib/parsers/parser_front_end.rb @@ -104,7 +104,7 @@ module ParserFrontEnd ret << "
" else part = page.page_parts.detect{ |p| p.name.to_s == tag.attr['name'].to_s } rescue nil - ret << part.content + ret << part.content rescue nil end ret end @@ -118,7 +118,7 @@ module ParserFrontEnd c.define_tag 'menu' do |tag| home = get_homepage menu = page.design.layout.menu - menu_level(home, 1, menu) + menu_level(home, 0, menu) end end end diff --git a/lib/tasks/pages.rake b/lib/tasks/pages.rake new file mode 100644 index 00000000..8a43f420 --- /dev/null +++ b/lib/tasks/pages.rake @@ -0,0 +1,66 @@ +# encoding: utf-8 + +namespace :pages do + + task :build => :environment do + + Item.delete_all + + + var_10 = I18nVariable.create!( :document_class => 'Home', :key => 'home', :en => 'Homepage', :zh_tw => '首頁') + var_13 = I18nVariable.create!( :document_class => 'PagePart', :key => 'main_content', :en => 'This is the homepage', :zh_tw => '這是首頁', :parent_id => var_10.id ) + + + design = Design.new(:title => "Fraisier", :author => "Paul", :intro => "Strawberry cake") + + design.build_default_css(:file => File.open("#{Rails.root}/lib/fraisier/default.css")) + + # image = design.images.build(:file => File.open("#{Rails.root}/lib/fraisier/img/buttons.gif")) + # + # js = design.javascripts.build(:file => File.open("#{Rails.root}/lib/fraisier/inettuts.js")) + # + theme = design.themes.build(:file => File.open("#{Rails.root}/lib/fraisier/themes/default.css")) + theme_1 = design.themes.build(:file => File.open("#{Rails.root}/lib/fraisier/themes/red.css")) + + design.build_layout + design.layout.file = File.open("#{Rails.root}/lib/fraisier/layout.html") + + design.layout.save + theme.save + theme_1.save + # image.save + # js.save + + design.save + + + + design_1 = Design.new(:title => "Bob", :author => "Me", :intro => "Moran") + + design_1.build_default_css(:file => File.open("#{Rails.root}/lib/fraisier/default.css")) + + # image = design.images.build(:file => File.open("#{Rails.root}/lib/fraisier/img/buttons.gif")) + # + # js = design.javascripts.build(:file => File.open("#{Rails.root}/lib/fraisier/inettuts.js")) + # + theme = design_1.themes.build(:file => File.open("#{Rails.root}/lib/fraisier/themes/default.css")) + theme_1 = design_1.themes.build(:file => File.open("#{Rails.root}/lib/fraisier/themes/red.css")) + + design_1.build_layout + design_1.layout.file = File.open("#{Rails.root}/lib/fraisier/layout.html") + + design_1.layout.save + theme.save + theme_1.save + # image.save + # js.save + + design_1.save + + + home = Page.create!( :i18n_variable_id => var_10.id, :design_id => design_1.id, :name => 'home', :is_published => true, :theme_id => theme.id ) + home.page_parts.create!( :name => 'content_1', :content => File.open("#{Rails.root}/lib/template/home.page").read, :kind => 'text', :i18n_variable_id => var_13.id ) + + end + +end