class OTRS::Change::WorkOrder
Attributes
accounted_time[RW]
actual_end_time[RW]
actual_start_time[RW]
change_by[RW]
change_id[RW]
change_time[RW]
create_by[RW]
create_time[RW]
instruction[RW]
instruction_plain[RW]
planned_effort[RW]
planned_end_time[RW]
planned_start_time[RW]
report[RW]
report_plain[RW]
work_order_agent_id[RW]
work_order_free_key1[RW]
work_order_free_key10[RW]
work_order_free_key11[RW]
work_order_free_key12[RW]
work_order_free_key13[RW]
work_order_free_key14[RW]
work_order_free_key15[RW]
work_order_free_key16[RW]
work_order_free_key17[RW]
work_order_free_key18[RW]
work_order_free_key19[RW]
work_order_free_key2[RW]
work_order_free_key20[RW]
work_order_free_key21[RW]
work_order_free_key22[RW]
work_order_free_key23[RW]
work_order_free_key24[RW]
work_order_free_key25[RW]
work_order_free_key26[RW]
work_order_free_key27[RW]
work_order_free_key28[RW]
work_order_free_key29[RW]
work_order_free_key3[RW]
work_order_free_key30[RW]
work_order_free_key31[RW]
work_order_free_key32[RW]
work_order_free_key33[RW]
work_order_free_key34[RW]
work_order_free_key35[RW]
work_order_free_key36[RW]
work_order_free_key37[RW]
work_order_free_key38[RW]
work_order_free_key39[RW]
work_order_free_key4[RW]
work_order_free_key40[RW]
work_order_free_key41[RW]
work_order_free_key42[RW]
work_order_free_key43[RW]
work_order_free_key44[RW]
work_order_free_key45[RW]
work_order_free_key46[RW]
work_order_free_key47[RW]
work_order_free_key48[RW]
work_order_free_key49[RW]
work_order_free_key5[RW]
work_order_free_key50[RW]
work_order_free_key6[RW]
work_order_free_key7[RW]
work_order_free_key8[RW]
work_order_free_key9[RW]
work_order_free_text1[RW]
work_order_free_text10[RW]
work_order_free_text11[RW]
work_order_free_text12[RW]
work_order_free_text13[RW]
work_order_free_text14[RW]
work_order_free_text15[RW]
work_order_free_text16[RW]
work_order_free_text17[RW]
work_order_free_text18[RW]
work_order_free_text19[RW]
work_order_free_text2[RW]
work_order_free_text20[RW]
work_order_free_text21[RW]
work_order_free_text22[RW]
work_order_free_text23[RW]
work_order_free_text24[RW]
work_order_free_text25[RW]
work_order_free_text26[RW]
work_order_free_text27[RW]
work_order_free_text28[RW]
work_order_free_text29[RW]
work_order_free_text3[RW]
work_order_free_text30[RW]
work_order_free_text31[RW]
work_order_free_text32[RW]
work_order_free_text33[RW]
work_order_free_text34[RW]
work_order_free_text35[RW]
work_order_free_text36[RW]
work_order_free_text37[RW]
work_order_free_text38[RW]
work_order_free_text39[RW]
work_order_free_text4[RW]
work_order_free_text40[RW]
work_order_free_text41[RW]
work_order_free_text42[RW]
work_order_free_text43[RW]
work_order_free_text44[RW]
work_order_free_text45[RW]
work_order_free_text46[RW]
work_order_free_text47[RW]
work_order_free_text48[RW]
work_order_free_text49[RW]
work_order_free_text5[RW]
work_order_free_text50[RW]
work_order_free_text6[RW]
work_order_free_text7[RW]
work_order_free_text8[RW]
work_order_free_text9[RW]
work_order_id[RW]
work_order_number[RW]
work_order_state[RW]
work_order_state_id[RW]
work_order_state_signal[RW]
work_order_title[RW]
work_order_type[RW]
work_order_type_id[RW]
Public Class Methods
find(id)
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 192 def self.find(id) data = { 'WorkOrderID' => id, 'UserID' => 1 } params = { :object => 'WorkOrderObject', :method => 'WorkOrderGet', :data => data } object = self.object_preprocessor connect(params) object.run_callbacks :find do object end end
new(attributes = {})
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 138 def initialize(attributes = {}) attributes.each do |name, value| #self.class.set_accessor(name.to_s.underscore) send("#{name.to_s.underscore.to_sym}=", value) end end
where(attributes)
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 213 def self.where(attributes) tmp = {} attributes.each do |key,value| tmp[key.to_s.camelize] = value #Copies ruby style keys to camel case for OTRS end data = tmp params = { :object => 'WorkOrderObjectCustom', :method => 'WorkOrderSearch', :data => data } a = connect(params).flatten results = self.superclass::Relation.new a.each do |c| results << self.new(c) end results end
Public Instance Methods
change()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 228 def change self.class.superclass::Change.find(self.change_id) end
create(attributes)
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 149 def create(attributes) tmp = {} attributes.each do |key,value| tmp[key.to_s.camelize.to_sym] = value end attributes = tmp attributes[:UserID] = '1' attributes[:ChangeID] = attributes[:ChangeId] attributes.delete(:ChangeId) data = attributes params = { :object => 'WorkOrderObject', :method => 'WorkOrderAdd', :data => data } a = connect(params) id = a.first if id.nil? nil else b = self.class.find(id) attributes = b.attributes attributes.each do |key,value| instance_variable_set "@#{key.to_s}", value end b end end
destroy()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 201 def destroy id = @change_id if self.class.find(id) data = { 'ChangeID' => id, 'UserID' => 1 } params = { :object => 'WorkOrderObject', :method => 'WorkOrderDelete', :data => data } connect(params) "WorkOrderID #{id} deleted" else raise "NoSuchWorkOrderID #{id}" end end
id()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 240 def id self.work_order_id end
name()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 232 def name self.work_order_title end
persisted?()
click to toggle source
def self.set_accessor(key)
attr_accessor key.to_sym
end
# File lib/otrs_connector/otrs/change/work_order.rb, line 134 def persisted? false end
save()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 145 def save self.create(self.attributes) end
status()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 244 def status self.work_order_status end
title()
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 236 def title self.work_order_title end
update_attributes(attributes)
click to toggle source
# File lib/otrs_connector/otrs/change/work_order.rb, line 174 def update_attributes(attributes) run_callbacks :update do tmp = {} attributes.each do |key,value| tmp[key.to_s.camelize] = value #Copies ruby style keys to camel case for OTRS end tmp['WorkOrderID'] = @work_order_id data = tmp params = { :object => 'WorkOrderObject', :method => 'WorkOrderUpdate', :data => data } a = connect(params) if a.first.nil? nil else return self end end end