Class: PageTemplate

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create_default(sid, user_id) ⇒ Object



88
89
90
# File 'app/models/page_template.rb', line 88

def self.create_default(sid, user_id)
  PageTemplate.create(:system_id=>sid, :header=>'', :footer=>'', :layout_id=>Layout.sys(sid).first.id, :template_type=>"haml", :is_mobile=>0, :is_default=>1, :page_type=>"default", :name=>"default", :body=>"= field('body')")
end

.get_custom_template(sid, name, request, search_name_only = false) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/models/page_template.rb', line 35

def self.get_custom_template(sid, name, request, search_name_only = false)  
  t = nil

  t = PageTemplate.load_template(sid, "Kit/#{name}") if name.instance_of?(String) && name.not_blank? 
  return t if t
  return t if search_name_only

  t = PageTemplate.load_template(sid, "Kit#{request.fullpath}")
  return t if t
  t = PageTemplate.load_template(sid, "Kit/#{request.params[:controller]}/#{request.params[:action]}")
  return t if t
  t = PageTemplate.load_template(sid, "Kit/#{request.params[:controller]}")
  return t
end

.load(sid, name) ⇒ Object



68
69
70
71
72
# File 'app/models/page_template.rb', line 68

def PageTemplate.load(sid, name)
  Rails.cache.fetch("page_template_#{sid}_#{name}", :expires_in=>15.seconds) do
    PageTemplate.sys(sid).where(:name=>name).first 
  end
end

.load_template(sid, name) ⇒ Object



50
51
52
# File 'app/models/page_template.rb', line 50

def self.load_template(sid, name)
  PageTemplate.load(sid, name)
end

Instance Method Details

#display_nameObject



54
55
56
# File 'app/models/page_template.rb', line 54

def display_name
  "Page Template"
end

#has_mobile_version?Boolean

Returns:

  • (Boolean)


84
85
86
# File 'app/models/page_template.rb', line 84

def has_mobile_version?
  self.mobile_version_id != 0
end

#historyObject



64
65
66
# File 'app/models/page_template.rb', line 64

def history
  DesignHistory.sys(self.system_id).where(:model=>"PageTemplate").where(:model_id=>self.id).order(:id)
end

#javascriptsObject



92
93
94
# File 'app/models/page_template.rb', line 92

def javascripts
  self.html_assets.where(:file_type=>"js").all
end

#old_javascriptsObject



104
105
106
# File 'app/models/page_template.rb', line 104

def old_javascripts
  self.read_attribute(:javascripts)
end

#old_stylesheetsObject



100
101
102
# File 'app/models/page_template.rb', line 100

def old_stylesheets
  self.read_attribute(:stylesheets)
end

#record_historyObject



58
59
60
61
62
# File 'app/models/page_template.rb', line 58

def record_history
  if self.changed.include?('body') || self.changed.include?('header') || self.changed.include?('footer')
    DesignHistory.record(self)
  end
end

#set_page_typeObject



74
75
76
77
78
# File 'app/models/page_template.rb', line 74

def set_page_type
  unless self.page_type
    self.page_type = self.name.urlise
  end
end

#stylesheetsObject



96
97
98
# File 'app/models/page_template.rb', line 96

def stylesheets
  self.html_assets.where(:file_type=>"css").all
end

#template_type_enumObject



80
81
82
# File 'app/models/page_template.rb', line 80

def  template_type_enum
  ['erb', 'haml', 'builder']
end

#term(name) ⇒ Object



28
29
30
31
32
33
# File 'app/models/page_template.rb', line 28

def term(name)
  self.page_template_terms.each do |ptt|
    return ptt if ptt.name.urlise == name.urlise
  end
  return nil
end