2012-01-03 16:18:32 +00:00
|
|
|
api.contact do
|
|
|
|
|
api.id @contact.id
|
|
|
|
|
api.is_company @contact.is_company
|
|
|
|
|
|
|
|
|
|
api.firstname @contact.first_name
|
|
|
|
|
api.lastname @contact.last_name
|
|
|
|
|
api.middlename @contact.middle_name
|
|
|
|
|
api.company @contact.company
|
|
|
|
|
api.address @contact.address
|
|
|
|
|
api.website @contact.website
|
|
|
|
|
api.skype_name @contact.skype_name
|
|
|
|
|
api.birthday @contact.birthday
|
|
|
|
|
api.job_title @contact.job_title
|
|
|
|
|
api.background @contact.background
|
|
|
|
|
api.author(:id => @contact.author_id, :name => @contact.author.name) unless @contact.author.nil?
|
|
|
|
|
api.assigned_to(:id => @contact.assigned_to_id, :name => @contact.assigned_to.name) unless @contact.assigned_to.nil?
|
|
|
|
|
|
|
|
|
|
api.array :phones do
|
|
|
|
|
@contact.phones.each do |phone|
|
|
|
|
|
api.phone phone
|
|
|
|
|
end
|
|
|
|
|
end if @contact.phones.any?
|
|
|
|
|
|
|
|
|
|
api.array :emails do
|
|
|
|
|
@contact.emails.each do |email|
|
|
|
|
|
api.email email
|
|
|
|
|
end
|
|
|
|
|
end if @contact.emails.any?
|
|
|
|
|
|
|
|
|
|
api.tags @contact.tag_list
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
render_api_custom_values @contact.custom_field_values, api
|
|
|
|
|
|
|
|
|
|
api.created_on @contact.created_on
|
|
|
|
|
api.updated_on @contact.updated_on
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
api.array :projects do
|
|
|
|
|
@contact.projects.each do |project|
|
|
|
|
|
api.project(:id => project.id, :name => project.name)
|
|
|
|
|
end
|
|
|
|
|
end if @contact.projects.present?
|
|
|
|
|
|
|
|
|
|
if authorize_for(:notes, :show)
|
|
|
|
|
api.array :notes do
|
|
|
|
|
@contact.notes.each do |note|
|
|
|
|
|
api.note do
|
|
|
|
|
api.id note.id
|
|
|
|
|
api.content note.content
|
|
|
|
|
api.author(:id => note.author_id, :name => note.author.name) unless note.author.nil?
|
|
|
|
|
api.created_on note.created_on
|
|
|
|
|
api.updated_on note.updated_on
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end if @contact.notes.present? && User.current.allowed_to?(:view_contacts, @project)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
api.array :employees do
|
|
|
|
|
@contact.employees.each do |employee|
|
|
|
|
|
api.employee(:id => employee.id, :name => employee.name )
|
|
|
|
|
end
|
|
|
|
|
end if @contact.employees.present?
|
|
|
|
|
|
|
|
|
|
api.array :deals do
|
|
|
|
|
(@contact.related_deals + @contact.deals).each do |deal|
|
|
|
|
|
api.deal do
|
|
|
|
|
api.id deal.id
|
|
|
|
|
api.price deal.price
|
|
|
|
|
api.currency deal.currency
|
|
|
|
|
api.price_type deal.price_type
|
|
|
|
|
api.name deal.name
|
|
|
|
|
api.project(:id => deal.project.id, :name => deal.project.name)
|
|
|
|
|
api.status(:id => deal.status.id, :name => deal.status.name)
|
|
|
|
|
api.background deal.background
|
|
|
|
|
api.created_on deal.created_on
|
|
|
|
|
api.updated_on deal.updated_on
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end if (@contact.related_deals + @contact.deals).present? && User.current.allowed_to?(:view_deals, @project)
|
|
|
|
|
|
2012-01-03 21:11:44 +00:00
|
|
|
api.array :contracts do
|
|
|
|
|
(@contact.related_contracts + @contact.contracts).each do |contract|
|
|
|
|
|
api.contract do
|
|
|
|
|
api.id contract.id
|
|
|
|
|
api.price contract.price
|
|
|
|
|
api.currency contract.currency
|
|
|
|
|
api.price_type contract.price_type
|
|
|
|
|
api.name contract.name
|
|
|
|
|
api.project(:id => contract.project.id, :name => contract.project.name)
|
|
|
|
|
api.status(:id => contract.status.id, :name => contract.status.name)
|
|
|
|
|
api.background contract.background
|
|
|
|
|
api.created_on contract.created_on
|
|
|
|
|
api.updated_on contract.updated_on
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end if (@contact.related_contracts + @contact.contracts).present? && User.current.allowed_to?(:view_contracts, @project)
|
2012-01-03 16:18:32 +00:00
|
|
|
|
|
|
|
|
end
|