1 class FilesController < ApplicationController
4 before_filter :find_project
5 before_filter :authorize
11 sort_init 'filename', 'asc'
12 sort_update 'filename' => "#{Attachment.table_name}.filename",
13 'created_on' => "#{Attachment.table_name}.created_on",
14 'size' => "#{Attachment.table_name}.filesize",
15 'downloads' => "#{Attachment.table_name}.downloads"
17 @containers = [ Project.find(@project.id, :include => :attachments, :order => sort_clause)]
18 @containers += @project.versions.find(:all, :include => :attachments, :order => sort_clause).sort.reverse
19 render :layout => !request.xhr?
22 # TODO: split method into new (GET) and create (POST)
25 container = (params[:version_id].blank? ? @project : @project.versions.find_by_id(params[:version_id]))
26 attachments = Attachment.attach_files(container, params[:attachments])
27 render_attachment_warning_if_needed(container)
29 if !attachments.empty? && !attachments[:files].blank? && Setting.notified_events.include?('file_added')
30 Mailer.deliver_attachments_added(attachments[:files])
32 redirect_to :controller => 'files', :action => 'index', :id => @project
35 @versions = @project.versions.sort