Mercurial > hg > soundsoftware-site
comparison app/controllers/messages_controller.rb @ 1464:261b3d9a4903 redmine-2.4
Update to Redmine 2.4 branch rev 12663
author | Chris Cannam |
---|---|
date | Tue, 14 Jan 2014 14:37:42 +0000 |
parents | 3e4c3460b6ca |
children | e248c7af89ec |
comparison
equal
deleted
inserted
replaced
1296:038ba2d95de8 | 1464:261b3d9a4903 |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2012 Jean-Philippe Lang | 2 # Copyright (C) 2006-2013 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
17 | 17 |
18 class MessagesController < ApplicationController | 18 class MessagesController < ApplicationController |
19 menu_item :boards | 19 menu_item :boards |
20 default_search_scope :messages | 20 default_search_scope :messages |
21 before_filter :find_board, :only => [:new, :preview] | 21 before_filter :find_board, :only => [:new, :preview] |
22 before_filter :find_attachments, :only => [:preview] | |
22 before_filter :find_message, :except => [:new, :preview] | 23 before_filter :find_message, :except => [:new, :preview] |
23 before_filter :authorize, :except => [:preview, :edit, :destroy] | 24 before_filter :authorize, :except => [:preview, :edit, :destroy] |
24 | 25 |
25 helper :boards | 26 helper :boards |
26 helper :watchers | 27 helper :watchers |
32 # Show a topic and its replies | 33 # Show a topic and its replies |
33 def show | 34 def show |
34 page = params[:page] | 35 page = params[:page] |
35 # Find the page of the requested reply | 36 # Find the page of the requested reply |
36 if params[:r] && page.nil? | 37 if params[:r] && page.nil? |
37 offset = @topic.children.count(:conditions => ["#{Message.table_name}.id < ?", params[:r].to_i]) | 38 offset = @topic.children.where("#{Message.table_name}.id < ?", params[:r].to_i).count |
38 page = 1 + offset / REPLIES_PER_PAGE | 39 page = 1 + offset / REPLIES_PER_PAGE |
39 end | 40 end |
40 | 41 |
41 @reply_count = @topic.children.count | 42 @reply_count = @topic.children.count |
42 @reply_pages = Paginator.new self, @reply_count, REPLIES_PER_PAGE, page | 43 @reply_pages = Paginator.new @reply_count, REPLIES_PER_PAGE, page |
43 @replies = @topic.children.find(:all, :include => [:author, :attachments, {:board => :project}], | 44 @replies = @topic.children. |
44 :order => "#{Message.table_name}.created_on ASC", | 45 includes(:author, :attachments, {:board => :project}). |
45 :limit => @reply_pages.items_per_page, | 46 reorder("#{Message.table_name}.created_on ASC"). |
46 :offset => @reply_pages.current.offset) | 47 limit(@reply_pages.per_page). |
48 offset(@reply_pages.offset). | |
49 all | |
47 | 50 |
48 @reply = Message.new(:subject => "RE: #{@message.subject}") | 51 @reply = Message.new(:subject => "RE: #{@message.subject}") |
49 render :action => "show", :layout => false if request.xhr? | 52 render :action => "show", :layout => false if request.xhr? |
50 end | 53 end |
51 | 54 |
113 @content << @message.content.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" | 116 @content << @message.content.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n" |
114 end | 117 end |
115 | 118 |
116 def preview | 119 def preview |
117 message = @board.messages.find_by_id(params[:id]) | 120 message = @board.messages.find_by_id(params[:id]) |
118 @attachements = message.attachments if message | |
119 @text = (params[:message] || params[:reply])[:content] | 121 @text = (params[:message] || params[:reply])[:content] |
120 @previewed = message | 122 @previewed = message |
121 render :partial => 'common/preview' | 123 render :partial => 'common/preview' |
122 end | 124 end |
123 | 125 |