Class: Radesk::TicketsController

Inherits:
ApplicationController show all
Includes:
ActivitiesHelper, Concerns::Elasticsearch, Concerns::Nosearch, HipchatHelper
Defined in:
app/controllers/radesk/tickets_controller.rb

Instance Method Summary collapse

Methods included from Concerns::Nosearch

#index

Methods included from Concerns::Elasticsearch

#index

Methods included from HipchatHelper

#send_notification

Methods included from ActivitiesHelper

#add_activity, #destroy_activities

Methods inherited from ApplicationController

#radesk_authorize!, #radesk_authorize_admin!, #radesk_check_access, #radesk_current_user

Instance Method Details

#closeObject



67
68
69
70
71
# File 'app/controllers/radesk/tickets_controller.rb', line 67

def close
  @ticket.update(:closed => true)
  add_activity(@ticket, 'close')
  render 'update_status'
end

#createObject



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/radesk/tickets_controller.rb', line 30

def create
  @ticket = Ticket.new(ticket_params)
  @ticket.user_id = radesk_current_user.id
  @ticket.answers.first.user = radesk_current_user

  if @ticket.save
    add_activity(@ticket, 'create')
    send_notification(@ticket)
    redirect_to @ticket, notice: 'Ticket was successfully created.'
  else
    render :new
  end
end

#destroyObject



56
57
58
59
# File 'app/controllers/radesk/tickets_controller.rb', line 56

def destroy
  @ticket.destroy
  redirect_to tickets_url, notice: 'Ticket was successfully destroyed.'
end

#editObject



44
45
# File 'app/controllers/radesk/tickets_controller.rb', line 44

def edit
end

#newObject



25
26
27
28
# File 'app/controllers/radesk/tickets_controller.rb', line 25

def new
  @ticket = Ticket.new
  @ticket.answers.build
end

#openObject



61
62
63
64
65
# File 'app/controllers/radesk/tickets_controller.rb', line 61

def open
  @ticket.update(:closed => false)
  add_activity(@ticket, 'open')
  render 'update_status'
end

#showObject



18
19
20
21
22
23
# File 'app/controllers/radesk/tickets_controller.rb', line 18

def show
  @answers = @ticket.answers.includes(Radesk.user_class_name.downcase.to_sym)
  unless radesk_current_user.try(:radesk_admin?)
    @answers = @answers.without_private
  end
end

#updateObject



47
48
49
50
51
52
53
54
# File 'app/controllers/radesk/tickets_controller.rb', line 47

def update
  if @ticket.update(ticket_params)
    add_activity(@ticket, 'update')
    redirect_to @ticket, notice: 'Ticket was successfully updated.'
  else
    render :edit
  end
end