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
- #record_history ⇒ Object
- #set_page_type ⇒ Object
- #template_type_enum ⇒ Object
- #term(name) ⇒ Object
Class Method Details
.create_default(sid, user_id) ⇒ Object
85 86 87 |
# File 'app/models/page_template.rb', line 85 def self.create_default(sid, user_id) PageTemplate.create(:system_id=>sid, :stylesheets=>"application", :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
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/models/page_template.rb', line 32 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
65 66 67 68 69 |
# File 'app/models/page_template.rb', line 65 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
47 48 49 |
# File 'app/models/page_template.rb', line 47 def self.load_template(sid, name) PageTemplate.load(sid, name) end |
Instance Method Details
#display_name ⇒ Object
51 52 53 |
# File 'app/models/page_template.rb', line 51 def display_name "Page Template" end |
#has_mobile_version? ⇒ Boolean
81 82 83 |
# File 'app/models/page_template.rb', line 81 def has_mobile_version? self.mobile_version_id != 0 end |
#history ⇒ Object
61 62 63 |
# File 'app/models/page_template.rb', line 61 def history DesignHistory.sys(self.system_id).where(:model=>"PageTemplate").where(:model_id=>self.id).order(:id) end |
#record_history ⇒ Object
55 56 57 58 59 |
# File 'app/models/page_template.rb', line 55 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
71 72 73 74 75 |
# File 'app/models/page_template.rb', line 71 def set_page_type unless self.page_type self.page_type = self.name.urlise end end |
#template_type_enum ⇒ Object
77 78 79 |
# File 'app/models/page_template.rb', line 77 def template_type_enum ['erb', 'haml', 'builder'] end |
#term(name) ⇒ Object
25 26 27 28 29 30 |
# File 'app/models/page_template.rb', line 25 def term(name) self.page_template_terms.each do |ptt| return ptt if ptt.name.urlise == name.urlise end return nil end |