1 class ProviderStatus < ActiveRecord::Base
5 validates :receive_hour1, :numericality => {:allow_blank => true}
6 validates :receive_hour2, :numericality => {:allow_blank => true}
7 # validates :received_at
8 # validates :stopped_at
17 return false unless ad
22 return false unless ad
27 self.token.blank? ? 0 : 1
30 def self.default_page_size
34 def self.max_page_size
38 def self.default_panel_size
42 def self.max_panel_size
46 def self.page prm = nil
52 def self.page_size prm = self.default_page_size
54 page_size = self.max_page_size if page_size > self.max_page_size
55 page_size = self.default_page_size if page_size < 1
59 def self.list page = 1, page_size = self.default_page_size
61 opt.merge!(ProviderStatus.list_opt)
62 opt.merge!({:limit => page_size, :offset => (page -1) * page_size}) if page_size > 0
63 opt.merge!({:order => 'providers.name'})
64 ProviderStatus.find(:all, opt)
67 def self.available_list page = 1, page_size = self.default_page_size
69 opt.merge!(ProviderStatus.list_opt)
70 opt.merge!({:limit => page_size, :offset => (page -1) * page_size}) if page_size > 0
71 opt.merge!({:conditions => ['provider_statuses.token is null'], :order => 'providers.name'})
72 ProviderStatus.find(:all, opt)
76 {:include => {:provider => {}} }
79 def self.list_json_opt
80 {:include => {:provider => {}} }
85 opt.merge!(ProviderStatus.show_opt)
86 res = ProviderStatus.find(pid, opt)
87 raise ActiveRecord::Forbidden unless res.visible?(ad)
93 opt.merge!(ProviderStatus.show_opt)
94 res = ProviderStatus.find(pid, opt)
95 raise ActiveRecord::Forbidden unless res.own?(ad)
100 {:include => {:provider => {}} }
103 def self.show_json_opt
104 {:include => {:provider => {}} }