Sha256: f9583925fdda8b1a1708d42c984ddf3084d8a679b68597aba8cb12b2943a7924

Contents?: true

Size: 1.42 KB

Versions: 312

Compression:

Stored size: 1.42 KB

Contents

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

    # @route 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

    # @route 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

    # @route 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

    # @route 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

312 entries across 312 versions & 1 rubygems

Version Path
caboose-cms-0.9.229 app/controllers/caboose/ab_options_controller.rb
caboose-cms-1.0.2 app/controllers/caboose/ab_options_controller.rb
caboose-cms-1.0.1 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.228 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.227 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.226 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.225 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.224 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.223 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.222 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.221 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.220 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.219 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.218 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.217 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.216 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.215 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.214 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.213 app/controllers/caboose/ab_options_controller.rb
caboose-cms-0.9.212 app/controllers/caboose/ab_options_controller.rb