$(document).ready(function() {
chat_calendar() ;
chat_datepicker() ;
chat_vrac() ;
chat_email_masse() ;
$('button[data-toggle=popover]').popover() ;
chat_ordre_produits() ;
chat_index_commandes_liste_produits() ;
chat_index_commandes_points_vente() ;
chat_index_commandes_points_vente_livraison() ;
chat_btn_plus_moins() ;
chat_commandeauto() ;
chat_points_vente_acces() ;
chat_tooltip() ;
chat_points_vente_jours_livraison() ;
chat_index_commandes_maj_points_vente() ;
// admin
chat_select_etablissement() ;
}) ;
var UrlManager = {
getBaseUrl: function() {
return $('meta[name=baseurl]').attr('content')+'/' ;
},
getBaseUrlAbsolute: function() {
return $('meta[name=baseurl-absolute]').attr('content')+'/' ;
}
};
function chat_tooltip() {
$('[data-toggle="tooltip"]').tooltip();
}
function chat_nl2br(str, is_xhtml) {
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '
' : '
';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}
function chat_index_commandes_points_vente_livraison() {
$('#productionpointvente-productions_point_vente input[type=checkbox]').change(function() {
var nb = $('#productionpointvente-productions_point_vente input[type=checkbox]:checked').size() ;
if(nb == 0) {
$(this).prop('checked',true) ;
chat_alert('danger','Vous devez avoir au moins un point de vente activé') ;
}
else {
var val = $(this).val() ;
var arr_val = val.split('-') ;
var livraison = 0 ;
if($(this).prop('checked'))
livraison = 1 ;
$.get(UrlManager.getBaseUrl()+'commande/ajax-point-vente-livraison',{
id_production: arr_val[0],
id_point_vente: arr_val[1],
bool_livraison: livraison
}, function(data) {
chat_alert('success','Point de vente modifié') ;
}) ;
chat_index_commandes_maj_points_vente() ;
}
}) ;
}
function chat_index_commandes_maj_points_vente() {
if($('#productions-point-vente').size()) {
var nb = $('#productionpointvente-productions_point_vente input[type=checkbox]:checked').size() ;
if(nb == 0)
{
$('#panel-commandes #tabs-points-vente, #panel-commandes #commandes-points-vente').hide() ;
$('#panel-commandes .alert-danger').show();
}
else {
$('#panel-commandes #tabs-points-vente, #panel-commandes #commandes-points-vente').show() ;
$('#panel-commandes .alert-danger').hide();
}
}
var id_production = $('#id-production').val() ;
if(id_production) {
$('#tabs-points-vente li').each(function() {
var id_point_vente = $(this).find('a').attr('id').replace('btn-point-vente-','') ;
var nb_commandes = parseInt($(this).find('.badge-success').html()) ;
var checked = $('#productionpointvente-productions_point_vente input[value='+id_production+'-'+id_point_vente+']').prop('checked') ;
if(checked || nb_commandes > 0)
{
$(this).show() ;
}
else {
$(this).hide() ;
}
}) ;
$('#tabs-points-vente li:visible:first a').click() ;
}
}
function chat_points_vente_jours_livraison() {
$('#pointvente-point_fabrication').change(function() {
chat_points_vente_jours_livraison_event() ;
}) ;
chat_points_vente_jours_livraison_event();
}
function chat_points_vente_jours_livraison_event() {
if($('#pointvente-point_fabrication').prop('checked')) {
$('#jours-livraison').hide() ;
}
else {
$('#jours-livraison').fadeIn() ;
}
}
function chat_points_vente_acces() {
// affichage du bloc acces restreint
$('#pointvente-acces_restreint').change(function() {
chat_points_vente_acces_event() ;
}) ;
chat_points_vente_acces_event() ;
// affichage du champs commentaire
$('#pointvente-users input[type=checkbox]').change(function() {
chat_points_vente_commentaire_event() ;
}) ;
chat_points_vente_commentaire_event() ;
}
function chat_points_vente_commentaire_event() {
$('#pointvente-users input[type=checkbox]').each(function() {
if($(this).prop('checked')) {
$(this).parent().find('.commentaire').fadeIn() ;
}
else {
$(this).parent().find('.commentaire').hide() ;
}
}) ;
}
function chat_points_vente_acces_event() {
if($('#pointvente-acces_restreint').prop('checked')) {
$('#pointvente-users').fadeIn() ;
}
else {
$('#pointvente-users').hide() ;
}
}
function chat_select_etablissement() {
$('select[name="select_etablissement"]').change(function() {
window.location.href = UrlManager.getBaseUrlAbsolute()+'/site/change-etablissement?id='+$(this).val() ;
}) ;
}
function chat_commandeauto() {
// dates
$('#commandeautoform-date_debut, #commandeautoform-date_fin').datepicker() ;
}
function chat_index_commandes_points_vente() {
$('#commandes-points-vente .liste-commandes a').unbind('click').click(function() {
var id_pv = $(this).data('pv-id') ;
// affiche la commande
var id_commande = $(this).data('id-commande') ;
chat_index_commandes_affiche_commande(id_pv, id_commande) ;
}) ;
$('#commandes-points-vente .bloc-point-vente').each(function() {
var id_pv = $(this).data('id-pv') ;
// edit
$('#point-vente-'+id_pv+' .btn-edit').unbind('click').click(function() {
// boutons
$('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ;
$('#point-vente-'+id_pv+' .buttons-save-cancel').show() ;
$('#point-vente-'+id_pv+' .tr-total').hide() ;
// inputs
chat_index_commandes_inputs_commande(id_pv, true) ;
}) ;
// remove
$('#point-vente-'+id_pv+' .btn-remove').unbind('click').click(function() {
var id_commande = $(this).data('id-commande') ;
$(this).attr('disabled', 'disabled') ;
$.get(UrlManager.getBaseUrl()+'commande/ajax-delete',{
date: $('#date-production').val(),
id_commande: id_commande
}, function(data) {
$('#point-vente-'+id_pv+' .btn-remove').removeAttr('disabled') ;
if($('#point-vente-'+id_pv+' .liste-commandes li').size()) {
if($('#point-vente-'+id_pv+' .liste-commandes li:last-child a').is('.active')) {
var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().prev().find('a') ;
}
else {
var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().next().find('a') ;
}
$('#point-vente-'+id_pv+' .liste-commandes a.active').parent().remove() ;
if($('#point-vente-'+id_pv+' .liste-commandes li').size()) {
chat_index_commandes_affiche_commande(id_pv, commande_next.data('id-commande')) ;
}
else {
$('#point-vente-'+id_pv+' .liste-commandes').hide() ;
$('#point-vente-'+id_pv+' .creer-commande').trigger('click') ;
}
}
chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
chat_index_commandes_maj_total_commandes() ;
chat_alert('success','Commande supprimée') ;
}, 'json') ;
});
// cancel
$('#point-vente-'+id_pv+' .btn-cancel').unbind('click').click(function() {
$('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
$('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
$('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ;
chat_index_commandes_affiche_commande(id_pv, $(this).data('id-commande')) ;
}) ;
// save
$('#point-vente-'+id_pv+' .btn-save').unbind('click').click(function() {
var tab_produits = {} ;
var cpt_produits = 0 ;
$('#point-vente-'+id_pv+' .table-produits tr').each(function() {
tab_produits[$(this).data('id-produit')] = $(this).find('.quantite').val() ;
if($(this).find('.quantite').val())
cpt_produits ++ ;
}) ;
if(cpt_produits) {
// création
if($(this).hasClass('is-create')) {
if($('#point-vente-'+id_pv+' .user-id').val() || $('#point-vente-'+id_pv+' .username').val().length) {
$(this).attr('disabled', 'disabled') ;
$.get(UrlManager.getBaseUrl()+'commande/ajax-create',{
date: $('#date-production').val(),
id_pv: id_pv,
id_user: $('#point-vente-'+id_pv+' .user-id').val(),
username: $('#point-vente-'+id_pv+' .username').val(),
produits: JSON.stringify(tab_produits),
commentaire: $('#point-vente-'+id_pv+' .textarea-commentaire').val()
}, function(data) {
$('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ;
$('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ;
$('#point-vente-'+id_pv+' .liste-commandes').append(data.commande) ;
chat_index_commandes_points_vente() ;
chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
$('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
$('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
$('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ;
$('#point-vente-'+id_pv+' .user-id').val(0) ;
$('#point-vente-'+id_pv+' .user-id').val('') ;
chat_index_commandes_affiche_commande(id_pv, data.id_commande) ;
chat_alert('success', 'Commande créée') ;
}, 'json') ;
}
else {
chat_alert('danger', 'Veuillez choisir ou saisir un nom d\'utilisateur') ;
}
}
// modification
else {
var id_commande = $(this).data('id-commande') ;
$(this).attr('disabled', 'disabled') ;
$.get(UrlManager.getBaseUrl()+'commande/ajax-update',{
id_commande: id_commande,
produits: JSON.stringify(tab_produits),
date: $('#date-production').val(),
commentaire: $('#point-vente-'+id_pv+' .textarea-commentaire').val()
}, function(data) {
$('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ;
$('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').attr('data-commande',data.json_commande);
$('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html(data.json_commande.str_montant) ;
chat_index_commandes_affiche_commande(id_pv, id_commande) ;
chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ;
$('#point-vente-'+id_pv+' .buttons-edit-remove').show() ;
$('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ;
chat_alert('success','Commande modifiée') ;
}, 'json') ;
}
}
else {
chat_alert('danger', 'Veuillez saisir au moins un produit') ;
}
chat_index_commandes_maj_total_commandes() ;
}) ;
// create
$('.creer-commande').unbind('click').click(function() {
var id_pv = $(this).data('pv-id') ;
$('#point-vente-'+id_pv+' .bloc-commande').fadeIn() ;
$('#point-vente-'+id_pv+' .liste-commandes a.active').removeClass('active') ;
$('#point-vente-'+id_pv+' .tr-total').hide() ;
$('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ;
$('#point-vente-'+id_pv+' .the-title').hide() ;
$('#point-vente-'+id_pv+' .buttons-save-cancel').show() ;
$('#point-vente-'+id_pv+' .choix-user').show() ;
$('#point-vente-'+id_pv+' .choix-user .user-id').val(0) ;
$('#point-vente-'+id_pv+' .choix-user .username').val('') ;
$('#point-vente-'+id_pv+' .commentaire').hide() ;
$('#point-vente-'+id_pv+' .btn-save').addClass('is-create');
/*if(!$('#point-vente-'+id_pv+' .btn-cancel').data('id-commande') &&
$('#point-vente-'+id_pv+' .liste-commandes li').size()) {
$('#point-vente-'+id_pv+' .btn-cancel').data('id-commande',$('#point-vente-'+id_pv+' .liste-commandes li:first a').data('id-commande')) ;
}*/
$('#point-vente-'+id_pv+' .btn-save').data('id-commande',0) ;
chat_index_commandes_inputs_commande(id_pv, false) ;
$('#point-vente-'+id_pv+' .title-user').show() ;
}) ;
}) ;
$('#commandes-points-vente .liste-commandes').each(function() {
//$(this).find('a:first').trigger('click') ;
}) ;
}
function chat_index_commandes_maj_total_commandes() {
$.get(UrlManager.getBaseUrl()+'commande/ajax-total-commandes',{
date: $('#date-production').val()
}, function(data) {
$('#bloc-totaux').html(data.html_totaux) ;
}, 'json') ;
}
function chat_index_commandes_maj_recap_pv(id_pv, total) {
$('#point-vente-'+id_pv+' .recap-pv .recettes').html(total) ;
var nb_commandes = $('#point-vente-'+id_pv+' .liste-commandes li').size() ;
if(nb_commandes == 0) {
$('#point-vente-'+id_pv+' .recap-pv .commandes').html('Aucune commande') ;
$('#point-vente-'+id_pv+' .recap-pv .recettes').hide() ;
$('#point-vente-'+id_pv+' .liste-commandes').addClass('no-commande') ;
}
else if(nb_commandes == 1) {
$('#point-vente-'+id_pv+' .recap-pv .commandes').html('1 commande') ;
$('#point-vente-'+id_pv+' .recap-pv .recettes').show() ;
$('#point-vente-'+id_pv+' .liste-commandes').removeClass('no-commande') ;
}
else {
$('#point-vente-'+id_pv+' .recap-pv .commandes').html(nb_commandes+' commandes') ;
$('#point-vente-'+id_pv+' .recap-pv .recettes').show() ;
$('#point-vente-'+id_pv+' .liste-commandes').removeClass('no-commande') ;
}
$('#btn-point-vente-'+id_pv+' .badge').html(nb_commandes) ;
}
function chat_index_commandes_inputs_commande(id_pv, use_quantite) {
// commentaire
$('#point-vente-'+id_pv+' .commentaire').hide() ;
$('#point-vente-'+id_pv+' .textarea-commentaire').show() ;
var id_commande = $('#point-vente-'+id_pv+' .btn-save').data('id-commande') ;
if(id_commande) {
var link = $('a[data-id-commande='+id_commande+']') ;
if(!$.isPlainObject(link.attr('data-commande'))) {
var commande = JSON.parse(link.attr('data-commande')) ;
if(commande.commentaire && commande.commentaire.length)
$('#point-vente-'+id_pv+' .textarea-commentaire').val(commande.commentaire) ;
}
}
else {
$('#point-vente-'+id_pv+' .textarea-commentaire').val('') ;
}
// produits
$('#point-vente-'+id_pv+' .table-produits tr').each(function() {
var quantite = '' ;
if(use_quantite)
quantite = $(this).find('.td-commande').html() ;
var id_produit = $(this).data('id-produit') ;
$(this).find('.td-commande').html('