trabajo-afectivo/app/controllers/links_controller.rb

62 lines
1.5 KiB
Ruby
Raw Normal View History

# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
2012-08-21 10:28:41 +00:00
class LinksController < ApplicationController
before_filter :authentication_check
# GET /api/v1/links
2012-08-21 10:28:41 +00:00
def index
links = Link.list(
:link_object => params[:link_object],
:link_object_value => params[:link_object_value],
)
assets = {}
2012-08-21 10:28:41 +00:00
link_list = []
links.each { |item|
link_list.push item
if item['link_object'] == 'Ticket'
ticket = Ticket.lookup( :id => item['link_object_value'] )
assets = ticket.assets(assets)
2012-08-21 10:28:41 +00:00
end
}
# return result
render :json => {
:links => link_list,
:assets => assets,
2012-08-21 10:28:41 +00:00
}
end
# POST /api/v1/links/add
2012-08-21 10:28:41 +00:00
def add
2012-08-24 18:54:57 +00:00
# lookup object id
2012-08-24 19:40:22 +00:00
object_id = Ticket.where( :number => params[:link_object_source_number] ).first.id
2012-08-21 10:28:41 +00:00
link = Link.add(
:link_type => params[:link_type],
:link_object_target => params[:link_object_target],
2012-08-24 19:40:22 +00:00
:link_object_target_value => params[:link_object_target_value],
:link_object_source => params[:link_object_source],
:link_object_source_value => object_id
2012-08-21 10:28:41 +00:00
)
if link
render :json => link, :status => :created
else
render :json => link.errors, :status => :unprocessable_entity
end
end
# DELETE /api/v1/links/remove
def remove
link = Link.remove(params)
2012-08-21 10:28:41 +00:00
if link
render :json => link, :status => :created
2012-08-21 10:28:41 +00:00
else
render :json => link.errors, :status => :unprocessable_entity
2012-08-21 10:28:41 +00:00
end
end
end