#-- encoding: UTF-8 #-- copyright # OpenProject is a project management system. # # Copyright (C) 2012-2013 the OpenProject Team # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. # # See doc/COPYRIGHT.rdoc for more details. #++ class IssueStatusesController < ApplicationController include PaginationHelper layout 'admin' before_filter :require_admin verify :method => :post, :only => [ :destroy, :create, :update, :move, :update_issue_done_ratio ], :redirect_to => { :action => :index } def index @issue_statuses = IssueStatus.order('position') .page(params[:page]) .per_page(per_page_param) render :action => "index", :layout => false if request.xhr? end def new @issue_status = IssueStatus.new end def create @issue_status = IssueStatus.new(params[:issue_status]) if @issue_status.save flash[:notice] = l(:notice_successful_create) redirect_to :action => 'index' else render :action => 'new' end end def edit @issue_status = IssueStatus.find(params[:id]) end def update @issue_status = IssueStatus.find(params[:id]) if @issue_status.update_attributes(params[:issue_status]) flash[:notice] = l(:notice_successful_update) redirect_to :action => 'index' else render :action => 'edit' end end def destroy IssueStatus.find(params[:id]).destroy redirect_to :action => 'index' rescue flash[:error] = l(:error_unable_delete_issue_status) redirect_to :action => 'index' end def update_issue_done_ratio if IssueStatus.update_issue_done_ratios flash[:notice] = l(:notice_issue_done_ratios_updated) else flash[:error] = l(:error_issue_done_ratios_not_updated) end redirect_to :action => 'index' end end