Class: Helpdesk::Ticket
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Helpdesk::Ticket
- Defined in:
- app/models/helpdesk/ticket.rb
Constant Summary collapse
- STATUSES =
[ [ :new, 'label-primary',3], [ :open, 'label-warning',2], [ :waiting, 'label-info',2], [ :solved, 'label-success',0], [ :not_fixable, 'label-default',-1], [ :unreachable, 'label-default',-1], [ :bug, 'label-default',-1] ]
- STATUS_BY_KEY =
- STATUS_CLASS_BY_KEY =
- STATUS_STATUS_BY_KEY =
- OPEN_STATUSES_KEYS =
STATUSES.map { |i| (i[2]>0 ? i[0] : nil)}.compact
Instance Method Summary collapse
Instance Method Details
#open? ⇒ Boolean
72 73 74 75 76 77 78 |
# File 'app/models/helpdesk/ticket.rb', line 72 def open? if self.status.blank? || STATUS_STATUS_BY_KEY[self.status.to_sym] > 0 true else false end end |
#send_email ⇒ Object
65 66 67 68 69 70 |
# File 'app/models/helpdesk/ticket.rb', line 65 def send_email Helpdesk::NotificationsMailer.ticket_created_notification(self).deliver_now unless requester.email.empty? Helpdesk::NotificationsMailer.ticket_created_confirmation(self).deliver_now if Helpdesk.send_confirmation_emails end end |
#set_status ⇒ Object
44 45 46 47 48 |
# File 'app/models/helpdesk/ticket.rb', line 44 def set_status if self.status.blank? self.status = :new end end |
#set_subject ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/models/helpdesk/ticket.rb', line 50 def set_subject if self.created_at.nil? time = Time.now else time = self.created_at end new_subject = "#{sprintf '%02d',time.year-2000}#{sprintf '%02d',time.month}#{sprintf '%02d',time.day}" day_num = Helpdesk::Ticket.where(created_at: Date.today.beginning_of_day..Date.today.end_of_day).count+1 new_subject += "-#{sprintf '%04d',day_num}: " self.subject = new_subject + subject.to_s self.subject.strip! end |