Sha256: 2c95da4609a4bd7a072f148b90fb5b8c7b949bafc3acc61460003001a3bcd4f2
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
module Highrise class Subject < Base def notes Note.find_all_across_pages(:from => "/#{self.class.collection_name}/#{id}/notes.xml") end def emails Email.find_all_across_pages(:from => "/#{self.class.collection_name}/#{id}/emails.xml") end def upcoming_tasks Task.find(:all, :from => "/#{self.class.collection_name}/#{id}/tasks.xml") end def add_note!(note_body) return if note_body.blank? note = Note.new(:body => note_body) self.post(:notes, {}, note.to_xml) end def add_deal!(name, category, status=nil, background=nil) category_object = Deal::DealCategory.find_by_name(category) category_id = category_object ? category_object.id : nil deal = Deal.new(:name => name, :background => background, :status => status || "pending", :category_id => category_id) deal.price_type = 'fixed' deal.party_id = self.id deal.save end def add_task!(body, due_date, arguments = {}) category = Task::TaskCategory.find_by_name(arguments[:category]) category_id = category ? category.id : nil task = Task.new(arguments.merge(:body => body, :category_id => category_id)) if Task::DUE_DATES.include?(due_date.to_s) task.frame = due_date else task.frame = 'specific' task.due_at = due_date end task.subject_type = self.instance_of?(Kase) ? 'Kase' : 'Party' task.subject_id = self.id task.save end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
soleone-highrise-0.13.3 | lib/highrise/subject.rb |