Sha256: 694ae4ef6438146de7a9aac05e513afd1b5508d4f776a8c198189def9570295e

Contents?: true

Size: 1.39 KB

Versions: 529

Compression:

Stored size: 1.39 KB

Contents

module Caboose
  class AbOptionsController < ApplicationController
    layout 'caboose/admin'

    # GET /admin/ab_variants/:variant_id/options
    def admin_index
      return unless user_is_allowed_to 'view', 'ab_variants'
      v = AbVariant.find(params[:variant_id])
      render :json => v.ab_options
    end

    # POST admin/ab-variants/:variant_id/options'
    def admin_create
      return unless user_is_allowed_to 'edit','ab_variants'
      
      resp = StdClass.new({
        'error' => nil,
        'redirect' => nil
      })
      
      opt = AbOption.create(
        :ab_variant_id => params[:variant_id],
        :text => params[:text]
      )      
      resp.redirect = "/admin/ab-variants/#{params[:variant_id]}"      
      render :json => resp
    end

    # PUT /admin/ab_options/:id
    def admin_update
      return unless user_is_allowed_to 'edit', 'ab_variants'

      resp = StdClass.new
      opt = AbOption.find(params[:id])

      save = true
      params.each do |k,v|
        case k
          when 'value'
            opt.value = v
            break
        end
      end      

      resp.success = save && opt.save      
      render :json => resp
    end

    # DELETE /admin/ab_options/:id
    def admin_delete
      return unless user_is_allowed_to 'delete', 'ab_variants'      
      AbOption.find(params[:id]).destroy                  
      render :json => true
    end

  end
end

Version data entries

529 entries across 529 versions & 1 rubygems

Version Path
caboose-cms-0.7.28 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.27 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.26 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.25 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.24 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.23 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.22 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.21 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.20 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.19 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.18 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.17 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.16 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.15 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.14 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.13 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.12 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.11 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.10 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.7.9 app/controllers/caboose/ab_options_controller.rb