[IMP] Refactor Code

This commit is contained in:
QS5ELkMu
2018-12-15 21:57:48 +01:00
parent 91e84d5a03
commit bda76b216d
11 changed files with 174 additions and 274 deletions

View File

@@ -40,33 +40,34 @@ class BusHotelCalendar(models.TransientModel):
'userid': user_id.id,
'reservation': {
'room_id': vals['room_id'],
'reserv_id': vals['reserv_id'],
'partner_name': vals['partner_name'],
'id': vals['reserv_id'],
'name': vals['partner_name'],
'adults': vals['adults'],
'childer': vals['children'],
'checkin': vals['checkin'],
'checkout': vals['checkout'],
'folio_id': vals['folio_id'],
'reserve_color': vals['reserve_color'],
'reserve_color_text': vals['reserve_color_text'],
'bgcolor': vals['reserve_color'],
'color': vals['reserve_color_text'],
'splitted': vals['splitted'],
'parent_reservation': vals['parent_reservation'],
'room_name': vals['room_name'],
'state': vals['state'],
'only_read': False,
'fix_days': vals['fix_days'],
'fix_rooms': False,
'fix_room': False,
'overbooking': vals['overbooking'],
'real_dates': vals['real_dates'],
},
'tooltip': [
vals['partner_name'],
vals['partner_phone'],
vals['checkin'],
num_split,
vals['price'],
vals['reservation_type'] if 'reservation_type' in vals else 'normal',
vals['out_service_description'] if 'out_service_description' in vals else _('No reason given'),
]
'tooltip': {
'name': vals['partner_name'],
'phone': vals['partner_phone'],
'checkin': vals['checkin'],
'num_split': num_split,
'amount_total': vals['amount_total'],
'type': vals['reservation_type'] if 'reservation_type' in vals else 'normal',
'out_service_description': vals['out_service_description'] if 'out_service_description' in vals else _('No reason given'),
}
}
@api.model

View File

@@ -78,25 +78,25 @@ class HotelReservation(models.Model):
json_reservations = []
json_reservation_tooltips = {}
for reserv in reservations:
json_reservations.append([
reserv.room_id.id,
reserv.id,
reserv.folio_id.closure_reason_id.name or _('Out of service') if reserv.folio_id.reservation_type == 'out'
else reserv.folio_id.partner_id.name,
reserv.adults,
reserv.children,
reserv.checkin,
reserv.checkout,
reserv.folio_id.id,
reserv.reserve_color,
reserv.reserve_color_text,
reserv.splitted,
reserv.parent_reservation and reserv.parent_reservation.id
or False,
False, # Read-Only
reserv.splitted, # Fix Days
False, # Fix Rooms
reserv.overbooking])
json_reservations.append({
'room_id': reserv.room_id.id,
'id': reserv.id,
'name': reserv.folio_id.closure_reason_id.name or _('Out of service') if reserv.folio_id.reservation_type == 'out'
else reserv.folio_id.partner_id.name,
'adults': reserv.adults,
'childrens': reserv.children,
'checkin': reserv.checkin,
'checkout': reserv.checkout,
'folio_id': reserv.folio_id.id,
'bgcolor': reserv.reserve_color,
'color': reserv.reserve_color_text,
'splitted': reserv.splitted,
'parent_reservation': reserv.parent_reservation and reserv.parent_reservation.id or False,
'read_only': False, # Read-Only
'fix_days': reserv.splitted, # Fix Days
'fix_room': False, # Fix Rooms
'overbooking': reserv.overbooking,
'real_dates': reserv.get_real_checkin_checkout()})
num_split = 0
if reserv.splitted:
master_reserv = reserv.parent_reservation or reserv
@@ -107,16 +107,17 @@ class HotelReservation(models.Model):
('splitted', '=', True),
])
json_reservation_tooltips.update({
reserv.id: [
_('Out of service') if reserv.folio_id.reservation_type == 'out' else reserv.folio_id.partner_id.name,
reserv.folio_id.partner_id.mobile or
reserv.folio_id.partner_id.phone or _('Undefined'),
reserv.checkin,
num_split,
reserv.folio_id.amount_total,
reserv.reservation_type or 'normal',
reserv.out_service_description or _('No reason given'),
]
reserv.id: {
'name': _('Out of service') if reserv.folio_id.reservation_type == 'out' else reserv.folio_id.partner_id.name,
'phone': reserv.folio_id.partner_id.mobile or
reserv.folio_id.partner_id.phone or _('Undefined'),
'checkin': reserv.checkin,
'num_split': num_split,
'amount_total': reserv.folio_id.amount_total,
'type': reserv.reservation_type or 'normal',
'out_service_description': reserv.out_service_description or
_('No reason given'),
}
})
return (json_reservations, json_reservation_tooltips)
@@ -163,12 +164,12 @@ class HotelReservation(models.Model):
def _hcalendar_event_data(self, events):
json_events = []
for event in events:
json_events.append([
event.id,
event.name,
event.start,
event.location,
])
json_events.append({
'id': event.id,
'name': event.name,
'date': event.start,
'location': event.location,
})
return json_events
@api.model
@@ -341,39 +342,46 @@ class HotelReservation(models.Model):
return vals
@api.multi
def generate_bus_values(self, naction, ntype, ntitle=''):
self.ensure_one()
return {
'action': naction,
'type': ntype,
'title': ntitle,
'room_id': self.room_id.id,
'reserv_id': self.id,
'partner_name': (self.closure_reason_id.name or _('Out of service'))
if self.reservation_type == 'out' else self.partner_id.name,
'adults': self.adults,
'children': self.children,
'checkin': self.checkin,
'checkout': self.checkout,
'folio_id': self.folio_id.id,
'reserve_color': self.reserve_color,
'reserve_color_text': self.reserve_color_text,
'splitted': self.splitted,
'parent_reservation': self.parent_reservation and
self.parent_reservation.id or 0,
'room_name': self.room_id.name,
'partner_phone': self.partner_id.mobile
or self.partner_id.phone or _('Undefined'),
'state': self.state,
'fix_days': self.splitted,
'overbooking': self.overbooking,
'amount_total': self.folio_id.amount_total,
'reservation_type': self.reservation_type or 'normal',
'closure_reason_id': self.closure_reason_id,
'out_service_description': self.out_service_description or _('No reason given'),
'real_dates': self.get_real_checkin_checkout(),
}
@api.multi
def send_bus_notification(self, naction, ntype, ntitle=''):
hotel_cal_obj = self.env['bus.hotel.calendar']
for record in self:
hotel_cal_obj.send_reservation_notification({
'action': naction,
'type': ntype,
'title': ntitle,
'room_id': record.room_id.id,
'reserv_id': record.id,
'partner_name': (record.closure_reason_id.name or _('Out of service'))
if record.reservation_type == 'out' else record.partner_id.name,
'adults': record.adults,
'children': record.children,
'checkin': record.checkin,
'checkout': record.checkout,
'folio_id': record.folio_id.id,
'reserve_color': record.reserve_color,
'reserve_color_text': record.reserve_color_text,
'splitted': record.splitted,
'parent_reservation': record.parent_reservation and
record.parent_reservation.id or 0,
'room_name': record.room_id.name,
'partner_phone': record.partner_id.mobile
or record.partner_id.phone or _('Undefined'),
'state': record.state,
'fix_days': record.splitted,
'overbooking': record.overbooking,
'price': record.folio_id.amount_total,
'reservation_type': record.reservation_type,
'closure_reason_id': record.closure_reason_id,
'out_service_description': record.out_service_description or _('No reason given'),
})
hotel_cal_obj.send_reservation_notification(
record.generate_bus_values(naction, ntype, ntitle))
@api.model
def swap_reservations(self, fromReservsIds, toReservsIds):
@@ -431,9 +439,7 @@ class HotelReservation(models.Model):
'reserve_color' in vals or \
'reserve_color_text' in vals or 'product_id' in vals or \
'parent_reservation' in vals or 'overbooking' in vals:
_logger.info("PASA RESERV WRITE")
for record in self:
_logger.info("PASA RESERV WRITE 22")
record.send_bus_notification(
'write',
(record.state == 'cancelled') and 'warn' or 'notify',