Sha256: cf87e10145af98cf596511faf65c7e670afee08d99f140d1898ba00469923d92

Contents?: true

Size: 1.82 KB

Versions: 18

Compression:

Stored size: 1.82 KB

Contents

class Forge::SubscribersController < ForgeController
  load_and_authorize_resource
  before_filter :get_groups, :only => [:index, :edit, :create, :update]
  before_filter :get_subscribers, :only => [:index, :create]

  def index
    @group = SubscriberGroup.find(params[:group]) unless params[:group].blank?
    respond_to do |format|
      format.html { }
      format.js {
        @subscribers = Subscriber.where("name LIKE :q OR email LIKE :q", {:q => "%#{params[:q]}%"})
        render :partial => "subscriber", :collection => @subscribers
      }
    end
  end

  def new
  end

  def edit
    respond_to do |format|
      format.html {}
      format.js {}
    end
  end

  def create
    @subscriber = Subscriber.new(params[:subscriber])
    if @subscriber.save
      flash[:notice] = 'Subscriber was successfully created.'
      redirect_to(forge_subscribers_path)
    else
      render :action => :index
    end
  end

  def update
    if @subscriber.update_attributes(params[:subscriber])
      flash[:notice] = 'Subscriber was successfully updated.'
      redirect_to(forge_subscribers_path)
    else
      render :action => "edit"
    end
  end

  def destroy
    @subscriber.destroy
    redirect_to(forge_subscribers_path)
  end

  def export
    @subscribers = Subscriber.all
    string = @subscribers.map {|s| "\"#{s.name}\",\"#{s.email}\""}.join("\n")
    send_data string, :filename => "Subscribers-Export-#{Time.now.strftime('%b-%e-%Y')}.csv"
  end

  private
    def get_groups
      @groups = SubscriberGroup.all
    end

    def get_subscribers
      @group = SubscriberGroup.find(params[:group]) unless params[:group].blank?
      @subscribers = @group.blank? ? Subscriber.paginate(:per_page => 10, :page => params[:page]) : @group.subscribers.paginate(:per_page => 10, :page => params[:page])
      @subscriber = Subscriber.new
    end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
forge-cli-0.1.4 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.1.3 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.1.2 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.1.1 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.1.0 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.18 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.17 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.16 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.15 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.14 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.13 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.12 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.11 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.10 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.9 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.8 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.7 lib/forge/app/controllers/forge/subscribers_controller.rb
forge-cli-0.0.6 lib/forge/app/controllers/forge/subscribers_controller.rb