- def self.mylist_where au
- ['panels.author_id = ?', au.id]
- end
-
- def self.himlist_where au
- ['panels.author_id = ? and panels.publish > 0', au.id]
- end
-
- def self.list page = 1, page_size = self.default_page_size
- Panel.where(self.list_where()).includes(Panel.list_opt).order('panels.updated_at desc').offset((page -1) * page_size).limit(page_size)
- end
-
- def self.mylist au, page = 1, page_size = Author.default_panel_page_size
- Panel.where(self.mylist_where(au)).includes(Panel.list_opt).order('panels.updated_at desc').offset((page -1) * page_size).limit(page_size)
- end
-
- def self.himlist au, page = 1, page_size = Author.default_panel_page_size
- Panel.where(self.himlist_where(au)).includes(Panel.list_opt).order('panels.updated_at desc').offset((page -1) * page_size).limit(page_size)
- end
-
- def self.list_paginate page = 1, page_size = self.default_page_size
- Kaminari.paginate_array(Array.new(Panel.where(self.list_where()).count, nil)).page(page).per(page_size)
- end
-
- def self.mylist_paginate au, page = 1, page_size = Author.default_panel_page_size
- Kaminari.paginate_array(Array.new(Panel.where(self.mylist_where(au)).count, nil)).page(page).per(page_size)
- end
-
- def self.himlist_paginate au, page = 1, page_size = Author.default_panel_page_size
- Kaminari.paginate_array(Array.new(Panel.where(self.himlist_where(au)).count, nil)).page(page).per(page_size)
- end
-
- def self.list_by_scroll scroll_id, roles, page = 1, page_size = self.default_page_size
- self.where(ScrollPanel.list_by_scroll_where(scroll_id)).includes(
- {:scroll_panels => {}}
- ).order('scroll_panels.updated_at desc').offset((page -1) * page_size).limit(page_size)
- end
-
- def self.list_by_sheet sheet_id, roles, page = 1, page_size = self.default_page_size
- self.where(SheetPanel.list_by_sheet_where(sheet_id)).includes(
- {:sheet_panels => {}}
- ).order('sheet_panels.updated_at desc').offset((page -1) * page_size).limit(page_size)
- end
-
- def self.list_by_speech_balloon_template speech_balloon_template_id, roles, page = 1, page_size = self.default_page_size
- self.where(SpeechBalloon.list_by_speech_balloon_template_where(speech_balloon_template_id)).includes(
- {:speech_balloons => {}}
- ).order('speech_balloons.updated_at desc').offset((page -1) * page_size).limit(page_size)
- end
-
- def self.list_by_author_where author_id
- ['panels.author_id = ?', author_id]
- end
-
- def self.list_by_author author_id, roles, page = 1, page_size = self.default_page_size
- self.where(self.list_by_author_where(author_id)).includes(self.list_opt).order('panels.updated_at desc').offset((page -1) * page_size).limit(page_size)