Class: Caboose::ChangeLog

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/caboose/change_log.rb

Instance Method Summary collapse

Instance Method Details

#describe_actionObject



52
53
54
55
56
57
58
59
60
61
62
63
# File 'app/models/caboose/change_log.rb', line 52

def describe_action
  return 'added' if self.action == 'added'
	if !self.old_value.nil? && !self.new_value.nil? && self.old_value != self.new_value
		return 'edited'
	elsif !self.old_sort_order.nil? && !self.new_sort_order.nil? && self.old_sort_order != self.new_sort_order
		return 'moved'
	elsif !self.old_parent_id.nil? && !self.new_parent_id.nil? && self.old_parent_id != self.new_parent_id
		return 'moved'
	else
		return self.action
	end
end

#describe_newObject



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'app/models/caboose/change_log.rb', line 78

def describe_new
  block = Caboose::Block.where(:id => self.block_id).first if !self.block_id.blank?
	if self.describe_action == 'moved'
		return self.describe_new_position
	elsif self.describe_action == 'edited'
		return self.new_value == 'EMPTY' ? '' : self.new_value
	elsif self.describe_action == 'added'
    nv = self.new_value.blank? ? (self.old_value == 'EMPTY' ? '' : self.old_value) : (self.new_value == 'EMPTY' ? '' : self.new_value)
    if block
      nv = block.cv(false,'text') if block.child('text')
      nv = block.cv(false,'title') if block.child('title')
      nv = Caboose::Media.title_for_id(block.child('image_src').media_id) if block.child('image_src') && block.child('image_src').media_id && !block.child('image_src').media_id.blank?
      nv = block.cv(false,'heading_text') if block.child('heading_text')
    end
		return nv
	end
end

#describe_new_positionObject



42
43
44
45
46
47
48
49
50
# File 'app/models/caboose/change_log.rb', line 42

def describe_new_position
	b = self.block
	par = self.new_parent_id.blank? ? Caboose::Block.where(:id => self.old_parent_id).first : Caboose::Block.where(:id => self.new_parent_id).first
	desc = ""
  pos = par && par.block_type && par.block_type.name == 'flex_grid_unit' ? par.sort_order + 1 : nil
  desc += par.block_type.description + " #{pos} -> " if par && par.block_type
  desc += "position #{self.new_sort_order}"
  return desc
end

#describe_oldObject



65
66
67
68
69
70
71
72
73
74
75
76
# File 'app/models/caboose/change_log.rb', line 65

def describe_old
	if self.describe_action == 'moved'
		return self.describe_old_position
	elsif self.describe_action == 'edited'
		return self.old_value == 'EMPTY' ? '' : self.old_value
	elsif self.describe_action == 'deleted'
    ov = self.old_value == 'EMPTY' ? '' : self.old_value
    opts = ['Title','Text']
    desc = Caboose::ChangeLog.where("block_parent_id is not null").where(:block_parent_id => self.block_id).where(:description => opts).first
		return desc ? desc.old_value : ov
	end
end

#describe_old_positionObject



32
33
34
35
36
37
38
39
40
# File 'app/models/caboose/change_log.rb', line 32

def describe_old_position
	b = self.block
	par = self.old_parent_id.blank? ? false : Caboose::Block.where(:id => self.old_parent_id).first
	desc = ""
  pos = par && par.block_type && par.block_type.name == 'flex_grid_unit' ? par.sort_order + 1 : nil
  desc += par.block_type.description + " #{pos} -> " if par && par.block_type
  desc += "position #{self.old_sort_order}"
  return desc
end