Sha256: cdeec245aafb692e4c245397297541536a9a70ecb3b1b483ad25c3b4888ee8c5

Contents?: true

Size: 1.08 KB

Versions: 44

Compression:

Stored size: 1.08 KB

Contents

class @CouponManager
  constructor: (@input) ->
    @couponCodeField = @input.couponCodeField
    @couponApplied = false
    @couponStatus = @input.couponStatus

  applyCoupon: ->
    @couponCode = $.trim($(@couponCodeField).val())
    if @couponCode != ''
      if @couponStatus.length == 0
        @couponStatus = $('<div/>', { id: 'coupon_status' })
        @couponCodeField.parent().append @couponStatus
      @createUrl()
      @couponStatus.removeClass()
      @sendRequest()
      @couponApplied
    else
      true

  createUrl: ->
    @url = Spree.url(Spree.routes.apply_coupon_code(Spree.current_order_id),
      order_token: Spree.current_order_token
      coupon_code: @couponCode)

  sendRequest: ->
    $.ajax
      async: false
      method: 'PUT'
      url: @url
      success: =>
        @couponCodeField.val ''
        @couponStatus.addClass('alert-success')
                     .html Spree.translations.coupon_code_applied
        @couponApplied = true
      error: (xhr) =>
        handler = JSON.parse(xhr.responseText)
        @couponStatus.addClass('alert-error').html handler['error']

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
spree_frontend-3.4.6 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.2.9 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.6 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.5 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.4 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.3 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.2 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.1 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.0 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.5.0 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.3.6 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.2.8 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.6.0.rc1 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.5.0.rc2 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.5.0.rc1 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.4.5 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.3.5 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.4.4 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.4.3 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee
spree_frontend-3.3.4 app/assets/javascripts/spree/frontend/coupon_manager.js.coffee