Sha256: 9dc90e95f0c35129dbde5d2e22be2b8be76cf17d3b67533b6851b6db55ba46c9

Contents?: true

Size: 1.92 KB

Versions: 180

Compression:

Stored size: 1.92 KB

Contents

class IshManager::StockActionsController < IshManager::ApplicationController

  PERMITTED_PARAMS = [ :stock_watch, :is_active ]

  def index
    authorize! :index, Ish::StockAction
    @profiles      = IshModels::UserProfile.all
    @stock_watches_list = Ish::StockWatch.all.map { |w| [w.to_s, w.id] }
    @stock_options_list = Ish::StockOption.all.map { |o| [ o.to_s, o.id] }
    @stock_actions = Ish::StockAction.all.includes( :profile )
    @stock_action  = Ish::StockAction.new
    render 'index', :layout => 'ish_manager/application_no_materialize'
  end

  def create
    @stock_action = Ish::StockAction.new params.require(:ish_stock_action).permit( PERMITTED_PARAMS )
    @stock_action.profile = current_user.profile
    authorize! :create, @stock_action

    flag = true
    if params[:ish_stock_action][:stock_options]
      stock_options = Ish::StockOption.where( :id.in => params[:ish_stock_action][:stock_options] )
      flag = stock_options.update_all( :stock_action_id => @stock_action.id )
    end
    if flag
      flag = @stock_action.save
    end
    if flag
      flash[:notice] = 'Created stock action.'
    else
      flash[:alert] = "Cannot create stock action: #{@stock_action.errors.messages}"
    end
    redirect_to :action => 'index'
  end

  def update
    @stock_action = Ish::StockAction.find params[:id]
    authorize! :update, @stock_action

    flag = true
    if params[:ish_stock_action][:stock_options]
      stock_options = Ish::StockOption.where( :id.in => params[:ish_stock_action][:stock_options] )
      flag = stock_options.update_all( :stock_action_id => @stock_action.id )
    end
    if flag
      flag = @stock_action.update_attributes params.require(:ish_stock_action).permit( PERMITTED_PARAMS )
    end
    if flag
      flash[:notice] = 'Updated stock action.'
    else
      flash[:alert] = "Cannot update stock action: #{@stock_action.errors.messages}"
    end
    redirect_to :action => 'index'
  end

end



Version data entries

180 entries across 180 versions & 1 rubygems

Version Path
ish_manager-0.1.8.257 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.256 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.255 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.254 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.253 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.252 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.251 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.250 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.249 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.248 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.247 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.246 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.245 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.244 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.243 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.242 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.241 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.239 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.238 app/controllers/ish_manager/trash/stock_actions_controller.rb
ish_manager-0.1.8.237 app/controllers/ish_manager/trash/stock_actions_controller.rb