Class: PageTemplate
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- PageTemplate
- Defined in:
- app/models/page_template.rb
Class Method Summary collapse
- .create_default(sid, user_id) ⇒ Object
- .get_custom_template(sid, name, request, search_name_only = false) ⇒ Object
- .load(sid, name) ⇒ Object
- .load_template(sid, name) ⇒ Object
Instance Method Summary collapse
- #display_name ⇒ Object
- #has_mobile_version? ⇒ Boolean
- #history ⇒ Object
- #javascripts ⇒ Object
- #old_javascripts ⇒ Object
- #old_stylesheets ⇒ Object
- #record_history ⇒ Object
- #set_page_type ⇒ Object
- #stylesheets ⇒ Object
- #template_type_enum ⇒ Object
- #term(name) ⇒ Object
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_name ⇒ Object
54 55 56 |
# File 'app/models/page_template.rb', line 54 def display_name "Page Template" end |
#has_mobile_version? ⇒ Boolean
84 85 86 |
# File 'app/models/page_template.rb', line 84 def has_mobile_version? self.mobile_version_id != 0 end |
#history ⇒ Object
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 |
#javascripts ⇒ Object
92 93 94 |
# File 'app/models/page_template.rb', line 92 def javascripts self.html_assets.where(:file_type=>"js").all end |
#old_javascripts ⇒ Object
104 105 106 |
# File 'app/models/page_template.rb', line 104 def old_javascripts self.read_attribute(:javascripts) end |
#old_stylesheets ⇒ Object
100 101 102 |
# File 'app/models/page_template.rb', line 100 def old_stylesheets self.read_attribute(:stylesheets) end |
#record_history ⇒ Object
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_type ⇒ Object
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 |
#stylesheets ⇒ Object
96 97 98 |
# File 'app/models/page_template.rb', line 96 def stylesheets self.html_assets.where(:file_type=>"css").all end |
#template_type_enum ⇒ Object
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 |