state.rb 750 B

123456789101112131415161718192021222324252627
  1. # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
  2. class Ticket::State < ApplicationModel
  3. belongs_to :state_type, :class_name => 'Ticket::StateType'
  4. validates :name, :presence => true
  5. =begin
  6. list tickets by customer
  7. states = Ticket::State.by_category('open') # open|closed
  8. =end
  9. def self.by_category(category)
  10. if category == 'open'
  11. return Ticket::State.where(
  12. :state_type_id => Ticket::StateType.where( :name => ['new', 'open', 'pending reminder', 'pending action'] )
  13. )
  14. elsif category == 'closed'
  15. return Ticket::State.where(
  16. :state_type_id => Ticket::StateType.where( :name => ['closed'] )
  17. )
  18. end
  19. raise "Unknown category '#{category}'"
  20. end
  21. end