[WIP] Multi-Calendar

This commit is contained in:
QS5ELkMu
2018-12-10 22:23:30 +01:00
parent faf0146b82
commit 8784f982c8
3 changed files with 23 additions and 22 deletions

View File

@@ -68,8 +68,7 @@ var PMSCalendarController = AbstractController.extend({
return this.model.update_records(ids, values).then(function(result){
// Remove OB Room Row?
if (oldReserv.room.overbooking && !newReserv.room.overbooking) {
console.log("DISPARA BORRADO!");
self._multi_calendar.remove_obroom_row(oldReserv);
self._multi_calendar.remove_obroom_row(oldReserv, true);
}
}).fail(function(err, errev){
self._multi_calendar.replace_reservation(newReserv, oldReserv);

View File

@@ -80,9 +80,13 @@ odoo.define('hotel_calendar.MultiCalendar', function(require) {
}
},
remove_obroom_row: function(reserv) {
for (var calendar of this._calendars) {
calendar.removeOBRoomRow(reserv);
remove_obroom_row: function(reserv, only_active_calendar) {
if (only_active_calendar) {
this.get_active_calendar().removeOBRoomRow(reserv);
} else {
for (var calendar of this._calendars) {
calendar.removeOBRoomRow(reserv);
}
}
},

View File

@@ -573,24 +573,24 @@ HotelCalendar.prototype = {
}
var obRoomRow = this.getOBRoomRow(ob_reserv);
// Update Reservations Position
var bounds = obRoomRow.getBoundingClientRect();
var cheight = bounds.bottom-bounds.top;
var start_index = _.indexOf(this.options.rooms, ob_reserv.room) + 1;
for (var i=start_index; i<this.options.rooms.length; i++) {
var reservs = this.getReservationsByRoom(this.options.rooms[i], true);
for (var reserv of reservs) {
if (reserv && reserv._html) {
var top = parseInt(reserv._html.style.top, 10);
reserv._html.style.top = `${top - cheight}px`;
if (obRoomRow) {
// Update Reservations Position
var bounds = obRoomRow.getBoundingClientRect();
var cheight = bounds.bottom-bounds.top;
var start_index = _.indexOf(this.options.rooms, ob_reserv.room) + 1;
for (var i=start_index; i<this.options.rooms.length; i++) {
var reservs = this.getReservationsByRoom(this.options.rooms[i], true);
for (var reserv of reservs) {
if (reserv && reserv._html) {
var top = parseInt(reserv._html.style.top, 10);
reserv._html.style.top = `${top - cheight}px`;
}
}
}
}
obRoomRow.parentNode.removeChild(obRoomRow);
this.options.rooms = _.reject(this.options.rooms, function(item){ return item === ob_reserv.room; });
ob_reserv.room = false;
obRoomRow.parentNode.removeChild(obRoomRow);
this.options.rooms = _.reject(this.options.rooms, function(item){ return item.id === ob_reserv.room.id; });
}
},
getOBRealRoomInfo: function(/*HRoomObject*/room) {
@@ -2511,8 +2511,6 @@ HotelCalendar.prototype = {
newPrice += this.getRoomPrice(newReservation.room, ndate);
}
console.log("OLLL----");
console.log(oldReservation);
this._dispatchEvent(
'hcalOnChangeReservation',
{