1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
18 class PreviewsController < ApplicationController
19 before_filter :find_project
20
21 def issue
22 @issue = @project.issues.find_by_id(params[:id]) unless params[:id].blank?
23 if @issue
24 @attachements = @issue.attachments
25 @description = params[:issue] && params[:issue][:description]
26 if @description && @description.gsub(/(\r?\n|\n\r?)/, "\n") == @issue.description.to_s.gsub(/(\r?\n|\n\r?)/, "\n")
27 @description = nil
28 end
29 @notes = params[:notes]
30 else
31 @description = (params[:issue] ? params[:issue][:description] : nil)
32 end
33 render :layout => false
34 end
35
36 def news
37 @text = (params[:news] ? params[:news][:description] : nil)
38 render :partial => 'common/preview'
39 end
40
41 private
42
43 def find_project
44 project_id = (params[:issue] && params[:issue][:project_id]) || params[:project_id]
45 @project = Project.find(project_id)
46 rescue ActiveRecord::RecordNotFound
47 render_404
48 end
49
50 end