diff --git a/app/assets/javascripts/design_temp.js b/app/assets/javascripts/design_temp.js
index 2f67aff8..2a8f0f2c 100644
--- a/app/assets/javascripts/design_temp.js
+++ b/app/assets/javascripts/design_temp.js
@@ -1,9 +1,9 @@
-function r_editor(tgetUrl,tpostUrl,tfileid,toption){
+function r_editor(tgetUrl,tpostUrl,tfilename,toption){
if(!toption){ toption =new Array();}
if(!toption['width']){toption['width']=400;}
if(!toption['height']){toption['height']=300;}
var editor = this;
- editor.fileid = tfileid;
+ editor.filename = tfilename;
editor.getUrl = tgetUrl;
editor.postUrl = tpostUrl;
editor.width = toption['width'];
@@ -23,12 +23,11 @@ function r_editor(tgetUrl,tpostUrl,tfileid,toption){
};
editor.reload = function(){
$.get(editor.getUrl,function(data){
- alert("reload!");
html.children("textarea").text(data);
});
};
editor.send = function(){
- $.post(editor.postUrl,{fileid:editor.fileid,context:html.text()});
+ $.post(editor.postUrl,{filename:editor.filename,context:html.children("textarea").val(),authenticity_token:$('meta[name=csrf-token]').attr('content')});
};
editor.destroy = function(){
html.remove();
@@ -36,7 +35,7 @@ function r_editor(tgetUrl,tpostUrl,tfileid,toption){
}
$(".r_edit").live("click",function(){
- new_editor = new r_editor($(this).attr("path"),"edit_file",$(this).attr("fileid"));
+ new_editor = new r_editor($(this).attr("path"),"edit_file",$(this).attr("filename"));
$(this).after(new_editor.init());
});
diff --git a/app/controllers/admin/designs_controller.rb b/app/controllers/admin/designs_controller.rb
index 5bf47a20..257a8188 100644
--- a/app/controllers/admin/designs_controller.rb
+++ b/app/controllers/admin/designs_controller.rb
@@ -25,7 +25,24 @@ class Admin::DesignsController < ApplicationController
def edit_file
@design = Design.find(params[:id])
-# debugger
+ filename = params[:filename]
+ files = @design.stylesheets + @design.javascripts + @design.images
+ file_to_removed = files.find{ |obj|
+ obj.file_filename == filename
+ }
+ type = file_to_removed._type
+ Dir.mktmpdir('design_temp'){ |dir|
+ temp_file = File.new(dir+'/'+filename,'w+')
+ temp_file.write params[:context]
+ replace_target = eval("@design.#{type.downcase.pluralize}")
+ a = replace_target.build(:file => temp_file,:to_save=>true)
+ debugger
+ file_to_removed.destroy
+ @design.save
+ debugger
+ temp_file.close
+ }
+
end
def edit
diff --git a/app/views/admin/designs/_design_file.html.erb b/app/views/admin/designs/_design_file.html.erb
index 75a3e538..c8a66a53 100644
--- a/app/views/admin/designs/_design_file.html.erb
+++ b/app/views/admin/designs/_design_file.html.erb
@@ -10,7 +10,7 @@
<% li_class += 'r_destroy ' if item_destroy %>
<% li_class += 'r_snapshot ' if item_snapshot %>
<% li_class += 'r_edit ' if item_editable %>
-
>
+ >
<%= t.file_filename %>
<% if item_destroy %>
<%=fields_for "design["+fieldname_p+"][]",t,:index=>nil do |f| %>
diff --git a/lib/tasks/dev.rake b/lib/tasks/dev.rake
index 63f6fae8..1059ed17 100644
--- a/lib/tasks/dev.rake
+++ b/lib/tasks/dev.rake
@@ -14,7 +14,7 @@ namespace :dev do
Site.create!( :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_roles.build(:key => 'teacher', :discipline_en => 'Database', :discipline_zh_tw => '數據庫' )
+ user.user_roles.build(:key => 'teacher', :discipline_en => 'Database', :discipline_zh_tw => '資料庫' )
user.save!
I18nVariable.create!( :document_class => 'language', :key => 'en', :en => 'English', :zh_tw => '英文' )
@@ -50,21 +50,21 @@ namespace :dev do
uim_1.save!
- layout = Layout.create!( :name => 'root', :description => 'root', :content => File.open("#{RAILS_ROOT}/lib/template/root.layout").read )
- layout.layout_parts.create!( :name => 'header', :content => File.open("#{RAILS_ROOT}/lib/template/nav.snippet").read )
+ layout = Layout.create!( :name => 'root', :description => 'root', :content => File.open("#{Rails.root}/lib/template/root.layout").read )
+ layout.layout_parts.create!( :name => 'header', :content => File.open("#{Rails.root}/lib/template/nav.snippet").read )
layout.layout_parts.create!( :name => 'main_content', :editable => true )
- layout.layout_parts.create!( :name => 'footer', :content => File.open("#{RAILS_ROOT}/lib/template/footer.snippet").read )
+ layout.layout_parts.create!( :name => 'footer', :content => File.open("#{Rails.root}/lib/template/footer.snippet").read )
home = Page.create!( :i18n_variable_id => var_10.id, :layout_id => layout.id, :name => 'home', :is_published => true )
- home.page_parts.create!( :name => 'main_content', :content => File.open("#{RAILS_ROOT}/lib/template/home.page").read, :kind => 'text', :i18n_variable_id => var_13.id )
+ home.page_parts.create!( :name => 'main_content', :content => File.open("#{Rails.root}/lib/template/home.page").read, :kind => 'text', :i18n_variable_id => var_13.id )
about = Page.create!( :i18n_variable_id => var_11.id, :layout_id => layout.id, :name => 'about', :is_published => true, :parent_id => home.id )
- about.page_parts.create!( :name => 'main_content', :content => File.open("#{RAILS_ROOT}/lib/template/about.page").read, :kind => 'text', :i18n_variable_id => var_14.id )
+ about.page_parts.create!( :name => 'main_content', :content => File.open("#{Rails.root}/lib/template/about.page").read, :kind => 'text', :i18n_variable_id => var_14.id )
Link.create!( :i18n_variable_id => var_12.id, :name => 'google', :is_published => true, :parent_id => home.id, :url => 'www.google.com' )
["nav", "footer"].each do |page_name|
- Snippet.create!( :name => page_name, :parent_id => home.id, :content => File.open("#{RAILS_ROOT}/lib/template/#{page_name}.snippet").read )
+ Snippet.create!( :name => page_name, :parent_id => home.id, :content => File.open("#{Rails.root}/lib/template/#{page_name}.snippet").read )
end
end