Sha256: a3326567beee11a3ab2676fc20b650722cc4a360689c9fa1a2c7187227ef5a48

Contents?: true

Size: 1.49 KB

Versions: 19

Compression:

Stored size: 1.49 KB

Contents

/* global variantLineItemTemplate, order_number */
// This file contains the code for interacting with line items in the manual cart
$(document).ready(function () {
  'use strict'

  // handle variant selection, show stock level.
  $('#add_line_item_variant_id').change(function () {
    var variantId = $(this).val()

    var variant = _.find(window.variants, function (variant) {
      // eslint-disable-next-line eqeqeq
      return variant.id == variantId
    })
    $('#stock_details').html(variantLineItemTemplate({ variant: variant }))
    $('#stock_details').show()
    $('button.add_variant').click(addVariant)
  })
})

function addVariant () {
  $('#stock_details').hide()
  var variantId = $('input.variant_autocomplete').val()
  var quantity = $("input.quantity[data-variant-id='" + variantId + "']").val()

  adjustLineItems(order_number, variantId, quantity)
  return 1
}

function adjustLineItems (orderNumber, variantId, quantity) {
  var url = Spree.routes.orders_api + '/' + orderNumber + '/line_items'

  $.ajax({
    type: 'POST',
    url: Spree.url(url),
    data: {
      line_item: {
        variant_id: variantId,
        quantity: quantity
      },
      token: Spree.api_key
    }
  }).done(function (msg) {
    window.Spree.advanceOrder()
    window.location.reload()
  }).fail(function (msg) {
    // eslint-disable-next-line eqeqeq
    if (typeof msg.responseJSON.message != 'undefined') {
      alert(msg.responseJSON.message)
    } else {
      alert(msg.responseJSON.exception)
    }
  })
}

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
spree_backend-3.7.14.1 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.14 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.13 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.12 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.11 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.10 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.9 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.8 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.7 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.6 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.5 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.4 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.3 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.2 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.1 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.0 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.0.rc3 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.0.rc2 app/assets/javascripts/spree/backend/line_items_on_order_edit.js
spree_backend-3.7.0.rc1 app/assets/javascripts/spree/backend/line_items_on_order_edit.js