mirror of
				https://github.com/redmine/redmine.git
				synced 2025-10-31 18:36:07 +01:00 
			
		
		
		
	git-svn-id: http://redmine.rubyforge.org/svn/trunk@4 e93f8b46-1217-0410-a6f0-8f06a7374b81
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # redMine - project management software
 | |
| # Copyright (C) 2006  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 DocumentsController < ApplicationController
 | |
| 	layout 'base'
 | |
| 	before_filter :find_project, :authorize
 | |
|   
 | |
|   def show
 | |
|   end
 | |
| 
 | |
|   def edit
 | |
|     @categories = Enumeration::get_values('DCAT')
 | |
|     if request.post? and @document.update_attributes(params[:document])
 | |
|       flash[:notice] = 'Document was successfully updated.'
 | |
|       redirect_to :action => 'show', :id => @document
 | |
|     end
 | |
|   end  
 | |
| 
 | |
|   def destroy
 | |
|     @document.destroy
 | |
|     redirect_to :controller => 'projects', :action => 'list_documents', :id => @project
 | |
|   end
 | |
| 
 | |
|   def download
 | |
|     @attachment = @document.attachments.find(params[:attachment_id])
 | |
|     @attachment.increment_download
 | |
|     send_file @attachment.diskfile, :filename => @attachment.filename
 | |
|   end 
 | |
|   
 | |
|   def add_attachment
 | |
|     # Save the attachment
 | |
|     if params[:attachment][:file].size > 0
 | |
|       @attachment = @document.attachments.build(params[:attachment])      
 | |
|       @attachment.author_id = session[:user].id unless session[:user].nil?
 | |
|       @attachment.save
 | |
|     end
 | |
|     render :action => 'show'
 | |
|   end
 | |
|   
 | |
|   def destroy_attachment
 | |
|     @document.attachments.find(params[:attachment_id]).destroy
 | |
|     render :action => 'show'
 | |
|   end
 | |
| 
 | |
| private
 | |
| 	def find_project
 | |
|     @document = Document.find(params[:id])
 | |
| 		@project = @document.project
 | |
| 	end  
 | |
|   
 | |
| end
 |