|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
Copyright distrib (2018) |
|
|
|
|
|
|
|
|
|
|
|
contact@opendistrib.net |
|
|
|
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
/* French initialisation for the jQuery UI date picker plugin. */ |
|
|
|
|
|
/* Written by Keith Wood (kbwood{at}iinet.com.au), |
|
|
|
|
|
Stéphane Nahmani (sholby@sholby.net), |
|
|
|
|
|
Stéphane Raimbault <stephane.raimbault@gmail.com> */ |
|
|
|
|
|
(function( factory ) { |
|
|
|
|
|
if ( typeof define === "function" && define.amd ) { |
|
|
|
|
|
|
|
|
|
|
|
// AMD. Register as an anonymous module. |
|
|
|
|
|
define([ "../jquery.ui.datepicker" ], factory ); |
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
|
|
// Browser globals |
|
|
|
|
|
factory( jQuery.datepicker ); |
|
|
|
|
|
} |
|
|
|
|
|
}(function( datepicker ) { |
|
|
|
|
|
datepicker.regional['fr'] = { |
|
|
|
|
|
closeText: 'Fermer', |
|
|
|
|
|
prevText: 'Précédent', |
|
|
|
|
|
nextText: 'Suivant', |
|
|
|
|
|
currentText: 'Aujourd\'hui', |
|
|
|
|
|
monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', |
|
|
|
|
|
'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], |
|
|
|
|
|
monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', |
|
|
|
|
|
'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], |
|
|
|
|
|
dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], |
|
|
|
|
|
dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], |
|
|
|
|
|
dayNamesMin: ['D','L','M','M','J','V','S'], |
|
|
|
|
|
weekHeader: 'Sem.', |
|
|
|
|
|
dateFormat: 'dd/mm/yy', |
|
|
|
|
|
firstDay: 1, |
|
|
|
|
|
isRTL: false, |
|
|
|
|
|
showMonthAfterYear: false, |
|
|
|
|
|
yearSuffix: ''}; |
|
|
|
|
|
datepicker.setDefaults(datepicker.regional['fr']); |
|
|
|
|
|
|
|
|
|
|
|
return datepicker.regional['fr']; |
|
|
|
|
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function() { |
|
|
|
|
|
$('[data-toggle="tooltip"]').tooltip() ; |
|
|
|
|
|
chat_systeme_commande() ; |
|
|
|
|
|
chat_profil_user() ; |
|
|
|
|
|
$('.dropdown-toggle').dropdown() ; |
|
|
|
|
|
chat_datepicker() ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
function chat_datepicker() { |
|
|
|
|
|
$('input.datepicker').datepicker({dateFormat:'dd/mm/yy'}) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_profil_user() { |
|
|
|
|
|
if($('#profil-user').size()) { |
|
|
|
|
|
if($('#user-no_mail').is(':checked')) { |
|
|
|
|
|
$('#mails-jours-prod').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
$('#user-no_mail').change(function() { |
|
|
|
|
|
if($('#user-no_mail').is(':checked')) { |
|
|
|
|
|
$('#mails-jours-prod').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#mails-jours-prod').fadeIn() ; |
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_event_click_point_vente(id, force) { |
|
|
|
|
|
|
|
|
|
|
|
if($('.point-sale-'+id).data('code') == 1) { |
|
|
|
|
|
|
|
|
|
|
|
$('#modal-code #id-point-sale').val(id) ; |
|
|
|
|
|
$('#modal-code').modal('show') ; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#order-id_point_sale').val(id) ; |
|
|
|
|
|
|
|
|
|
|
|
$('#points-sale .point-sale').removeClass('selected') ; |
|
|
|
|
|
$('.point-sale-'+id).addClass('selected') ; |
|
|
|
|
|
$('.point-sale-'+id).hide().fadeIn('fast') ; |
|
|
|
|
|
|
|
|
|
|
|
var pain = parseInt($('.point-sale-'+id).data('pain')) ; |
|
|
|
|
|
var vrac = parseInt($('.point-sale-'+id).data('vrac')) ; |
|
|
|
|
|
|
|
|
|
|
|
if(pain) { |
|
|
|
|
|
$('#pain .table').show() ; |
|
|
|
|
|
$('#pain .indisponible').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#pain .table').hide() ; |
|
|
|
|
|
$('#pain .indisponible').show() ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(vrac) { |
|
|
|
|
|
$('#vrac .table').show() ; |
|
|
|
|
|
$('#vrac .indisponible').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#vrac .table').hide() ; |
|
|
|
|
|
$('#vrac .indisponible').show() ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$('#products, #step-infos-point-sale, .confirm-order, .btn-comment, #bar-fixed').fadeIn() ; |
|
|
|
|
|
|
|
|
|
|
|
// credit pain |
|
|
|
|
|
chat_systeme_commande_credit_pain_event(chat_systeme_commande_maj_table_prix()) ; |
|
|
|
|
|
|
|
|
|
|
|
// scroll |
|
|
|
|
|
if(!force) { |
|
|
|
|
|
boulange_scroll('step-infos-point-sale') ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// infos point de vente |
|
|
|
|
|
$('.infos-point-sale').hide() ; |
|
|
|
|
|
$('.infos-point-sale-'+id).fadeIn() ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_init_horaire_point_vente(date) { |
|
|
|
|
|
$('.infos-point-sale .jour').hide() ; |
|
|
|
|
|
var selector_jour = '.infos-point-sale .jour-'+date.getDay() ; |
|
|
|
|
|
$(selector_jour).show() ; |
|
|
|
|
|
|
|
|
|
|
|
$('.select-previous-day').unbind('click').click(function() { |
|
|
|
|
|
$('.ui-datepicker-current-day').prev().find('a').click() ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_base_url(with_slug) { |
|
|
|
|
|
var base_url = $('meta[name=base-url]').attr('content')+'/' ; |
|
|
|
|
|
if(with_slug) { |
|
|
|
|
|
base_url += $('meta[name=slug-producer]').attr('content')+'/' ; |
|
|
|
|
|
} |
|
|
|
|
|
return base_url ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_systeme_commande() { |
|
|
|
|
|
|
|
|
|
|
|
if($('.order-form').size()) { |
|
|
|
|
|
|
|
|
|
|
|
// scroll initial |
|
|
|
|
|
if($('.producer.selected').size()) |
|
|
|
|
|
{ |
|
|
|
|
|
boulange_scroll('step-date') ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// affichage des différentes parties du formulaire |
|
|
|
|
|
if(!$('#order-id_distribution').val()) { |
|
|
|
|
|
$('#block-points-sale, #step-infos-point-sale, #points-sale, #products, .confirm-order, .btn-comment, #bar-fixed').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
else if(!$('#commande-id_point_vente').val()) { |
|
|
|
|
|
$('#products, .confirm-order, .btn-comment, #bar-fixed, #has-order-in-progress').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// points de vente |
|
|
|
|
|
if($('#order-id_point_sale').val()) { |
|
|
|
|
|
chat_event_click_point_vente($('#order-id_point_sale').val(), true) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$('#modal-code form').submit(function() { |
|
|
|
|
|
var id_pv = $('#modal-code #id-point-sale').val() ; |
|
|
|
|
|
var code = $('#modal-code #code').val() ; |
|
|
|
|
|
$.get(chat_base_url(true)+'order/validate-code-point-sale',{ |
|
|
|
|
|
idPointSale: id_pv, |
|
|
|
|
|
code: code |
|
|
|
|
|
}, function(ok) { |
|
|
|
|
|
if(ok) { |
|
|
|
|
|
$('.point-sale-'+id_pv).data('code',0) ; |
|
|
|
|
|
$('.point-sale-'+id_pv+' .glyphicon').remove() ; |
|
|
|
|
|
$('input[name="code_point_sale_'+id_pv+'"]').val(code) ; |
|
|
|
|
|
$('#modal-code').modal('hide') ; |
|
|
|
|
|
|
|
|
|
|
|
chat_event_click_point_vente($('#modal-code #id-point-sale').val()) ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#modal-code .field-code').addClass('has-error') ; |
|
|
|
|
|
$('#modal-code .help-block-error').hide().fadeIn() ; |
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
return false ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
$('#points-sale .point-sale').click(function() { |
|
|
|
|
|
var id = parseInt($(this).find('.id').html()) ; |
|
|
|
|
|
chat_event_click_point_vente(id) ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
// datepicker |
|
|
|
|
|
var dates_production = [] ; |
|
|
|
|
|
$('#dates div').each(function() { |
|
|
|
|
|
dates_production.push($(this).find('.date').html()) ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
//var var_datepicker = $.datepicker ; |
|
|
|
|
|
|
|
|
|
|
|
$('#datepicker-distribution').datepicker({ |
|
|
|
|
|
beforeShowDay: function(date){ |
|
|
|
|
|
var string = $.datepicker.formatDate('dd/mm/yy', date); |
|
|
|
|
|
|
|
|
|
|
|
for(var i=0; i<dates_production.length; i++) { |
|
|
|
|
|
//alert(dates_production[i]+' '+string) ; |
|
|
|
|
|
if(dates_production[i] == string) |
|
|
|
|
|
return [1] ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return [0] ; |
|
|
|
|
|
|
|
|
|
|
|
// désactivé car internet explorer plante |
|
|
|
|
|
//return [ dates_production.indexOf(string) != -1 ] ; |
|
|
|
|
|
}, |
|
|
|
|
|
onSelect: function(selectedDate) { |
|
|
|
|
|
|
|
|
|
|
|
$('.infos-points-sale').hide() ; |
|
|
|
|
|
|
|
|
|
|
|
// on remet tout les prix à zéro |
|
|
|
|
|
chat_systeme_commande_reset_table_prix() ; |
|
|
|
|
|
|
|
|
|
|
|
$('#has-order-in-progress').hide() ; |
|
|
|
|
|
|
|
|
|
|
|
var tab_date = selectedDate.split('/') ; |
|
|
|
|
|
var date = new Date(tab_date[2],tab_date[1]-1,tab_date[0]) ; |
|
|
|
|
|
|
|
|
|
|
|
// set id production |
|
|
|
|
|
var id_production = 0 ; |
|
|
|
|
|
$('#dates div .date').each(function() { |
|
|
|
|
|
if($(this).html() == selectedDate) { |
|
|
|
|
|
id_production = $(this).parent().find('.id_distribution').html() ; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
$('#order-id_distribution').val(id_production) ; |
|
|
|
|
|
|
|
|
|
|
|
// verif si le gars a une commande en cours pour cette production |
|
|
|
|
|
var has_commande_en_cours = false ; |
|
|
|
|
|
$('#orders-in-progress .order').each(function() { |
|
|
|
|
|
if($(this).data('iddistribution') == id_production) { |
|
|
|
|
|
//alert('bada') ; |
|
|
|
|
|
$('#has-order-in-progress a').attr('href',$(this).data('href')) ; |
|
|
|
|
|
$('#has-order-in-progress').show() ; |
|
|
|
|
|
has_commande_en_cours = true ; |
|
|
|
|
|
|
|
|
|
|
|
$('#block-points-sale, #step-infos-point-sale, #points-sale, #products, #bar-fixed').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
if(!has_commande_en_cours) { |
|
|
|
|
|
|
|
|
|
|
|
chat_systeme_commande_produits_dispos(tab_date[2]+'-'+tab_date[1]+'-'+tab_date[0], date) ; |
|
|
|
|
|
|
|
|
|
|
|
$('#products, .confirm-order, .btn-comment, #bar-fixed').hide() ; |
|
|
|
|
|
|
|
|
|
|
|
// déselection points de vente |
|
|
|
|
|
$('#points-sale .point-sale').removeClass('selected') ; |
|
|
|
|
|
$('#order-id_point_sale').val('') ; |
|
|
|
|
|
|
|
|
|
|
|
// affichage points de vente |
|
|
|
|
|
$('#block-points-sale, #points-sale, #order-infos').fadeIn() ; |
|
|
|
|
|
|
|
|
|
|
|
// scroll |
|
|
|
|
|
boulange_scroll('step-point-sale') ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
if($('#order-id_distribution').val()) { |
|
|
|
|
|
$("#dates .id_distribution").each(function() { |
|
|
|
|
|
if($(this).html() == $('#order-id_distribution').val()) { |
|
|
|
|
|
var tab_date = $(this).parent().find('.date').html().split('/') ; |
|
|
|
|
|
var date = new Date(tab_date[2],tab_date[1]-1,tab_date[0]); |
|
|
|
|
|
$('#datepicker-distribution').datepicker('setDate',date) ; |
|
|
|
|
|
chat_systeme_commande_produits_dispos(tab_date[2]+'-'+tab_date[1]+'-'+tab_date[0], date) ; |
|
|
|
|
|
chat_init_horaire_point_vente(date) ; |
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// tableau produits |
|
|
|
|
|
$('.order-form .move-quantity').click(function() { |
|
|
|
|
|
|
|
|
|
|
|
var vrac = ($(this).parent().parent().parent().parent().parent().parent().parent().attr('id') == 'vrac') ; |
|
|
|
|
|
|
|
|
|
|
|
if(vrac) { |
|
|
|
|
|
var quantite = parseInt($(this).parent().parent().find('input.quantity').val()) ; |
|
|
|
|
|
|
|
|
|
|
|
if($(this).hasClass('minus') && quantite != 0) |
|
|
|
|
|
quantite -= 500 ; |
|
|
|
|
|
if($(this).hasClass('plus')) |
|
|
|
|
|
quantite += 500 ; |
|
|
|
|
|
|
|
|
|
|
|
$(this).parent().parent().find('input.quantity').val(quantite) ; |
|
|
|
|
|
|
|
|
|
|
|
chat_systeme_commande_maj_table_prix(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
var quantite_totale = 0 ; |
|
|
|
|
|
$('.quantity').each(function() { |
|
|
|
|
|
quantite_totale += parseInt($(this).val()) ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
var quantite = parseInt($(this).parent().parent().find('input.quantity').val()) ; |
|
|
|
|
|
var quantite_restante = parseInt($(this).parent().parent().parent().find('.quantity-remaining .nb').html()) ; |
|
|
|
|
|
var quantite_max = $(this).parent().parent().parent().parent().data('quantity-max') ; |
|
|
|
|
|
var no_limit = $(this).parent().parent().parent().parent().data('no-limit') ; |
|
|
|
|
|
|
|
|
|
|
|
if($(this).hasClass('minus') && quantite != 0) { |
|
|
|
|
|
quantite -- ; |
|
|
|
|
|
quantite_restante ++ ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if($(this).hasClass('plus') ){ |
|
|
|
|
|
if(quantite_restante > 0 || no_limit) { |
|
|
|
|
|
quantite ++ ; |
|
|
|
|
|
quantite_restante -- ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$(this).parent().parent().parent().find('.quantity-remaining .nb').html(quantite_restante) ; |
|
|
|
|
|
|
|
|
|
|
|
if(quantite_restante <= 5 && quantite_restante > 0) { |
|
|
|
|
|
$(this).parent().parent().parent().find('.quantity-remaining').fadeIn() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$(this).parent().parent().parent().find('.quantity-remaining').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
if(quantite_restante == 0 && !no_limit) { |
|
|
|
|
|
$(this).parent().parent().parent().find('.unavailable').fadeIn() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$(this).parent().parent().parent().find('.unavailable').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$(this).parent().parent().find('input.quantity').val(quantite) ; |
|
|
|
|
|
|
|
|
|
|
|
chat_systeme_commande_maj_table_prix(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}) ; |
|
|
|
|
|
chat_systeme_commande_maj_table_prix() ; |
|
|
|
|
|
chat_systeme_commande_credit_pain(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// commentaire commande |
|
|
|
|
|
$('.order-form .btn-comment').click(function() { |
|
|
|
|
|
if($('.field-order-comment').css('display') == 'none') { |
|
|
|
|
|
$('.field-order-comment').slideDown() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('.field-order-comment').slideUp() ; |
|
|
|
|
|
} |
|
|
|
|
|
return false ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
// bar fixed |
|
|
|
|
|
if($('#bar-fixed').size()) { |
|
|
|
|
|
$(window).scroll(function (event) { |
|
|
|
|
|
var scroll = $(window).scrollTop() + $(window).height(); |
|
|
|
|
|
var pos_bottom_produits = $('#table-products').offset().top + $('#table-products').height() + 100 ; |
|
|
|
|
|
|
|
|
|
|
|
if($(window).height() < 700) { |
|
|
|
|
|
if(!$('#bar-fixed').hasClass('not-fixed')) { |
|
|
|
|
|
$('#bar-fixed').addClass('not-fixed') ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
if(scroll > pos_bottom_produits) { |
|
|
|
|
|
if(!$('#bar-fixed').hasClass('not-fixed')) { |
|
|
|
|
|
$('#bar-fixed').addClass('not-fixed') ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#bar-fixed').removeClass('not-fixed') ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_systeme_commande_produits_dispos(str_date, date) { |
|
|
|
|
|
// produits dispos à la vente à cette date |
|
|
|
|
|
$.get(chat_base_url(true)+'order/infos-distribution',{ |
|
|
|
|
|
idDistribution: $('#order-id_distribution').val() |
|
|
|
|
|
}, function(data) { |
|
|
|
|
|
|
|
|
|
|
|
if(data.products) { |
|
|
|
|
|
$.each(data.products, function( id_produit, produit ) { |
|
|
|
|
|
|
|
|
|
|
|
if(produit.active) $('.product-'+id_produit).show() ; |
|
|
|
|
|
else $('.product-'+id_produit).hide() ; |
|
|
|
|
|
|
|
|
|
|
|
var quantite_restante = produit.quantity_max - produit.quantity_order ; |
|
|
|
|
|
var no_limit = 0 ; |
|
|
|
|
|
if(!produit.quantity_max) |
|
|
|
|
|
no_limit = 1 ; |
|
|
|
|
|
|
|
|
|
|
|
$('.product-'+id_produit).attr('data-no-limit',no_limit) ; |
|
|
|
|
|
$('.product-'+id_produit).attr('data-quantity-max',produit.quantity_max) ; |
|
|
|
|
|
$('.product-'+id_produit+' .quantity-remaining .nb').html(quantite_restante) ; |
|
|
|
|
|
|
|
|
|
|
|
if(produit.quantity_max && (!quantite_restante || quantite_restante < 0 || produit.unavailable)) { |
|
|
|
|
|
$('.product-'+id_produit+' .unavailable').show() ; |
|
|
|
|
|
|
|
|
|
|
|
if(!$('#id-order').val() && $('.product-'+id_produit+' .quantity').val() == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
$('.product-'+id_produit+' .quantity-remaining').hide() ; |
|
|
|
|
|
$('.product-'+id_produit+' .input-group').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('.product-'+id_produit+' .unavailable').hide() ; |
|
|
|
|
|
$('.product-'+id_produit+' .input-group').show() ; |
|
|
|
|
|
$('.product-'+id_produit+' .quantity-remaining .nb').html(quantite_restante) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if($('.product-'+id_produit+' .quantity-remaining').size()) { |
|
|
|
|
|
if(parseInt($('.product-'+id_produit+' .quantity-remaining .nb').html()) > 5 || |
|
|
|
|
|
parseInt($('.product-'+id_produit+' .quantity-remaining .nb').html()) <= 0) { |
|
|
|
|
|
$('.product-'+id_produit+' .quantity-remaining').hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('.product-'+id_produit+' .quantity-remaining').show() ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$('#points-sale .point-sale').hide() ; |
|
|
|
|
|
|
|
|
|
|
|
// init affichage points de vente |
|
|
|
|
|
$.each(data.points_sale, function(key, livraison) { |
|
|
|
|
|
if(livraison) { |
|
|
|
|
|
$('.point-sale-'+key).fadeIn() ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('.point-sale-'+key).hide() ; |
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
chat_init_horaire_point_vente(date) ; |
|
|
|
|
|
|
|
|
|
|
|
}, 'json') ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_systeme_commande_reset_table_prix() { |
|
|
|
|
|
$('#table-products tr .column-quantity .quantity').each(function() { |
|
|
|
|
|
$(this).val(0) ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
chat_systeme_commande_maj_table_prix() ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_systeme_commande_maj_table_prix() { |
|
|
|
|
|
|
|
|
|
|
|
// produits pain |
|
|
|
|
|
var prix = 0 ; |
|
|
|
|
|
$('.order-form #table-products tbody tr').each(function() { |
|
|
|
|
|
var quantite = parseInt($(this).find('.quantity').val()) ; |
|
|
|
|
|
var prix_produit = parseFloat($(this).find('.price').html()) ; |
|
|
|
|
|
var prix_total_produit = quantite * prix_produit ; |
|
|
|
|
|
|
|
|
|
|
|
if(prix_total_produit) |
|
|
|
|
|
$(this).find('.total').html(formate_prix(prix_total_produit)+' €') ; |
|
|
|
|
|
else |
|
|
|
|
|
$(this).find('.total').html('--') ; |
|
|
|
|
|
|
|
|
|
|
|
if(quantite > 0) |
|
|
|
|
|
prix += prix_total_produit ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
$('#total-order strong').html(formate_prix(prix)+' €') ; |
|
|
|
|
|
var prix_global = prix ; |
|
|
|
|
|
|
|
|
|
|
|
// produits vrac |
|
|
|
|
|
var prix = 0 ; |
|
|
|
|
|
$('.order-form #table-products-vrac tbody tr').each(function() { |
|
|
|
|
|
var quantite = parseInt($(this).find('.quantity').val()) ; |
|
|
|
|
|
var prix_produit = parseFloat($(this).find('.price').html()) ; |
|
|
|
|
|
var prix_total_produit = quantite/1000 * prix_produit ; |
|
|
|
|
|
|
|
|
|
|
|
if(prix_total_produit) |
|
|
|
|
|
$(this).find('.total').html(formate_prix(prix_total_produit)+' €') ; |
|
|
|
|
|
else |
|
|
|
|
|
$(this).find('.total').html('--') ; |
|
|
|
|
|
|
|
|
|
|
|
if(quantite > 0) |
|
|
|
|
|
prix += prix_total_produit ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
|
|
|
|
|
|
$('#total-order-vrac strong').html(formate_prix(prix)+' €') ; |
|
|
|
|
|
|
|
|
|
|
|
prix_global += prix ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$('#total-order-bottom span').html(formate_prix(prix_global)) ; |
|
|
|
|
|
|
|
|
|
|
|
if(prix_global) |
|
|
|
|
|
$('#total-order-bottom').fadeIn() ; |
|
|
|
|
|
else |
|
|
|
|
|
$('#total-order-bottom').hide() ; |
|
|
|
|
|
|
|
|
|
|
|
// maj credit pain |
|
|
|
|
|
chat_systeme_commande_credit_pain_event(prix_global) ; |
|
|
|
|
|
|
|
|
|
|
|
return prix_global ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_systeme_commande_credit_pain() { |
|
|
|
|
|
$('input[name=credit]').change(function() { |
|
|
|
|
|
var prix_global = chat_systeme_commande_maj_table_prix() ; |
|
|
|
|
|
chat_systeme_commande_credit_pain_event(prix_global) ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_systeme_commande_credit_pain_event(prix_global) { |
|
|
|
|
|
var html = '' ; |
|
|
|
|
|
var use_credit_pain = $('input[name=credit]').prop('checked') ; |
|
|
|
|
|
|
|
|
|
|
|
var credit_pain = parseFloat($('#montant-credit').val()) ; |
|
|
|
|
|
var credit_pain_dispo = credit_pain ; |
|
|
|
|
|
var montant_paye = 0 |
|
|
|
|
|
if($('#amount-paid').size() && $('#amount-paid').val()) |
|
|
|
|
|
montant_paye = parseFloat($('#amount-paid').val()) ; |
|
|
|
|
|
|
|
|
|
|
|
if($('#id-order').size() && $('#id-order').val()) { |
|
|
|
|
|
credit_pain_dispo = credit_pain + montant_paye ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var credit_pain_active = $('.point-sale.selected').data('credit') ; |
|
|
|
|
|
if(credit_pain_active || montant_paye) { |
|
|
|
|
|
$('#checkbox-credit #info-credit-empty').show() ; |
|
|
|
|
|
$('#checkbox-credit label').show() ; |
|
|
|
|
|
$('#checkbox-credit #credit-disabled').hide() ; |
|
|
|
|
|
|
|
|
|
|
|
if(prix_global > credit_pain_dispo) { |
|
|
|
|
|
var reste_payer = prix_global - credit_pain_dispo ; |
|
|
|
|
|
if(use_credit_pain) { |
|
|
|
|
|
if(montant_paye) { |
|
|
|
|
|
html += '<span class="amount-paid">'+montant_paye+' € déjà payé</span><br />' ; |
|
|
|
|
|
} |
|
|
|
|
|
html += '<strong>'+credit_pain.toFixed(2)+' €</strong> seront débités<br />' ; |
|
|
|
|
|
html += 'Restera <strong>'+reste_payer+' €</strong> à payer à la boulangerie' ; |
|
|
|
|
|
$('#checkbox-credit .info').html(html) ; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#checkbox-credit .info').html('') ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
|
|
|
|
|
|
$('#checkbox-credit').removeClass('payment-impossible') ; |
|
|
|
|
|
$('input[name=credit]').removeAttr('disabled') ; |
|
|
|
|
|
if(use_credit_pain) { |
|
|
|
|
|
var html = '' ; |
|
|
|
|
|
// à payer |
|
|
|
|
|
if(prix_global > montant_paye) |
|
|
|
|
|
{ |
|
|
|
|
|
montant = prix_global - montant_paye ; |
|
|
|
|
|
if(montant_paye) { |
|
|
|
|
|
html += '<span class="amount-paid">'+montant_paye+' € déjà payé</span><br />' ; |
|
|
|
|
|
} |
|
|
|
|
|
html += '<strong>'+montant.toFixed(2)+' €</strong> seront débités' ; |
|
|
|
|
|
$('#checkbox-credit .info').html(html) ; |
|
|
|
|
|
} |
|
|
|
|
|
// remboursé |
|
|
|
|
|
else if(prix_global < montant_paye) { |
|
|
|
|
|
montant = montant_paye - prix_global ; |
|
|
|
|
|
if(montant_paye) { |
|
|
|
|
|
html += '<span class="amount-paid">'+montant_paye+' € déjà payé</span><br />' ; |
|
|
|
|
|
} |
|
|
|
|
|
html += '<strong>'+montant+' €</strong> seront remboursés' ; |
|
|
|
|
|
$('#checkbox-credit .info').html(html) ; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
if(montant_paye > 0) |
|
|
|
|
|
$('#checkbox-credit .info').html('<span class="amount-paid">'+montant_paye+' € déjà payé</span>') ; |
|
|
|
|
|
else |
|
|
|
|
|
$('#checkbox-credit .info').html('') ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#checkbox-credit .info').html('') |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
$('#checkbox-credit #info-credit-empty').hide() ; |
|
|
|
|
|
$('#checkbox-credit label').hide() ; |
|
|
|
|
|
$('#checkbox-credit #credit-disabled').show() ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function formate_prix(prix) { |
|
|
|
|
|
return prix.toFixed(2).replace( ".", "," ) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_slideshow() { |
|
|
|
|
|
if($('body').hasClass('home')) { |
|
|
|
|
|
var base_url = $('#base_url').val() ; |
|
|
|
|
|
$.vegas('slideshow', { |
|
|
|
|
|
backgrounds:[ |
|
|
|
|
|
//{ src:'./img/background/back2.jpg' }, |
|
|
|
|
|
{ src:base_url+'/img/background/four.jpg' }, |
|
|
|
|
|
{ src:base_url+'/img/background/gueulard.jpg' } |
|
|
|
|
|
], |
|
|
|
|
|
walk: function() { |
|
|
|
|
|
$('.vegas-loading').css('display','none') ; |
|
|
|
|
|
$('.vegas-background').css('position','absolute') ; |
|
|
|
|
|
} |
|
|
|
|
|
})('overlay'); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_scroll() { |
|
|
|
|
|
if($('body').hasClass('home')) { |
|
|
|
|
|
$('#header nav ul a[href^="#"]').click(function(){ |
|
|
|
|
|
var the_id = $(this).attr("href"); |
|
|
|
|
|
$('html, body').animate({ |
|
|
|
|
|
scrollTop: $(the_id).offset().top - 100 |
|
|
|
|
|
}, 'normal'); |
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$(window).scroll(function() { |
|
|
|
|
|
chat_event_scroll() ; |
|
|
|
|
|
}) ; |
|
|
|
|
|
chat_event_scroll() ; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function chat_event_scroll() { |
|
|
|
|
|
var scroll_top = $(window).scrollTop() ; |
|
|
|
|
|
//console.log(scroll_top + ' '+ ($('#horaires').offset().top-100)) ; |
|
|
|
|
|
$('#header nav ul a').each(function() { |
|
|
|
|
|
var top = $($(this).attr('href')).offset().top ; |
|
|
|
|
|
var test = top + $($(this).attr('href')).height() - 150 ; |
|
|
|
|
|
//console.log($(this).attr('href')+' : '+scroll_top+ ' | '+ test) ; |
|
|
|
|
|
if(scroll_top <= top + $($(this).attr('href')).height() - 150) { |
|
|
|
|
|
$('#header a').removeClass('selec') ; |
|
|
|
|
|
$(this).addClass('selec') ; |
|
|
|
|
|
} |
|
|
|
|
|
}) ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|