diff --git a/app/controllers/journals_controller.rb b/app/controllers/journals_controller.rb deleted file mode 100644 index 1f65dc82..00000000 --- a/app/controllers/journals_controller.rb +++ /dev/null @@ -1,98 +0,0 @@ -# redMine - project management software -# Copyright (C) 2006-2008 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 JournalsController < ApplicationController - before_filter :find_journal, :only => [:edit] - before_filter :find_issue, :only => [:new] - before_filter :find_optional_project, :only => [:index] - before_filter :authorize, :only => [:new, :edit] - accept_key_auth :index - - helper :issues - helper :queries - include QueriesHelper - helper :sort - include SortHelper - helper :custom_fields - - def index - retrieve_query - sort_init 'id', 'desc' - sort_update(@query.sortable_columns) - - if @query.valid? - @journals = @query.journals(:order => "#{Journal.table_name}.created_on DESC", - :limit => 25) - end - @title = (@project ? @project.name : Setting.app_title) + ": " + (@query.new_record? ? l(:label_changes_details) : @query.name) - render :layout => false, :content_type => 'application/atom+xml' - rescue ActiveRecord::RecordNotFound - render_404 - end - - def new - journal = Journal.find(params[:journal_id]) if params[:journal_id] - if journal - user = journal.user - text = journal.notes - else - user = @issue.author - text = @issue.description - end - # Replaces pre blocks with [...] - text = text.to_s.strip.gsub(%r{
((.|\s)*?)
}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;" - } - end - - def edit - if request.post? - @journal.update_attributes(:notes => params[:notes]) if params[:notes] - @journal.destroy if @journal.details.empty? && @journal.notes.blank? - call_hook(:controller_journals_edit_post, { :journal => @journal, :params => params}) - respond_to do |format| - format.html { redirect_to :controller => 'issues', :action => 'show', :id => @journal.journalized_id } - format.js { render :action => 'update' } - end - end - end - -private - def find_journal - @journal = Journal.find(params[:id]) - (render_403; return false) unless @journal.editable_by?(User.current) - @project = @journal.journalized.project - rescue ActiveRecord::RecordNotFound - render_404 - end - - # TODO: duplicated in IssuesController - def find_issue - @issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category]) - @project = @issue.project - rescue ActiveRecord::RecordNotFound - render_404 - end -end diff --git a/test/functional/journals_controller_test.rb b/test/functional/journals_controller_test.rb index 52aa8f9e..cc61c80a 100644 --- a/test/functional/journals_controller_test.rb +++ b/test/functional/journals_controller_test.rb @@ -31,33 +31,6 @@ class JournalsControllerTest < ActionController::TestCase User.current = nil end - def test_index - get :index, :project_id => 1 - assert_response :success - assert_not_nil assigns(:journals) - assert_equal 'application/atom+xml', @response.content_type - end - - def test_reply_to_issue - @request.session[:user_id] = 2 - get :new, :id => 6 - assert_response :success - assert_select_rjs :show, "update" - end - - def test_reply_to_issue_without_permission - @request.session[:user_id] = 7 - 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 - assert_response :success - assert_select_rjs :show, "update" - end - def test_get_edit @request.session[:user_id] = 1 xhr :get, :edit, :id => 2