providers_controller.rb - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
(HTM) git clone git://jay.scot/warvox
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
providers_controller.rb (2136B)
---
1 class ProvidersController < ApplicationController
2
3 def index
4
5 @providers = Provider.order('id DESC').paginate(
6 page: params[:page],
7 per_page: 10
8 )
9
10 @new_provider = Provider.new
11 @new_provider.enabled = true
12
13 respond_to do |format|
14 format.html # index.html.erb
15 format.xml { render xml: @providers }
16 end
17 end
18
19 def new
20 @provider = Provider.new
21 @provider.enabled = true
22 @provider.port = 4569
23
24 respond_to do |format|
25 format.html # new.html.erb
26 format.xml { render xml: @provider }
27 end
28 end
29
30 def edit
31 @provider = Provider.find(params[:id])
32 @provider.pass = "********"
33 end
34
35 def create
36 @provider = Provider.new(provider_params)
37 @provider.enabled = true
38
39 respond_to do |format|
40 if @provider.save
41 flash[:notice] = 'Provider was successfully created.'
42 format.html { redirect_to providers_path }
43 format.xml { render xml: @provider, status: :created, location: providers_path }
44 else
45 format.html { render action: "new" }
46 format.xml { render xml: @provider.errors, status: :unprocessable_entity }
47 end
48 end
49 end
50
51
52 def update
53 @provider = Provider.find(params[:id])
54
55 # Dont set the password if its the placeholder
56 if params[:provider] and params[:provider][:pass] and params[:provider][:pass] == "********"
57 params[:provider].delete(:pass)
58 end
59
60 respond_to do |format|
61 if @provider.update_attributes(provider_params)
62 flash[:notice] = 'Provider was successfully updated.'
63 format.html { redirect_to providers_path }
64 format.xml { head :ok }
65 else
66 format.html { render action: "edit" }
67 format.xml { render xml: @provider.errors, status: :unprocessable_entity }
68 end
69 end
70 end
71
72 def destroy
73 @provider = Provider.find(params[:id])
74 @provider.destroy
75
76 respond_to do |format|
77 format.html { redirect_to providers_path }
78 format.xml { head :ok }
79 end
80 end
81
82 private
83
84 def provider_params
85 params.require(:provider).permit(:name, :host, :port, :user, :pass, :lines)
86 end
87 end