Removes RJS from JournalsController.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10054 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e8469e2c5b
commit
3eaa998c28
|
@ -67,16 +67,8 @@ class JournalsController < ApplicationController
|
|||
end
|
||||
# Replaces pre blocks with [...]
|
||||
text = text.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]')
|
||||
content = "#{ll(Setting.default_language, :text_user_wrote, user)}\n> "
|
||||
content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
|
||||
|
||||
render(:update) { |page|
|
||||
page.<< "$('notes').value = \"#{escape_javascript content}\";"
|
||||
page.show 'update'
|
||||
page << "Form.Element.focus('notes');"
|
||||
page << "Element.scrollTo('update');"
|
||||
page << "$('notes').scrollTop = $('notes').scrollHeight - $('notes').clientHeight;"
|
||||
}
|
||||
@content = "#{ll(Setting.default_language, :text_user_wrote, user)}\n> "
|
||||
@content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
|
||||
end
|
||||
|
||||
def edit
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Element.hide("journal-<%= @journal.id %>-notes");
|
||||
Element.insert("journal-<%= @journal.id %>-notes", {'after': '<%= escape_javascript(render :partial => 'notes_form') %>'});
|
|
@ -1,3 +0,0 @@
|
|||
page.hide "journal-#{@journal.id}-notes"
|
||||
page.insert_html :after, "journal-#{@journal.id}-notes",
|
||||
:partial => 'notes_form'
|
|
@ -0,0 +1,5 @@
|
|||
$('notes').value = "<%= raw escape_javascript(@content) %>";
|
||||
Element.show('update');
|
||||
Form.Element.focus('notes');
|
||||
Element.scrollTo('update');
|
||||
$('notes').scrollTop = $('notes').scrollHeight - $('notes').clientHeight;
|
|
@ -0,0 +1,9 @@
|
|||
<% if @journal.frozen? %>
|
||||
Element.remove("change-<%= @journal.id %>");
|
||||
<% else %>
|
||||
Element.replace("journal-<%= @journal.id %>-notes", '<%= escape_javascript(render_notes(@journal.issue, @journal, :reply_links => authorize_for('issues', 'edit'))) %>');
|
||||
Element.show("journal-<%= @journal.id %>-notes");
|
||||
Element.remove("journal-<%= @journal.id %>-form");
|
||||
<% end %>
|
||||
|
||||
<%= call_hook(:view_journals_update_js_bottom, { :journal => @journal }) %>
|
|
@ -1,10 +0,0 @@
|
|||
if @journal.frozen?
|
||||
# journal was destroyed
|
||||
page.remove "change-#{@journal.id}"
|
||||
else
|
||||
page.replace "journal-#{@journal.id}-notes", render_notes(@journal.issue, @journal, :reply_links => authorize_for('issues', 'edit'))
|
||||
page.show "journal-#{@journal.id}-notes"
|
||||
page.remove "journal-#{@journal.id}-form"
|
||||
end
|
||||
|
||||
call_hook(:view_journals_update_rjs_bottom, { :page => page, :journal => @journal })
|
|
@ -54,47 +54,56 @@ class JournalsControllerTest < ActionController::TestCase
|
|||
|
||||
def test_reply_to_issue
|
||||
@request.session[:user_id] = 2
|
||||
get :new, :id => 6
|
||||
xhr :get, :new, :id => 6
|
||||
assert_response :success
|
||||
assert_select_rjs :show, "update"
|
||||
assert_template 'new'
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
assert_include '> This is an issue', response.body
|
||||
end
|
||||
|
||||
def test_reply_to_issue_without_permission
|
||||
@request.session[:user_id] = 7
|
||||
get :new, :id => 6
|
||||
xhr :get, :new, :id => 6
|
||||
assert_response 403
|
||||
end
|
||||
|
||||
def test_reply_to_note
|
||||
@request.session[:user_id] = 2
|
||||
get :new, :id => 6, :journal_id => 4
|
||||
xhr :get, :new, :id => 6, :journal_id => 4
|
||||
assert_response :success
|
||||
assert_select_rjs :show, "update"
|
||||
assert_template 'new'
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
assert_include '> A comment with a private version', response.body
|
||||
end
|
||||
|
||||
def test_get_edit
|
||||
def test_edit_xhr
|
||||
@request.session[:user_id] = 1
|
||||
xhr :get, :edit, :id => 2
|
||||
assert_response :success
|
||||
assert_select_rjs :insert, :after, 'journal-2-notes' do
|
||||
assert_select 'form[id=journal-2-form]'
|
||||
assert_select 'textarea'
|
||||
end
|
||||
assert_template 'edit'
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
assert_include 'textarea', response.body
|
||||
end
|
||||
|
||||
def test_post_edit
|
||||
def test_update_xhr
|
||||
@request.session[:user_id] = 1
|
||||
xhr :post, :edit, :id => 2, :notes => 'Updated notes'
|
||||
assert_response :success
|
||||
assert_select_rjs :replace, 'journal-2-notes'
|
||||
assert_template 'update'
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
assert_equal 'Updated notes', Journal.find(2).notes
|
||||
assert_include 'journal-2-notes', response.body
|
||||
end
|
||||
|
||||
def test_post_edit_with_empty_notes
|
||||
def test_update_xhr_with_empty_notes_should_delete_the_journal
|
||||
@request.session[:user_id] = 1
|
||||
xhr :post, :edit, :id => 2, :notes => ''
|
||||
assert_response :success
|
||||
assert_select_rjs :remove, 'change-2'
|
||||
assert_difference 'Journal.count', -1 do
|
||||
xhr :post, :edit, :id => 2, :notes => ''
|
||||
assert_response :success
|
||||
assert_template 'update'
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
end
|
||||
assert_nil Journal.find_by_id(2)
|
||||
assert_include 'change-2', response.body
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue