Mercurial > hg > soundsoftware-site
comparison app/controllers/enumerations_controller.rb @ 909:cbb26bc654de redmine-1.3
Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
| author | Chris Cannam |
|---|---|
| date | Fri, 24 Feb 2012 19:09:32 +0000 |
| parents | cbce1fd3b1b7 |
| children | 433d4f72a19b |
comparison
equal
deleted
inserted
replaced
| 908:c6c2cbd0afee | 909:cbb26bc654de |
|---|---|
| 1 # redMine - project management software | 1 # Redmine - project management software |
| 2 # Copyright (C) 2006 Jean-Philippe Lang | 2 # Copyright (C) 2006-2011 Jean-Philippe Lang |
| 3 # | 3 # |
| 4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
| 5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
| 6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
| 7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
| 8 # | 8 # |
| 9 # This program is distributed in the hope that it will be useful, | 9 # This program is distributed in the hope that it will be useful, |
| 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 12 # GNU General Public License for more details. | 12 # GNU General Public License for more details. |
| 13 # | 13 # |
| 14 # You should have received a copy of the GNU General Public License | 14 # You should have received a copy of the GNU General Public License |
| 15 # along with this program; if not, write to the Free Software | 15 # along with this program; if not, write to the Free Software |
| 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| 17 | 17 |
| 18 class EnumerationsController < ApplicationController | 18 class EnumerationsController < ApplicationController |
| 19 layout 'admin' | 19 layout 'admin' |
| 20 | 20 |
| 21 before_filter :require_admin | 21 before_filter :require_admin |
| 22 | 22 |
| 23 helper :custom_fields | 23 helper :custom_fields |
| 24 include CustomFieldsHelper | 24 include CustomFieldsHelper |
| 25 | 25 |
| 26 def index | 26 def index |
| 27 list | |
| 28 render :action => 'list' | |
| 29 end | 27 end |
| 30 | 28 |
| 31 # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html) | |
| 32 verify :method => :post, :only => [ :destroy, :create, :update ], | 29 verify :method => :post, :only => [ :destroy, :create, :update ], |
| 33 :redirect_to => { :action => :list } | 30 :redirect_to => { :action => :index } |
| 34 | |
| 35 def list | |
| 36 end | |
| 37 | 31 |
| 38 def new | 32 def new |
| 39 begin | 33 begin |
| 40 @enumeration = params[:type].constantize.new | 34 @enumeration = params[:type].constantize.new |
| 41 rescue NameError | 35 rescue NameError |
| 42 @enumeration = Enumeration.new | 36 @enumeration = Enumeration.new |
| 43 end | 37 end |
| 44 end | 38 end |
| 45 | 39 |
| 46 def create | 40 def create |
| 47 @enumeration = Enumeration.new(params[:enumeration]) | 41 @enumeration = Enumeration.new(params[:enumeration]) |
| 48 @enumeration.type = params[:enumeration][:type] | 42 @enumeration.type = params[:enumeration][:type] |
| 49 if @enumeration.save | 43 if @enumeration.save |
| 50 flash[:notice] = l(:notice_successful_create) | 44 flash[:notice] = l(:notice_successful_create) |
| 51 redirect_to :action => 'list', :type => @enumeration.type | 45 redirect_to :action => 'index', :type => @enumeration.type |
| 52 else | 46 else |
| 53 render :action => 'new' | 47 render :action => 'new' |
| 54 end | 48 end |
| 55 end | 49 end |
| 56 | 50 |
| 61 def update | 55 def update |
| 62 @enumeration = Enumeration.find(params[:id]) | 56 @enumeration = Enumeration.find(params[:id]) |
| 63 @enumeration.type = params[:enumeration][:type] if params[:enumeration][:type] | 57 @enumeration.type = params[:enumeration][:type] if params[:enumeration][:type] |
| 64 if @enumeration.update_attributes(params[:enumeration]) | 58 if @enumeration.update_attributes(params[:enumeration]) |
| 65 flash[:notice] = l(:notice_successful_update) | 59 flash[:notice] = l(:notice_successful_update) |
| 66 redirect_to :action => 'list', :type => @enumeration.type | 60 redirect_to :action => 'index', :type => @enumeration.type |
| 67 else | 61 else |
| 68 render :action => 'edit' | 62 render :action => 'edit' |
| 69 end | 63 end |
| 70 end | 64 end |
| 71 | 65 |
| 72 def destroy | 66 def destroy |
| 73 @enumeration = Enumeration.find(params[:id]) | 67 @enumeration = Enumeration.find(params[:id]) |
| 74 if !@enumeration.in_use? | 68 if !@enumeration.in_use? |
| 75 # No associated objects | 69 # No associated objects |
| 76 @enumeration.destroy | 70 @enumeration.destroy |
