Feature #31427 » 0002-Change-the-quote-content.patch
| app/controllers/journals_controller.rb | ||
|---|---|---|
| 66 | 66 |
if @journal |
| 67 | 67 |
user = @journal.user |
| 68 | 68 |
text = @journal.notes |
| 69 |
indice = @journal.issue.visible_journals_with_index.find{|j| j.id == @journal.id}.indice
|
|
| 70 |
@content = +"#{ll(Setting.default_language, :text_user_wrote_in, {:value => user, :link => "#note-#{indice}"})}\n> "
|
|
| 69 | 71 |
else |
| 70 | 72 |
user = @issue.author |
| 71 | 73 |
text = @issue.description |
| 74 |
@content = +"#{ll(Setting.default_language, :text_user_wrote, user)}\n> "
|
|
| 72 | 75 |
end |
| 73 | 76 |
# Replaces pre blocks with [...] |
| 74 | 77 |
text = text.to_s.strip.gsub(%r{<pre>(.*?)</pre>}m, '[...]')
|
| 75 |
@content = +"#{ll(Setting.default_language, :text_user_wrote, user)}\n> "
|
|
| 76 | 78 |
@content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" |
| 77 | 79 |
rescue ActiveRecord::RecordNotFound |
| 78 | 80 |
render_404 |
| app/controllers/messages_controller.rb | ||
|---|---|---|
| 117 | 117 |
@subject = @message.subject |
| 118 | 118 |
@subject = "RE: #{@subject}" unless @subject.starts_with?('RE:')
|
| 119 | 119 | |
| 120 |
@content = +"#{ll(Setting.default_language, :text_user_wrote, @message.author)}\n> "
|
|
| 120 |
if @message.root == @message |
|
| 121 |
@content = +"#{ll(Setting.default_language, :text_user_wrote, @message.author)}\n> "
|
|
| 122 |
else |
|
| 123 |
@content = +"#{ll(Setting.default_language, :text_user_wrote_in, {:value => @message.author, :link => "message##{@message.id}"})}\n> "
|
|
| 124 |
end |
|
| 121 | 125 |
@content << @message.content.to_s.strip.gsub(%r{<pre>(.*?)</pre>}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
|
| 122 | 126 |
end |
| 123 | 127 | |
| public/stylesheets/application.css | ||
|---|---|---|
| 311 | 311 |
tr.message td.last_message { font-size: 80%; white-space: nowrap; }
|
| 312 | 312 |
tr.message.sticky td.subject { font-weight: bold; }
|
| 313 | 313 | |
| 314 |
body.avatars-on #replies .message {padding-left:32px;}
|
|
| 314 |
body.avatars-on #replies .message.reply {padding-left: 32px;}
|
|
| 315 | 315 |
#replies .reply:target h4 {background-color:#DDEEFF;}
|
| 316 | 316 |
#replies h4 img.gravatar {margin-left:-32px;}
|
| 317 | 317 | |
| test/functional/journals_controller_test.rb | ||
|---|---|---|
| 185 | 185 |
:xhr => true |
| 186 | 186 |
assert_response :success |
| 187 | 187 |
assert_equal 'text/javascript', response.content_type |
| 188 |
assert_include 'Redmine Admin wrote in #note-1:', response.body |
|
| 188 | 189 |
assert_include '> A comment with a private version', response.body |
| 189 | 190 |
end |
| 190 | 191 | |
| test/functional/messages_controller_test.rb | ||
|---|---|---|
| 257 | 257 |
assert_nil Message.find_by_id(2) |
| 258 | 258 |
end |
| 259 | 259 | |
| 260 |
def test_quote |
|
| 260 |
def test_quote_if_message_is_root |
|
| 261 |
@request.session[:user_id] = 2 |
|
| 262 |
get :quote, :params => {
|
|
| 263 |
:board_id => 1, |
|
| 264 |
:id => 1 |
|
| 265 |
}, |
|
| 266 |
:xhr => true |
|
| 267 |
assert_response :success |
|
| 268 |
assert_equal 'text/javascript', response.content_type |
|
| 269 | ||
| 270 |
assert_include 'RE: First post', response.body |
|
| 271 |
assert_include "Redmine Admin wrote:", response.body |
|
| 272 |
assert_include '> This is the very first post\n> in the forum', response.body |
|
| 273 |
end |
|
| 274 | ||
| 275 |
def test_quote_if_message_is_not_root |
|
| 261 | 276 |
@request.session[:user_id] = 2 |
| 262 | 277 |
get :quote, :params => {
|
| 263 | 278 |
:board_id => 1, |
| ... | ... | |
| 268 | 283 |
assert_equal 'text/javascript', response.content_type |
| 269 | 284 | |
| 270 | 285 |
assert_include 'RE: First post', response.body |
| 286 |
assert_include 'John Smith wrote in message#3:', response.body |
|
| 271 | 287 |
assert_include '> An other reply', response.body |
| 272 | 288 |
end |
| 273 | 289 | |