To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / app / controllers / files_controller.rb @ 418:a9921f3e9088

History | View | Annotate | Download (1.31 KB)

1
class FilesController < ApplicationController
2
  menu_item :files
3

    
4
  before_filter :find_project_by_project_id
5
  before_filter :authorize
6

    
7
  helper :sort
8
  include SortHelper
9

    
10
  def index
11
    sort_init 'active', 'desc'
12
    sort_update 'filename' => "#{Attachment.table_name}.filename",
13
                'active' => "#{Attachment.table_name}.active",
14
                'created_on' => "#{Attachment.table_name}.created_on",
15
                'size' => "#{Attachment.table_name}.filesize",
16
                'downloads' => "#{Attachment.table_name}.downloads"
17
                
18
    @containers = [ Project.find(@project.id, :include => :attachments, :order => sort_clause)]
19
    @containers += @project.versions.find(:all, :include => :attachments, :order => sort_clause).sort.reverse
20
    render :layout => !request.xhr?
21
  end
22

    
23
  def new
24
    @versions = @project.versions.sort
25
  end
26

    
27
  def create
28
    container = (params[:version_id].blank? ? @project : @project.versions.find_by_id(params[:version_id]))
29
    attachments = Attachment.attach_files(container, params[:attachments])
30
    render_attachment_warning_if_needed(container)
31

    
32
    if !attachments.empty? && !attachments[:files].blank? && Setting.notified_events.include?('file_added')
33
      Mailer.deliver_attachments_added(attachments[:files])
34
    end
35
    redirect_to project_files_path(@project)
36
  end
37

    
38
end