From 44f2a3a5dfb2b7008765b35621ddbb9b1b39855a Mon Sep 17 00:00:00 2001 From: Thomas Lecavelier Date: Tue, 17 Sep 2013 13:31:56 +0200 Subject: [PATCH] WIP autosave --- app/controllers/admin/content_controller.rb | 13 +++---------- app/views/admin/content/_form.html.erb | 3 ++- app/views/admin/content/autosave.js.erb | 4 ++++ 3 files changed, 9 insertions(+), 11 deletions(-) create mode 100644 app/views/admin/content/autosave.js.erb diff --git a/app/controllers/admin/content_controller.rb b/app/controllers/admin/content_controller.rb index 91ba1a127b..22df9601a4 100644 --- a/app/controllers/admin/content_controller.rb +++ b/app/controllers/admin/content_controller.rb @@ -108,18 +108,11 @@ def autosave end if @article.save - render(:update) do |page| - page.replace_html('autosave', hidden_field_tag('article[id]', @article.id)) - page.replace_html('preview_link', link_to(_("Preview"), {:controller => '/articles', :action => 'preview', :id => @article.id}, {:target => 'new', :class => 'btn info'})) - page.replace_html('destroy_link', link_to_destroy_draft(@article)) - if params[:article][:published_at] and params[:article][:published_at].to_time.to_i < Time.now.to_time.to_i and @article.parent_id.nil? - page.replace_html('publish', calendar_date_select('article', 'published_at', {:class => 'span7'})) if @article.state.to_s.downcase == "draft" - end + @must_update_calendar = (params[:article][:published_at] and params[:article][:published_at].to_time.to_i < Time.now.to_time.to_i and @article.parent_id.nil?) + respond_to do |format| + format.js end - - return true end - render :text => nil end protected diff --git a/app/views/admin/content/_form.html.erb b/app/views/admin/content/_form.html.erb index 74214688e0..a802da7d05 100644 --- a/app/views/admin/content/_form.html.erb +++ b/app/views/admin/content/_form.html.erb @@ -202,7 +202,8 @@ <%= text_field 'article', 'keywords', {:autocomplete => 'off', :class => 'input-block-level'} %>

<%=t(".tags_explaination") %>

- <%= auto_complete_field 'article_keywords', { :url => { :action => "auto_complete_for_article_keywords"}, :method => 'get', :tokens => ','}%> + <%#= auto_complete_field 'article_keywords', { :url => { :action => "auto_complete_for_article_keywords"}, :method => 'get', :tokens => ','}%> + <%= get_post_types %> diff --git a/app/views/admin/content/autosave.js.erb b/app/views/admin/content/autosave.js.erb new file mode 100644 index 0000000000..412c653360 --- /dev/null +++ b/app/views/admin/content/autosave.js.erb @@ -0,0 +1,4 @@ +$('#autosave').replaceWith('<%= hidden_field_tag('articles[id]', @article.id %>') +$('#preview_link').replaceWith('<%= url_for({:controller => '/articles', :action => 'preview', :id => @article.id}, {:target => 'new', :class => 'btn info'}) %>') +$('#destroy_link').replaceWith('<%= link_to_destroy_draft(@article) %>') +$('#publish').replaceWith('<%= calendar_date_select('article', 'published_at', {:class => 'span7'}) %>')