mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[FIX] Calendar Movements + Manual Date Selection
This commit is contained in:
@@ -239,12 +239,14 @@ var PMSCalendarController = AbstractController.extend({
|
||||
}
|
||||
|
||||
self._multi_calendar._reserv_tooltips = _.extend(this._multi_calendar._reserv_tooltips, results['tooltips']);
|
||||
self._multi_calendar.merge_days_tooltips(results['events']);
|
||||
self._multi_calendar.merge_pricelist(results['pricelist'], active_calendar);
|
||||
self._multi_calendar.merge_restrictions(results['restrictions'], active_calendar);
|
||||
self._multi_calendar.merge_reservations(reservs, active_calendar);
|
||||
_.defer(function(){
|
||||
self._multi_calendar.merge_days_tooltips(results['events']);
|
||||
self._multi_calendar.merge_pricelist(results['pricelist'], active_calendar);
|
||||
self._multi_calendar.merge_restrictions(results['restrictions'], active_calendar);
|
||||
self._multi_calendar.merge_reservations(reservs, active_calendar);
|
||||
|
||||
self._multi_calendar._assign_extra_info(active_calendar);
|
||||
self._multi_calendar._assign_extra_info(active_calendar);
|
||||
});
|
||||
}.bind(this)).then(function(){
|
||||
self._last_dates = filterDates;
|
||||
});
|
||||
@@ -256,10 +258,10 @@ var PMSCalendarController = AbstractController.extend({
|
||||
var $dateEndDays = this.renderer.$el.find('#pms-menu #date_end_days');
|
||||
$dateTimePickerBegin.on("dp.change", function (e) {
|
||||
$dateTimePickerBegin.data("DateTimePicker").hide();
|
||||
self._on_change_filter_date(true);
|
||||
self._on_change_filter_date();
|
||||
});
|
||||
$dateEndDays.on("change", function (e) {
|
||||
self._on_change_filter_date(false);
|
||||
self._on_change_filter_date();
|
||||
});
|
||||
|
||||
this.renderer.$el.find("#btn_swap button").on('click', function(ev){
|
||||
@@ -872,19 +874,18 @@ var PMSCalendarController = AbstractController.extend({
|
||||
this._multi_calendar.get_active_calendar().setDomain(HotelCalendar.DOMAIN.ROOMS, domain);
|
||||
},
|
||||
|
||||
_on_change_filter_date: function(isStartDate) {
|
||||
isStartDate = isStartDate || false;
|
||||
_on_change_filter_date: function() {
|
||||
var $dateTimePickerBegin = this.renderer.$el.find('#pms-menu #date_begin');
|
||||
var $dateEndDays = this.renderer.$el.find('#pms-menu #date_end_days');
|
||||
|
||||
// FIXME: Hackish onchange ignore (Used when change dates from code)
|
||||
if ($dateTimePickerBegin.data("ignore_onchange") || $dateEndDays.data("ignore_onchange")) {
|
||||
$dateTimePickerBegin.data("ignore_onchange", false);
|
||||
$dateEndDays.data("ignore_onchange", false)
|
||||
$dateEndDays.data("ignore_onchange", false);
|
||||
return true;
|
||||
}
|
||||
|
||||
var date_begin = $dateTimePickerBegin.data("DateTimePicker").date().set({'hour': 0, 'minute': 0, 'second': 0}).clone().utc();
|
||||
var date_begin = $dateTimePickerBegin.data("DateTimePicker").date().set({'hour': 0, 'minute': 0, 'second': 0}).clone();
|
||||
|
||||
var active_calendar = this._multi_calendar.get_active_calendar();
|
||||
if (active_calendar && date_begin) {
|
||||
@@ -893,7 +894,7 @@ var PMSCalendarController = AbstractController.extend({
|
||||
days = date_begin.daysInMonth();
|
||||
}
|
||||
var date_end = date_begin.clone().add(days, 'd');
|
||||
if (!date_begin.isSame(this._last_dates[0].clone().utc(), 'd') || !date_end.isSame(this._last_dates[1].clone().utc(), 'd')) {
|
||||
if (!date_begin.isSame(this._last_dates[0].clone(), 'd') || !date_end.isSame(this._last_dates[1].clone(), 'd')) {
|
||||
active_calendar.setStartDate(date_begin, $dateEndDays.val(), false, function(){
|
||||
this._reload_active_calendar();
|
||||
}.bind(this));
|
||||
|
||||
@@ -329,28 +329,27 @@ odoo.define('hotel_calendar.MultiCalendar', function(require) {
|
||||
|
||||
_assign_extra_info: function(calendar) {
|
||||
var self = this;
|
||||
$(calendar.etable).find('.hcal-cell-room-type-group-item.btn-hcal-3d').on("mouseenter", function(){
|
||||
var $this = $(this);
|
||||
var room = calendar.getRoom($this.parent().data("hcalRoomObjId"));
|
||||
if (room.overbooking) {
|
||||
$this.tooltip({
|
||||
animation: true,
|
||||
html: true,
|
||||
placement: 'right',
|
||||
title: QWeb.render('HotelCalendar.TooltipRoomOverbooking', {'name': room.number})
|
||||
}).tooltip('show');
|
||||
return;
|
||||
$(calendar.etable).find('.hcal-cell-room-type-group-item.btn-hcal-left').on("mouseenter", function(){
|
||||
var $this = $(this);
|
||||
var room = calendar.getRoom($this.parent().data("hcalRoomObjId"));
|
||||
if (room.overbooking) {
|
||||
$this.tooltip({
|
||||
animation: true,
|
||||
html: true,
|
||||
placement: 'right',
|
||||
title: QWeb.render('HotelCalendar.TooltipRoomOverbooking', {'name': room.number})
|
||||
}).tooltip('show');
|
||||
} else {
|
||||
var qdict = {
|
||||
'room_type_name': room.getUserData('room_type_name'),
|
||||
'name': room.number
|
||||
};
|
||||
$this.tooltip({
|
||||
animation: true,
|
||||
html: true,
|
||||
placement: 'right',
|
||||
title: QWeb.render('HotelCalendar.TooltipRoom', qdict)
|
||||
}).tooltip('show');
|
||||
var qdict = {
|
||||
'room_type_name': room.getUserData('room_type_name'),
|
||||
'name': room.number
|
||||
};
|
||||
$this.tooltip({
|
||||
animation: true,
|
||||
html: true,
|
||||
placement: 'right',
|
||||
title: QWeb.render('HotelCalendar.TooltipRoom', qdict)
|
||||
}).tooltip('show');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user