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.
 
 
 
 
 
 

2055 lines
104 KiB

process_request = null;
cached_process_id = null;
function addslashes(str) {
str = str.replace(/\\/g, '\\\\');
str = str.replace(/\'/g, '\\\'');
str = str.replace(/\"/g, '\\"');
str = str.replace(/\0/g, '\\0');
return str;
}
function stripslashes(str) {
str = str.replace(/\\'/g, '\'');
str = str.replace(/\\"/g, '"');
str = str.replace(/\\0/g, '\0');
str = str.replace(/\\\\/g, '\\');
return str;
}
var subscribe = (function($, window, jQuery) {
var sched;
var _vars_ = {};
return {
"set_vars": function(options) {
$.extend(_vars_, options || {});
},
"get_vars": function() {
return _vars_;
},
"getCookie": function(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2)
return parts.pop().split(";").shift();
},
"prevent_page_load": function(btn, event_id, event_schedule_id, reg_type, action, process_type) {
var _cookie_data = decodeURIComponent(subscribe.getCookie("_sdllmea"));
var _cookie_data_1 = decodeURIComponent(subscribe.getCookie("_sdllmea"));
if ((_cookie_data.indexOf("logged_in") != -1 && _cookie_data.indexOf("LeMondeFO") != -1) || _cookie_data_1 != "undefined") {
// subscribe.check_closed_event(btn, event_id, event_schedule_id, reg_type, action, process_type); reg_type booking - 1, waitlist - 2
} else {
$.ajax({
url: app.get_vars().baseurl + "events/subscribe/save_link_to_cookie",
type: "POST",
data: {
event_id: event_id,
event_schedule_id: event_schedule_id
},
success: function(result) {
app._notify("error", app.get_vars()._app.notif.not_connected);
window.setTimeout(function() {
window.location.href = app.get_vars().baseurl + "login"
}, 2000);
}
});
/* enable button */
$(btn).prop("disabled", false);
}
},
"registration": {
"add_or_modify": {
"reservation": function(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, check_subscription) {
// console.log('reservation executed');
var serverData = {
event_id: event_id,
event_schedule_id: event_schedule_id,
action: action,
seat_feature: seat_feature,
check_subscription: check_subscription,
process_type: process_type,
reg_type: reg_type,
request_type: 0
};
/* This solution fixed the bug #24568 */
if (cached_process_id)
serverData.process_id = cached_process_id;
cached_process_id = null;
$.ajax({
url: app.get_vars().baseurl + 'events/subscribe/validate',
type: "POST",
data: serverData,
success: function(result) {
// console.log('asd pr => ' + process_request);
if (app.isalive(result)) {
if (result.mtype == "success") {
var form = $("#register-event-form");
bootbox.dialog({
"title": subscribe.registration.options.title(reg_type, action, process_type),
"className": "my-modal-with-sm event-normal-registration-modal table",
"message": form,
"cache": false,
"show": false,
/* We will show it manually later */
"buttons": [{
"label": app.get_vars()._app.btn._close,
"className": "btn btn-default-style2 btn-unlock-process",
"callback": function() {
//remove unbefore unload
$("body").removeAttr("onbeforeunload").removeAttr("unload");
//reset the timer when everything goes well
subscribe.button.exitp.clear({});
// clearTimeout(process_request);
$('#chkbox-error').hide();
}
}, {
"label": (reg_type == 1) ?
app.get_vars()._app.btn._book : app.get_vars()._app.btn._updatewaitlist,
"className": "btn btn-default-style reserve",
"callback": function() {
var seats_reserved = $('#numberofplaces').val();
var event_schedule = $('#schedule_id').val();
var seats_reserved_orig = parseInt($("#seats_reserved_info").data("seats_reserved"));
if (parseInt(seats_reserved) >= 1) {
$(".event-normal-registration-modal").modal('hide');
$("#chkbox-error").hide();
subscribe.registration.add_or_modify.confirm(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, seats_reserved, check_subscription, seats_reserved_orig, result.process_id);
} else {
$("#chkbox-error").show();
}
return false;
}
}]
}).on('shown.bs.modal', function() {
//remove the loading when modal shows up
$('#waiting' + event_schedule_id).remove();
$('#numberofplaces').focus();
// $(this).off('shown.bs.modal');
}).on('hide.bs.modal', function(e) {
$('#chkbox-error').hide();
$(".event-normal-registration-cont-modal").modal("hide");
$('.event-normal-registration-modal').not(':last').remove();
$('.event-normal-registration-cont-modal').not(':last').remove();
$(this).off('hidden.bs.modal');
}).modal('show').init(function() {
$("#seats_reserved_info").hide().removeData("seats_reserved");
$("#numberofplaces").html('<option disabled="disabled" selected>' + (
(action == 'register') ?
"- Choisir le nombre de places -" :
"- Choisir le nombre de places à ajouter -") + '</option>');
$(btn).prop("disabled", false);
//add event when browser/tab is closed or reloaded
subscribe.button.exitp.agent_closing({
process_id: result.process_id,
event_id: event_id,
action: 2,
process_type: process_type
});
$(this).find(".bootbox-close-button").addClass("btn-unlock-process");
$(".btn-unlock-process").off("click").on("click", function() {
//reset the timer when everything goes well
subscribe.button.exitp.clear({});
// clearTimeout(process_request);
subscribe.button.lock_unlock({
data: {
process_id: result.process_id,
event_id: event_id,
action: 2,
process_type: process_type
}
});
});
//start the timer
subscribe.button.exitp.start(event_id, process_type, result.process_id);
subscribe.registration.options.seats(reg_type, action, process_type, result.mdata);
});
} else {
//remove the loading when modal shows up
$('#waiting' + event_schedule_id).remove();
bootbox.hideAll();
app._notify(result.mtype, result.message);
//update buttons
subscribe.button.change(event_id, 2, null, 0);
}
}
}
});
},
"confirm": function(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, seats_reserved, check_subscription, seats_reserved_orig, process_id) {
$('span.send_reservation_data').click();
var event_title = $("#event-title").text();
var confirm_message = "Voulez-vous réserver " + seats_reserved + (
(seats_reserved[0] <= 1) ?
' place ' :
' places ') + "pour " + event_title + " ?";
if (parseInt($("#event_cancel_registration" + event_schedule_id).data("seat-feature")) == 2) {
confirm_message = '<div id="cancel-modal" style="margin-top:6px;"><p id="cancel-msg"><i>Voulez-vous réserver ' + seats_reserved + (
(seats_reserved[0] <= 1) ?
' place ' :
' places ') + "pour " + event_title + " ? </i></p>";
confirm_message += '<br/><table width="100%">' + '<tr>' + '<td>' + '<label for="cancel-event-place" style="cursor:pointer;" id="cancel-event-place" >&nbsp;&nbsp; ' + $("#accordion-heading-es" + event_schedule_id).text() + ' </label>' + '</td>' + '</tr>' + '<tr>' + '<td>' + '<span> <b>Nombre de places réservées : </b> <b> <i>' + seats_reserved + (
(seats_reserved[0] <= 1) ?
' place ' :
' places ') + '</i> </b> </span>' + '</td>' + '</tr>' + '</table><br/>';
confirm_message += '</div><br/><br/>';
}
app.modal.confirm_box({
title: app.get_vars()._app.modal.book_title,
className: 'my-modal-with-sm event-normal-registration-cont-modal',
message: confirm_message,
buttons: {
confirm: {
label: app.get_vars()._app.btn._confirm,
className: "btn-default-style"
},
cancel: {
label: app.get_vars()._app.btn._close,
className: "btn-default-style2"
}
},
_continue: function() {
var dialog;
$.ajax({
url: app.get_vars().baseurl + 'events/subscribe/validate',
type: "POST",
data: {
event_id: event_id,
event_schedule_id: event_schedule_id,
action: action,
seat_feature: seat_feature,
check_subscription: check_subscription,
process_type: process_type,
reg_type: reg_type,
request_type: 0,
seats_reserved: seats_reserved,
seats_reserved_orig: seats_reserved_orig,
process_id: process_id
},
beforeSend: function() {
var dialog = bootbox.dialog({
className: "waiting-modal",
message: '<p class="text-center"><i class="fa fa-spin fa-spinner"/>' + app.get_vars()._app.notif.loading + '</p>',
closeButton: false,
onEscape: function() {}
});
//prevent page from reloading when reserving
$("body").attr("onbeforeunload", "return subscribe.button.prevent_reload()").attr("unload", "return subscribe.button.prevent_reload()");
},
success: function(result) {
// console.log(action);
// console.log(reg_type);
window.dataLayer.push({
'Reserve-Per-Account-Event-Id': "Event Reservation per Account : (" + event_id + ")"
});
window.dataLayer.push({
'Reserve-Per-Account-Value': 1
});
window.dataLayer.push({
'Reserve-By-Account-Event-Id': "Event Reservation by Account : (" + event_id + ")"
});
window.dataLayer.push({
'Reserve-By-Account-Value': parseInt(seats_reserved, 10)
});
//remove unbefore unload
$("body").removeAttr("onbeforeunload").removeAttr("unload");
//reset the timer when everything goes well
subscribe.button.exitp.clear({});
// clearTimeout(process_request);
bootbox.hideAll();
$("div.waiting-modal:visible, div.modal-backdrop:visible").hide();
if (app.isalive(result)) {
//refresh buttons
subscribe.button.change(event_id, 2, null, 0);
app._notify(result.mtype, result.message);
if (result.mtype == 'error') {
if (typeof(result.mdata) != "undefined" && result.mdata == 1) {
if (reg_type == 1) {
// subscribe.registration.add_or_modify.redirect_to_waitlist(btn, event_id, event_schedule_id, 2, action, 3, seat_feature, check_subscription, seats_reserved_orig);
}
}
}
}
}
});
},
_close: function() {
var this_modal = $(".event-normal-registration-cont-modal");
this_modal.modal('hide');
this_modal.not(':last').remove();
$('.event-normal-registration-modal').modal("show");
}
});
},
"redirect_to_waitlist": function(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, check_subscription, seats_reserved_orig) {
app.modal.confirm_box({
title: app.get_vars()._app.modal.book_title,
message: app.get_vars()._app.modal.msg.confirm_register_waitlist,
buttons: {
confirm: {
label: app.get_vars()._app.btn._confirm,
className: "btn-default-style"
},
cancel: {
label: app.get_vars()._app.btn._close,
className: "btn-default-style2"
}
},
_continue: function() {
// subscribe.check_closed_event(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, check_subscription, seats_reserved_orig);
}
});
}
},
options: {
"title": function(reg_type, action, process_type) {
if (reg_type == 1 && action == "register") {
return app.get_vars()._app.modal.title.register_title;
} else if (reg_type == 2 && action == "register") {
return app.get_vars()._app.modal.title.register_waitlist_title;
} else if (reg_type == 1 && action == "modify") {
return "Modifier ou annuler ma réservation";
} else if (reg_type == 2 && action == "modify") {
return "MODIFIER VOTRE INSCRIPTION SUR LISTE D’ATTENTE";
}
},
"validate_quota": function(reg_type, quota_seats, seats_reserved, remaining_seats) {
var seats_available = 0;
if (reg_type == 1) {
//check if seats per subscriber caters the remaining seats
if (quota_seats >= seats_reserved && remaining_seats > 0) {
if (quota_seats == seats_reserved) {
seats_available = 0;
} else {
seats_available = (quota_seats > seats_reserved) ?
quota_seats - seats_reserved :
quota_seats;
seats_available = (remaining_seats >= seats_available) ?
seats_available :
remaining_seats;
}
}
} else if (reg_type == 2) {
//check if quota_waiting_list_seat caters the seats_reserved
/* !note remaining seat here means as seat_per_subscriber */
var seats_per_subscriber = remaining_seats;
if (seats_per_subscriber >= seats_reserved && seats_per_subscriber > 0 && quota_seats > 0) {
if (seats_per_subscriber == seats_reserved) {
seats_available = 0;
} else {
seats_available = (seats_per_subscriber > seats_reserved) ?
seats_per_subscriber - seats_reserved :
(
(seats_per_subscriber > quota_seats) ?
quota_seats :
seats_per_subscriber);
seats_available = (quota_seats >= seats_available) ?
seats_available :
quota_seats;
}
}
}
return seats_available;
},
"datesFR": function() {
return {
"Monday": {
fr: "lundi"
},
"Tuesday": {
fr: "mardi"
},
"Wednesday": {
fr: "mercredi"
},
"Thursday": {
fr: "jeudi"
},
"Friday": {
fr: "vendredi"
},
"Saturday": {
fr: "samedi"
},
"Sunday": {
fr: "dimanche"
},
"January": {
fr: "janvier"
},
"February": {
fr: "février"
},
"March": {
fr: "mars"
},
"April": {
fr: "avril"
},
"May": {
fr: "mai"
},
"June": {
fr: "juin"
},
"July": {
fr: "juillet"
},
"August": {
fr: "août"
},
"September": {
fr: "septembre"
},
"October": {
fr: "octobre"
},
"November": {
fr: "novembre"
},
"December": {
fr: "décembre"
}
};
},
"use_diff_address": function(data) {
//translator
var translator = $('#event-box').translate({
lang: "fr",
t: subscribe.registration.options.datesFR()
});
if (data.reservation_end_date != null && data.reservation_end_date != "") {
//display end reservation date
var endresrvationdate = data.reservation_end_date;
var monthendreservationdate = data.end_reservation_month;
var startdate = data.start_date_time;
var enddate = data.end_date_time;
var startmonth = translator.get(data.event_start_month_name);
var endmonth = translator.get(data.end_month);
if (enddate == null) {
$("#event-date-modify").text($("#accordion-heading-es" + data.event_schedule_id).text());
} else {
$('#event-date-modify').html(Helper.event_date(startdate, enddate, startmonth, endmonth));
}
$("#event-end-reservation-date").show().html("<b>Date limite de réservation :</b> <br/>" + Helper.start_date(endresrvationdate, startmonth.toLowerCase(), endmonth.toLowerCase()));
$("#event-end-reservation-date").show().html("");
} else {
$("#event-end-reservation-date").hide();
}
//display address if there is
if (parseInt(data.use_different_address_per_date) == 1) {
var placename = data.event_place_name;
if (placename == '') {
$("#event-date-address").show().html("<b>Adresse :</b><br> " + data.event_address + ", " + data.city);
} else {
$("#event-date-address").show().html("<b>Adresse :</b><br> " + placename + ", " + data.event_address + ", " + data.city);
}
} else {
var placename = data.event_place_name;
if (placename == '') {
$("#event-date-address").show().html("<b>Adresse :</b><br> " + data.event_address + ", " + data.city);
} else {
$("#event-date-address").show().html("<b>Adresse :</b><br> " + placename + ", " + data.event_address + ", " + data.city);
}
}
},
"seats": function(reg_type, action, process_type, data) {
//Places checkboxes
var seats_available = 0;
if (action == "register") {
// Title
$('#register-event-title').html(data.title);
//Event Details
$('#schedule_id').val(data.event_schedule_id);
$("#event-date-modify").text($("#accordion-heading-es" + data.event_schedule_id.toLowerCase()).text());
subscribe.registration.options.use_diff_address(data);
if (reg_type == 1) { //regular registration
var seats_per_subscriber = parseInt(data.seats_per_subscriber);
var remaining_seats = parseInt(data.remaining_seat);
//check if seats per subscriber caters the remaining seats
seats_available = (seats_per_subscriber > remaining_seats) ?
remaining_seats :
seats_per_subscriber;
} else if (reg_type == 2) { // waiting list registration
var seats_per_subscriber = parseInt(data.seats_per_subscriber);
var quota_waiting_list_seat = parseInt(data.quota_waiting_list_seat);
seats_available = (seats_per_subscriber > quota_waiting_list_seat) ?
quota_waiting_list_seat :
seats_per_subscriber;
}
} else if (action == "modify") {
var seats_reserved = parseInt(data.reservations.seats_reserved);
if (reg_type == 1) {
seats_available = subscribe.registration.options.validate_quota(reg_type, parseInt(data.event_schedule.seats_per_subscriber), parseInt(data.reservations.seats_reserved), parseInt(data.event_schedule.remaining_seat));
} else if (reg_type == 2) {
//check if quota_waiting_list_seat caters the seats_reserved
seats_available = subscribe.registration.options.validate_quota(reg_type, parseInt(data.event_schedule.quota_waiting_list_seat), parseInt(data.reservations.seats_reserved), parseInt(data.event_schedule.seats_per_subscriber));
}
// Title
$('#register-event-title').html(data.event_schedule.title);
//Event Details
$("#event-date-modify").text($("#accordion-heading-es" + data.event_schedule.event_schedule_id).text());
$('#schedule_id').val(data.event_schedule.event_schedule_id);
subscribe.registration.options.use_diff_address(data.event_schedule);
$("tr#seats_reserved_info").data("seats_reserved", seats_reserved).show();
$("span#seats_reserved_text").html(seats_reserved + (
(seats_reserved <= 1) ?
' place ' :
' places '));
}
var numberofplaces = $('#numberofplaces');
numberofplaces.on("change", function() {
$('#chkbox-error').hide();
});
for (var x = 1; x <= seats_available; x++) {
numberofplaces.append('<option value="' + x + '">' + x + (
(x <= 1) ?
' place ' :
' places ') + '</option>');
}
},
"translate_date": {
"getscheds": function(event_id) {
sched = $.ajax({
url: app.get_vars().baseurl + "events/homepage/check_all_sched",
type: "GET",
async: false,
data: {
event_id: event_id
},
success: function(result) {
return result;
}
});
},
"sched_end": function(event_id) {
sched = $.ajax({
url: app.get_vars().baseurl + "events/homepage/check_all_end_sched",
type: "GET",
async: false,
data: {
event_id: event_id
},
success: function(result) {
return result;
}
});
},
"init": function(event_schedule, event_box) {
//translator
var translator = $('#event-box').translate({
lang: "fr",
t: subscribe.registration.options.datesFR()
});
var date_in_french = "",
event_start_hour = "",
event_end_hour = "",
event_end_day = "";
// check if 12am
var patt = new RegExp("00h00");
if ((event_schedule.start_date_hour == "" || event_schedule.start_date_hour == null || patt.test(event_schedule.start_date_hour) == true) && (event_schedule.end_date_hour == "" || event_schedule.end_date_hour == null || patt.test(event_schedule.end_date_hour) == true)) {
event_start_hour = ' ';
} else if ((event_schedule.start_date_hour != "" || event_schedule.start_date_hour != null || patt.test(event_schedule.start_date_hour) == false) && (event_schedule.end_date_hour == "" || event_schedule.end_date_hour == null || patt.test(event_schedule.end_date_hour) == true)) {
event_start_hour = " à " + (
(event_schedule.start_date_hour != null && event_schedule.start_date_hour != "") ?
" " + event_schedule.start_date_hour :
' ');
} else if ((event_schedule.start_date_hour == "" || event_schedule.start_date_hour == null || patt.test(event_schedule.start_date_hour) == true) && (event_schedule.end_date_hour != "" || event_schedule.end_date_hour != null || patt.test(event_schedule.end_date_hour) == false)) {
event_end_hour = " à " + (
(event_schedule.end_date_hour != null && event_schedule.end_date_hour != "") ?
event_schedule.end_date_hour :
' ');
} else if ((event_schedule.start_date_hour != "" || event_schedule.start_date_hour != null || patt.test(event_schedule.start_date_hour) == false) && (event_schedule.end_date_hour != "" || event_schedule.end_date_hour != null || patt.test(event_schedule.end_date_hour) == false)) {
if (event_schedule.start_date != event_schedule.end_date) {
event_start_hour = " à " + (
(event_schedule.start_date_hour != null && event_schedule.start_date_hour != "") ?
" " + event_schedule.start_date_hour :
' ');
event_end_hour = " à " + (
(event_schedule.end_date_hour != null && event_schedule.end_date_hour != "") ?
event_schedule.end_date_hour :
' ');
} else {
event_start_hour = " de " + (
(event_schedule.start_date_hour != null && event_schedule.start_date_hour != "") ?
" " + event_schedule.start_date_hour :
' ');
event_end_hour = " à " + (
(event_schedule.end_date_hour != null && event_schedule.end_date_hour != "") ?
event_schedule.end_date_hour :
' ');
}
}
var evdate_start = '';
var evdate_end = '';
if (event_schedule.end_day != "" && event_schedule.end_day != null && parseInt(event_schedule.end_day) != 0) {
event_end_day = " au " + (
(event_schedule.end_day != null && event_schedule.end_day != "") ?
event_schedule.end_day + " " :
" ") + " ";
} else {
event_end_day = ' ';
}
if (event_schedule.start_date == event_schedule.end_date || parseInt(event_schedule.end_date) == 0) {
// Le XX Septembre XXXX 8h00 jusq'au XX October XXXX 12h00
// Du 28 octobre au 29 octobre 2016 de 20h30 Ã 23h00
date_in_french += "Le " + translator.get(event_schedule.day) + " ";
date_in_french += translator.get(event_schedule.start_day) + ' ';
date_in_french += translator.get(event_schedule.event_start_month_name).toLowerCase() + ' ' + event_schedule.end_year + ' ' + event_start_hour + ' ' + event_end_hour;
} else {
// Le 28 Septembre 1995 de 8h00 a 12h00
// Du 28 octobre 2016 de 20h30 Ã 22h30
if (event_schedule.start_month == event_schedule.end_month) {
date_in_french += " " + event_schedule.start_day + " " + event_end_day + " ";
date_in_french += translator.get(event_schedule.end_month).toLowerCase();
date_in_french += " " + event_schedule.end_year;
// ." de ".$event_schedule->start_date_hour." Ã ".$event_schedule->end_date_hour;
} else if (event_schedule.start_year != event_schedule.end_year && event_schedule.end_year == '') {
date_in_french += "Le " + translator.get(event_schedule.day) + " ";
date_in_french += event_schedule.start_day + ' ' + translator.get(event_schedule.event_start_month_name).toLowerCase();
date_in_french += " " + event_schedule.start_year + " " + event_end_day;
date_in_french += translator.get(event_schedule.end_month).toLowerCase();
date_in_french += " " + event_schedule.end_year; //." de ".$event_schedule->start_date_hour." Ã ".$event_schedule->end_date_hour;
date_in_french += " " + event_start_hour;
} else if (event_schedule.end_year != null && event_schedule.start_year != event_schedule.end_year) {
date_in_french += "Du " + translator.get(event_schedule.day) + " ";
date_in_french += event_schedule.start_day + ' ' + translator.get(event_schedule.event_start_month_name).toLowerCase();
date_in_french += " " + event_schedule.start_year;
date_in_french += " " + event_start_hour;
date_in_french += " au " + translator.get(event_schedule.endday) + " ";
date_in_french += event_schedule.end_day + ' ' + translator.get(event_schedule.end_month).toLowerCase();
date_in_french += " " + event_schedule.end_year; //." de ".$event_schedule->start_date_hour." Ã ".$event_schedule->end_date_hour;
date_in_french += " " + event_end_hour;
} else {
evdate_start = "Du " + translator.get(event_schedule.day) + ' ' + event_schedule.start_day + ' ' + translator.get(event_schedule.event_start_month_name).toLowerCase();
evdate_end = "au " + translator.get(event_schedule.endday) + ' ' + event_schedule.end_day + ' ' + translator.get(event_schedule.end_month).toLowerCase() + ' ' + event_schedule.end_year;
if (evdate_start != '' && evdate_end != '') {
date_in_french = evdate_start + ' ' + (
event_start_hour != '' ?
event_start_hour :
'') + ' ' + (
evdate_end != '' ?
evdate_end :
'') + ' ' + event_end_hour;
} else {
date_in_french += (
(event_start_hour != null && event_start_hour != "") ?
event_start_hour :
" ") + " " + (
(event_end_hour != null && event_end_hour != "") ?
event_end_hour :
" ");
}
}
}
return date_in_french;
},
french: function(date) {
var eng = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December',
'/'
];
var fr = [
'janvier',
'février',
'mars',
'avril',
'mai',
'juin',
'juillet',
'août',
'septembre',
'octobre',
'novembre',
'décembre',
' '
];
return (date != null && date != "") ?
date.replace(eng, fr) + " " :
" ";
}
},
"create_list": {
"check_uncheck": function(e, event_schedule_id, index) {
var checked = $("#invitee" + event_schedule_id + '-' + index);
if (checked.prop("checked")) { //unchecked
if (index == 1) {
$(".invitee" + event_schedule_id).prop("checked", false);
} else {
$("#invitee" + event_schedule_id + '-' + 1).prop("checked", false);
checked.prop("checked", false);
}
//when nothing is clicked
if ($(".invitee" + event_schedule_id + ":checked").length <= 0) {
$("#cancel-event-message").html("<span id='cancel-event-ermsg' style='color:red;'>Vérifiez le nombre de places que vous souhaitez annuler.</span><br/><br/>");
}
} else { //checked
$("#cancel-event-ermsg").remove();
if (index == 1) {
$(".invitee" + event_schedule_id).prop("checked", true);
} else {
$("#invitee" + event_schedule_id + '-' + 1).prop("checked", false);
checked.prop("checked", true);
}
}
},
"seats_reserved": function(reservation) {
if (reservation.seats_reserved > 0) {
var labelText = (parseInt(reservation.reg_type) == 1) ?
"Ma réservation complète" :
"Mon inscription complète",
html = "";
for (var x = 1; x <= reservation.seats_reserved; x++) {
if (x > 1) {
labelText = (parseInt(reservation.reg_type) == 1) ?
"La réservation de mon invité " + (
x - 1) :
"L’inscription de mon invité " + (
x - 1);
}
html += '<li onclick="subscribe.registration.options.create_list.check_uncheck(this, ' + reservation.event_schedule_id + ', ' + x + ');">' + '<input onclick="subscribe.registration.options.create_list.check_uncheck(this, ' + reservation.event_schedule_id + ', ' + x + ');" ' + 'style="cursor:pointer;" data-seats_reserved="' + reservation.seats_reserved + '" data-reg_type="' + reservation.reg_type + '" id="invitee' + reservation.event_schedule_id + '-' + x + '" ' + 'type="checkbox" name="reservation_' + reservation.event_schedule_id + '[]" ' + 'class="cb radio-btn reg-invitee invitee' + reservation.event_schedule_id + '" value="' + x + '"/>' + '<label style="cursor:pointer;">&nbsp; &nbsp;' + labelText + '</label>' + '</li>';
}
return html;
}
}
},
"refresh_buttons": function(result) {
var shown_dates = [];
$.each($("#event-desc").find("a.accordion-toggle"), function(index, value) {
var _this = $(this);
if (!_this.hasClass("collapsed")) {
shown_dates.push(_this.parent().parent().prop("id"));
}
});
localStorage.setItem("collapsed-dates", JSON.stringify(shown_dates));
localStorage.setItem("result", JSON.stringify(result));
window.setTimeout(function() {
location.reload();
}, 250);
// location.reload();
}
},
},
"print_email_preview": function() {
$("div#preview_email_content > div").contents().find('table.body>tbody>tr>td>div').printThis({
// $("iframe#preview_email_content").contents().find('table.body>tbody>tr>td>div').printThis({
importCSS: false,
importStyle: true,
copyTagClasses: true,
printContainer: false
});
},
"download_email_preview": function() {
$("div#preview_email_content > div").contents().find('head').append('<base target="_parent">');
var element = $(document.querySelector("div#preview_email_content > div")).contents().find('table.body>tbody>tr>td>div')[0];
// $("iframe#preview_email_content").contents().find('head').append('<base target="_parent">');
// var element = $(document.querySelector("iframe#preview_email_content")).contents().find('table.body>tbody>tr>td>div')[0];
// html2canvas(element,{ logging: true, letterRendering: 1, allowTaint: false, useCORS: true }).then(canvas => {
html2canvas(element,{ logging: true, letterRendering: 1, allowTaint: false, useCORS: true, windowWidth: 2560 }).then(canvas => {
var imgData = canvas.toDataURL('image/jpeg');
var doc = new jsPDF('p', 'mm');
var imgWidth = 200 ;
var imgHeight = (imgWidth / canvas.width) * canvas.height;
doc.addImage(imgData, 'PNG', 5,5, imgWidth, imgHeight);
// doc.addImage(imgData,'JPEG', 5, 5, 200, 200);
doc.save('Download.pdf');
})
// only jpeg is supported by jsPDF
// var imgData = canvas.toDataURL("image/jpeg", 1.0);
// var pdf = new jsPDF();
// pdf.addImage(imgData, 'JPEG', 0, 0);
// pdf.save("download.pdf");
// })
},
"view_email_tpl": function(
email_type_id,
event_id,
event_schedule_id,
event_title,
event_wday,
event_start_day,
event_month,
start_date_hour,
seats_reserved,
event_place_name,
event_address,
event_postal_code,
event_city
) {
email_type_text = (email_type_id == 3) ? "Confirmation de réservation" : "Confirmation d'inscription sur liste d'attente";
$.ajax({
"url": app.get_vars().baseurl + "get_default_template_by_email_type_id/" + email_type_id,
"type": "POST",
"dataType": "json",
"success": function(result) {
if (app.isalive(result)) {
if (result.mtype == "success") {
//set content in a dialog
$("#mresModal").modal("show");
$("#mresModal").find('.modal-title').html(email_type_text);
$('#mresModal').on('shown.bs.modal', function() {
// replace email Variables
full_name = $('span.name').html();
var previewcontent = result.mdata.email_tpl_detail;
previewcontent = previewcontent.replace("[[var:subscriber]]", full_name ? full_name.trim() : '');
previewcontent = previewcontent.replace(/\[\[var:event_title\]\]/g, event_title ? stripslashes(event_title.trim()) : '');
previewcontent = previewcontent.replace("[[var:event_start_day_name]]", event_wday ? event_wday : '');
previewcontent = previewcontent.replace("[[var:event_start_day]]", event_start_day ? event_start_day : '');
/* Capitalize month */
let m = event_month.charAt(0).toLowerCase() + event_month.slice(1);
previewcontent = previewcontent.replace("[[var:event_start_month_name]]", m);
previewcontent = previewcontent.replace(", à [[var:event_start_hour]]", start_date_hour ? `, à ${start_date_hour}` : '');
previewcontent = previewcontent.replace("[[var:seats_reserved]]", seats_reserved > 1 ? seats_reserved + ' places' : seats_reserved + ' place');
previewcontent = previewcontent.replace("[[var:event_place_name]]", event_place_name ? event_place_name : '');
previewcontent = previewcontent.replace("[[var:event_address]]", event_address ? event_address : '');
previewcontent = previewcontent.replace(", [[var:event_postal_code]]", event_postal_code ? `, ${event_postal_code}` : ',');
previewcontent = previewcontent.replace("[[var:city]]", event_city ? event_city : '');
/* Create the link to email preview */
let email_link;
if (email_type_id == 3) {
email_link = 'e/prevfoer/' + `${email_type_id}/${event_id}/${event_schedule_id}/${seats_reserved}`;
} else {
email_link = 'e/prevforwl/' + `${email_type_id}/${event_id}/${event_schedule_id}/${seats_reserved}`;
}
previewcontent = previewcontent.replace("%5B%5Bvar%3Aevent_url%5D%5D", `event_details?event_id=${event_id}`);
previewcontent = previewcontent.replace("%5B%5Bvar%3Anew_tab_url%5D%5D", `${email_link}`);
$("div#preview_email_content > div").html(previewcontent);
$(this).off('shown.bs.modal');
});
}
}
}
});
},
"button": {
"prevent_reload": function() {
// console.log('prevent reload executed...');
return "Still processing...";
},
"exitp": {
agent_closing: function(data) { //basically, browser closing
// console.log('agent closing executed....pr => ' + process_request);
var onBeforeUnLoadEvent = false;
window.onunload = window.onbeforeunload = function() {
if (!onBeforeUnLoadEvent) {
onBeforeUnLoadEvent = true;
//your code here
subscribe.button.lock_unlock({
data: data,
async: false,
success: function() {
// console.log('closing user agent instance...');
}
});
} //end of if
};
},
init: function(event_id, process_type, process_id) {
// console.log('init executed....pr => ' + process_request);
if (typeof process_id != "undefined") {
cached_process_id = process_id;
}
$.ajax({
async: true,
type: "POST",
url: app.get_vars().baseurl + 'events/subscribe/exitp',
data: {
event_id: event_id,
process_type: process_type,
process_id: process_id
},
error: function() {
// console.log('Close notification error');
},
success: function(data) {
if (data)
subscribe.button.exitp.start(event_id, process_type, process_id);
else
clearTimeout(process_request);
}
});
},
start: function(event_id, process_type, process_id) {
// console.log('start executed...pr => ' + process_request);
clearTimeout(process_request);
// check time every after 1mins
process_request = setTimeout(function() {
subscribe.button.exitp.init(event_id, process_type, process_id);
}, 1 * 60 * 1000);
},
clear: function() {
// clears the unload and onbeforeunload event
// resolves Dev # 15880 issue regarding prevent page load because data will not be saved
window.onunload = window.onbeforeunload = null;
window.clearTimeout(process_request);
// console.log('clear executed....pr => ' + process_request);
}
},
"not_allowed_to_book": function() {
app._notify("warning", "Les réservations pour cet événement sont limitées à une seule date par abonné. Si vous souhaitez changer de date de réservation, vous devez annuler votre réservation en cours puis effectuer une nouvelle réservation sur la date désirée.")
},
"register_or_modify": function(e, reg_type, action, process_type, seat_feature, check_subscription) {
var btn_action = (parseInt(action) == 1) ?
"register" :
(
(parseInt(action) == 2) ?
"modify" :
"cancel");
var _this = $(e.target),
button_page = _this.data('page');
event_id = _this.data('event-id');
event_schedule_id = _this.data('event-schedule-id');
_this.html('<i class="fa fa-spin fa-spinner" id="waiting' + event_schedule_id + '"/>' + _this.text()).prop("disabled", true);
//action def : 1=register, 2=modify
subscribe.registration.add_or_modify.reservation(e.target, event_id, event_schedule_id, reg_type, btn_action, process_type, seat_feature, check_subscription);
},
"cancel_reservation": function(e, event_id, event_schedule_id, reg_type) {
var _this = $(e.target),
button_page = _this.data('page');
_this.html('<i class="fa fa-spin fa-spinner" id="waiting' + event_schedule_id + '"/>' + _this.text()).prop("disabled", true);
//reg_type = 3 means cancellaltion
subscribe.registration.cancel.event(e.target, event_id, event_schedule_id, reg_type, (
parseInt(reg_type) == 1 ?
2 :
4), "cancel", parseInt(_this.data("seat-feature")));
},
"lock_unlock": function(options) {
var opt = {
url: app.get_vars().baseurl + "events/subscribe/revalidate",
type: "POST",
data: {},
success: function(result) {
// console.log(result);
}
};
if (typeof options != "undefined" && options != null) {
if (typeof options.data.process_id != "undefined") {
cached_process_id = options.data.process_id;
}
$.extend(true, opt, options);
}
$.ajax(opt);
},
"redirect": function(event_id) {
$.ajax({
url: app.get_vars().baseurl + "events/subscribe/save_link_to_cookie",
type: "POST",
data: {
event_id: event_id
},
success: function(result) {
app._notify("error", "Vous n'êtes pas connecté");
window.setTimeout(function() {
window.location.href = app.get_vars().baseurl + "login"
}, 1000);
}
}).fail(function(jqXHR, textStatus, errorThrown) {
// console.log("Got some error: " + errorThrown);
app._notify("error", "Vous n'êtes pas connecté");
window.setTimeout(function() {
window.location.href = app.get_vars().baseurl + "login"
}, 1000);
});
},
"setButtonStatus": function(id, page, target, res_type, eventDetails) {
var event_box = '';
switch (res_type) {
case 1:
event_box = 'event-box-mresh';
break;
case 2:
event_box = 'event-box-mwait';
break;
default:
event_box = 'event-box-';
}
// if(app.isalive(eventDetails)) {
var displayCancelButton = 0,
event_sched = "",
disbledbtns = {
"bos1": app.get_vars()._app.btn.coming_soon,
"bos3": app.get_vars()._app.btn._full,
"bos4": app.get_vars()._app.btn._closed,
"bos7": app.get_vars()._app.btn._terminee,
"bos8": app.get_vars()._app.btn._cancelled
},
seat_feature = 1,
is_multiple_reservation = 0,
is_multiple_waitlist_reservation = 0;
$.map(eventDetails.event_status, function(value, key) {
$('.tooltip').remove();
$('.arrow').remove();
$('.tooltip-inner').remove();
if (page == 2) { //event detailed page
var event_sched_date = $("#accordion-heading-es" + value.event_schedule_id);
var event_sched_btn = $("#event_schedule_id" + value.event_schedule_id);
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
} else { // Home page
$('.tooltip').remove();
$('.arrow').remove();
$('.tooltip-inner').remove();
var event_sched_btn = target;
//set date
$("#hp-event-date" + value.event_schedule_id).text(subscribe.registration.options.translate_date.init(value, event_box));
//get city
var eventtype_and_city = $("#hp-event-type-city" + value.event_schedule_id);
if (value.date_feature == '2') {
eventtype_and_city.html("<div id='event" + value.event_schedule_id + "' title='" + eventtype_and_city.html() + " - " + value.event_venue.toUpperCase() + "'><span class='fittxt'>" + eventtype_and_city.html() + " " + (
(value.event_venue != null && value.event_venue != "") ?
" - " + value.event_venue.toUpperCase() + "</span></div>" :
""));
} else {
eventtype_and_city.html("<div id='event" + value.event_schedule_id + "' title='" + eventtype_and_city.html() + " - " + value.event_venue.toUpperCase() + "'><span class='fittxt'>" + eventtype_and_city.html() + " " + (
(value.event_venue != null && value.event_venue != "") ?
" - " + value.event_venue.toUpperCase() + "</span></div>" :
""));
}
$('#event' + value.event_schedule_id).mouseover(function() {
$('.tooltip').remove();
$('.arrow').remove();
$('.tooltip-inner').remove();
$('#event' + value.event_schedule_id).tooltip('show');
});
$('#event' + value.event_schedule_id).mouseleave(function() {
$('#event' + value.event_schedule_id).not('.in');
$('#event' + value.event_schedule_id).tooltip('hide');
$('#event' + value.event_schedule_id).tooltip('dispose');
$('.tooltip').remove();
$('.arrow').remove();
$('.tooltip-inner').remove();
});
}
var booking_type = parseInt(value.booking_type),
back_office_status = parseInt(value.back_office_status);
displayCancelButton += booking_type;
seat_feature = value.seat_feature;
is_multiple_reservation = value.is_multiple_reservation;
is_multiple_waitlist_reservation = value.is_multiple_waitlist_reservation;
var can_still_book = 0,
showCancelBtn = 1,
cancelBtnWithModify = "Date limite d'annulation de la réservation",
// cancelBtnWithModify = "";
fav;
if (res_type !== 1) {
//remove event from the list once it is deleted in the backoffice
if (parseInt(value.status) == 0 || (back_office_status == 6 || back_office_status == 0)) {
if (page == 2)
$("#accordion-group-es" + value.event_schedule_id).remove();
} else if ((typeof disbledbtns["bos" + back_office_status] != "undefined" && disbledbtns["bos" + back_office_status] != "") && parseInt(value.book_waiting_list) == 0) {
if (page == 2 && value.is_user_active) { //event detailed page
if (booking_type == 2) {
cancelBtnWithModify = "Date limite d'annulation d'inscription sur liste d'attente";
// cancelBtnWithModify = "";
}
if (value.is_favorite == '1') {
var fav = ' ';
}
var btnTextt = '';
if (
(value.event_status == 'CANCEL' && value.back_office_status != 4) ||
(value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)
) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnTextt = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
}
//event sched is 1= Published, 3=Lokced/Complete, 7=Terminee, 4 = Closed/Passed
event_sched_btn.replaceWith($("<button id='event_schedule_id" + value.event_schedule_id + "' class='btn btn-block btn-default-style btn-closed event-btn " + cancelledClass + ' ' + fav + "' " + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='disabled' data-bostatus='" + back_office_status + "' href='javascript:;' role='button' data-page='details' disabled>" + (btnTextt == app.get_vars()._app.btn._cancelled ? app.get_vars()._app.btn._cancelled : disbledbtns["bos" + back_office_status]) + "</button>"));
} else { // HP
if (page == 1 && value.is_user_active) {
/* check if there are reservations */
var btnText = disbledbtns["bos" + back_office_status],
disabled = "disabled",
href = "javascript:;",
btnClass = "";
btnClass = 'modify-reservation disabled',
btnSubText = "";
if (value.is_favorite == '1') {
var fav = ' ';
}
//Cancel & Locked - Homepage Button
if (
(value.event_status == 'CANCEL' && value.back_office_status != 4) ||
(value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)
) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
var cur_date = new Date();
var start_date_time = (value.start_date_hour) ? value.start_date_hour.split("h") : '';
var end_date_time = (value.end_date_hour) ? value.end_date_hour.split("h") : '';
var start_date_time_h = '',
start_date_time_m = '',
end_date_time_h = '',
end_date_time_m = '';
if (start_date_time) {
start_date_time_h = start_date_time[0];
start_date_time_m = start_date_time[1];
}
if (end_date_time) {
end_date_time_h = end_date_time[0];
end_date_time_m = end_date_time[1];
}
var start_date = new Date(value.start_year + ', ' + value.start_month + ', ' + value.start_day + ', ' + start_date_time_h + ', ' + start_date_time_m);
var end_date = new Date(value.end_year + ', ' + value.end_month + ', ' + value.end_day + ', ' + end_date_time_h + ', ' + end_date_time_m);
// console.log(new Date(end_date));
if (!end_date) {
if (cur_date > end_date) {
btnText = app.get_vars()._app.btn._closed;
cancelledClass = '';
} else {
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
}
} else {
if (cur_date > start_date) {
btnText = app.get_vars()._app.btn._closed;
cancelledClass = '';
} else {
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
}
}
} else {
cancelledClass = ' ';
}
if (booking_type > 0 && back_office_status < 4) {
if (booking_type == 1) {
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
btnClass = 'modify-reservation';
btnText = "Modifier ou annuler ma réservation",
disabled = " ";
btnSubText = (
(back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite de modification de la réservation : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" :
""
(back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
);
} else {
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
btnClass = ' modify-waitlistreservation';
btnText = "Modifier ou annuler mon inscription sur liste d'attente",
disabled = " ";
btnSubText = (
(back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite de modification de l'inscription sur liste d'attente : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" :
""
(back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
);
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
href = app.get_vars().baseurl + "event_details?event_id=" + value.event_id;
}
if(back_office_status=='7'){
btnSubText = "<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'><center>";
}
event_sched_btn.append("<a href='" + href + "' class='btn btn-block btn-default-style btn-closed event-btn " + cancelledClass + " " + btnClass + " " + fav + " ' " + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='disabled' data-bostatus='" + back_office_status + "' role='button' data-page='details' " + disabled + ">" + btnText + "</a>" + btnSubText);
} else {
//Cancel & Locked - Homepage Button
if (
(value.event_status == 'CANCEL' && value.back_office_status != 4) ||
(value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)
) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
var cur_date = new Date();
var start_date_time = (value.start_date_hour) ? value.start_date_hour.split("h") : '';
var end_date_time = (value.end_date_hour) ? value.end_date_hour.split("h") : '';
var start_date_time_h = '',
start_date_time_m = '',
end_date_time_h = '',
end_date_time_m = '';
if (start_date_time) {
start_date_time_h = start_date_time[0];
start_date_time_m = start_date_time[1];
}
if (end_date_time) {
end_date_time_h = end_date_time[0];
end_date_time_m = end_date_time[1];
}
var start_date = new Date(value.start_year + ', ' + value.start_month + ', ' + value.start_day + ', ' + start_date_time_h + ', ' + start_date_time_m);
var end_date = new Date(value.end_year + ', ' + value.end_month + ', ' + value.end_day + ', ' + end_date_time_h + ', ' + end_date_time_m);
// console.log(new Date(end_date));
if (!end_date) {
if (cur_date > end_date) {
btnText = app.get_vars()._app.btn._closed;
cancelledClass = 'disabled';
} else {
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
}
} else {
if (cur_date > start_date) {
btnText = app.get_vars()._app.btn._closed;
cancelledClass = 'disabled';
} else {
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
}
}
} else {
btnText = disbledbtns["bos" + back_office_status];
cancelledClass = 'disabled';
}
event_sched_btn.append("<a id='event_schedule_id" + value.event_schedule_id + "' class='btn btn-block btn-default-style btn-closed event-btn " + cancelledClass + "'" + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='disabled' data-bostatus='" + back_office_status + "' role='button' data-page='details' disabled>" + btnText + "</a>");
}
}
//user can reserve if there is/are still places available
} else if ((back_office_status == 2 && parseInt(value.book_waiting_list) == 0 && parseInt(value.remaining_seat) > 0) || booking_type == 1) {
showCancelBtn = (value.is_user_active) ?
subscribe.button.show_cancel_btn_or_not(booking_type, value.event_status, value.remaining_seat) :
1;
var disableBtn = "",
btnText = app.get_vars()._app.btn._book,
btnType = "",
onClick = "",
btnClass = "";
if (booking_type == 1 && value.is_user_active) { //subscriber is registered
can_still_book = subscribe.registration.options.validate_quota(booking_type, parseInt(value.seats_per_subscriber), parseInt(value.seats_reserved), parseInt(value.remaining_seat));
if (can_still_book > 0 && value.event_status != 'FULL') {
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
var btnclosed = ' ';
disableBtn = "";
btnText = "Modifier ou annuler ma réservation";
btnType = "reg-modify";
onClick = "onclick='subscribe.button.register_or_modify(event, 1, 2, 6, " + value.seat_feature + ", " + showCancelBtn + ");'";
cancelBtnWithModify = "Date limite de modification de la réservation";
// cancelBtnWithModify = "";
} else {
if (value.is_favorite == '1') {
var fav = ' ';
}
var btnclosed = 'btnclosed ';
disableBtn = "disabled";
btnText = (typeof disbledbtns["bos" + back_office_status] != "undefined") ?
disbledbtns["bos" + back_office_status] :
"RÉSERVÉ";
btnType = "disabled";
cancelBtnWithModify = "Date limite d'annulation de la réservation ";
// cancelBtnWithModify = "";
}
var style;
if (btnType == 'reg-book') {
style = 'style="letter-spacing:4px;"';
} else {
style = '';
}
if (page == 2) { //event detailed page
event_sched_btn.replaceWith($("<button " + style + " " + onClick + " id='event_schedule_id" + value.event_schedule_id + "' class='btn btn-block btn-default-style btn-closed " + btnclosed + " event-btn modify-reservation " + fav + "'" + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-bostatus='" + back_office_status + "' data-btntype='" + btnType + "' role='button' data-page='details' " + disableBtn + ">" + btnText + "</button>").prop("disabled", (
(disableBtn != "") ?
true :
false)));
} else { //HP
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
if (
(value.event_status == 'CANCEL' && value.back_office_status != 4) ||
(value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)
) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
var hreflink=''
} else {
btnText = 'Modifier ou annuler ma réservation';
cancelledClass = '';
// cancelledClass = 'disabled';
hreflink= "href=' "+app.get_vars().baseurl + "event_details?event_id=" + value.event_id+" ' ";
}
cancelBtnWithModify = "Date limite de modification de la réservation";
// cancelBtnWithModify = "";
event_sched_btn.append("<a class=\"btn btn-default-style btn-block btn-closed event-btn modify-reservation " + cancelledClass + "\" " + fav + " " + hreflink + "role='button' data-page='home'>" + btnText + "</a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" :
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
))
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).html(""); //remove texts
}
}
} else {
if (value.is_user_active) {
/* This code fragment is used to determine
whether a subscriber can book for more than 1 per event or not
*/
onClick = "onclick='subscribe.button.register_or_modify(event, 1, 1, 1, " + value.seat_feature + ", " + showCancelBtn + ");'";
if (!eventDetails.allowed_to_book) {
onClick = "onclick='subscribe.button.not_allowed_to_book();'";
btnClass = "btn-disabled";
} else {
disableBtn = "";
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
}
/* END of code fragment */
if (page == 2) { //event detailed page
if (
(value.event_status == 'CANCEL' && value.back_office_status != 4) ||
(value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)
) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
disableBtn = 'disabled';
} else {
cancelledClass = '';
// cancelledClass = 'disabled';
}
event_sched_btn.replaceWith($("<button " + onClick + " id='event_schedule_id" + value.event_schedule_id + "' class='btn btn-block btn-default-style btn-register btn-book2 event-btn " + cancelledClass + " " + btnClass + " " + fav + "'" + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='reg-book' data-bostatus='" + back_office_status + "' role='button' data-page='details' " + disableBtn + ">" + btnText + "</button>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite de réservation : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
)).prop("disabled", (
(disableBtn != "") ?
true :
false)));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else { //on HP
if (booking_type > 0) {
cancelBtnWithModify = "Date limite de modification de la réservation";
// cancelBtnWithModify = "";
} else {
cancelBtnWithModify = "Date limite de réservation";
// cancelBtnWithModify = "";
}
if (booking_type == 1) {
btnClass = 'modify-reservation';
btnText = "Modifier ou annuler ma réservation";
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
} else {
fav = ' ';
}
} else if (booking_type == 2) {
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
} else {
fav = ' ';
}
btnClass = ' modify-waitlistreservation';
btnText = "Modifier ou annuler mon inscription sur liste d'attente";
}
if (
(value.event_status == 'CANCEL' && value.back_office_status != 4) ||
(value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)
) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
disableBtn = 'disabled="disabled"';
btnClass = '';
var hreflink = ''
} else {
cancelledClass = "";
hreflink = ' href = " ' + app.get_vars().baseurl + "event_details?event_id=" + value.event_id + ' " ';
}
event_sched_btn.append("<a class='btn btn-default-style btn-block btn-closed event-btn " + btnClass + " " + fav + " " + cancelledClass + " ' " + hreflink + " role='button' data-page='home' " + disableBtn + ">" + btnText + "</a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
} else {
//when user not active redirect to login page
if (value.is_favorite == '1') {
var buttonText;
var cancelledClass;
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
buttonText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
var disabledbtn = 'disabled';
} else {
buttonText = app.get_vars()._app.btn._book;
}
event_sched_btn.append("<button class='btn btn-default-style btn-block btn-closed event-btn btn-favorite " + cancelledClass + " ' onclick='subscribe.button.redirect(" + value.event_id + ");' href='javascript:;' role='button' data-page='home' " + disabledbtn + "> " + buttonText + "</button>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite de réservation : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else {
var buttonText;
var cancelledClass;
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
buttonText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
var buttonType = 'disabled="disabled"';
} else {
buttonType = '';
buttonText = app.get_vars()._app.btn._book;
}
event_sched_btn.append("<button class='btn btn-default-style btn-block btn-closed event-btn " + cancelledClass + "' onclick='subscribe.button.redirect(" + value.event_id + ");' href='javascript:;' role='button' data-page='home' " + buttonType + "> " + buttonText + "</button>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite de réservation : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
)) + "</div>";
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
}
}
//when event is locked yet,..
} else if (back_office_status == 3 || parseInt(value.book_waiting_list) > 0 || booking_type == 2) {
var disableBtn = "",
btnText = app.get_vars()._app.btn._bookwaitlist,
btnType = "",
onClick = "",
btnClass = "";
if (booking_type == 2 && value.is_user_active) { //subscriber is booked in the waiting list
can_still_book = subscribe.registration.options.validate_quota(booking_type, parseInt(value.quota_waiting_list_seat), parseInt(value.seats_reserved), parseInt(value.seats_per_subscriber));
cancelBtnWithModify = "Date limite de modification de la réservation";
// cancelBtnWithModify = "";
if (can_still_book > 0) {
btnClass = ' modify-waitlistreservation ';
disableBtn = "";
btnText = "Modifier ou annuler mon inscription sur liste d'attente";
btnType = "wl-modify";
onClick = "onclick='subscribe.button.register_or_modify(event, 2, 2, 7, " + value.seat_feature + ", " + showCancelBtn + ");'";
cancelBtnWithModify = "Date limite de modification de l'inscription sur liste d'attente";
// cancelBtnWithModify = "";
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
} else {
btnClass = 'modify-reservation';
disableBtn = "disabled";
btnText = (typeof disbledbtns["bos" + back_office_status] != "undefined") ?
disbledbtns["bos" + back_office_status] :
"INSCRIT SUR LISTE D'ATTENTE";
btnType = "disabled";
cancelBtnWithModify = "Date limite d'annulation d'inscription sur liste d'attente";
// cancelBtnWithModify = "";
if (value.is_favorite == '1') {
var fav = ' ';
}
}
if (page == 2) { //event detailed page
event_sched_btn.replaceWith($("<button " + onClick + " id='event_schedule_id" + value.event_schedule_id + "' class='btn btn-block btn-default-style btn-closed event-btn " + btnClass + " " + fav + "' " + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-bostatus='" + back_office_status + "' data-btntype='" + btnType + "' role='button' data-page='details' " + disableBtn + ">" + btnText + "</button>").prop("disabled", (
(disableBtn != "") ?
true :
false)));
} else { //event home page
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
if (value.event_status == 'CANCEL') {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
buttonText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled modify-reservation';
buttonType = 'disabled="disabled"';
} else {
buttonText = "Modifier ou annuler mon inscription sur liste d'attente";
cancelledClass = 'modify-waitlistreservation';
buttonType = 'disabled="disabled"';
}
cancelBtnWithModify = "Date limite de modification de l'inscription sur liste d'attente";
// cancelBtnWithModify = "";
event_sched_btn.append("<a class='btn btn-default-style btn-block btn-closed event-btn " + cancelledClass + " " + fav + "' " + buttonType + " href='" + app.get_vars().baseurl + "event_details?event_id=" + value.event_id + "' role='button' data-page='home'>" + buttonText + "</a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" :
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL') {
$("#res-date-"+ value.event_schedule_id).html(''); //remove texts
}
}
} else {
if (value.is_user_active) { //if user is active
/* This code fragment is used to determine
whether a subscriber can book for more than 1 per event or not
*/
onClick = "onclick='subscribe.button.register_or_modify(event, 2, 1, 3, " + value.seat_feature + ", " + showCancelBtn + ");'";
if (!eventDetails.allowed_to_book_for_wl) {
onClick = "onclick='subscribe.button.not_allowed_to_book();'";
btnClass = "btn-disabled modify-reservation btn-reg-waitlist_detailsp";
if (value.is_favorite == '1') {
var fav = ' ';
}
} else {
disableBtn = "";
if (page == 1) {
btnClass = 'btn-reg-waitlist';
} else {
btnClass = 'btn-reg-waitlist_detailsp modify-reservation';
}
// btnClass = 'modify-reservation';
if (value.is_favorite == '1') {
var fav = ' btn-favorite';
}
}
/* END of code fragment */
if (page == 2) { //event detailed page
//event is locked but there are still places available for waitiling list
event_sched_btn.replaceWith($("<button " + onClick + " id='event_schedule_id" + value.event_schedule_id + "' class='btn btn-block btn-default-style event-btn " + btnClass + " " + fav + " '" + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='wl-register' data-bostatus='" + back_office_status + "' role='button' data-page='details' " + disableBtn + ">" + btnText + "</button>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite d'inscription sur liste d'attente : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
)).addClass('').prop("disabled", (
(disableBtn != "") ?
true :
false)));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else { //event home page
if (booking_type > 0) {
cancelBtnWithModify = "Date limite de modification de la réservation";
// cancelBtnWithModify = "";
} else {
cancelBtnWithModify = "Date limite d'inscription sur liste d'attente";
// cancelBtnWithModify = "";
}
if (booking_type == 1) {
btnClass = 'modify-reservation';
btnText = "Modifier ou annuler ma réservation";
} else if (booking_type == 2) {
btnClass = ' modify-waitlistreservation';
btnText = "Modifier ou annuler mon inscription sur liste d'attente";
}
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
} else {
cancelledClass = '';
// cancelledClass = 'disabled';
}
// btnClass = 'modify-reservation';
event_sched_btn.append("<a class='btn btn-default-style btn-block event-btn " + btnClass + " " + cancelledClass + " " + fav + " ' href='" + app.get_vars().baseurl + "event_details?event_id=" + value.event_id + "' role='button' data-page='home' " + disableBtn + "> " + btnText + " </a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
} else {
//when user not active redirect to login page
if (value.is_favorite == '1') {
event_sched_btn.append("<a class='btn btn-default-style btn-block btn-reg-waitlist event-btn btn-favorite' onclick='subscribe.button.redirect(" + value.event_id + ");' role='button' data-page='home'> " + app.get_vars()._app.btn._bookwaitlist + "</a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite d'inscription sur liste d'attente : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else {
event_sched_btn.append("<a class='btn btn-default-style btn-block btn-reg-waitlist event-btn' onclick='subscribe.button.redirect(" + value.event_id + ");' role='button' data-page='home'> " + app.get_vars()._app.btn._bookwaitlist + "</a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>Date limite d'inscription sur liste d'attente : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
}
}
} else {
if ((value.event_status == 'CANCEL' && value.back_office_status != 4) && (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
// btnClass = 'modify-reservation';
event_sched_btn.replaceWith($("<button class='btn btn-block btn-default-style btn-register btn-book2 event-btn " + cancelledClass + " " + btnClass + "'" + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='reg-book' data-bostatus='" + back_office_status + "' role='button' data-page='details' " + disableBtn + ">" + btnText + "</button>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
)));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else if (value.event_status == 'CANCEL' && value.back_office_status == 4 && value.date_feature == 2) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
// btnClass = 'modify-reservation';
event_sched_btn.append("<a class='btn btn-default-style btn-block event-btn " + btnClass + " " + cancelledClass + " " + fav + " ' role='button' data-page='home' " + disableBtn + "> " + btnText + "</a>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
btnText = app.get_vars()._app.btn._cancelled;
cancelledClass = 'cancelled_event disabled';
// btnClass = 'modify-reservation';
event_sched_btn.append($("<button class='btn btn-block btn-default-style btn-register btn-book2 event-btn " + cancelledClass + " " + btnClass + "'" + " data-event-schedule-id='" + value.event_schedule_id + "' data-event-id='" + value.event_id + "' data-btntype='reg-book' data-bostatus='" + back_office_status + "' role='button' data-page='details' " + disableBtn + ">" + btnText + "</button>" + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"<center class='start_date_text px-1' id='res-date-" + value.event_schedule_id + "'>" + cancelBtnWithModify + " : <br>" + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "<center>" : ""
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
"" :
""
)));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
}
if (page == 1 && back_office_status == 1) {
if (typeof value.reservation_start_date != "undefined" && value.reservation_start_date != null && value.reservation_start_date != "") {
event_sched_btn.append("<center class='start_date_text px-1'>Ouverture des réservations : <br>" + Helper.start_date(value.reservation_start_date, value.reservation_start_month) + "</center>");
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
} else {
event_sched_btn.append("<center class='start_date_text px-1'>Ouverture des réservations : <br>" + Helper.start_date(value.reservation_start_date, value.end_reservation_month) + "</center>");
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
}
if (page == 2 && value.is_user_active && back_office_status > 1) {
var btnClass = "";
//display cancel button if there is/are reservation
$("#event_cancel_registration" + value.event_schedule_id).remove();
/* Cancel button will be hidden once a seat is available for reservation */
if (subscribe.button.show_cancel_btn_or_not(booking_type, value.event_status, value.remaining_seat) == 1) {
if (booking_type == 1) {
btnClass = 'btn-cancel-registration';
} else {
btnClass = 'btn-cancel-wl-registration';
}
$('<button onclick="subscribe.button.cancel_reservation(event, ' + value.event_id + ', ' + value.event_schedule_id + ', ' + booking_type + ');" ' + 'id="event_cancel_registration' + value.event_schedule_id + '" data-event-id="' + id + '"' + ' data-seat-feature="' + seat_feature + '" data-date-feature="' + value.date_feature + '" ' + +' data-is-multiple-reservation="' + is_multiple_reservation + '" data-is-multiple-waitlist-reservation="' + is_multiple_waitlist_reservation + '" ' + 'class="btn btn-default-style2 btn-block ' + btnClass + ' " data-page="details">' + (
(booking_type == 1) ?
"ANNULER MA RÉSERVATION" :
"ANNULER MON INSCRIPTION SUR LISTE D’ATTENTE") + '</button>' + (
(typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ?
'<center class="start_date_text px-1" id="res-date-' + value.event_schedule_id + '">' + cancelBtnWithModify + ' : <br>' + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + '<center>' :
'')).insertAfter($("#event_schedule_id" + value.event_schedule_id));
if (value.event_status == 'CANCEL' && value.back_office_status != 4) {
$("#res-date-" + value.event_schedule_id).remove(); //remove texts
}
}
}
}
var translatorr = $('#' + event_box).translate({
lang: "fr",
t: subscribe.registration.options.datesFR()
});
var reserved_w = translatorr.get(value.date_reserved_w),
reserved_d = translatorr.get(value.date_reserved_d),
reserved_m = translatorr.get(value.date_reserved_m),
reserved_y = translatorr.get(value.date_reserved_y),
reserved_time = translatorr.get(value.date_reserved_time),
event_title = addslashes(value.title),
event_place_name = addslashes(value.event_place_name),
event_address = addslashes(value.event_address),
event_city = addslashes(value.city),
event_wday = translatorr.get(value.day),
event_month = translatorr.get(value.event_start_month_name),
email_type = "",
myreservation_text, emailmyreservation_text;
myreservation_text = (value.booking_type == 1) ? "Réservation effectuée le" : "Inscription sur liste d'attente effectuée le";
emailmyreservation_text = (value.booking_type == 1) ? "Ma confirmation de réservation" : "Ma confirmation de réservation sur liste d'attente";
email_type = (value.booking_type == 1) ? "Email de confirmation" : "Email de liste d'attente";
email_type_id = (value.booking_type == 1) ? 3 : 6;
email_card_data = `<li class="reservation-details list-group-item p-2 text-secondary">
<small>
<a href="#"
data-email-type-id="${email_type_id}"
data-event-id="${value.event_id}"
data-event-schedule-id="${value.event_schedule_id}"
data-event-title="${event_title}"
data-event-wday="${event_wday}"
data-event-start-day="${value.start_day}"
data-event-month="${event_month}"
data-event-start-date-hour="${value.start_date_hour}"
data-event-seats-reserved="${value.seats_reserved}"
data-event-place-name="${event_place_name}"
data-event-address="${event_address}"
data-event-postal-code="${value.event_postal_code}"
data-event-city="${event_city}"
class="text-secondary view-email-tpl emailpreview">
<div class="clearfix">
<i style="float: left;margin-right: 5px !important;margin-left: 2px;" class="fa fa-envelope ml-1 mt-1 mr-2"></i> <p class="ml-3 mb-0 pl-2">${emailmyreservation_text}</p>
</div>
</a>
</small>
</li>`;
res_confirmee = `<li class="reservation-details list-group-item p-2">
<div class="clearfix">
<small>
<!--<a href="${app.get_vars().baseurl}event_details?event_id=${value.event_id}" class="text-secondary">-->
<i style="float: left;margin-right: 5px !important; margin-left: 4px; font-size: 14px;" class="fa fa-calendar-check mt-1 mr-1"></i> <p class="ml-4 mb-0">${myreservation_text} ${reserved_w} ${reserved_d} ${reserved_m} ${reserved_y}, à ${reserved_time} </p>
<!--</a>-->
</small>
</div>
</li>`;
event_date = `<li class="list-group-item p-2">
<small>
<!--<a href="${app.get_vars().baseurl}event_details?event_id=${value.event_id}" class="text-secondary">-->
<i style="float: left" class="fa fa-clock ml-1 mr-1"></i> Événement programmé ${subscribe.registration.options.translate_date.init(value, event_box)}
<!--</a>-->
</small>
</li>`;
mod = `<li class="reservation-details list-group-item p-2">
<small><img src="${app.get_vars().baseurl}resources/images/picto_cible.png" class="compteur-small-icon"> Événement très demandé </small>
</li>`;
not_mod = `<li class="reservation-details list-group-item p-2 text-secondary">
<small>
<i style="margin-right: 3px !important; margin-left: 4px; font-size: 14px;" class="fa fa-user-circle mr-2"></i> Nombre de place(s) : ${value.seats_reserved}</small>
</li>`;
mod_text ="";
extra_text = "";
if (res_type === 1) {
email_card_data = '';
res_confirmee = '';
event_date = '';
extra_text = '<li class="list-group-item text-black p-5"></li>';
}
/* Indicate that the event schedule is moderated if mod_stat is true */
let card_data = '';
if (value.mod_stat == 1) {
mod_text = '<li class="reservation-details list-group-item text-black p-2"><small><img src=" '+app.get_vars().baseurl+'resources/images/picto_cible.png" class="compteur-small-icon"> Événement très demandé </small></li>';
} else {
mod_text = '';
}
card_data += `<ul style="color: black;" class="list-group list-group-flush text-black">
${mod_text}
${email_card_data}
${res_confirmee}
${not_mod}
${extra_text}
</ul>`;
$(`[data-eventsched-id="${value.event_schedule_id}"][data-event-id="${value.event_id}"][data-restype-id="${res_type}"] .card-footer`).append(card_data);
});
},
show_cancel_btn_or_not: function(booking_type, event_status, remaining_seat) {
remaining_seat = (remaining_seat != "" && remaining_seat != null) ?
parseInt(remaining_seat) :
0;
if (booking_type == 1) { //normal registration
return 1;
} else if (booking_type == 2) { //waitinglist registration
if (event_status == 'AVAILABLE' && remaining_seat > 0) {
//the subscriber is currently registered for waitinglist then suddenly seats are open for reservation
return 2;
} else {
return 1;
}
}
return 0;
},
"return_action": function(pathname) {
if (pathname.indexOf("event_details") != -1) {
// $('#return_action').html('<a href="'+app.get_vars().baseurl+'home" class="return-action" id="back_to_home"> âMGA¹ Retour à tous les événements </a>');
// $('.backto_home').html('<a href="javascript:void(0);" id="return_action_link" onclick="subscribe.button.home_return_action();" class="return-action"> ‹ Retour à tous les événements </a>');
}
},
"home_return_action": function() {
var event_id = $('#event-details-box').data('event-id');
$.ajax({
url: app.get_vars().baseurl + "events/subscribe/return_action",
type: "POST",
data: {
event_id: event_id
},
success: function(result) {
if (app.isalive(result)) {
location.href = app.get_vars().baseurl + "home/#" + result.mdata.page_number;
}
}
});
},
"page_visit_tracking": function() {
$.ajax({
url: app.get_vars().baseurl + "events/subscribe/page_visit",
type: "POST",
data: {
event_id: $('#event-details-box').data('event-id')
},
success: function(result) {}
});
}
},
}
// Pass in jQuery.
})(jQuery, this);
$(document).ready(function() {
// Open All Accordion Panel
$('.accordion-body:not(".in")').collapse('show');
$('.accordion-heading').click(function() {
if (!$(this).next().hasClass('in')) {
$(this).collapse("hide");
}
$(this).next().collapse('toggle');
});
// Buttons - On Page Load
subscribe.button.return_action(window.location.pathname);
// subscribe.button.page_visit_tracking();
$(document).on('click', '.view-email-tpl', function(event) {
event.preventDefault();
/* Act on the event */
subscribe.view_email_tpl(
this.dataset.emailTypeId,
this.dataset.eventId,
this.dataset.eventScheduleId,
this.dataset.eventTitle,
this.dataset.eventWday,
this.dataset.eventStartDay,
this.dataset.eventMonth,
this.dataset.eventStartDateHour,
this.dataset.eventSeatsReserved,
this.dataset.eventPlaceName,
this.dataset.eventAddress,
this.dataset.eventPostalCode,
this.dataset.eventCity,
);
});
$(document).on('click', '.print-email-preview', function(event) {
event.preventDefault();
/* Act on the event */
subscribe.print_email_preview();
});
$(document).on('click', '.download-email-preview', function(event) {
event.preventDefault();
/* Act on the event */
subscribe.download_email_preview();
});
});