Class: Helpdesk::Ticket

Inherits:
ActiveRecord::Base
  • Object
show all
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

Returns:

  • (Boolean)


80
81
82
83
84
85
86
# File 'app/models/helpdesk/ticket.rb', line 80

def open?
  if self.status.blank? || STATUS_STATUS_BY_KEY[self.status.to_sym] > 0
    true
  else
    false
  end
end

#send_emailObject



73
74
75
76
77
78
# File 'app/models/helpdesk/ticket.rb', line 73

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_statusObject



52
53
54
55
56
# File 'app/models/helpdesk/ticket.rb', line 52

def set_status
  if self.status.blank?
    self.status = :new
  end
end

#set_subjectObject



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'app/models/helpdesk/ticket.rb', line 58

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

#ticket_type_titleObject



48
49
50
# File 'app/models/helpdesk/ticket.rb', line 48

def ticket_type_title
  ticket_type.title rescue ''
end

#ticket_type_tr_classObject



44
45
46
# File 'app/models/helpdesk/ticket.rb', line 44

def ticket_type_tr_class
  ticket_type.tr_class rescue ''
end