{% extends 'FrontCommun/base.html.twig' %}
{% block title %}Réservation!{% endblock %}
{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('assets-commun/css/readmore.css') }}">
{% if configAffichage!= null and configAffichage.GENERALE.NUMEROTATION_TITLE_FORM is defined and configAffichage.GENERALE.NUMEROTATION_TITLE_FORM == 'oui' %}
<link rel="stylesheet" href="{{ asset('assets-commun/css/numerotation-form.css') }}">
{% endif %}
{% endblock %}
{% block body %}
{% include checkCustomTemplate('VoyagesOrganise/reservation-content.html.twig') %}
{% endblock %}
{% block jquery %}
<script type="text/javascript" src="{{ asset("assets-commun/js/loadingoverlay.min.js") }}"></script>
<script>
function strReplaceAll(string, Find, Replace) {
try {
return string.replace(new RegExp(Find, "g"), Replace);
} catch (ex) {
return string;
}
}
BookingCreation ={{ details|json_encode|raw }}
var vjsRecap = new Vue({
el: "#vjs-recap",
data: {
total: 0..formatMoney(3, ',', ' '),
totalPayer: 0..formatMoney(3, ',', ' '),
margeB2B: 0..formatMoney(3, ',', ' '),
sousTotal: 0..formatMoney(3, ',', ' '),
TotalAchat: 0..formatMoney(3, ',', ' '),
remise: 0..formatMoney(3, ',', ' '),
remiseInternet: 0..formatMoney(3, ',', ' '),
fraisDossier: 0..formatMoney(3, ',', ' '),
commission: 0..formatMoney(3, ',', ' '),
timbre: 0..formatMoney(3, ',', ' '),
nuitees:'',
chambres: [],
coupon: {
code: '',
reduction: 0,
amount: 0,
montant: (0).formatMoney(3, ',', ' ')
},
},
computed: {
Total: function () {
return (parseFloat(vjsRecap.total.replace(' ','').replace(',','.')) - parseFloat(this.coupon.amount)).formatMoney(3, ',', ' ');
},
},
methods: {
onInputCoupon() {
/*vjsForm.request.HotelBooking.DiscountCoupon = this.coupon.code*/
},
verifCoupon() {
this.coupon.reduction = ''
this.coupon.amount = 0
this.coupon.montant = (0).formatMoney(3, ',', ' ')
$('#nuitees').val(BookingCreation["firstPeriode"]["nbrNuit"]);
$('#dateDebut').val(BookingCreation["firstPeriode"]["depart"]);
if (this.coupon.code == "")
return;
$("i#load-coupon").removeClass("hidden")
$.get(Routing.generate('verif_couponreduction', {
produit: 'VO',
achat: vjsRecap.TotalAchat,
vente: vjsRecap.sousTotal,
nuitees: BookingCreation["firstPeriode"]["nbrNuit"],
checkin: BookingCreation["firstPeriode"]["depart"],
code: encodeURIComponent(this.coupon.code)
}), function (data) {
if (data.error !== undefined)
viewAlert(data.error, "danger")
//viewAlert(`Code coupon <b class="text-danger">${vjsRecap.coupon.code}</b> invalid`, "danger")
else if (data.reduction !== undefined) {
$('#couponReduction').val(data.code);
vjsRecap.coupon.montant = parseFloat(data.reduction).formatMoney(3, ',', ' ')
vjsRecap.coupon.amount = (data.reduction).formatMoney(3, ',', ' ')
if (data.type == "sur-total" && data.valeurPour)
vjsRecap.coupon.reduction = '(-' + (data.valeurPour ? data.valeur + '%' : (parseFloat(data.valeur).formatMoney(3, ',', ' ') + ' {{ deviseSelected().symbole }}')) + ')'
}
$("i#load-coupon").addClass("hidden")
});
},
},
mounted() {
this.verifCoupon()
}
})
function calcTotal() {
$('#vjs-recap').LoadingOverlay("show", {
image: "",
fontawesome: "fa fa-spinner fa-spin"
});
setTimeout(function () {
var formData = new FormData(document.getElementById('form-reservation'))
formData.append('preReservation', true);
$.ajax({
url: $('#form-reservation').attr("action"),
type: $('#form-reservation').attr("method"),
dataType: "JSON",
data: formData,
processData: false,
contentType: false,
complete: function () {
$("#vjs-recap").LoadingOverlay("hide", true);
},
success: function (data, status) {
console.log("vall",data.Resultat)
vjsRecap.total = parseFloat(data.Resultat.total).formatMoney(3, ',', ' ')
vjsRecap.totalPayer = parseFloat(data.Resultat.totalPayer).formatMoney(3, ',', ' ')
vjsRecap.margeB2B = parseFloat(data.Resultat.margeB2B).formatMoney(3, ',', ' ')
vjsRecap.sousTotal = parseFloat(data.Resultat.sousTotal-data.Resultat.remise).formatMoney(3, ',', ' ')
//vjsRecap.remise = parseFloat(data.Resultat.remise).formatMoney(3, ',', ' ')
vjsRecap.remiseInternet = parseFloat(data.Resultat.remiseInternet).formatMoney(3, ',', ' ')
vjsRecap.fraisDossier = parseFloat(data.Resultat.fraisDossier).formatMoney(3, ',', ' ')
vjsRecap.commission = parseFloat(data.Resultat.commission).formatMoney(3, ',', ' ')
vjsRecap.timbre = parseFloat(data.Resultat.timbre).formatMoney(3, ',', ' ')
vjsRecap.chambres = data.Resultat.chambres
},
error: function (xhr, desc, err) {
}
});
}, 500);
}
$(document).on('change', "#single,#double,#triple,#quadruple,select.age", function () {
calcTotal()
})
$("#frais,#excrsion,#supplements").on('click', function () {
calcTotal()
})
{% set omraRoomAdditionAllowed = configAffichage is defined and configAffichage is not null and configAffichage.VOYAGE is defined and configAffichage.VOYAGE.OMRA_ALLOW_ROOM_ADDITION is defined and configAffichage.VOYAGE.OMRA_ALLOW_ROOM_ADDITION == 'oui' %}
{% if type == 6 and omraRoomAdditionAllowed %}
$(document).ready(function () {
var str = '{{ app.request.get('rooms') }}';
/* '0,0,1,1-4!2!2!0;3!1!2!0' */
var config_omra = false;
{% if configAffichage is defined and configAffichage!= null and configAffichage.VOYAGE.ADD_FORM_ROOM_PAX_DETAILS_OMRA =='oui' and type==6 %}
config_omra = true;
var data = JSON.parse('{{ app.request.get('reservation')|json_encode|raw }}');
var string_chambres = '';
var nbre_chambre_single = 0;
var nbre_chambre_double = 0;
var nbre_chambre_triple = 0;
var nbre_chambre_quadruple = 0;
var chambre_single = "";
var chambre_double = "";
var chambre_triple = "";
var chambre_quadruple = "";
$.each(data.chambre, function (index, value) {
var adultes = parseInt(value.adultes);
var enfants = parseInt(value.enfants);
var bebes = parseInt(value.bebes);
var nbre_occupations = adultes + enfants + bebes;
var string_occupations = value.type + '!' + adultes + '!' + enfants + '!' + bebes;
switch (value.type) {
case "1":
nbre_chambre_single += 1;
chambre_single = chambre_single == "" ? string_occupations : chambre_single + ';' + string_occupations;
break;
case "2":
nbre_chambre_double += 1;
chambre_double = chambre_double == "" ? string_occupations : chambre_double + ';' + string_occupations;
break;
case "3":
nbre_chambre_triple += 1;
chambre_triple = chambre_triple == "" ? string_occupations : chambre_triple + ';' + string_occupations;
break;
case "4":
nbre_chambre_quadruple += 1;
chambre_quadruple = chambre_quadruple == "" ? string_occupations : chambre_quadruple + ';' + string_occupations;
break;
}
string_chambres = nbre_chambre_single + ',' + nbre_chambre_double + ',' + nbre_chambre_triple + ',' + nbre_chambre_quadruple;
});
string_chambres = string_chambres + '-' + chambre_single + (chambre_single == "" ? '' : ';') + chambre_double + (chambre_double == "" ? '' : ';') + chambre_triple + (chambre_triple == "" ? '' : ';')+ chambre_quadruple;
str = string_chambres;
{% endif %}
if (str.length > 0) {
var arr = str.split('-');
var nbr_chambres = arr[0].split(',');
var occupants_type = arr[1].split(';');
var nbr_ch_single = nbr_chambres[0];
var nbr_ch_double = nbr_chambres[1];
var nbr_ch_triple = nbr_chambres[2];
var nbr_ch_quadruple = nbr_chambres[3];
var rooms = [];
rooms['single'] = [];
rooms['double'] = [];
rooms['triple'] = [];
rooms['quadruple'] = [];
$.each(occupants_type, function (index, value) {
switch (value[0].split('!').toString()) {
case "1":
rooms['single'].push(value);
break;
case "2":
rooms['double'].push(value);
break;
case "3":
rooms['triple'].push(value);
break;
case "4":
rooms['quadruple'].push(value);
break;
}
});
} else {
var nbr_chambres = 1;
var occupants_type = ['2!1!1!0'];
var nbr_ch_single = 0;
var nbr_ch_double = 0;
var nbr_ch_triple = 0;
var nbr_ch_quadruple = 0;
var rooms = [];
rooms['single'] = [];
rooms['double'] = [];
rooms['triple'] = [];
rooms['quadruple'] = [];
$.each(occupants_type, function (index, value) {
switch (value[0].split('!').toString()) {
case "1":
rooms['single'].push(value);
break;
case "2":
rooms['double'].push(value);
break;
case "3":
rooms['triple'].push(value);
break;
case "4":
rooms['quadruple'].push(value);
break;
}
});
}
var occupants_data =
'<div class="ligne">' +
'<div class="">' +
'<div class="col-md-8">' +
'<div class="form-group" style="margin-bottom:0;">' +
'<label>Nom & Prénom </label>' +
'<input type="text" name="data[' + '_TYPE_' + '_nom_' + '_IDX_CH_' + '_IDX_OCC_' + ']" required class="form-control" />' +
'</div>' +
'</div>' +
'<div class="col-md-3">' +
'<div class="form-group" style="margin-bottom:0;">' +
'<label>Age</label>' +
'<select id="mySelect" name="data[' + '_TYPE_' + '_age_' + '_IDX_CH_' + '_IDX_OCC_' + ']" required class="form-control age">' +
{% for i in 0..12 %}
'<option value="{{ i }}">{{ i }}</option>' +
{% endfor %}
'<option value="adulte" selected>+12</option>' +
'</select>' +
'</div>' +
'</div>' +
'<div class="col-md-1" style="padding: 0;">' +
'<a style="box-shadow: none;padding-left: 0;margin-top:20px" href="javascript:void(0)" class="btn btn-block btn-vo">' +
'<i class="delete-ligne fa icon-trash" style="font-size: 20px;"></i>' +
'</a>' +
'</div>' +
'</div>' +
'<div class="col-md-1">' +
'<div class="form-group" style="margin-bottom:0;">' +
'<input type="hidden" name="data[' + '_TYPE_' + '_passport_' + '_IDX_CH_' + '_IDX_OCC_' + ']" class="form-control" />' +
'</div>' +
'</div>' +
'<div class="col-md-offset-2 col-md-10">' +
'<div class="checkbox">' +
'</div>' +
'</div>' +
'</div>';
$("#single,#double,#triple,#quadruple").on('change', function () {
var occupants = '';
var nbrChambre = $(this).val();
var name = $(this).data('name');
var block = $('.row_billetterie.occupants.' + name);
var exist = block.children().length;
var ligne = '';
var occ = 0;
var j = 0;
var max_occupant = 0;
var maxByType = {
single: 1,
double: 2,
triple: 3,
quadruple: 4
};
if (exist < nbrChambre) {
for (i = 1; i <= nbrChambre; i++) {
var nombre_occupants = 1;
var definition_chambre = [];
if (rooms[name].length > 0) {
var roomIndex = Math.min(rooms[name].length - 1, i - 1);
var _rooms = rooms[name][roomIndex];
if (_rooms) {
console.log("rooms", _rooms);
definition_chambre = _rooms.split('!');
nombre_occupants = parseInt(definition_chambre[1], 10) + parseInt(definition_chambre[2], 10) + parseInt(definition_chambre[3], 10);
}
}
max_occupant = maxByType[name] || 1;
if (config_omra && definition_chambre.length > 0) {
occ = Math.min(nombre_occupants, max_occupant);
} else {
occ = 1;
}
if (i > exist) {
occupants = '<div class="occ" data-name="' + name + '" data-index="' + block.find('.occ').length + '">';
{% if type == 8 %}
occupants += '<div class="col-md-12" style="margin-bottom: 5px;font-weight: 700;">' + (i == 1 ? i + '<sup>ère</sup>' : i + '<sup>ème</sup>') + ' occupant ' +'</div>';
{% else %}
occupants += '<div class="col-md-12" style="margin-bottom: 5px;font-weight: 700;">' + (i == 1 ? i + '<sup>ère</sup>' : i + '<sup>ème</sup>') + ' Chambre ' + name + '</div>';
{% endif %}
for (j = 1; j <= occ; j++) {
ligne = strReplaceAll(occupants_data, "_IDX_OCC_", "_" + j);
ligne = strReplaceAll(ligne, "_IDX_CH_", i);
ligne = strReplaceAll(ligne, "_TYPE_", name);
occupants += ligne;
}
occupants += '</div>';
block.append(occupants);
if (config_omra && definition_chambre.length > 1) {
console.log("definition_chambre", definition_chambre);
var nbAdultes = parseInt(definition_chambre[1], 10);
if (nbAdultes <= nombre_occupants && nbAdultes > 0) {
block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"][data-name="' + name + '"]').children('.ligne').each(function () {
if ($(this).index() <= nbAdultes) {
$(this).find('.age').val("adulte");
}
});
}
}
var btn_add = '<div style="font-size: 12px;" class="addPersWrap col-md-10"><div class="pull-right"><a class="addPers" href="javascript:void(0)" data-name="' + name + '"><i class="fa fa-user-plus"></i> ajouter ligne</a></div></div>';
if (block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"] .addPersWrap').length == 0 && block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"] .ligne').length < max_occupant) {
block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"]').append(btn_add);
}
}
}
} else {
var toRemove = (exist - nbrChambre);
var nmbr = block.children().length;
for (var i = nmbr; i >= (nmbr - toRemove); i--)
block.children().eq(i).remove();
}
if (block.children().length > 0) {
block.css({'display': 'block'})
} else {
block.css({'display': 'none'})
}
$(".row.row_billetterie.occupants .row").each(function () {
$(this).find('div:eq(3)').css('display', 'none');
});
});
{% else %}
$(document).ready(function () {
var str = '{{ app.request.get('rooms') }}';
/* '0,0,1,1-4!2!2!0;3!1!2!0' */
var config_omra = false;
{% if configAffichage is defined and configAffichage!= null and configAffichage.VOYAGE.ADD_FORM_ROOM_PAX_DETAILS_OMRA =='oui' and type==6 %}
config_omra = true;
var data = JSON.parse('{{ app.request.get('reservation')|json_encode|raw }}');
var string_chambres = '';
var nbre_chambre_single = 0;
var nbre_chambre_double = 0;
var nbre_chambre_triple = 0;
var nbre_chambre_quadruple = 0;
var chambre_single = "";
var chambre_double = "";
var chambre_triple = "";
var chambre_quadruple = "";
$.each(data.chambre, function (index, value) {
var adultes = parseInt(value.adultes);
var enfants = parseInt(value.enfants);
var bebes = parseInt(value.bebes);
var nbre_occupations = adultes + enfants + bebes;
var string_occupations = value.type + '!' + adultes + '!' + enfants + '!' + bebes;
switch (value.type) {
case "1":
nbre_chambre_single += 1;
chambre_single = chambre_single == "" ? string_occupations : chambre_single + ';' + string_occupations;
break;
case "2":
nbre_chambre_double += 1;
chambre_double = chambre_double == "" ? string_occupations : chambre_double + ';' + string_occupations;
break;
case "3":
nbre_chambre_triple += 1;
chambre_triple = chambre_triple == "" ? string_occupations : chambre_triple + ';' + string_occupations;
break;
case "4":
nbre_chambre_quadruple += 1;
chambre_quadruple = chambre_quadruple == "" ? string_occupations : chambre_quadruple + ';' + string_occupations;
break;
}
string_chambres = nbre_chambre_single + ',' + nbre_chambre_double + ',' + nbre_chambre_triple + ',' + nbre_chambre_quadruple;
});
string_chambres = string_chambres + '-' + chambre_single + (chambre_single == "" ? '' : ';') + chambre_double + (chambre_double == "" ? '' : ';') + chambre_triple + (chambre_triple == "" ? '' : ';')+ chambre_quadruple;
str = string_chambres;
{% endif %}
if (str.length > 0) {
var arr = str.split('-');
var nbr_chambres = arr[0].split(',');
var occupants_type = arr[1].split(';');
var nbr_ch_single = nbr_chambres[0];
var nbr_ch_double = nbr_chambres[1];
var nbr_ch_triple = nbr_chambres[2];
var nbr_ch_quadruple = nbr_chambres[3];
var rooms = [];
rooms['single'] = [];
rooms['double'] = [];
rooms['triple'] = [];
rooms['quadruple'] = [];
$.each(occupants_type, function (index, value) {
switch (value[0].split('!').toString()) {
case "1":
rooms['single'].push(value);
break;
case "2":
rooms['double'].push(value);
break;
case "3":
rooms['triple'].push(value);
break;
case "4":
rooms['quadruple'].push(value);
break;
}
});
} else {
var nbr_chambres = 1;
var occupants_type = ['2!1!1!0'];
var nbr_ch_single = 0;
var nbr_ch_double = 0;
var nbr_ch_triple = 0;
var nbr_ch_quadruple = 0;
var rooms = [];
rooms['single'] = [];
rooms['double'] = [];
rooms['triple'] = [];
rooms['quadruple'] = [];
$.each(occupants_type, function (index, value) {
switch (value[0].split('!').toString()) {
case "1":
rooms['single'].push(value);
break;
case "2":
rooms['double'].push(value);
break;
case "3":
rooms['triple'].push(value);
break;
case "4":
rooms['quadruple'].push(value);
break;
}
});
}
var occupants_data =
'<div class="ligne">' +
'<div class="">' +
'<div class="col-md-8">' +
'<div class="form-group" style="margin-bottom:0;">' +
'<label>Nom & Prénom </label>' +
'<input type="text" name="data[' + '_TYPE_' + '_nom_' + '_IDX_CH_' + '_IDX_OCC_' + ']" required class="form-control" />' +
'</div>' +
'</div>' +
'<div class="col-md-3">' +
'<div class="form-group" style="margin-bottom:0;">' +
'<label>Age</label>' +
'<select id="mySelect" name="data[' + '_TYPE_' + '_age_' + '_IDX_CH_' + '_IDX_OCC_' + ']" required class="form-control age">' +
{% for i in 0..12 %}
'<option value="{{ i }}">{{ i }}</option>' +
{% endfor %}
'<option value="adulte" selected>+12</option>' +
'</select>' +
'</div>' +
'</div>' +
'<div class="col-md-1" style="padding: 0;">' +
'<a style="box-shadow: none;padding-left: 0;margin-top:20px" href="javascript:void(0)" class="btn btn-block btn-vo">' +
'<i class="delete-ligne fa icon-trash" style="font-size: 20px;"></i>' +
'</a>' +
'</div>' +
'</div>' +
'<div class="col-md-1">' +
'<div class="form-group" style="margin-bottom:0;">' +
'<input type="hidden" name="data[' + '_TYPE_' + '_passport_' + '_IDX_CH_' + '_IDX_OCC_' + ']" class="form-control" />' +
'</div>' +
'</div>' +
'<div class="col-md-offset-2 col-md-10">' +
'<div class="checkbox">' +
'</div>' +
'</div>' +
'</div>';
$("#single,#double,#triple,#quadruple").on('change', function () {
var occupants = '';
var nbrChambre = $(this).val();
var name = $(this).data('name');
var block = $('.row_billetterie.occupants.' + name);
var exist = block.children().length;
var ligne = '';
var occ = 0;
var j = 0;
var max_occupant = 0;
if (exist < nbrChambre) {
for (i = 1; i <= nbrChambre; i++) {
var nombre_occupants = 1;
var definition_chambre = [];
if (rooms[name].length > 0) {
console.log("rooms",rooms[name][i - 1]);
var _rooms = rooms[name][i - 1];
if (config_omra)
definition_chambre = _rooms.split('!');
else
definition_chambre = rooms[name][0].split('!');
nombre_occupants = parseInt(definition_chambre[1], 10) + parseInt(definition_chambre[2], 10) + parseInt(definition_chambre[3], 10);
}
if (i > exist) {
occ = nombre_occupants;
if (name == 'single') {
occ = 1;
max_occupant = 1;
ligne
}
if (name == 'double') {
if (!config_omra)
occ = 2;
max_occupant = 2;
}
if (name == 'triple') {
if (!config_omra)
occ = 3;
max_occupant = 3;
}
if (name == 'quadruple') {
if (!config_omra)
occ = 4;
max_occupant = 4;
}
occupants = '<div class="occ" data-name="' + name + '" data-index="' + block.find('.occ').length + '">';
{% if type == 8 %}
occupants += '<div class="col-md-12" style="margin-bottom: 5px;font-weight: 700;">' + (i == 1 ? i + '<sup>ère</sup>' : i + '<sup>ème</sup>') + ' occupant ' +'</div>';
{% else %}
occupants += '<div class="col-md-12" style="margin-bottom: 5px;font-weight: 700;">' + (i == 1 ? i + '<sup>ère</sup>' : i + '<sup>ème</sup>') + ' Chambre ' + name + '</div>';
{% endif %}
for (j = 1; j <= occ; j++) {
ligne = strReplaceAll(occupants_data, "_IDX_OCC_", "_" + j);
ligne = strReplaceAll(ligne, "_IDX_CH_", i);
ligne = strReplaceAll(ligne, "_TYPE_", name);
occupants += ligne;
}
occupants += '</div>';
block.append(occupants);
// for(x=0 ; x < block.children().length ; x++){
console.log("definition_chambre",definition_chambre);
if (definition_chambre.length > 1) {
if (definition_chambre[1] <= nombre_occupants && definition_chambre[1] > 0) {
block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"][data-name="' + name + '"]').children('.ligne').each(function () {
if ($(this).index() <= definition_chambre[1]) {
$(this).find('.age').val("adulte");
}
});
}
// if ((definition_chambre[2] <= (nombre_occupants - definition_chambre[1])) && (nombre_occupants - definition_chambre[1]) > 0 && definition_chambre[2] > 0) {
// block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"][data-name="' + name + '"]').children('.ligne').each(function () {
// if ($(this).index() <= (nombre_occupants - definition_chambre[3]) && $(this).index() > definition_chambre[1]) {
// $(this).find('.age').val(6);
// }
//
// });
// }
// if (definition_chambre[3] <= (nombre_occupants - definition_chambre[2] - definition_chambre[1]) && ((nombre_occupants - definition_chambre[2] - definition_chambre[1]) > 0) && definition_chambre[3] > 0) {
// block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"][data-name="' + name + '"]').children('.ligne').each(function () {
// if ($(this).index() <= (nombre_occupants) && $(this).index() > (definition_chambre[1] - (-definition_chambre[2]))) {
// $(this).find('.age').val(2);
// }
//
// });
// }
}
// }
btn_add = '<div style="font-size: 12px;" class="addPersWrap col-md-10"><div class="pull-right"><a class="addPers" href="javascript:void(0)" data-name="' + name + '"><i class="fa fa-user-plus"></i> ajouter ligne</a></div></div>';
if (block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"] .addPersWrap').length == 0 && block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"] .ligne').length < max_occupant) {
block.find('.occ[data-index="' + parseInt(i - 1, 10) + '"]').append(btn_add);
}
}
}
} else {
var toRemove = (exist - nbrChambre);
var nmbr = block.children().length;
for (var i = nmbr; i >= (nmbr - toRemove); i--)
block.children().eq(i).remove();
}
if (block.children().length > 0) {
block.css({'display': 'block'})
} else {
block.css({'display': 'none'})
}
$(".row.row_billetterie.occupants .row").each(function () {
$(this).find('div:eq(3)').css('display', 'none');
});
});
{% endif %}
$(document).on('click', '.delete-ligne', function () {
calcTotal()
if ($(this).parents('.ligne').siblings('.ligne').length > 0) {
name = $(this).parents('.occ').data('name');
occIndex = $(this).parents('.occ').index() + 1;
inputSlector = $('.' + name + ' .occ');
btn_add = '<div style="font-size: 12px;" class="addPersWrap col-md-10"><div class="pull-right"><a class="addPers" href="javascript:void(0)" data-name="' + name + '"><i class="fa fa-user-plus"></i> ajouter ligne</a></div></div>';
toDelete = $(this).parents('.ligne:not(.adulte)');
if ($(this).parents('.occ').find('.addPers').length == 0) {
toDelete.parents('.' + name + ' .occ').append(btn_add);
}
toDelete.remove();
inputSlector.find('.ligne').find("select[name^='" + name + '_age_' + occIndex + "']").each(function (idx) {
$(this).attr('name', name + '_age_' + occIndex + '_' + parseInt(idx + 1, 10));
});
inputSlector.find('.ligne').find("input[name^='" + name + '_nom_' + occIndex + "']").each(function (idx) {
$(this).attr('name', name + '_nom_' + occIndex + '_' + parseInt(idx + 1, 10));
});
inputSlector.find('.ligne').find("input[name^='" + name + '_passport_' + occIndex + "']").each(function (idx) {
$(this).attr('name', name + '_passport_' + occIndex + '_' + parseInt(idx + 1, 10));
});
inputSlector.find('.ligne').find("input[name^='" + name + '_typevisas_' + occIndex + "']").each(function (idx) {
$(this).attr('name', name + '_typevisas_' + occIndex + '_' + parseInt(idx + 1, 10));
});
}
});
$(document).on('click', '.addPers', function () {
calcTotal()
occlen = $(this).parents('.occ').children('.ligne').length;
name = $(this).parents('.occ').data('name');
if (name == 'quadruple' && occlen < 4 || name == 'triple' && occlen < 3 || name == 'double' && occlen < 2 || name == 'single' && occlen < 1) {
occIndex = $(this).parents('.occ').index() + 1;
ligne = strReplaceAll(occupants_data, "_IDX_OCC_", "_" + parseInt($(this).parents('.occ').find('.ligne').length + 1, 10));
ligne = strReplaceAll(ligne, "_IDX_CH_", occIndex);
ligne = strReplaceAll(ligne, "_TYPE_", $(this).data('name'));
$(ligne).insertAfter($(this).parents('.addPersWrap').siblings('.ligne').last());
$(".row.row_billetterie.occupants .row").each(function () {
$(this).find('div:eq(3)').css('display', 'none');
});
occlen = $(this).parents('.occ').children('.ligne').length;
if (name == 'quadruple' && occlen == 4 || name == 'triple' && occlen == 3 || name == 'double' && occlen == 2 || name == 'single' && occlen == 1) {
$(this).parents('.addPersWrap').remove();
}
}
});
if (nbr_ch_single > 0) {
$('#single').val(nbr_ch_single);
$('#single').trigger('change');
}
if (nbr_ch_double > 0) {
$('#double').val(nbr_ch_double);
$('#double').trigger('change');
}
if (nbr_ch_triple > 0) {
$('#triple').val(nbr_ch_triple);
$('#triple').trigger('change');
}
if (nbr_ch_quadruple > 0) {
$('#quadruple').val(nbr_ch_quadruple);
$('#quadruple').trigger('change');
}
config_omra = false;
})
function popup() {
{% if details.type==3 or details.type==4 %}
window.open("{{ path('condition_vente',{produit:'circuit'}) }}", "_blank", "toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=600, height=600");
{% elseif details.type==6 or details.type==7 %}
window.open("{{ path('condition_vente',{produit:'omra'}) }}", "_blank", "toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=600, height=600");
{% else %}
window.open("{{ path('condition_vente',{produit:'vo'}) }}", "_blank", "toolbar=yes, scrollbars=yes, resizable=yes, top=500, left=500, width=600, height=600");
{% endif %}
}
$("#addVisa").on('click', function () {
//var name = $(this).attr('name')
console.log("name" , name)
var nbrLigne = $("#visas").children().length;
$("#visas").append("<div class='col-md-12'><input type='file' name='fichier[]' required class='form-control' style='border: 0;color: #213542;'></div>");
/*if ($("#visas").children().length > 0) {
$("#visas").parent().css({opacity: 1});
} else {
$("#visas").parent().css({opacity: 0});
}*/
});
$("#removeVisa").on('click', function () {
var nbrLigne = $("#visas").children().length;
$("#visas").children().eq(nbrLigne - 1).remove();
/*if ($("#visas").children().length > 0) {
$("#visas").parent().css({opacity: 1});
} else {
$("#visas").parent().css({opacity: 0});
}*/
});
$("#addLigne").trigger('click');
$(document).ready(function () {
var pack_select = $('.pack-select');
var periode_select = $('.periode-select');
var chambre_select = $('.chambre-select');
pack_select.on('change', function () {
var idPack = $(this).val();
var target = $('#pack_' + idPack);
target.show().siblings(".periode").hide();
$("#idPack").val(target.find('.periode-select').val());
});
periode_select.on('change', function () {
$("#idPack").val($(this).val());
});
pack_select.trigger('change');
});
</script>
<script>
$(document).on('click', '.pointvente', function () {
$('input:not(:checked)').parent().removeClass("pt-vente-select");
$('input:checked').parent().addClass("pt-vente-select");
});
/*add with HtMl syntax in custom projects Please do not delete it CHD*/
const article = document.querySelector("#content");
const button = document.querySelector("#read-more");
button.addEventListener("click", readMore);
function readMore() {
if (article.className == "open") {
// Read less
article.className = "";
button.innerHTML = "Afficher plus";
}
else
{
article.className = "open";
button.className="position-relative"
button.innerHTML = "Afficher moins";
}
}
</script>
{% endblock %}