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.

utils.js 3.5KB

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