trabajo-afectivo/app/models/ticket/number.rb

59 lines
1.1 KiB
Ruby
Raw Normal View History

2014-02-03 19:23:00 +00:00
# Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
class Ticket::Number
include ApplicationLib
=begin
generate new ticket number
result = Ticket::Number.generate
returns
result = "1234556" # new ticket number
=end
def self.generate
2014-02-03 19:23:00 +00:00
# generate number
2016-06-30 20:04:48 +00:00
49_999.times {
number = adapter.generate
ticket = Ticket.find_by( number: number )
return number if !ticket
}
2016-03-01 14:26:46 +00:00
raise "Can't generate new ticket number!"
end
=begin
check if string contrains a valid ticket number
result = Ticket::Number.check('some string [Ticket#123456]')
returns
result = ticket # Ticket model of ticket with matching ticket number
=end
def self.check(string)
adapter.check(string)
end
def self.adapter
2015-04-27 21:27:51 +00:00
# load backend based on config
adapter_name = Setting.get('ticket_number')
if !adapter_name
2016-03-01 14:26:46 +00:00
raise 'Missing ticket_number setting option'
end
adapter = load_adapter(adapter_name)
if !adapter
2016-03-01 14:26:46 +00:00
raise "Can't load ticket_number adapter '#{adapter_name}'"
end
adapter
end
end