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.

143 lines
3.7KB

  1. /**
  2. * Created by fab on 30/12/17.
  3. */
  4. function initLcTaxPriceWidget(){
  5. lcTaxPriceEvent() ;
  6. $('#productfamily_price').change(lcTaxPriceEvent);
  7. $('#productfamily_priceWithTax').change(lcTaxPriceEventWithTax);
  8. }
  9. function lcTaxPriceEvent(){
  10. //Je ne suis pas forcémnet fan de l'appeler par l'id, à discuter
  11. taxRate = $('#productfamily_taxRate').find('option:selected').data('tax-rate-value');
  12. if(typeof taxRate == 'undefined') {
  13. taxRate = 0 ;
  14. }
  15. $('#productfamily_priceWithTax').val(getPriceWithTax($('#productfamily_price').val(), taxRate));
  16. }
  17. function lcTaxPriceEventWithTax() {
  18. taxRate = $('#productfamily_taxRate').find('option:selected').data('tax-rate-value');
  19. if(typeof taxRate == 'undefined') {
  20. taxRate = 0 ;
  21. }
  22. $('#productfamily_price').val(getPrice($('#productfamily_priceWithTax').val(), taxRate));
  23. }
  24. /*
  25. function opendistrib_products_event_price(){
  26. taxRateSelected = $('#product-id_tax_rate').find('option:selected').data('tax-rate-value');
  27. $('#product-price').val(getPrice($('#product-price-with-tax').val(), taxRateSelected));
  28. //formattage des prix
  29. $('#product-price-with-tax').val(parseFloat($('#product-price-with-tax').val()).toFixed(2));
  30. }
  31. */
  32. function initLcCkEditor(){
  33. var elements = $( '.lc-ckeditor' );
  34. for ( var i = 0; i < elements.length; ++i ) {
  35. CKEDITOR.replace( elements[ i ], {"toolbar":[{"name":"styles","items":["Bold","Italic","BulletedList","Link","imageUpload","ckfinder"]}],"language":"fr"} );
  36. }
  37. }
  38. /**
  39. * Retourne un prix sans taxe sur base du prix avec tax
  40. *
  41. * @param priceWithTax
  42. * @param taxRate
  43. * @returns {string}
  44. */
  45. function getPrice(priceWithTax, taxRate) {
  46. return parseFloat(parseFloat(priceWithTax) / ((taxRate/100) + 1)).toFixed(2);
  47. }
  48. /**
  49. * Retourne un prix avec taxe sur base du prix sans taxe
  50. *
  51. * @param priceWithoutTax
  52. * @param taxRate
  53. * @returns {string}
  54. */
  55. function getPriceWithTax(priceWithoutTax, taxRate) {
  56. return parseFloat(parseFloat(priceWithoutTax) * ((taxRate/100) + 1)).toFixed(2);
  57. }
  58. /**
  59. * Formate un prix en l'arrondissant et en ajoutant le sigle de la monnaie
  60. *
  61. * @param price
  62. * @returns {string}
  63. */
  64. function formatPrice(price) {
  65. return Number(price).toFixed(2).replace('.', ',') + ' €';
  66. }
  67. /**
  68. * Formate une date au format jj/mm/yyyy
  69. * @param date
  70. * @returns {*}
  71. */
  72. function formatDate(date) {
  73. if (date) {
  74. return ('0' + date.getDate()).slice(-2) + '/' + ('0' + (date.getMonth() + 1)).slice(-2) + '/' + date.getFullYear();
  75. }
  76. return false;
  77. }
  78. /**
  79. * Equivalent de console.log (ne déclenche pas d'erreur si la console est fermé)
  80. *
  81. * @param msg
  82. */
  83. function log(msg) {
  84. try {
  85. console.log(msg);
  86. } catch (e) {
  87. }
  88. }
  89. /**
  90. * Convertit un formulaire ou un objet en JSON (utilisé pour l'envoie de donnée en ajax)
  91. */
  92. $.fn.serializeObject = function () {
  93. var o = {};
  94. var a = this.serializeArray();
  95. $.each(a, function () {
  96. if (o[this.name] !== undefined) {
  97. if (!o[this.name].push) {
  98. o[this.name] = [o[this.name]];
  99. }
  100. o[this.name].push(this.value || '');
  101. } else {
  102. o[this.name] = this.value || '';
  103. }
  104. });
  105. return o;
  106. };
  107. function getDateFormatted(date) {
  108. var _d = date.getDate(),
  109. d = _d > 9 ? _d : '0' + _d,
  110. _m = date.getMonth() + 1,
  111. m = _m > 9 ? _m : '0' + _m,
  112. formatted = date.getFullYear() + '-' + m + '-' + d;
  113. return formatted;
  114. }
  115. //Affiche une alert au click sur un bouton submit lorsqu'un utilisateur admin tente de modifer un établissement
  116. function userNotAllowToEdit() {
  117. alert('Vous n\'êtes pas autorisé à effectuer cette action');
  118. return false;
  119. }