##// END OF EJS Templates
Make sure that tests restore the attachments path to the tmp dir so that fixture files don't get deleted....
Make sure that tests restore the attachments path to the tmp dir so that fixture files don't get deleted. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8248 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r7890:c3c2a4afe008
r8128:ad25e3807d2d
Show More
documents_controller.rb
89 lines | 3.1 KiB | text/x-ruby | RubyLexer
/ app / controllers / documents_controller.rb
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 #
# 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.
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # 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.
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # 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.
Jean-Philippe Lang
association loading in documents/show...
r22
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 class DocumentsController < ApplicationController
Jean-Philippe Lang
Contextual quick search (#3263)....
r2829 default_search_scope :documents
Eric Davis
Refactor: Change the different find_object filters to share a common method....
r3483 model_object Document
Jean-Philippe Lang
Resourcified documents....
r7890 before_filter :find_project_by_project_id, :only => [:index, :new, :create]
before_filter :find_model_object, :except => [:index, :new, :create]
before_filter :find_project_from_association, :except => [:index, :new, :create]
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 before_filter :authorize
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683
Jean-Philippe Lang
Adds an optional description to attachments....
r1166 helper :attachments
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 def index
@sort_by = %w(category date title author).include?(params[:sort_by]) ? params[:sort_by] : 'category'
documents = @project.documents.find :all, :include => [:attachments, :category]
case @sort_by
when 'date'
Jean-Philippe Lang
Show last update datetime (last attachment added) on document list (#4232)....
r2981 @grouped = documents.group_by {|d| d.updated_on.to_date }
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 when 'title'
@grouped = documents.group_by {|d| d.title.first.upcase}
when 'author'
@grouped = documents.select{|d| d.attachments.any?}.group_by {|d| d.attachments.last.author}
else
@grouped = documents.group_by(&:category)
end
Jean-Philippe Lang
Fixed: default category ignored when adding a document (#2328)....
r2122 @document = @project.documents.build
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 render :layout => false if request.xhr?
end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def show
Jean-Philippe Lang
association loading in documents/show...
r22 @attachments = @document.attachments.find(:all, :order => "created_on DESC")
Jean-Philippe Lang
Initial commit...
r2 end
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 def new
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683 @document = @project.documents.build(params[:document])
Jean-Philippe Lang
Resourcified documents....
r7890 end
def create
@document = @project.documents.build(params[:document])
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 if request.post? and @document.save
Eric Davis
Refactor: Moved ApplicationController#attach_files to the Attachment model...
r3409 attachments = Attachment.attach_files(@document, params[:attachments])
Eric Davis
Refactor: Decouple failed attachments and the flash messages...
r3414 render_attachment_warning_if_needed(@document)
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 flash[:notice] = l(:notice_successful_create)
redirect_to :action => 'index', :project_id => @project
Jean-Philippe Lang
Resourcified documents....
r7890 else
render :action => 'new'
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 end
end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def edit
Jean-Philippe Lang
Resourcified documents....
r7890 end
def update
if request.put? and @document.update_attributes(params[:document])
Jean-Philippe Lang
notice messages translation...
r15 flash[:notice] = l(:notice_successful_update)
Jean-Philippe Lang
Initial commit...
r2 redirect_to :action => 'show', :id => @document
Jean-Philippe Lang
Resourcified documents....
r7890 else
render :action => 'edit'
Jean-Philippe Lang
Initial commit...
r2 end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683 end
Jean-Philippe Lang
Initial commit...
r2
def destroy
Jean-Philippe Lang
Resourcified documents....
r7890 @document.destroy if request.delete?
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 redirect_to :controller => 'documents', :action => 'index', :project_id => @project
Jean-Philippe Lang
Initial commit...
r2 end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/documents_controller.rb....
r6683
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def add_attachment
Eric Davis
Refactor: Moved ApplicationController#attach_files to the Attachment model...
r3409 attachments = Attachment.attach_files(@document, params[:attachments])
Eric Davis
Refactor: Decouple failed attachments and the flash messages...
r3414 render_attachment_warning_if_needed(@document)
Eric Davis
Refactor: Moved ApplicationController#attach_files to the Attachment model...
r3409
Mailer.deliver_attachments_added(attachments[:files]) if attachments.present? && attachments[:files].present? && Setting.notified_events.include?('document_added')
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 redirect_to :action => 'show', :id => @document
end
Jean-Philippe Lang
Initial commit...
r2 end