-class GroundPicture < ActiveRecord::Base
+class GroundPicture < Pettanr::Item
include Element
include ElementInspire
belongs_to :panel
@@repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']
- before_validation :valid_encode
+ def self.singular
+ 'GroundPicture'
+ end
- def valid_encode
- ['caption'].each do |a|
- next if attributes[a] == nil
- raise Pettanr::BadRequest unless attributes[a].valid_encoding?
- end
+ def self.plural
+ 'GroundPictures'
+ end
+
+ def self.owner_type
+ :author
+ end
+
+ def self.valid_encode_columns
+ super.merge ['caption']
end
def self.list_opt_for_panel
{:src => self.picture.url, :width => tw, :height => th, :alt => self.caption}
end
+ def symbol_option
+ self.tmb_opt_img_tag
+ end
+
def boost
end
Kaminari.paginate_array(Array.new(GroundPicture.where(self.himlist_where(au)).includes(GroundPicture.list_opt).count, nil)).page(page).per(page_size)
end
+ def self.list_by_panel_where panel_id
+ ['ground_pictures.panel_id = ?', panel_id]
+ end
+
+ def self.list_by_panel panel_id, roles, page = 1, page_size = self.default_page_size
+ self.where(self.list_by_panel_where(panel_id)).includes(self.list_opt).order('ground_pictures.updated_at desc').offset((page -1) * page_size).limit(page_size)
+ end
+
def self.list_opt
{:panel => {:author => {}}, :picture => {:artist => {}, :license => {}} }
end