You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
2.5 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. odoo.define('easy_my_coop.oe_easymy_coop', function (require) {
  2. $(document).ready(function () {
  3. "use strict";
  4. var ajax = require('web.ajax');
  5. $('.oe_easymy_coop').each(function () {
  6. var oe_easymy_coop = this;
  7. $('#share_product_id').change(function () {
  8. var share_product_id = $("#share_product_id").val();
  9. ajax.jsonRpc("/subscription/get_share_product", 'call', {
  10. 'share_product_id': share_product_id,
  11. })
  12. .then(function (data) {
  13. $('#share_price').text(data[share_product_id].list_price);
  14. $('input.js_quantity').val(data[share_product_id].min_qty);
  15. if (data[share_product_id].force_min_qty == true) {
  16. $('input.js_quantity').data("min", data[share_product_id].min_qty);
  17. }
  18. $('input.js_quantity').change();
  19. var $share_price = $('#share_price').text();
  20. $('input[name="total_parts"]').val($('input.js_quantity').val() * $share_price);
  21. $('input[name="total_parts"]').change();
  22. });
  23. });
  24. $(oe_easymy_coop).on('click', 'a.js_add_cart_json', function (ev) {
  25. var $share_price = $('#share_price').text();
  26. var $link = $(ev.currentTarget);
  27. var $input = $link.parent().parent().find("input");
  28. var $input_total = $("div").find(".total");
  29. var min = parseFloat($input.data("min") || 1);
  30. var amount_max = parseFloat($('input[name="total_parts"]').data("max"));
  31. var quantity = ($link.has(".fa-minus").length ? -1 : 1) + parseFloat($input.val(), 10);
  32. var total_part = quantity * $share_price;
  33. var quantity_max = amount_max / $share_price;
  34. $input.val(quantity > min ? total_part <= amount_max ? quantity : quantity_max : min);
  35. $input.change();
  36. $('input[name="total_parts"]').val($input.val() * $share_price);
  37. return false;
  38. });
  39. $(oe_easymy_coop).on('focusout', 'input.js_quantity', function (ev) {
  40. $('a.js_add_cart_json').trigger('click');
  41. });
  42. $('#share_product_id').trigger('change');
  43. $("[name='birthdate']").inputmask();
  44. });
  45. });
  46. });