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