Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
1257 righe
56 KiB
1257 righe
56 KiB
var disableDate = ["2018-02-14", "2018-02-15", "2018-02-16"]; |
|
|
|
var calendar = { |
|
init: function (jsonFunzionari, date, presidio, constants) { |
|
|
|
this.constants = $.extend(this.constants, constants); |
|
|
|
this.datepiker.init(date, presidio); |
|
this.agenda.init(jsonFunzionari, date, presidio); |
|
|
|
this.constants.presidio = presidio; |
|
|
|
this.modalitaPrenotazione.init(); |
|
this.selectedDate = date; |
|
}, |
|
|
|
constants: { |
|
workspace : '#_1_WAR_portoscalendarappointmentsportlet_', |
|
presidio: '', |
|
isModalitaPrenotazione: false, |
|
selectedDate: '' |
|
}, |
|
|
|
clear: function () { |
|
|
|
AUI().all(".agenda__body--row").each(function (){ |
|
AUI().one(this).detach("click"); |
|
}); |
|
|
|
AUI().one(calendar.constants.workspace + "save").detach("click"); |
|
AUI().one(calendar.constants.workspace + "delete").detach("click"); |
|
AUI().one(calendar.constants.workspace + "save_disponibilita").detach("click"); |
|
AUI().one(calendar.constants.workspace + "delete_disponibilita").detach("click"); |
|
|
|
this.agenda.clearAvailable(); |
|
this.agenda.clearEvents(); |
|
}, |
|
|
|
refresh: function(){ |
|
$('.layer-popup').addClass('active'); |
|
calendar.clear(); |
|
calendar.agenda.popolateByDay(calendar.constants.selectedDate, calendar.constants.presidio); |
|
calendar.agenda.initPopup(); |
|
|
|
setTimeout(function() { |
|
$('.layer-popup').removeClass('active'); |
|
}, 400) |
|
}, |
|
|
|
datepiker: { |
|
init: function (date, presidio) { |
|
$("#datepicker").datepicker({ |
|
dateFormat: 'dd/MM/yy', |
|
monthNames: ["01","02","03","04","05","06","07","08","09","10","11","12"], |
|
onSelect: function (dateText, inst) { |
|
// calendar.clear(); |
|
// calendar.agenda.popolateByDay(dateText, presidio); |
|
calendar.constants.selectedDate = dateText; |
|
calendar.refresh(); |
|
}, |
|
beforeShowDay: function (date) { |
|
var string = jQuery.datepicker.formatDate('yy-mm-dd', date); |
|
return [disableDate.indexOf(string) == -1] |
|
} |
|
}); |
|
$.datepicker.setDefaults($.datepicker.regional["it"]); |
|
calendar.constants.selectedDate = date; |
|
$("#datepicker").datepicker('setDate', date); |
|
} |
|
}, |
|
|
|
modalitaPrenotazione: { |
|
setModalitaPrenotazione: function(activate) { |
|
calendar.constants.isModalitaPrenotazione = activate; |
|
|
|
calendar.refresh(); |
|
}, |
|
init: function () { |
|
var isFeUser = !(isDirigenteGenerale=='true' || isIstruttoreForOrgs=='true' || isPOForOrgs=='true' || isBoUser=='true'); |
|
|
|
$('#prenotazioneMode').change(function(event) { |
|
calendar.modalitaPrenotazione.setModalitaPrenotazione($(this).is(":checked")); |
|
event.preventDefault(); |
|
}); |
|
|
|
if(isFeUser) |
|
$('#prenotazioneModeBox').hide(); |
|
else |
|
$('#prenotazioneModeBox').show(); |
|
} |
|
}, |
|
|
|
agenda: { |
|
init: function (jsonFunzionari, date, presidio) { |
|
|
|
this.createHeader(jsonFunzionari, date, presidio); |
|
this.createBody(jsonFunzionari, date, presidio); |
|
|
|
this.popolateByDay(date, presidio); |
|
this.initPopup(); |
|
}, |
|
|
|
popolateByDay: function(date, presidio) { |
|
var _this = this; |
|
Liferay.Service( |
|
'/portos-calendar-appointments-portlet.disponibilita/get-disponibilita-by-date', |
|
{ |
|
/*FI OLD*/ |
|
presidio: presidio, |
|
date: date |
|
}, |
|
function(obj) { |
|
_this.setAvailable(obj, date, presidio); |
|
_this.loadEvents(_this, date, presidio); |
|
} |
|
); |
|
}, |
|
|
|
createHeader: function (jsonFunzionari, date, presidio) { |
|
var $this = $('.agenda__header'); |
|
var header_template = '<div class="agenda__header--offset"></div>'; |
|
var funzionari = JSON.parse(jsonFunzionari); |
|
var nfunzionari = funzionari.length; |
|
|
|
for (var i = 0; i < nfunzionari; i++) { |
|
var role = ''; |
|
switch (funzionari[i].tipologia) { |
|
case 'Geologo': |
|
role = "geologo"; |
|
break; |
|
case 'Istruttore': |
|
role = "istruttore"; |
|
break; |
|
default: |
|
role = ""; |
|
} |
|
|
|
if(nfunzionari >= 10){ |
|
|
|
header_template = header_template.concat('<div class="agenda__header--item ' + |
|
role + |
|
'">' + |
|
'<p class="agenda__header--item-name agenda__header--item-name-size-min">' + |
|
//Bug 32935 |
|
funzionari[i].cognome + ' ' +funzionari[i].nome + |
|
'</p>' + |
|
'<p class="agenda__header--item-role agenda__header--item-role-size-min">(' + |
|
funzionari[i].tipologia + |
|
')</p>' + |
|
'</div>'); |
|
|
|
} else { |
|
|
|
header_template = header_template.concat('<div class="agenda__header--item ' + |
|
role + |
|
'">' + |
|
'<p class="agenda__header--item-name agenda__header--item-name-size-max">' + |
|
//Bug 32935 |
|
funzionari[i].cognome + ' ' +funzionari[i].nome + |
|
'</p>' + |
|
'<p class="agenda__header--item-role agenda__header--item-role-size-max">(' + |
|
funzionari[i].tipologia + |
|
')</p>' + |
|
'</div>'); |
|
|
|
} |
|
|
|
|
|
} |
|
|
|
$this.html(header_template); |
|
}, |
|
|
|
createBody: function (jsonFunzionari, date, presidio) { |
|
|
|
|
|
|
|
var $this = $('.agenda__body'); |
|
var funzionari = JSON.parse(jsonFunzionari); |
|
var nfunzionari = funzionari.length; |
|
var header_body_timing = ''; |
|
|
|
for (var i = 0; i < nfunzionari; i++) { |
|
var role = ''; |
|
switch (funzionari[i].tipologia) { |
|
case 'Geologo': |
|
role = "geologo"; |
|
break; |
|
case 'Strutturista': |
|
role = "strutturista"; |
|
break; |
|
default: |
|
role = ""; |
|
} |
|
|
|
header_body_timing = header_body_timing.concat('<div class="agenda__body--timing">\n' + |
|
'<div class="agenda__body--timing__header"></div>' + |
|
' <div class="timing__hour">08:00</div>\n' + |
|
' <div class="timing__hour">09:00</div>\n' + |
|
' <div class="timing__hour">10:00</div>\n' + |
|
' <div class="timing__hour">11:00</div>\n' + |
|
' <div class="timing__hour">12:00</div>\n' + |
|
' <div class="timing__hour">13:00</div>\n' + |
|
' <div class="timing__hour">14:00</div>\n' + |
|
' <div class="timing__hour">15:00</div>\n' + |
|
' <div class="timing__hour">16:00</div>\n' + |
|
' <div class="timing__hour">17:00</div>\n' + |
|
' <div class="timing__hour">18:00</div>\n' + |
|
' <div class="timing__hour">19:00</div>\n' + |
|
' </div>\n' + |
|
' <div id="col_' + funzionari[i].id + '"' + |
|
' class="agenda__body--col">\n' + |
|
' <div class="agenda__body--col__header ' + |
|
role + |
|
'">' + |
|
'<p class="agenda__body--col__header-name">' + |
|
//Bug 32935 |
|
funzionari[i].cognome +' '+funzionari[i].nome+ |
|
'</p>' + |
|
'<p class="agenda__body--col__header-role">(' + |
|
funzionari[i].tipologia + |
|
')</p>' + |
|
'</div>' + |
|
' <div data-id="08:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="08:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="09:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="09:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="10:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="10:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="11:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="11:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="12:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="12:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="13:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="13:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="14:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="14:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="15:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="15:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="16:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="16:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="17:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="17:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="18:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="18:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' <div data-id="19:00" class="agenda__body--row first_half_hour">\n' + |
|
' </div>\n' + |
|
' <div data-id="19:30" class="agenda__body--row">\n' + |
|
' </div>\n' + |
|
' </div>'); |
|
$this.html(header_body_timing); |
|
} |
|
|
|
}, |
|
|
|
setAvailable: function (jsonDisponibilita, date, presidio) { |
|
|
|
var disponibilita = JSON.parse(jsonDisponibilita); |
|
var ndisponibilita = disponibilita.length; |
|
|
|
|
|
for (var i in disponibilita) { |
|
|
|
//Bug 32935 |
|
// var isDisponibile = disponibilita[i].ore[0].disponibile; |
|
|
|
// if(isDisponibile){ |
|
|
|
var idCols = '#col_' + disponibilita[i].idFunzionario; |
|
var array_row = $('#col_' + disponibilita[i].idFunzionario + ' .agenda__body--row'); |
|
|
|
for (var j in disponibilita[i].ore) { |
|
var inizioAvailable = disponibilita[i].ore[j].inizio; |
|
var fineAvailable = disponibilita[i].ore[j].fine; |
|
|
|
var isDisponibile = disponibilita[i].ore[j].disponibile; |
|
if(isDisponibile){ |
|
var targetStartAvailable = idCols + ' *[data-id="' + inizioAvailable + '"]'; |
|
var targetEndAvailable = idCols + ' *[data-id="' + fineAvailable + '"]'; |
|
|
|
var tmpClass = calendar.constants.isModalitaPrenotazione ? 'prenotazione' : 'available'; |
|
|
|
$(targetStartAvailable).addClass(tmpClass).addClass('available-start'); |
|
$(targetEndAvailable).addClass('available-finish'); |
|
|
|
var fascia = false; |
|
array_row.each(function (indici) { |
|
if ($(this).hasClass("available-start")) { |
|
$(this).addClass(tmpClass); |
|
fascia = true; |
|
|
|
} else if ($(this).hasClass("available-finish")) { |
|
fascia = false; |
|
} else if (fascia) { |
|
$(this).addClass(tmpClass); |
|
} |
|
}); |
|
} |
|
} |
|
// } |
|
} |
|
}, |
|
|
|
loadEvents: function (scope, date, presidio) { |
|
var _this = this; |
|
var userId = Liferay.ThemeDisplay.getUserId() |
|
Liferay.Service( |
|
'/portos-calendar-appointments-portlet.prenotazione/get-prenotazioni-by-date', |
|
{ |
|
/*FI OLD*/ |
|
presidio: presidio, |
|
date: date, |
|
userId: userId |
|
}, |
|
function(obj) { |
|
var eventi = JSON.parse(obj); |
|
var nprenotazioni = eventi.length; |
|
|
|
var tmpClass = calendar.constants.isModalitaPrenotazione ? 'prenotazione' : 'available' ; |
|
|
|
for (var i in eventi) { |
|
var array_inizi = []; |
|
var array_finish = []; |
|
|
|
// console.log(eventi); |
|
|
|
var idCols = '#col_' + eventi[i].idFunzionario; |
|
|
|
var $idCols = $('#col_' + eventi[i].idFunzionario); |
|
var array_row = $('#col_' + eventi[i].idFunzionario + ' .agenda__body--row'); |
|
|
|
for (var j in eventi[i].prenotazioni) { |
|
var inizio = eventi[i].prenotazioni[j].inizio; |
|
var fine = eventi[i].prenotazioni[j].fine; |
|
var descrizione = eventi[i].prenotazioni[j].descrizione; |
|
var richiedente = eventi[i].prenotazioni[j].richiedente; |
|
|
|
//Product Backlog Item 32934 |
|
var telefono = eventi[i].prenotazioni[j].telefono; |
|
var email = eventi[i].prenotazioni[j].email; |
|
|
|
var dataId = eventi[i].prenotazioni[j].idPrenotazione; |
|
var idDescrizione = "descrizione_" + i + "_" + j; |
|
|
|
var visible = eventi[i].prenotazioni[j].visible; |
|
|
|
var html_desccrizione = ""; |
|
|
|
if(visible){ |
|
var html_desccrizione = '<div data-id="'+ dataId +'" id="' + idDescrizione + '" class="appuntamento_descrizione">' + |
|
'<p class="appuntamento_descrizione--ora">' + inizio + '-' + fine + '</p>' + |
|
'<p class="appuntamento_descrizione--richiedente">' + richiedente + '</p>' + |
|
/* '<p class="appuntamento_descrizione--desc">' + descrizione + '</p>' +*/ |
|
'</div>'; |
|
} else { |
|
var html_desccrizione = '<div data-id="'+ dataId +'" id="' + idDescrizione + '" class="appuntamento_descrizione_limite_visibile">' + |
|
'<p class="appuntamento_descrizione_limite_visibile--ora">' + inizio + '-' + fine + '</p>' + |
|
'</div>'; |
|
} |
|
|
|
var targetStart = idCols + ' div[data-id="' + inizio + '"]'; |
|
var targetEnd = idCols + ' div[data-id="' + fine + '"]'; |
|
|
|
$(targetStart).addClass('busy busy-start').removeClass(tmpClass).removeClass('available-start available-finish'); |
|
$(targetEnd).addClass('busy-finish').removeClass('available-start available-finish'); |
|
|
|
$idCols.append(html_desccrizione); |
|
|
|
// if(!visible){ |
|
// AUI().one("#"+idDescrizione).detach(); |
|
// } |
|
|
|
var bottom = $(targetEnd).offset().top; |
|
|
|
_this.positionDescription($('#' + idDescrizione), $(targetStart), bottom); |
|
|
|
} |
|
|
|
array_row.each(function (index) { |
|
if ($(this).hasClass("busy-start")) { |
|
array_inizi.push(index); |
|
} |
|
if ($(this).hasClass("busy-finish")) { |
|
array_finish.push(index); |
|
} |
|
}); |
|
|
|
$.each(array_inizi, function (indici) { |
|
array_row.filter(function (index) { |
|
if (index >= array_inizi[indici] && index < array_finish[indici]) return true; |
|
}).addClass('busy').removeClass(tmpClass).removeClass('available-start available-finish'); |
|
}); |
|
} |
|
scope.initScrollbar(); |
|
scope.initEventOnOre(presidio); |
|
scope.resizePrenotazioni(eventi); |
|
} |
|
) |
|
}, |
|
|
|
clearAvailable: function () { |
|
|
|
$('.appuntamento_descrizione').remove(); |
|
$('.appuntamento_descrizione_limite_visibile').remove(); |
|
$('.agenda__body--row').removeClass('busy busy-start busy-finish'); |
|
$('.agenda__body--row').removeClass('prenotazione'); |
|
}, |
|
|
|
clearEvents: function () { |
|
$('.agenda__body--row').removeClass('available available-start available-finish') |
|
}, |
|
|
|
positionDescription: function (idDescrizione, tagetStart, bottom) { |
|
|
|
|
|
idDescrizione.css({ |
|
"left": tagetStart.position().left, |
|
"top": tagetStart.position().top, |
|
"height": bottom - tagetStart.offset().top |
|
}); |
|
}, |
|
|
|
initScrollbar: function () { |
|
var list_appuntamenti = $('.appuntamento_descrizione'); |
|
list_appuntamenti.each(function (index) { |
|
var id_element = '#' + $(this).attr('id'); |
|
const ps = new PerfectScrollbar(id_element); |
|
}) |
|
|
|
}, |
|
|
|
popolateSelectDisponibilita: function (presidio, date, idFunzionario, oraInizio) { |
|
Liferay.Service( |
|
'/portos-calendar-appointments-portlet.disponibilita/get-disponibilita-by-date', |
|
{ |
|
presidio: presidio, |
|
date: date |
|
}, |
|
function(obj) { |
|
var disponibilita = JSON.parse(obj); |
|
var workspace = calendar.constants.workspace; |
|
|
|
for (var i in disponibilita) { |
|
if(idFunzionario == disponibilita[i].idFunzionario) { |
|
var fascieOrarie = disponibilita[i].ore; |
|
|
|
calendar.agenda.createOptionHtml(fascieOrarie, date,idFunzionario,presidio); |
|
|
|
} |
|
} |
|
|
|
AUI().one(".popup-calendar "+workspace+"oraInizio").val(oraInizio); |
|
|
|
calendar.agenda.setHourByStart(oraInizio); |
|
|
|
} |
|
); |
|
}, |
|
|
|
createOptionHtml: function(fascieOrarie, date,idFunzionario, presidio) { |
|
|
|
var oreInizio = []; |
|
var oreFine = []; |
|
var ora = ""; |
|
var htmlInizioSelect = ""; |
|
var htmlFineSelect = ""; |
|
var workspace = calendar.constants.workspace; |
|
|
|
for( var j in fascieOrarie){ |
|
|
|
var inizio = parseInt(fascieOrarie[j].inizio.substring(0, 2)); |
|
var inizioMin = parseInt(fascieOrarie[j].inizio.substring(3, 5)); |
|
var fine = parseInt(fascieOrarie[j].fine.substring(0, 2)); |
|
var fineMin = parseInt(fascieOrarie[j].fine.substring(3, 5)); |
|
|
|
oreInizio.push(fascieOrarie[j].inizio); |
|
var first=true; |
|
for(var i = inizio; i <= fine; i++) { |
|
if(i<10) { |
|
ora = '0'+i; |
|
} else { |
|
ora = ''+i; |
|
} |
|
|
|
if(first){ |
|
if(inizioMin != '30'){ |
|
oreInizio.push(ora+":30"); |
|
oreFine.push(ora+":30"); |
|
} |
|
first=false; |
|
}else{ |
|
if(i<fine){ |
|
oreInizio.push(ora+":00"); |
|
oreInizio.push(ora+":30"); |
|
}else if(i==fine && fineMin=='30'){ |
|
oreInizio.push(ora+":00"); |
|
} |
|
if (i != fine){ |
|
oreFine.push(ora+":00"); |
|
oreFine.push(ora+":30"); |
|
}else if(fineMin == '30'){ |
|
oreFine.push(ora+":00"); |
|
} |
|
} |
|
} |
|
|
|
oreFine.push(fascieOrarie[j].fine); |
|
} |
|
|
|
|
|
Liferay.Service( |
|
'/portos-calendar-appointments-portlet.disponibilita/verify-disponibilita-by-date-hour', |
|
{ |
|
presidio: presidio, |
|
date: date, |
|
oreInizio:oreInizio, |
|
idFunzionario:idFunzionario |
|
}, |
|
function(obj) { |
|
|
|
var slotJson = JSON.parse(obj); |
|
var slot = slotJson.slot; |
|
var nslot = slot.length; |
|
|
|
for (var i = 0; i < nslot; i++) { |
|
if(slot[i].disponibile){ |
|
htmlInizioSelect += '<option value="'+ slot[i].ora +'">'+ slot[i].ora +'</option>'; |
|
} else { |
|
htmlInizioSelect += '<option disabled="disabled" value="'+ slot[i].ora +'">'+ slot[i].ora +'</option>'; |
|
} |
|
} |
|
|
|
$(".popup-calendar "+ workspace +"oraInizio").html(htmlInizioSelect); |
|
|
|
oreFine.forEach(function( entry ) { |
|
htmlFineSelect += '<option value="'+ entry +'">'+ entry +'</option>'; |
|
}); |
|
|
|
$(".popup-calendar "+ workspace +"oraFineSelect").html(htmlFineSelect); |
|
} |
|
); |
|
|
|
|
|
}, |
|
|
|
initEventOnOre: function(presidio){ |
|
|
|
var workspace = calendar.constants.workspace; |
|
var idCol = $(this).closest('.agenda__body--col').attr('id'); |
|
var dataId = $(this).data('id'); |
|
var userId = Liferay.ThemeDisplay.getUserName(); |
|
|
|
AUI().all(".appuntamento_descrizione").on( |
|
'click', |
|
function(event) { |
|
event.preventDefault(); |
|
|
|
var prenotazione = event.currentTarget.getData('id'); |
|
|
|
AUI().io.request( |
|
calendar.constants.getBookingUrl, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_prenotazioneId": prenotazione |
|
}, |
|
dataType: 'json', |
|
on: { |
|
failure: function() { |
|
alert('impossibile rimuovere la firma!'); |
|
}, |
|
success: function(event, id, obj) { |
|
var response = this.get('responseData'); |
|
|
|
var idPrenotazione = response.idPrenotazione; |
|
var funzionario = response.funzionario; |
|
var funzionarioId = response.funzionarioId; |
|
var date = $("#datepicker").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); |
|
var oraInizio = response.inizio; |
|
var oraFine = response.fine; |
|
var desc = response.descrizione; |
|
var richiedente = response.richiedente; |
|
|
|
//Product Backlog Item 32934 |
|
var telefono = response.telefono; |
|
var email = response.email; |
|
|
|
// calendar.agenda.popolateSelectDisponibilita(presidio, date, funzionarioId, oraInizio); |
|
|
|
$('.val-funzionario').html(funzionario); |
|
$('.val-richiedente').html(richiedente); |
|
|
|
$(".popup-calendar "+ workspace +"idPrenotazione").html(idPrenotazione) |
|
$(".popup-calendar "+ workspace +"descrizione").val(desc); |
|
$(".popup-calendar "+ workspace +"funzionarioId").val(funzionarioId); |
|
$(".popup-calendar "+ workspace +"dataAppuntamento").val(date); |
|
|
|
//Product Backlog Item 32934 |
|
$(".popup-calendar "+ workspace +"telefono").val(telefono); |
|
$(".popup-calendar "+ workspace +"email").val(email); |
|
|
|
// setTimeout(function() { |
|
$(".popup-calendar "+workspace+"oraInizio").val(oraInizio); |
|
$(".popup-calendar "+workspace+"oraFineSelect").val(oraFine); |
|
// }, 400); |
|
|
|
|
|
|
|
if(response!=undefined && response!=null ){ |
|
$('.popup-calendar').not('#disponibilitaPopUp').slideDown(); |
|
$('.layer-popup').addClass('active'); |
|
calendar.agenda.viewMode(); |
|
} |
|
} |
|
} |
|
} |
|
); |
|
} |
|
); |
|
|
|
// AUI().all(".agenda__body--row.available").on( |
|
AUI().all(".agenda__body--row").on( |
|
'click', |
|
function(event) { |
|
event.preventDefault(); |
|
|
|
// console.log($(event.currentTarget).attr('data-id')); |
|
var isDisponibilitaAvailable = event.currentTarget.hasClass('available'); |
|
var isPrenotazioneModeOn = event.currentTarget.hasClass('prenotazione'); |
|
|
|
// console.log('isDisponibilitaAvailable ' + isDisponibilitaAvailable); |
|
// console.log('isDirigenteGenerale ' + isDirigenteGenerale); |
|
// console.log('isIstruttoreForOrgs ' + isIstruttoreForOrgs); |
|
// console.log('isPOForOrgs ' + isPOForOrgs); |
|
// console.log('isBoUser ' + isBoUser); |
|
|
|
var isFeUser = !(isDirigenteGenerale=='true' || isIstruttoreForOrgs=='true' || isPOForOrgs=='true' || isBoUser=='true'); |
|
// console.log('isFeUser ' + isFeUser); |
|
|
|
var prenotazioneId = $(calendar.constants.workspace +"idPrenotazione").text(); |
|
// console.log('prenotazioneId ' + prenotazioneId); |
|
|
|
//slot disponibile per creazione di una prenotazione |
|
var funzionario = event.currentTarget.ancestor('.agenda__body--col').one('.agenda__body--col__header-name').html(); |
|
var funzionarioId = event.currentTarget.ancestor('.agenda__body--col').attr("id").replace("col_",""); |
|
var date = $("#datepicker").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); |
|
|
|
var oraInizio = event.currentTarget.getData('id'); |
|
// calendar.agenda.popolateSelectDisponibilita(presidio, date, funzionarioId, oraInizio); |
|
|
|
var timeArray = oraInizio.split(':'); |
|
var dtFine = new Date((new Date()).setHours(timeArray[0], timeArray[1])); |
|
dtFine = new Date(dtFine.getTime() + 30*60000); |
|
var oraFine = dtFine.getHours().toString().padStart(2, '0') + ":" + dtFine.getMinutes().toString().padStart(2, '0'); |
|
|
|
$(".popup-calendar "+ workspace +"funzionarioId").val(funzionarioId); |
|
$(".popup-calendar "+ workspace +"dataAppuntamento").val(date); |
|
$('.val-funzionario').html(funzionario); |
|
$('.val-richiedente').html(userId); |
|
|
|
if((isFeUser && isDisponibilitaAvailable) || (!isFeUser && ((isDisponibilitaAvailable && prenotazioneId) || (isPrenotazioneModeOn && calendar.constants.isModalitaPrenotazione)))){ |
|
// //slot disponibile per creazione di una prenotazione |
|
// $('.layer-popup').addClass('active'); |
|
// |
|
// var funzionario = event.currentTarget.ancestor('.agenda__body--col').one('.agenda__body--col__header-name').html(); |
|
// var funzionarioId = event.currentTarget.ancestor('.agenda__body--col').attr("id").replace("col_",""); |
|
// var date = $("#datepicker").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); |
|
// |
|
// var oraInizio = event.currentTarget.getData('id'); |
|
//// calendar.agenda.popolateSelectDisponibilita(presidio, date, funzionarioId, oraInizio); |
|
// |
|
// var timeArray = oraInizio.split(':'); |
|
// var dtFine = new Date((new Date()).setHours(timeArray[0], timeArray[1])); |
|
// dtFine = new Date(dtFine.getTime() + 30*60000); |
|
// var oraFine = dtFine.getHours().toString().padStart(2, '0') + ":" + dtFine.getMinutes().toString().padStart(2, '0'); |
|
$(workspace+"oraInizio").val(oraInizio); |
|
$(workspace+"oraFineSelect").val(oraFine); |
|
|
|
// $(".popup-calendar "+ workspace +"funzionarioId").val(funzionarioId); |
|
// $(".popup-calendar "+ workspace +"dataAppuntamento").val(date); |
|
// $('.val-funzionario').html(funzionario); |
|
// $('.val-richiedente').html(userId); |
|
|
|
if(!prenotazioneId) |
|
calendar.agenda.editMode(); |
|
else |
|
calendar.agenda.viewMode(); |
|
|
|
$('.layer-popup').addClass('active'); |
|
setTimeout(function() { |
|
$('.popup-calendar').not('#disponibilitaPopUp').slideDown(); |
|
}, 300); |
|
}else if(!isFeUser && !(calendar.constants.isModalitaPrenotazione)){ |
|
// //slot non disponibile per creazione di una disponibilità |
|
// $('.layer-popup').addClass('active'); |
|
// |
|
// var funzionario = event.currentTarget.ancestor('.agenda__body--col').one('.agenda__body--col__header-name').html(); |
|
// var funzionarioId = event.currentTarget.ancestor('.agenda__body--col').attr("id").replace("col_",""); |
|
// var date = $("#datepicker").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); |
|
// |
|
// var oraInizio = event.currentTarget.getData('id'); |
|
// var timeArray = oraInizio.split(':'); |
|
// var dtFine = new Date((new Date()).setHours(timeArray[0], timeArray[1])); |
|
// dtFine = new Date(dtFine.getTime() + 30*60000); |
|
// var oraFine = dtFine.getHours().toString().padStart(2, '0') + ":" + dtFine.getMinutes().toString().padStart(2, '0'); |
|
|
|
$(workspace+"oraInizio_disponibilita").val(oraInizio); |
|
$(workspace+"oraFineSelect_disponibilita").val(oraFine); |
|
|
|
// $(".popup-calendar "+ workspace +"funzionarioId").val(funzionarioId); |
|
// $(".popup-calendar "+ workspace +"dataAppuntamento").val(date); |
|
// $('.val-funzionario').html(funzionario); |
|
//// $('name=[userId]').html(userId); |
|
|
|
if(isDisponibilitaAvailable) |
|
calendar.agenda.viewMode(); |
|
else |
|
calendar.agenda.editMode(); |
|
|
|
$('.layer-popup').addClass('active'); |
|
setTimeout(function() { |
|
$('#disponibilitaPopUp.popup-calendar').slideDown(); |
|
}, 300); |
|
} |
|
} |
|
); |
|
}, |
|
|
|
initPopup: function () { |
|
|
|
// console.log("initPopup: "); |
|
|
|
var workspace = calendar.constants.workspace; |
|
var idCol = $(this).closest('.agenda__body--col').attr('id'); |
|
var dataId = $(this).data('id'); |
|
var userId = Liferay.ThemeDisplay.getUserName(); |
|
|
|
AUI().one(".popup-calendar "+workspace+"oraInizio").on( |
|
'change', |
|
function(event) { |
|
var oraInizio = event.currentTarget.val(); |
|
calendar.agenda.setHourByStart(oraInizio); |
|
} |
|
) |
|
|
|
AUI().all('#icon-close-popup').on( |
|
'click', |
|
function(event) { |
|
event.preventDefault(); |
|
calendar.agenda.chiudiPopup(); |
|
} |
|
); |
|
|
|
|
|
AUI().one(calendar.constants.workspace+'edit').on( |
|
'click', |
|
|
|
function(event) { |
|
event.preventDefault(); |
|
|
|
var prenotazione = AUI().one(".popup-calendar "+ calendar.constants.workspace +"idPrenotazione").text(); |
|
|
|
var userParam = calendar.constants.workspace+"userId", |
|
prenotazioneParam = calendar.constants.workspace+"prenotazioneId"; |
|
|
|
AUI().io.request( |
|
calendar.constants.isEditableUrl, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_prenotazioneId" : prenotazione |
|
}, |
|
dataType: 'json', |
|
on: { |
|
failure: function() { |
|
alert('Non si hanno i permessi per modificare la prenotazione'); |
|
}, |
|
success: function(event, id, obj) { |
|
var response = this.get('responseData'); |
|
|
|
if(response!=undefined && response!=null ){ |
|
if(response.status == "success"){ |
|
calendar.agenda.editMode(); |
|
} else if (response.status == "error"){ |
|
alert('Non si hanno i permessi per modificare la prenotazione'); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
); |
|
} |
|
); |
|
|
|
|
|
AUI().one(calendar.constants.workspace+'save_disponibilita').on( |
|
'click', |
|
|
|
function(event) { |
|
|
|
event.preventDefault(); |
|
|
|
var oraInizio = $(calendar.constants.workspace +"oraInizio_disponibilita").val(); |
|
var oraFine = $(calendar.constants.workspace +"oraFineSelect_disponibilita").val(); |
|
var funzionarioId = $(calendar.constants.workspace + "funzionarioId").val(); |
|
var date = $("#datepicker").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); |
|
var presidio = calendar.constants.presidio; |
|
|
|
// console.log('oraInizio ' + oraInizio); |
|
// console.log('oraFine ' + oraFine); |
|
// console.log('funzionarioId ' + funzionarioId); |
|
// console.log('date ' + date); |
|
// console.log('presidio ' + presidio); |
|
|
|
if (confirm("Sei sicuro di voler salvare?") == true) { |
|
AUI().io.request( |
|
calendar.constants.createDisponibilitaUrl, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_oraInizio" : oraInizio, |
|
"_1_WAR_portoscalendarappointmentsportlet_oraFine" : oraFine, |
|
"_1_WAR_portoscalendarappointmentsportlet_date" : date, |
|
"_1_WAR_portoscalendarappointmentsportlet_funzionarioId" : funzionarioId, |
|
"_1_WAR_portoscalendarappointmentsportlet_presidio" : presidio |
|
}, |
|
dataType: 'json', |
|
on: { |
|
failure: function() { |
|
alert('Non si hanno i permessi per creare una disponibilità'); |
|
}, |
|
success: function(event, id, obj) { |
|
if("success" == JSON.parse(obj.response).status){ |
|
var selectedSlot = $('#col_' + funzionarioId).find('[data-id="' + oraInizio + '"]'); |
|
selectedSlot.addClass('first_half_hour available available-start'); |
|
selectedSlot.next().addClass('first_half_hour available-finish'); |
|
calendar.agenda.chiudiPopup(); |
|
}else |
|
alert('Non si hanno i permessi per creare una disponibilità'); |
|
|
|
calendar.agenda.chiudiPopup(); |
|
} |
|
} |
|
} |
|
); |
|
|
|
} |
|
} |
|
); |
|
|
|
AUI().one(calendar.constants.workspace+'delete_disponibilita').on( |
|
'click', |
|
|
|
function(event) { |
|
|
|
event.preventDefault(); |
|
|
|
var oraInizio = $(calendar.constants.workspace +"oraInizio_disponibilita").val(); |
|
var oraFine = $(calendar.constants.workspace +"oraFineSelect_disponibilita").val(); |
|
var funzionarioId = $(calendar.constants.workspace + "funzionarioId").val(); |
|
var date = $("#datepicker").datepicker({ dateFormat: 'dd,MM,yyyy' }).val(); |
|
var presidio = calendar.constants.presidio; |
|
|
|
// console.log('oraInizio ' + oraInizio); |
|
// console.log('oraFine ' + oraFine); |
|
// console.log('funzionarioId ' + funzionarioId); |
|
// console.log('date ' + date); |
|
// console.log('presidio ' + presidio); |
|
|
|
if (confirm("Sei sicuro di voler cancellare?") == true) { |
|
AUI().io.request( |
|
calendar.constants.deleteDisponibilitaUrl, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_oraInizio" : oraInizio, |
|
"_1_WAR_portoscalendarappointmentsportlet_oraFine" : oraFine, |
|
"_1_WAR_portoscalendarappointmentsportlet_date" : date, |
|
"_1_WAR_portoscalendarappointmentsportlet_funzionarioId" : funzionarioId, |
|
"_1_WAR_portoscalendarappointmentsportlet_presidio" : presidio |
|
}, |
|
dataType: 'json', |
|
on: { |
|
failure: function() { |
|
alert('Non si hanno i permessi per cancellare una disponibilità'); |
|
}, |
|
success: function(event, id, obj) { |
|
if("success" == JSON.parse(obj.response).status){ |
|
var selectedSlot = $('#col_' + funzionarioId).find('[data-id="' + oraInizio + '"]'); |
|
selectedSlot.removeClass('first_half_hour available available-start'); |
|
selectedSlot.next().removeClass('first_half_hour available-finish'); |
|
} |
|
else |
|
alert('Non si hanno i permessi per cancellare una disponibilità'); |
|
|
|
calendar.agenda.chiudiPopup(); |
|
} |
|
} |
|
} |
|
); |
|
|
|
} |
|
} |
|
); |
|
|
|
AUI().one(calendar.constants.workspace+'save').on( |
|
'click', |
|
|
|
function(event) { |
|
event.preventDefault(); |
|
|
|
//Product Backlog Item 32934 |
|
var isValid = true; |
|
$("[name*='descrizione'],[name*='telefono'],[name*='email']").each(function () { |
|
if ($.trim($(this).val()) === '') { |
|
isValid = false; |
|
$(this).css({ |
|
"border": "1px solid red" |
|
}); |
|
} |
|
else { |
|
$(this).css({ |
|
"border": "", |
|
"background": "" |
|
}); |
|
} |
|
}); |
|
|
|
var email = $("[name*='email']"); |
|
var val = email.val(); |
|
var regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; |
|
var regexObj = new RegExp (regex); |
|
var resultEmail = regexObj.test(val); |
|
if(resultEmail === false){ |
|
isValid = false; |
|
email.css({ |
|
"border": "1px solid red" |
|
}); |
|
} |
|
|
|
var telefono = $("[name*='telefono']"); |
|
var val = telefono.val(); |
|
var regex = /^\d+$/; |
|
var regexObjTelefono = new RegExp (regex); |
|
var resultTelefono = regexObjTelefono.test(val); |
|
if(resultTelefono === false){ |
|
isValid = false; |
|
telefono.css({ |
|
"border": "1px solid red" |
|
}); |
|
} |
|
|
|
if (isValid === false) |
|
return; |
|
|
|
var prenotazione = AUI().one(".popup-calendar "+ calendar.constants.workspace +"idPrenotazione").text(), |
|
oraInizio = AUI().one(".popup-calendar "+ calendar.constants.workspace +"oraInizio").get('value'); |
|
oraFine = AUI().one(".popup-calendar "+ calendar.constants.workspace +"oraFineSelect").get('value'), |
|
descrizione = AUI().one(".popup-calendar "+ calendar.constants.workspace +"descrizione").get('value'); |
|
|
|
//Product Backlog Item 32934 |
|
telefono = AUI().one(".popup-calendar "+ calendar.constants.workspace +"telefono").get('value'); |
|
email = AUI().one(".popup-calendar "+ calendar.constants.workspace +"email").get('value'); |
|
|
|
|
|
if(prenotazione != ""){ |
|
if (confirm("Sei sicuro di voler fissare l'appuntamento?") == true) { |
|
// console.log('inner SAVE'); |
|
AUI().io.request( |
|
calendar.constants.createDisponibilita, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_prenotazioneId" : prenotazione, |
|
"_1_WAR_portoscalendarappointmentsportlet_oraInizio" : oraInizio, |
|
"_1_WAR_portoscalendarappointmentsportlet_oraFine" : oraFine, |
|
"_1_WAR_portoscalendarappointmentsportlet_descrizione" : descrizione, |
|
|
|
//Product Backlog Item 32934 |
|
"_1_WAR_portoscalendarappointmentsportlet_telefono" : telefono, |
|
"_1_WAR_portoscalendarappointmentsportlet_email" : email |
|
}, |
|
dataType: 'json', |
|
on: { |
|
failure: function() { |
|
alert('Non si hanno i permessi per modificare la prenotazione'); |
|
}, |
|
success: function(event, id, obj) { |
|
// var response = this.get('responseData'); |
|
// calendar.agenda.chiudiPopup(); |
|
// var day = $("#datepicker").val(); |
|
// var day_now = {"_1_WAR_portoscalendarappointmentsportlet_data" : day}; |
|
// Liferay.Portlet.refresh('#p_p_id_1_WAR_portoscalendarappointmentsportlet_', day_now); |
|
// |
|
// if(response!=undefined && response!=null ){ |
|
// alert('ok') |
|
// } |
|
|
|
if("success" == JSON.parse(obj.response).status){ |
|
var response = this.get('responseData'); |
|
calendar.agenda.chiudiPopup(); |
|
var day = $("#datepicker").val(); |
|
var day_now = {"_1_WAR_portoscalendarappointmentsportlet_data" : day}; |
|
// Liferay.Portlet.refresh('#p_p_id_1_WAR_portoscalendarappointmentsportlet_', day_now); |
|
}else |
|
alert('Non si hanno i permessi per creare una prenotazione'); |
|
|
|
calendar.agenda.chiudiPopup(); |
|
calendar.refresh(); |
|
} |
|
} |
|
} |
|
); |
|
|
|
} |
|
} else { |
|
if (confirm("Sei sicuro di voler fissare l'appuntamento?") == true) { |
|
var funzionarioId = AUI().one(".popup-calendar "+ calendar.constants.workspace +"funzionarioId").val(), |
|
professionistaId = AUI().one(".popup-calendar "+ calendar.constants.workspace +"professionistaId").val(), |
|
dataAppuntamento = $("#datepicker").val(); |
|
|
|
AUI().io.request( |
|
calendar.constants.newBookingUrl, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_funzionarioId" : funzionarioId, |
|
"_1_WAR_portoscalendarappointmentsportlet_professionistaId" : professionistaId, |
|
"_1_WAR_portoscalendarappointmentsportlet_dataAppuntamento" : dataAppuntamento, |
|
"_1_WAR_portoscalendarappointmentsportlet_oraInizio" : oraInizio, |
|
"_1_WAR_portoscalendarappointmentsportlet_oraFine" : oraFine, |
|
"_1_WAR_portoscalendarappointmentsportlet_descrizione" : descrizione, |
|
|
|
//Product Backlog Item 32934 |
|
"_1_WAR_portoscalendarappointmentsportlet_telefono" : telefono, |
|
"_1_WAR_portoscalendarappointmentsportlet_email" : email |
|
}, |
|
dataType: 'json', |
|
on: { |
|
failure: function() { |
|
alert('Non si hanno i permessi per aggiungere una nuova prenotazione'); |
|
}, |
|
success: function(event, id, obj) { |
|
// var response = this.get('responseData'); |
|
// calendar.agenda.chiudiPopup(); |
|
// var day = $("#datepicker").val(); |
|
// var day_now = {"_1_WAR_portoscalendarappointmentsportlet_data" : day}; |
|
// Liferay.Portlet.refresh('#p_p_id_1_WAR_portoscalendarappointmentsportlet_', day_now); |
|
// |
|
// if(response!=undefined && response!=null ){ |
|
// alert('ok'); |
|
// } |
|
|
|
if("success" == JSON.parse(obj.response).status){ |
|
var response = this.get('responseData'); |
|
calendar.agenda.chiudiPopup(); |
|
var day = $("#datepicker").val(); |
|
var day_now = {"_1_WAR_portoscalendarappointmentsportlet_data" : day}; |
|
// Liferay.Portlet.refresh('#p_p_id_1_WAR_portoscalendarappointmentsportlet_', day_now); |
|
}else |
|
alert('Non si hanno i permessi per creare una prenotazione'); |
|
|
|
calendar.agenda.chiudiPopup(); |
|
calendar.refresh(); |
|
} |
|
} |
|
} |
|
); |
|
} |
|
} |
|
} |
|
); |
|
|
|
AUI().one(calendar.constants.workspace+'delete').on( |
|
'click', |
|
|
|
function(event) { |
|
if (confirm("Sei sicuro di voler cancellare l'appuntamento?") == true) { |
|
|
|
event.preventDefault(); |
|
|
|
var prenotazione = AUI().one(".popup-calendar "+ calendar.constants.workspace +"idPrenotazione").text(), |
|
user = AUI().one(".popup-calendar "+ calendar.constants.workspace +"professionistaId").val(); |
|
var funzionario = $(calendar.constants.workspace + "funzionarioId").val(); |
|
|
|
AUI().io.request( |
|
calendar.constants.deleteBookingUrl, |
|
{ |
|
data: { |
|
"_1_WAR_portoscalendarappointmentsportlet_prenotazioneId" : prenotazione, |
|
"_1_WAR_portoscalendarappointmentsportlet_userId" : user, |
|
"_1_WAR_portoscalendarappointmentsportlet_funzionarioId" : funzionario |
|
}, |
|
|
|
on: { |
|
failure: function() { |
|
alert('Non si hanno i permessi per rimuovere questa prenotazione'); |
|
}, |
|
success: function(event, id, obj) { |
|
// console.log('/*/*/*/*/*/*') |
|
// console.log($("#datepicker").val()); |
|
// console.log('/*/*/*/*/*/*') |
|
// var response = this.get('responseData'); |
|
// calendar.agenda.chiudiPopup(); |
|
// var day = $("#datepicker").val(); |
|
// var day_now = {"_1_WAR_portoscalendarappointmentsportlet_data" : day}; |
|
// Liferay.Portlet.refresh('#p_p_id_1_WAR_portoscalendarappointmentsportlet_', day_now); |
|
// |
|
// if(response!=undefined && response!=null ){ |
|
// alert('ok') |
|
// } |
|
|
|
if("success" == JSON.parse(obj.response).status){ |
|
var response = this.get('responseData'); |
|
var day = $("#datepicker").val(); |
|
var day_now = {"_1_WAR_portoscalendarappointmentsportlet_data" : day}; |
|
// Liferay.Portlet.refresh('#p_p_id_1_WAR_portoscalendarappointmentsportlet_', day_now); |
|
}else |
|
alert('Non si hanno i permessi per cancellare una prenotazione'); |
|
|
|
calendar.agenda.chiudiPopup(); |
|
calendar.refresh(); |
|
} |
|
} |
|
} |
|
); |
|
} |
|
} |
|
|
|
); |
|
}, |
|
|
|
viewMode: function() { |
|
// console.log('viewMode'); |
|
|
|
$(".popup-calendar "+ calendar.constants.workspace +"oraInizio").prop("disabled", true); |
|
$(".popup-calendar "+ calendar.constants.workspace +"descrizione").prop("disabled", true); |
|
|
|
//Product Backlog Item 32934 |
|
$(".popup-calendar "+ calendar.constants.workspace +"telefono").prop("disabled", true); |
|
$(".popup-calendar "+ calendar.constants.workspace +"email").prop("disabled", true); |
|
|
|
$(calendar.constants.workspace +"edit").hide(); |
|
$(calendar.constants.workspace +"save").hide(); |
|
|
|
$(calendar.constants.workspace +"delete").show(); |
|
$(calendar.constants.workspace +"delete_disponibilita").show(); |
|
$(calendar.constants.workspace +"save_disponibilita").hide(); |
|
}, |
|
|
|
editMode: function () { |
|
// console.log('editMode'); |
|
|
|
//Product Backlog Item 32934 |
|
$(".popup-calendar "+ calendar.constants.workspace +"oraInizio").prop("disabled", true); |
|
$(".popup-calendar "+ calendar.constants.workspace +"descrizione").prop("disabled", false); |
|
|
|
//Product Backlog Item 32934 |
|
$(".popup-calendar "+ calendar.constants.workspace +"telefono").prop("disabled", false); |
|
$(".popup-calendar "+ calendar.constants.workspace +"email").prop("disabled", false); |
|
|
|
$(calendar.constants.workspace +"save").show(); |
|
$(calendar.constants.workspace +"edit").hide(); |
|
|
|
$(calendar.constants.workspace +"delete").hide(); |
|
$(calendar.constants.workspace +"delete_disponibilita").hide(); |
|
$(calendar.constants.workspace +"save_disponibilita").show(); |
|
}, |
|
|
|
resizePrenotazioni: function (eventi) { |
|
$(window).resize(function () { |
|
for (var i in eventi) { |
|
var idCols = '#col_' + eventi[i].idFunzionario; |
|
|
|
for (var j in eventi[i].prenotazioni) { |
|
var inizio = eventi[i].prenotazioni[j].inizio; |
|
var fine = eventi[i].prenotazioni[j].fine; |
|
var dataId = eventi[i].prenotazioni[j].idPrenotazione; |
|
var idDescrizione = "descrizione_" + i + "_" + j; |
|
var targetStart = idCols + ' *[data-id="' + inizio + '"]'; |
|
var targetEnd = idCols + ' *[data-id="' + fine + '"]'; |
|
var bottom = $(targetEnd).offset().top; |
|
calendar.agenda.positionDescription($('#' + idDescrizione), $(targetStart), bottom); |
|
} |
|
} |
|
}); |
|
}, |
|
|
|
setHourByStart: function(oraInizio) { |
|
//var options = $('#_1_WAR_portoscalendarappointmentsportlet_oraInizio option'); |
|
//options = options.index($('#_1_WAR_portoscalendarappointmentsportlet_oraInizio option[value="'+oraInizio+'"]')); |
|
|
|
setTimeout(function() { |
|
$(".popup-calendar #_1_WAR_portoscalendarappointmentsportlet_oraInizio").val(oraInizio); |
|
var options = $('#_1_WAR_portoscalendarappointmentsportlet_oraInizio option'); |
|
options = options.index($('#_1_WAR_portoscalendarappointmentsportlet_oraInizio option[value="'+oraInizio+'"]')); |
|
calendar.agenda.changeSelectFine(options); |
|
},300); |
|
|
|
|
|
}, |
|
|
|
changeSelectFine: function(index) { |
|
document.getElementById("_1_WAR_portoscalendarappointmentsportlet_oraFineSelect").selectedIndex = index; |
|
|
|
setTimeout(function() { |
|
var oraFine = $("#_1_WAR_portoscalendarappointmentsportlet_oraFineSelect").val(); |
|
$(".popup-calendar #_1_WAR_portoscalendarappointmentsportlet_oraFine").val(oraFine); |
|
}, 300); |
|
|
|
|
|
}, |
|
|
|
chiudiPopup: function() { |
|
|
|
var workspace = calendar.constants.workspace; |
|
$('.popup-calendar').slideUp(); |
|
|
|
$('.val-funzionario').html(""); |
|
$('.val-richiedente').html(""); |
|
$(".popup-calendar "+ workspace +"idPrenotazione").html(""); |
|
$(".popup-calendar "+ workspace +"oraInizio").val(""); |
|
$(".popup-calendar "+ workspace +"oraFine").val(""); |
|
$(".popup-calendar "+ workspace +"oraFineSelect").val(""); |
|
$(".popup-calendar "+ workspace +"descrizione").val(""); |
|
$(".popup-calendar "+ workspace +"funzionarioId").val(""); |
|
$(".popup-calendar "+ workspace +"dataAppuntamento").val(""); |
|
|
|
//Product Backlog Item 32934 |
|
$(".popup-calendar "+ workspace +"telefono").val(""); |
|
$(".popup-calendar "+ workspace +"email").val(""); |
|
|
|
$('.layer-popup').removeClass('active'); |
|
|
|
$('#disponibilitaPopUp.popup-calendar').slideUp(); |
|
$(".popup-calendar-disponibilita "+ workspace +"idPrenotazione").html(""); |
|
$(".popup-calendar-disponibilita "+ workspace +"oraInizio_disponibilita").val(""); |
|
$(".popup-calendar-disponibilita "+ workspace +"oraFineSelect_disponibilita").val(""); |
|
} |
|
} |
|
};
|
|
|