1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
class CallRoutesController < ApplicationController
authorize_resource :call_route
before_filter { |controller|
if !params[:call_route].blank? and !params[:call_route][:endpoint_str].blank?
params[:call_route][:endpoint_type], delimeter, params[:call_route][:endpoint_id] = params[:call_route][:endpoint_str].partition('=')
end
}
def index
@call_routes = CallRoute.order([:routing_table, :position])
@routing_tables = @call_routes.pluck(:routing_table).uniq.sort
spread_breadcrumbs
end
def show
@call_route = CallRoute.find(params[:id])
spread_breadcrumbs
end
def new
@call_route = CallRoute.new
spread_breadcrumbs
end
def create
@call_route = CallRoute.new(call_route_parameter_params)
spread_breadcrumbs
if @call_route.save
redirect_to @call_route, :notice => t('call_routes.controller.successfuly_created')
else
render :new
end
end
def edit
@call_route = CallRoute.find(params[:id])
@endpoints = Gateway.all.collect {|r| [ "gateway: #{r.to_s}", "gateway=#{r.id}" ] }
@endpoints << [ 'phonenumber', 'phonenumber=' ]
@endpoints << [ 'dialplanfunction', 'dialplanfunction=' ]
@endpoints << [ 'hangup', 'hangup=' ]
@endpoints << [ 'unknown', 'unknown=' ]
spread_breadcrumbs
end
def update
@call_route = CallRoute.find(params[:id])
spread_breadcrumbs
if @call_route.update_attributes(call_route_parameter_params)
redirect_to @call_route, :notice => t('call_routes.controller.successfuly_updated')
else
render :edit
end
end
def destroy
@call_route = CallRoute.find(params[:id])
@call_route.destroy
redirect_to call_routes_url, :notice => t('call_routes.controller.successfuly_destroyed')
end
def move_higher
@call_route = CallRoute.find(params[:id])
@call_route.move_higher
redirect_to :back
end
def move_lower
@call_route = CallRoute.find(params[:id])
@call_route.move_lower
redirect_to :back
end
private
def call_route_parameter_params
params.require(:call_route).permit(:routing_table, :name, :endpoint_type, :endpoint_id)
end
def spread_breadcrumbs
add_breadcrumb t("call_routes.index.page_title"), call_routes_path
if @call_route && !@call_route.new_record?
add_breadcrumb @call_route, @call_route
end
end
end
|