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