class OTRS::Change

Attributes

accounted_time[RW]
actual_end_time[RW]
actual_start_time[RW]
cab_agents[RW]
cab_customers[RW]
category[RW]
category_id[RW]
change_builder_id[RW]
change_by[RW]
change_free_key1[RW]
change_free_key10[RW]
change_free_key11[RW]
change_free_key12[RW]
change_free_key13[RW]
change_free_key14[RW]
change_free_key15[RW]
change_free_key16[RW]
change_free_key17[RW]
change_free_key18[RW]
change_free_key19[RW]
change_free_key2[RW]
change_free_key20[RW]
change_free_key21[RW]
change_free_key22[RW]
change_free_key23[RW]
change_free_key24[RW]
change_free_key25[RW]
change_free_key26[RW]
change_free_key27[RW]
change_free_key28[RW]
change_free_key29[RW]
change_free_key3[RW]
change_free_key30[RW]
change_free_key31[RW]
change_free_key32[RW]
change_free_key33[RW]
change_free_key34[RW]
change_free_key35[RW]
change_free_key36[RW]
change_free_key37[RW]
change_free_key38[RW]
change_free_key39[RW]
change_free_key4[RW]
change_free_key40[RW]
change_free_key41[RW]
change_free_key42[RW]
change_free_key43[RW]
change_free_key44[RW]
change_free_key45[RW]
change_free_key46[RW]
change_free_key47[RW]
change_free_key48[RW]
change_free_key49[RW]
change_free_key5[RW]
change_free_key50[RW]
change_free_key6[RW]
change_free_key7[RW]
change_free_key8[RW]
change_free_key9[RW]
change_free_text1[RW]
change_free_text10[RW]
change_free_text11[RW]
change_free_text12[RW]
change_free_text13[RW]
change_free_text14[RW]
change_free_text15[RW]
change_free_text16[RW]
change_free_text17[RW]
change_free_text18[RW]
change_free_text19[RW]
change_free_text2[RW]
change_free_text20[RW]
change_free_text21[RW]
change_free_text22[RW]
change_free_text23[RW]
change_free_text24[RW]
change_free_text25[RW]
change_free_text26[RW]
change_free_text27[RW]
change_free_text28[RW]
change_free_text29[RW]
change_free_text3[RW]
change_free_text30[RW]
change_free_text31[RW]
change_free_text32[RW]
change_free_text33[RW]
change_free_text34[RW]
change_free_text35[RW]
change_free_text36[RW]
change_free_text37[RW]
change_free_text38[RW]
change_free_text39[RW]
change_free_text4[RW]
change_free_text40[RW]
change_free_text41[RW]
change_free_text42[RW]
change_free_text43[RW]
change_free_text44[RW]
change_free_text45[RW]
change_free_text46[RW]
change_free_text47[RW]
change_free_text48[RW]
change_free_text49[RW]
change_free_text5[RW]
change_free_text50[RW]
change_free_text6[RW]
change_free_text7[RW]
change_free_text8[RW]
change_free_text9[RW]
change_id[RW]
change_manager_id[RW]
change_number[RW]
change_state[RW]
change_state_id[RW]
change_state_signal[RW]
change_time[RW]
change_title[RW]
create_by[RW]
create_time[RW]
description[RW]
description_plain[RW]
impact[RW]
impact_id[RW]
justification[RW]
justification_plain[RW]
planned_effort[RW]
planned_end_time[RW]
planned_start_time[RW]
priority[RW]
priority_id[RW]
requested_time[RW]
work_order_count[RW]
work_order_i_ds[RW]

Public Class Methods

all() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 143
def self.all
  self.where(:name => '%')
end
find(id) click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 100
def self.find(id)
  data = { 'ChangeID' => id, 'UserID' => 1 }
  params = { :object => 'ChangeObject', :method => 'ChangeGet', :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.rb, line 69
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.rb, line 112
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 => 'ChangeObjectCustom', :method => 'ChangeSearch', :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

create(attributes) click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 82
def create(attributes)
  tmp = {}
  attributes.each do |key,value|
     tmp[key.to_s.camelize.to_sym] = value
  end
  attributes = tmp
  attributes[:UserID] = '1'
  data = attributes
  params = { :object => 'ChangeObject', :method => 'ChangeAdd', :data => data }
  a = connect(params)
  id = a.first
  a = self.class.find(id)
  attributes = a.attributes
  attributes.each do |key,value|
    instance_variable_set "@#{key.to_s}", value
  end
end
destroy() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 147
def destroy
  id = @change_id
  if self.class.find(id)
    data = { 'ChangeID' => id, 'UserID' => 1 }
    params = { :object => 'ChangeObject', :method => 'ChangeDelete', :data => data }
    connect(params)
    "ChangeID #{id} deleted"
  else
    raise "NoSuchChangeID #{id}"
  end
end
id() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 159
def id
  self.change_id
end
name() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 175
def name
  self.change_title
end
persisted?() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 65
def persisted?
  false
end
save() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 76
def save
  run_callbacks :save do
    self.create(self.attributes)
  end
end
status() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 171
def status
  self.change_state
end
update_attributes(attributes) click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 127
def update_attributes(attributes)
  tmp = {}
  attributes.each do |key,value|
    tmp[key.to_s.camelize] = value      #Copies ruby style keys to camel case for OTRS
  end
  tmp['ChangeID'] = @change_id
  data = tmp
  params = { :object => 'ChangeObject', :method => 'ChangeUpdate', :data => data }
  a = connect(params)
  if a.first.nil?
    nil
  else
    return self
  end
end
work_orders() click to toggle source
# File lib/otrs_connector/otrs/change.rb, line 167
def work_orders
  self.class::WorkOrder.where(:ChangeIDs => [self.id])
end