summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-03-28 21:45:30 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-03-28 21:45:30 +0000
commit13d6b3129b941bfb269e9927aacf8a919afc4fe9 (patch)
tree2c4a941bf48253bc61e26483aedcc47bb30c7721
parentaf968bfb226414aa6ae3b43cc94e6eb9d09d9d89 (diff)
downloadredmine-13d6b3129b941bfb269e9927aacf8a919afc4fe9.tar.gz
redmine-13d6b3129b941bfb269e9927aacf8a919afc4fe9.zip
Adds support for preview when editing an issue note (#5520).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5246 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/previews_controller.rb17
-rw-r--r--app/views/journals/_notes_form.rhtml10
-rw-r--r--test/functional/previews_controller_test.rb26
3 files changed, 53 insertions, 0 deletions
diff --git a/app/controllers/previews_controller.rb b/app/controllers/previews_controller.rb
index 612025cb8..f1dbedf7b 100644
--- a/app/controllers/previews_controller.rb
+++ b/app/controllers/previews_controller.rb
@@ -1,3 +1,20 @@
+# Redmine - project management software
+# Copyright (C) 2006-2011 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
class PreviewsController < ApplicationController
before_filter :find_project
diff --git a/app/views/journals/_notes_form.rhtml b/app/views/journals/_notes_form.rhtml
index da0f44fa0..7e44f4a91 100644
--- a/app/views/journals/_notes_form.rhtml
+++ b/app/views/journals/_notes_form.rhtml
@@ -5,7 +5,17 @@
:rows => (@journal.notes.blank? ? 10 : [[10, @journal.notes.length / 50].max, 100].min) %>
<%= call_hook(:view_journals_notes_form_after_notes, { :journal => @journal}) %>
<p><%= submit_tag l(:button_save) %>
+ <%= link_to_remote l(:label_preview),
+ { :url => preview_issue_path(:project_id => @project, :id => @journal.issue),
+ :method => 'post',
+ :update => "journal_#{@journal.id}_preview",
+ :with => "Form.serialize('journal-#{@journal.id}-form')",
+ :complete => "Element.scrollTo('journal_#{@journal.id}_preview')"
+ }, :accesskey => accesskey(:preview) %>
+ |
<%= link_to l(:button_cancel), '#', :onclick => "Element.remove('journal-#{@journal.id}-form'); " +
"Element.show('journal-#{@journal.id}-notes'); return false;" %></p>
+
+ <div id="journal_<%= @journal.id %>_preview" class="wiki"></div>
<% end %>
<%= wikitoolbar_for "journal_#{@journal.id}_notes" %>
diff --git a/test/functional/previews_controller_test.rb b/test/functional/previews_controller_test.rb
index 45f51f61d..c5261d549 100644
--- a/test/functional/previews_controller_test.rb
+++ b/test/functional/previews_controller_test.rb
@@ -1,3 +1,20 @@
+# Redmine - project management software
+# Copyright (C) 2006-2011 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
require File.expand_path('../../test_helper', __FILE__)
class PreviewsControllerTest < ActionController::TestCase
@@ -18,6 +35,15 @@ class PreviewsControllerTest < ActionController::TestCase
assert_template 'preview'
assert_not_nil assigns(:notes)
end
+
+ def test_preview_journal_notes_for_update
+ @request.session[:user_id] = 2
+ post :issue, :project_id => '1', :id => 1, :notes => 'Foo'
+ assert_response :success
+ assert_template 'preview'
+ assert_not_nil assigns(:notes)
+ assert_tag :p, :content => 'Foo'
+ end
def test_news
get :news, :project_id => 1,