/** * Copyright Guillaume Bourgeois (2018) * * contact@souke.fr * * Ce logiciel est un programme informatique servant à aider les producteurs * à distribuer leur production en circuits courts. * * Ce logiciel est régi par la licence CeCILL soumise au droit français et * respectant les principes de diffusion des logiciels libres. Vous pouvez * utiliser, modifier et/ou redistribuer ce programme sous les conditions * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA * sur le site "http://www.cecill.info". * * En contrepartie de l'accessibilité au code source et des droits de copie, * de modification et de redistribution accordés par cette licence, il n'est * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, * seule une responsabilité restreinte pèse sur l'auteur du programme, le * titulaire des droits patrimoniaux et les concédants successifs. * * A cet égard l'attention de l'utilisateur est attirée sur les risques * associés au chargement, à l'utilisation, à la modification et/ou au * développement et à la reproduction du logiciel par l'utilisateur étant * donné sa spécificité de logiciel libre, qui peut le rendre complexe à * manipuler et qui le réserve donc à des développeurs et des professionnels * avertis possédant des connaissances informatiques approfondies. Les * utilisateurs sont donc invités à charger et tester l'adéquation du * logiciel à leurs besoins dans des conditions permettant d'assurer la * sécurité de leurs systèmes et ou de leurs données et, plus généralement, * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. * * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez * pris connaissance de la licence CeCILL, et que vous en avez accepté les * termes. */ $(document).ready(function() { opendistrib_dropdown_tooltip(); }); function opendistrib_dropdown_tooltip() { if($('.dropdown-bs-toggle').length) { //$('.dropdown-toggle').dropdown() ; } if($('[data-bs-toggle="tooltip"]').length) { // $('[data-bs-toggle="tooltip"]').tooltip() ; var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl); }); } } /** * Retourne un prix sans taxe sur base du prix avec tax * * @param priceWithTax * @param taxRate * @returns {string} */ function getPrice(priceWithTax, taxRate) { return numberDecimals(parseFloat(parseFloat(priceWithTax) / (taxRate + 1)), 5); } /** * Retourne un prix avec taxe sur base du prix sans taxe * * @param priceWithoutTax * @param taxRate * @returns {string} */ function getPriceWithTax(priceWithoutTax, taxRate) { return numberDecimals(parseFloat(parseFloat(priceWithoutTax) * (taxRate + 1)), 2); } function numberDecimals(num, decimals) { return Number(num).toFixed(decimals) ; } /** * Formate un prix en l'arrondissant et en ajoutant le sigle de la monnaie * * @param price * @returns {string} */ function formatPrice(price) { return numberDecimals(price, 2).replace('.', ',') + ' €'; } /** * Formate une date au format jj/mm/yyyy * @param date * @returns {*} */ function formatDate(date) { if (date) { return ('0' + date.getDate()).slice(-2) + '/' + ('0' + (date.getMonth() + 1)).slice(-2) + '/' + date.getFullYear(); } return false; } /** * Equivalent de console.log (ne déclenche pas d'erreur si la console est fermé) * * @param msg */ function log(msg) { try { console.log(msg); } catch (e) { } } /** * Convertit un formulaire ou un objet en JSON (utilisé pour l'envoie de donnée en ajax) */ $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; function getDateFormatted(date) { var _d = date.getDate(), d = _d > 9 ? _d : '0' + _d, _m = date.getMonth() + 1, m = _m > 9 ? _m : '0' + _m, formatted = date.getFullYear() + '-' + m + '-' + d; return formatted; } //Affiche une alert au click sur un bouton submit lorsqu'un utilisateur admin tente de modifer un établissement function userNotAllowToEdit() { alert('Vous n\'êtes pas autorisé à effectuer cette action'); return false; }