##// 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:

r7762:34c73c7573c3
r8128:ad25e3807d2d
Show More
issue_categories_controller.rb
125 lines | 4.4 KiB | text/x-ruby | RubyLexer
/ app / controllers / issue_categories_controller.rb
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/issue_categories_controller.rb....
r6783 # 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/issue_categories_controller.rb....
r6783 #
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/issue_categories_controller.rb....
r6783 #
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
Initial commit...
r2 class IssueCategoriesController < ApplicationController
Jean-Philippe Lang
Highlight the current item of the main menu....
r1062 menu_item :settings
Eric Davis
Refactor: Change the different find_object filters to share a common method....
r3483 model_object IssueCategory
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 before_filter :find_model_object, :except => [:index, :new, :create]
before_filter :find_project_from_association, :except => [:index, :new, :create]
before_filter :find_project, :only => [:index, :new, :create]
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 before_filter :authorize
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 accept_api_auth :index, :show, :create, :update, :destroy
def index
respond_to do |format|
format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'categories', :id => @project }
format.api { @categories = @project.issue_categories.all }
end
end
def show
respond_to do |format|
format.html { redirect_to :controller => 'projects', :action => 'settings', :tab => 'categories', :id => @project }
format.api
end
end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/issue_categories_controller.rb....
r6783
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 def new
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 @category = @project.issue_categories.build(params[:issue_category])
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 end
verify :method => :post, :only => :create
def create
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 @category = @project.issue_categories.build(params[:issue_category])
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 if @category.save
respond_to do |format|
format.html do
flash[:notice] = l(:notice_successful_create)
redirect_to :controller => 'projects', :action => 'settings', :tab => 'categories', :id => @project
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 end
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 format.js do
# IE doesn't support the replace_html rjs method for select box options
render(:update) {|page| page.replace "issue_category_id",
content_tag('select', '<option></option>' + options_from_collection_for_select(@project.issue_categories, 'id', 'name', @category.id), :id => 'issue_category_id', :name => 'issue[category_id]')
}
end
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 format.api { render :action => 'show', :status => :created, :location => issue_category_path(@category) }
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 end
else
respond_to do |format|
format.html { render :action => 'new'}
format.js do
render(:update) {|page| page.alert(@category.errors.full_messages.join('\n')) }
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 end
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 format.api { render_validation_errors(@category) }
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 end
end
end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/issue_categories_controller.rb....
r6783
Jean-Philippe Lang
Initial commit...
r2 def edit
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 end
verify :method => :put, :only => :update
def update
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 if @category.update_attributes(params[:issue_category])
respond_to do |format|
format.html {
flash[:notice] = l(:notice_successful_update)
redirect_to :controller => 'projects', :action => 'settings', :tab => 'categories', :id => @project
}
format.api { head :ok }
end
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 else
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 respond_to do |format|
format.html { render :action => 'edit' }
format.api { render_validation_errors(@category) }
end
Jean-Philippe Lang
Initial commit...
r2 end
end
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 verify :method => :delete, :only => :destroy
Jean-Philippe Lang
Initial commit...
r2 def destroy
Jean-Philippe Lang
A category with assigned issue can now be deleted. 2 options are proposed:...
r722 @issue_count = @category.issues.size
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 if @issue_count == 0 || params[:todo] || api_request?
reassign_to = nil
if params[:reassign_to_id] && (params[:todo] == 'reassign' || params[:todo].blank?)
reassign_to = @project.issue_categories.find_by_id(params[:reassign_to_id])
end
Jean-Philippe Lang
A category with assigned issue can now be deleted. 2 options are proposed:...
r722 @category.destroy(reassign_to)
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 respond_to do |format|
format.html { redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'categories' }
format.api { head :ok }
end
Toshi MARUYAMA
Fix potential Execution After Redirect bugs....
r5491 return
Jean-Philippe Lang
A category with assigned issue can now be deleted. 2 options are proposed:...
r722 end
@categories = @project.issue_categories - [@category]
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 private
Eric Davis
Refactor: Change the different find_object filters to share a common method....
r3483 # Wrap ApplicationController's find_model_object method to set
# @category instead of just @issue_category
def find_model_object
super
@category = @object
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/issue_categories_controller.rb....
r6783 end
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 def find_project
@project = Project.find(params[:project_id])
rescue ActiveRecord::RecordNotFound
render_404
end
Jean-Philippe Lang
Initial commit...
r2 end