trabajo-afectivo/app/controllers/links_controller.rb

66 lines
1.5 KiB
Ruby
Raw Normal View History

2016-10-19 03:11:36 +00:00
# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
2012-08-21 10:28:41 +00:00
class LinksController < ApplicationController
prepend_before_action :authentication_check
2012-08-21 10:28:41 +00:00
# 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],
2012-08-21 10:28:41 +00:00
)
assets = {}
2012-08-21 10:28:41 +00:00
link_list = []
links.each do |item|
2012-08-21 10:28:41 +00:00
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
end
2012-08-21 10:28:41 +00:00
# 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
object = Ticket.find_by(number: params[:link_object_source_number])
if !object
render json: { error: 'No such object!' }, status: :unprocessable_entity
return
end
2012-08-21 10:28:41 +00:00
link = Link.add(
link_type: params[:link_type],
link_object_target: params[:link_object_target],
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
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
# 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