class OTRS::Ticket
Attributes
age[RW]
archive_flag[RW]
changed[RW]
create_time_unix[RW]
created[RW]
customer_id[RW]
customer_user_id[RW]
escalation_response_time[RW]
escalation_solution_time[RW]
escalation_time[RW]
escalation_update_time[RW]
group_id[RW]
lock[RW]
lock_id[RW]
owner[RW]
owner_id[RW]
priority[RW]
priority_id[RW]
queue[RW]
queue_id[RW]
real_till_time_not_used[RW]
responsible[RW]
responsible_id[RW]
service_id[RW]
slaid[RW]
state[RW]
state_id[RW]
state_type[RW]
ticket_free_key1[RW]
ticket_free_key10[RW]
ticket_free_key11[RW]
ticket_free_key12[RW]
ticket_free_key13[RW]
ticket_free_key14[RW]
ticket_free_key15[RW]
ticket_free_key16[RW]
ticket_free_key2[RW]
ticket_free_key3[RW]
ticket_free_key4[RW]
ticket_free_key5[RW]
ticket_free_key6[RW]
ticket_free_key7[RW]
ticket_free_key8[RW]
ticket_free_key9[RW]
ticket_free_text1[RW]
ticket_free_text10[RW]
ticket_free_text11[RW]
ticket_free_text12[RW]
ticket_free_text13[RW]
ticket_free_text14[RW]
ticket_free_text15[RW]
ticket_free_text16[RW]
ticket_free_text2[RW]
ticket_free_text3[RW]
ticket_free_text4[RW]
ticket_free_text5[RW]
ticket_free_text6[RW]
ticket_free_text7[RW]
ticket_free_text8[RW]
ticket_free_text9[RW]
ticket_free_time1[RW]
ticket_free_time2[RW]
ticket_free_time3[RW]
ticket_free_time4[RW]
ticket_free_time5[RW]
ticket_free_time6[RW]
ticket_id[RW]
ticket_number[RW]
title[RW]
type[RW]
type_id[RW]
unlock_timeout[RW]
until_time[RW]
Public Class Methods
find(id)
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 106 def self.find(id) data = { 'TicketID' => id, 'UserID' => 1 } params = { :object => 'TicketObject', :method => 'TicketGet', :data => data } object = self.object_preprocessor(connect(params)) object.run_callbacks :find do object end end
free_text_fields(id)
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 129 def self.free_text_fields(id) data = {:UserID => 1, :Type => 'TicketFreeText' + id.to_s} params = { :object => 'TicketObject', :method => 'TicketFreeTextGet', :data => data } a = self.connect(params).first.symbolize_keys #b = [] #a.each do |key,value| # b << [value,key] #end #return b end
new(attributes = {})
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 33 def initialize(attributes = {}) attributes.each do |name, value| send("#{name.to_s.underscore.to_sym}=", value) end end
ticket_number_lookup(ticket_id)
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 39 def self.ticket_number_lookup(ticket_id) data = { 'TicketID' => ticket_id, 'UserID' => 1 } params = { :object => 'TicketObject', :method => 'TicketNumberLookup', :data => data } connect(params).first end
where(attributes)
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 116 def self.where(attributes) attributes['UserID'] = 1 attributes['Result'] = 'ARRAY' data = attributes params = { :object => 'TicketObjectCustom', :method => 'TicketSearch', :data => data } a = connect(params) results = self.superclass::Relation.new a.each do |ticket| results << self.object_preprocessor(ticket) #Add find results to array end results end
Public Instance Methods
create(attributes)
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 51 def create(attributes) attributes[:type] ||= 'Incident' attributes[:state] ||= 'new' attributes[:queue] ||= 'Service Desk' attributes[:lock] ||= 'unlock' attributes[:priority] ||= '3 normal' attributes[:user_id] ||= '1' attributes[:owner_id] ||= attributes[:user_id] tmp = {} attributes.each do |key,value| if key == :user_id tmp[:UserID] = value end if key == :owner_id tmp[:OwnerID] = value end if key == :customer_id tmp[:CustomerID] = value end if key != :user_id or key != :owner_id or key != :customer_id tmp[key.to_s.camelize.to_sym] = value end end attributes = tmp data = attributes params = { :object => 'TicketObject', :method => 'TicketCreate', :data => data } a = connect(params) ticket_id = a.first article = OTRS::Ticket::Article.new( :ticket_id => ticket_id, :body => attributes[:Body], :email => attributes[:Email], :title => attributes[:Title]) if article.save ticket = self.class.find(ticket_id) attributes = ticket.attributes attributes.each do |key,value| instance_variable_set "@#{key.to_s}", value end ticket else ticket.destroy raise 'Could not create ticket' end end
destroy()
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 98 def destroy id = @ticket_id data = { 'TicketID' => id, 'UserID' => 1 } params = { :object => 'TicketObject', :method => 'TicketDelete', :data => data } connect(params) "Ticket ID: #{id} deleted" end
id()
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 25 def id self.ticket_id end
name()
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 147 def name self.title end
persisted?()
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 29 def persisted? false end
save()
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 45 def save run_callbacks :save do self.create(self.attributes) end end
set_free_text_field(id, key, value)
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 140 def set_free_text_field(id, key, value) data = { :UserID => 1, :Counter => id, :Key => key, :Value => value, :TicketID => self.id } params = { :object => 'TicketObject', :method => 'TicketFreeTextSet', :data => data } a = self.connect(params) if a.first == 1 then return true else return false end end
Private Instance Methods
strip_characters_from_body()
click to toggle source
# File lib/otrs_connector/otrs/ticket.rb, line 152 def strip_characters_from_body self.body.gsub(/\r/,'').gsub(/\n/,'\\n') end