X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fmodels%2Fpanel_picture.rb;h=3713764103bc2c8c36f08f4671cff3de89e1800a;hp=1c9ce405ef72f0df2d85bb9d55193ecbb6b01f2f;hb=d7c8065be895b67dc453b0e11ad0f259f1ca6706;hpb=8c860bbc3faaff8c7a458b28f1cac7e30ff490df diff --git a/app/models/panel_picture.rb b/app/models/panel_picture.rb index 1c9ce405..37137641 100644 --- a/app/models/panel_picture.rb +++ b/app/models/panel_picture.rb @@ -13,6 +13,26 @@ class PanelPicture < Peta::Element validates :z, :presence => true, :numericality => {:greater_than => 0} validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0} + scope :with_panel, -> do + includes(:panel) + end + + scope :find_index, -> do + with_panel.where(Panel.arel_table[:publish].gt 0).references(:panel) + end + + scope :find_private, -> (operators) do + with_panel.where(Panel.arel_table[:author_id].eq operators.author.id).references(:panel) + end + + scope :find_by_panel, -> (panel_id) do + find_index.where(panel_id: panel_id).references(:panel) + end + + scope :find_by_author, -> (author_id) do + find_index.where(Panel.arel_table[:author_id].eq author_id).references(:panel) + end + def self.pickup_item_name Picture.item_name end @@ -67,7 +87,8 @@ class PanelPicture < Peta::Element end def filename - self.picture.filename + '?subdir=' + self.flip + q = self.flip.empty? ? '' : '?subdir=' + self.flip + self.picture.filename + q end def url