This repository has been archived on 2024-12-01. You can view files and clone it, but cannot push or open issues or pull requests.
redmine_rodax_crm/app/controllers/contract_statuses_controller.rb
2012-01-03 21:11:44 +00:00

64 lines
2.0 KiB
Ruby

class ContractStatusesController < ApplicationController
unloadable
layout 'admin'
before_filter :require_admin, :except => :assing_to_project
before_filter :find_project_by_project_id, :authorize, :only => :assing_to_project
verify :method => :post, :only => [ :destroy, :create, :update, :move ],
:redirect_to => { :action => :index }
def index
@contract_status_pages, @contract_statuses = paginate :contract_statuses, :per_page => 25, :order => "position"
render :action => "index", :layout => false if request.xhr?
end
def new
@contract_status = ContractStatus.new
end
def create
@contract_status = ContractStatus.new(params[:contract_status])
if @contract_status.save
flash[:notice] = l(:notice_successful_create)
redirect_to :action =>"plugin", :id => "contacts", :controller => "settings", :tab => 'contract_statuses'
else
render :action => 'new'
end
end
def edit
@contract_status = ContractStatus.find(params[:id])
end
def update
@contract_status = ContractStatus.find(params[:id])
if @contract_status.update_attributes(params[:contract_status])
flash[:notice] = l(:notice_successful_update)
redirect_to :action =>"plugin", :id => "contacts", :controller => "settings", :tab => 'contract_statuses'
else
render :action => 'edit'
end
end
def destroy
ContractStatus.find(params[:id]).destroy
redirect_to :action =>"plugin", :id => "contacts", :controller => "settings", :tab => 'contract_statuses'
rescue
flash[:error] = l(:error_unable_delete)
redirect_to :action =>"plugin", :id => "contacts", :controller => "settings", :tab => 'contract_statuses'
end
def assing_to_project
if request.put?
@project.contract_statuses = !params[:contract_statuses].blank? ? ContractStatus.find(params[:contract_statuses]) : []
@project.save
flash[:notice] = l(:notice_successful_update)
end
redirect_to :controller => 'projects', :action => 'settings', :tab => 'contracts', :id => @project
end
end