links_controller.rb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. class LinksController < ApplicationController
  2. before_filter :authentication_check
  3. # GET /links
  4. def index
  5. links = Link.list(
  6. :link_object => params[:link_object],
  7. :link_object_value => params[:link_object_value],
  8. )
  9. #
  10. tickets = []
  11. users = {}
  12. link_list = []
  13. links.each { |item|
  14. link_list.push item
  15. if item['link_object'] == 'Ticket'
  16. data = Ticket.full_data( item['link_object_value'] )
  17. tickets.push data
  18. if !users[ data['owner_id'] ]
  19. users[ data['owner_id'] ] = User.user_data_full( data['owner_id'] )
  20. end
  21. if !users[ data['customer_id'] ]
  22. users[ data['customer_id'] ] = User.user_data_full( data['customer_id'] )
  23. end
  24. if !users[ data['created_by_id'] ]
  25. users[ data['created_by_id'] ] = User.user_data_full( data['created_by_id'] )
  26. end
  27. end
  28. }
  29. # return result
  30. render :json => {
  31. :links => link_list,
  32. :tickets => tickets,
  33. :users => users,
  34. }
  35. end
  36. # POST /links/add
  37. def add
  38. # @template.created_by_id = current_user.id
  39. link = Link.add(
  40. :link_type => params[:link_type],
  41. :link_object_source => params[:link_object_source],
  42. :link_object_source_value => params[:link_object_source_value],
  43. :link_object_target => params[:link_object_target],
  44. :link_object_target_value => params[:link_object_target_value]
  45. )
  46. if link
  47. render :json => link, :status => :created
  48. else
  49. render :json => link.errors, :status => :unprocessable_entity
  50. end
  51. end
  52. # DELETE /links/delete
  53. def delete
  54. @template = Template.find(params[:id])
  55. if @template.update_attributes(params[:template])
  56. render :json => @template, :status => :ok
  57. else
  58. render :json => @template.errors, :status => :unprocessable_entity
  59. end
  60. end
  61. end