gestion des demandes d'évolution pour le centre kalachakra non géré dans les module booking et opendons
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.
 
 
 
 

447 lines
14 KiB

odoo.define('booking.main', function (require) {
var core = require('web.core');
var QWeb = core.qweb;
var _t = core._t;
$(document).ready(function() {
if ($("#individual_booking_event").val()=='True')
{
$("#continue_button").hide()
}
$('#datetimepickerstart_day').datetimepicker({
format: 'DD/MM/YYYY',
enableOnReadonly: true
});
$('#datetimepickerend_day').datetimepicker({
format: 'DD/MM/YYYY',
enableOnReadonly: true
});
$('#medical_info').hide()
$('#booking_total_price').text(
$('#booking_price_product').val()+' €'
);
});
$( "#start_day").on("input", function(e) {
//alert(parseDate($("#start_day").val()))
if (parseDate($("#start_day").val())==-1 && parseDate($("#end_day").val())==-1)
{
console.log('end_day_change')
console.log('start_day='+$("#start_day").val())
console.log('end_day='+$("#end_day").val())
console.log(parseDate($("#start_day").val()))
console.log(parseDate($("#end_day").val()))
fct_days()
}
else
{
$("#days").html()
}
});
$( "#end_day").on("input", function(e) {
if (parseDate($("#end_day").val())==-1 && parseDate($("#start_day").val())==-1)
{
console.log('end_day_change')
console.log('start_day='+$("#start_day").val())
console.log('end_day='+$("#end_day").val())
console.log(parseDate($("#start_day").val()))
console.log(parseDate($("#end_day").val()))
fct_days()
}
else
{
$("#days").html()
}
});
function fct_days()
{
// var s = $("#start_day").val().split('/');
// var e = $("#end_day").val().split('/');
// var end_day=e[2]+'-'+e[1]+'-'+e[0]
// var start_day=s[2]+'-'+s[1]+'-'+s[0]
var diff = Math.floor((Date.parse($("#end_day").val()) - Date.parse($("#start_day").val())) / 86400000);
console.log(diff)
var start_date = Date.parse($("#start_day").val())
var end_date = Date.parse($("#end_day").val())
var start_date_p1month=start_date.addMonths(1)
diff1=end_date-start_date_p1month
if (diff<=0)
{
$("#days").html(_t('Les dates saisies ne sont pas valides'))
$("#booking_total_price").hide()
$("#continue_button").hide()
}
else if (end_date>start_date_p1month)
{
$("#days").html(_t('Pour les retraites de plus d\'un mois, veuillez contacter le centre à l\'adresse suivante :<br>info@centre-kalachakra.net'))
$("#booking_total_price").hide()
$("#continue_button").hide()
}
else if (diff1==0)
{
$("#days").html(_t('soit 1 mois'))
$("#booking_total_price").show()
$("#continue_button").show()
}
else
{
html_days_message=_t('soit ')+diff.toString()+_t(' jours')
console.log(html_days_message)
$("#days").html(html_days_message)
$("#booking_total_price").show()
$("#continue_button").show()
$("#days_duration").val(diff)
}
compute_individual_booking_prices_without_option(diff,start_day,end_day)
compute_total_price_from_status_without_options()
compute_total_price_with_options()
return true
}
function parseDate(str) {
var d = str.split('/');
var date1=d[0]+'-'+d[1]+'-'+d[2]
var m = date1.match(/^(\d{1,2})-(\d{1,2})-(\d{4})$/);
return (m) ? -1 : null;
}
function compute_individual_booking_prices_without_option(days,start_day,end_day)
{
var start_date = Date.parse($("#start_day").val())
var end_date = Date.parse($("#end_day").val())
var start_date_p1month=start_date.addMonths(1)
diff1=end_date-start_date_p1month
if (days<7)
{
$("#booking_price").val(days*$("#individual_day_price").val())
$("#booking_member_price").val(days*$("#individual_member_day_price").val())
$("#booking_super_member_price").val(days*$("#individual_super_member_day_price").val())
}
if (days<14 && days>6)
{
mod_days=days%7
let coef_price=1+mod_days/7
price_not_member=Math.round(parseInt($("#individual_week_price").val(),10)*coef_price)
price_member=Math.round(parseInt($("#individual_member_week_price").val(),10)*coef_price)
price_super_member=Math.round(parseInt($("#individual_super_member_week_price").val(),10)*coef_price)
$("#booking_price").val(price_not_member)
$("#booking_member_price").val(price_member)
$("#booking_super_member_price").val(price_super_member)
}
if (days<21 && days>13)
{
mod_days=days%14
let coef_price=1+mod_days/14
price_not_member=Math.round(parseInt($("#individual_2weeks_price").val(),10)*coef_price)
price_member=Math.round(parseInt($("#individual_member_2weeks_price").val(),10)*coef_price)
price_super_member=Math.round(parseInt($("#individual_super_member_2weeks_price").val(),10)*coef_price)
$("#booking_price").val(price_not_member)
$("#booking_member_price").val(price_member)
$("#booking_super_member_price").val(price_super_member)
}
if (days>20 && end_date<start_date_p1month)
{
mod_days=days%21
let coef_price=1+mod_days/21
price_not_member=Math.round(parseInt($("#individual_3weeks_price").val(),10)*coef_price)
price_member=Math.round(parseInt($("#individual_member_3weeks_price").val(),10)*coef_price)
price_super_member=Math.round(parseInt($("#individual_super_member_3weeks_price").val(),10)*coef_price)
$("#booking_price").val(price_not_member)
$("#booking_member_price").val(price_member)
$("#booking_super_member_price").val(price_super_member)
}
if (diff1==0)
{
$("#booking_price").val(parseInt($("#individual_month_price").val(),10))
$("#booking_member_price").val(parseInt($("#individual_member_month_price").val(),10))
$("#booking_super_member_price").val(parseInt($("#individual_super_member_month_price").val(),10))
}
if (end_date>start_date_p1month)
{
}
}
function compute_total_price_from_status_without_options()
{
//recalcul du prix total selon le status
if ($("#status2").val()=='not member')
{
$("#total_price").val($("#booking_price").val())
$("#price_individual_booking").val($("#booking_price").val())
}
if ($("#status2").val()=='member')
{
$("#total_price").val($("#booking_member_price").val())
$("#price_individual_booking").val($("#booking_member_price").val())
}
if ($("#status2").val()=='super member')
{
$("#total_price").val($("#booking_super_member_price").val())
$("#price_individual_booking").val($("#booking_super_member_price").val())
}
}
function compute_total_price_with_options()
{
$( ":checkbox" ).each(function( index ) {
var l=this.name.length
var i=this.name.substring(2,l-1)
if (this.value==$("#membership_product").val())
{
var option_price_str='#o_standard'+i
}
else
{
if ($("#status2").val()=='not member')
{
var option_price_str='#o_standard'+i
}
else
{
var option_price_str='#o_'+$("#status2").val()+i
}
}
option_price=$(option_price_str).val()
if (!option_price) option_price=0
console.log(option_price_str+'='+option_price)
total_price=$("#total_price").val()
if(this.checked) {
$("#total_price").val(parseInt(total_price)+parseInt(option_price))
console.log($("#total_price").val())
}
});
$("#booking_total_price").text($("#total_price").val()+' €');
console.log( 'total price final='+$("#booking_total_price").text())
console.log('end debug price')
}
$( "#medical_concern" ).change(function() {
if (this.value=='have medical concern')
{
$('#medical_info').show()
$("medical_info_div").addClass("s_website_form_required");
$("medical_information").prop('required',true);
}
else
{
$('#medical_info').hide()
$("medical_info_div").removeClass("s_website_form_required");
$("medical_information").prop('required',false);
}
});
$( "#continue_button" ).click(function() {
if ($('#email').val()=='' && $('#mobile').val()=='' && $('#phone').val()=='')
{
$('#validation_message').text('merci de saisir un email ou un mobile ou un téléphone')
$('#validation_message').show()
}
else
{
if ($('#name').val()=='')
{
$('#validation_message').text('merci de saisir un nom')
$('#validation_message').show()
}
else if ($('#firstname').val()=='')
{
$('#validation_message').text('merci de saisir un prénom')
$('#validation_message').show()
}
else if ($('#age').val()=='')
{
$('#validation_message').text('merci de saisir l\'age du participant')
$('#validation_message').show()
}
else if ($('#city').val()=='')
{
$('#validation_message').text('merci de saisir la ville du participant')
$('#validation_message').show()
}
else
{
$('#form1').submit()
}
}
});
$( "#continue_button2" ).click(function() {
if ($('#image_permission').val()=='')
{
$('#validation_message').text('merci de répondre à la demande d\'autorisation de l\'utilisation de votre image')
$('#validation_message').show()
}
else
{
if ($('#medical_contact_name').val()=='')
{
$('#validation_message').text('merci de saisir le nom du contact')
$('#validation_message').show()
}
else if ($('#medical_contact_phone').val()=='')
{
$('#validation_message').text('merci de saisir le téléphone du contact')
$('#validation_message').show()
}
else
{
$('#form2').submit()
}
}
});
$( "#back_button2" ).click(function() {
history.back()
});
$( "#back_button1" ).click(function() {
history.back()
});
$(":checkbox").change(function() {
//console.log(this.value)
//console.log($("#id_opt_reduction1200").val())
//console.log('status:'+$("#status").val())
//si coche adhésion alors le statut devient membre
if (this.value==$("#id_opt_individual_room").val() && this.checked)
{
//console.log('fff'+"#o["+$("#i_opt_reduction1200").val()+"]")
//console.log('ggg'+$("#o1").val())
if ($("#o"+$("#i_opt_reduction1200").val()).prop('checked')== true)
{
alert('Selection non autorisée')
this.checked=false
}
}
if (this.value==$("#id_opt_reduction1200").val() && this.checked)
{
if ($("#o"+$("#i_opt_individual_room").val()).prop('checked')== true)
{
alert('Selection non autorisée')
this.checked=false
}
}
if(this.value==$("#membership_product").val() && this.checked)
{
if ($("#status").val()=='not member') {$("#status2").val('member')}
}
//si décoche adhésion alors le statut devient non membre
if(this.value==$("#membership_product").val() && this.checked==false)
{
if ($("#status").val()=='not member'){$("#status2").val('not member')}
}
console.log('status2:'+$("#status2").val())
compute_total_price_from_status_without_options()
compute_total_price_with_options()
});
});