This repository has been archived on 2024-12-01. You can view files and clone it, but cannot push or open issues or pull requests.
redmine_rodax_crm/app/views/contacts/show.api.rsb
2012-01-03 16:18:32 +00:00

84 lines
3.8 KiB
Plaintext

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)
end