diff --git a/pms/__manifest__.py b/pms/__manifest__.py index 623b9a827..b04aadc5f 100644 --- a/pms/__manifest__.py +++ b/pms/__manifest__.py @@ -36,6 +36,9 @@ "data/menus.xml", "wizards/wizard_payment_folio.xml", "wizards/folio_make_invoice_advance_views.xml", + "wizards/wizard_folio.xml", + "wizards/wizard_invoice_filter_days.xml", + "wizards/wizard_folio_changes.xml", "views/pms_amenity_views.xml", "views/pms_amenity_type_views.xml", "views/pms_board_service_views.xml", @@ -43,9 +46,11 @@ "views/pms_cancelation_rule_views.xml", "views/pms_checkin_partner_views.xml", "views/pms_floor_views.xml", - "views/pms_folio_views.xml", "views/pms_property_views.xml", "views/pms_reservation_views.xml", + "views/pms_service_views.xml", + "views/pms_service_line_views.xml", + "views/pms_folio_views.xml", "views/pms_room_type_views.xml", "views/pms_room_views.xml", "views/pms_room_closure_reason_views.xml", @@ -56,8 +61,6 @@ "views/pms_room_type_class_views.xml", "views/pms_room_type_availability_plan_views.xml", "views/pms_room_type_availability_rule_views.xml", - "views/pms_service_views.xml", - "views/pms_service_line_views.xml", "views/pms_shared_room_views.xml", "views/res_partner_views.xml", "views/product_pricelist_views.xml", @@ -70,9 +73,6 @@ "wizards/wizard_reservation.xml", "wizards/wizard_massive_changes.xml", "wizards/wizard_advanced_filters.xml", - "wizards/wizard_folio.xml", - "wizards/wizard_invoice_filter_days.xml", - "wizards/wizard_folio_changes.xml", ], "demo": [ "demo/pms_master_data.xml", diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index c93376cff..7894fc63d 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -12,6 +12,7 @@ from odoo.exceptions import ValidationError class PmsCheckinPartner(models.Model): _name = "pms.checkin.partner" _description = "Partner Checkins" + _rec_name = "identifier" # Fields declaration identifier = fields.Char( @@ -125,11 +126,9 @@ class PmsCheckinPartner(models.Model): "reservation_id.preferred_room_id", ) def _compute_name(self): - self.name = False - for record in self.filtered("reservation_id.rooms"): - record.name = record.reservation_id.rooms - if record.partner_id: - record.name = record.name + " (" + record.partner_id.name + ")" + for record in self: + if not record.name: + record.name = record.partner_id.name @api.depends("partner_id", "partner_id.email") def _compute_email(self): @@ -147,8 +146,8 @@ class PmsCheckinPartner(models.Model): def _checkin_mandatory_fields(self, depends=False): # api.depends need "reservation_id.state" in the lambda function if depends: - return ["reservation_id.state", "partner_id"] - return ["partner_id"] + return ["reservation_id.state", "name"] + return ["name"] @api.model def _checkin_partner_fields(self): diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index 35243f273..2b4169701 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -68,6 +68,11 @@ class PmsFolio(models.Model): compute="_compute_number_of_rooms", store="True", ) + number_of_services = fields.Integer( + "Number of Rooms", + compute="_compute_number_of_services", + store="True", + ) service_ids = fields.One2many( "pms.service", "folio_id", @@ -377,6 +382,11 @@ class PmsFolio(models.Model): folio.reservation_ids.filtered(lambda a: a.state != "cancelled") ) + @api.depends("service_ids", "service_ids.product_qty") + def _compute_number_of_services(self): + for folio in self: + folio.number_of_services = sum(folio.service_ids.mapped("product_qty")) + @api.depends( "reservation_ids", "service_ids", diff --git a/pms/models/res_partner.py b/pms/models/res_partner.py index 432045521..f532c0a99 100644 --- a/pms/models/res_partner.py +++ b/pms/models/res_partner.py @@ -64,7 +64,6 @@ class ResPartner(models.Model): if not args: args = [] domain = [ - "|", "|", ("phone", operator, name), ("mobile", operator, name), diff --git a/pms/views/pms_folio_views.xml b/pms/views/pms_folio_views.xml index cf6b79ba5..0c3287647 100644 --- a/pms/views/pms_folio_views.xml +++ b/pms/views/pms_folio_views.xml @@ -45,8 +45,9 @@ type="action" class="oe_stat_button" name="%(open_pms_reservation_form_tree_all)d" - icon="fa-cubes" - context="{'search_default_folio_id': active_id, 'default_folio_id': active_id}" + icon="fa-bed" + context="{'search_default_folio_id': id, 'default_folio_id': id}" + attrs="{'invisible': [('number_of_rooms', '=', 0)]}" > + - + - + + - + +
- +
@@ -613,7 +618,7 @@ - +