OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/controllers/work_package_relations_cont...

53 lines
1.4 KiB

#-- 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 WorkPackageRelationsController < ApplicationController
before_filter :find_work_package, :find_project_from_association, :authorize
def create
@relation = @work_package.new_relation.tap do |r|
r.issue_to = WorkPackage.visible.find_by_id(params[:relation][:issue_to_id].match(/\d+/).to_s)
r.relation_type = params[:relation][:relation_type]
r.delay = params[:relation][:delay]
end
@relation.save
respond_to do |format|
format.html { redirect_to work_package_path(@work_package) }
format.js { render :action => 'create', :locals => { :work_package => work_package,
:relation => @relation } }
end
end
def destroy
@relation = @work_package.relation(params[:id])
@relation.destroy
respond_to do |format|
format.html { redirect_to work_package_path(@work_package) }
format.js {}
end
end
def work_package
@work_package
end
private
def find_work_package
@work_package = @object = WorkPackage.find(params[:work_package_id])
rescue ActiveRecord::RecordNotFound
render_404
end
end