mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
Multiproperty Constrains (#30)
* [IMP] add multiproperties demo data * [IMP] add multiproperties checks in res_users * [IMP] add test case in test_res_users * [IMP] Add multiproperty checks in pms_amenity and pms_amenity_type * [IMP] Add multiproperty in pms_board_service_room_type(pending review) * [IMP] Add test case in test_pms_room_type_availability_rule to check multiproperties * [IMP] Fixing test case in test_pms_room_type_availability_rule to check multiproperties * [IMP] Add test case in test_pms_room_type_availability_rule * [IMP] Removed field default_availability_plan_id from pms_property * [IMP] Add multiproperty in pms_room_type_available_plan * [IMP] pms: adding property in rooms_available * [IMP] Add multiproperty in pms_room_type_availability_rule and product_pricelist(work in progress) * [IMP] Add multiproperty in product_pricelist and product_pricelist_item * [IMP] add multiproperties demo data * [IMP] add multiproperties checks in res_users * [IMP] add test case in test_res_users and pms_room_type_availability_rule * [IMP] Add multiproperty checks in pms_amenity and pms_amenity_type * [IMP] Add multiproperty in pms_board_service_room_type(pending review) * [IMP] Removed field default_availability_plan_id from pms_property * [IMP] Add multiproperty in pms_room_type_available_plan * [IMP] pms: adding property in rooms_available * [IMP] Add multiproperty in pms_room_type_availability_rule and product_pricelist(work in progress) * [IMP] Add multiproperty in product_pricelist and product_pricelist_item * [IMP] Pms: add compute_folio method in pms.service * [IMP] Pms: add multiproperty integrity checks between room_type and its class * [IMP] Pms: pms_property_id related to folio * [IMP] Pms: add multiproperty integrity checks in pms_room with pms_room_type and pms_floor * [IMP] Pms: adding multiproperty checks in room_type(work in progress) * [IMP] Pms: Add property rules * [FIX]pms: external ids security rules * [FIX]pms: property checks * [FIX]pms: get product on pricelist item multiproperty check * [FIX]pms: delete test field default_plan * [FIX]pms: property constrain to product from room type model * [FIX]pms: ids references * [IMP]pms: folio wizard price flow on odoo standar Co-authored-by: Darío Lodeiros <dario@commitsun.com>
This commit is contained in:
@@ -35,12 +35,6 @@ class PmsService(models.Model):
|
||||
return self.env.context.get("default_reservation_id")
|
||||
return False
|
||||
|
||||
@api.model
|
||||
def _default_folio_id(self):
|
||||
if "folio_id" in self._context:
|
||||
return self._context["folio_id"]
|
||||
return False
|
||||
|
||||
# Fields declaration
|
||||
name = fields.Char(
|
||||
"Service description",
|
||||
@@ -52,7 +46,11 @@ class PmsService(models.Model):
|
||||
"product.product", "Service", ondelete="restrict", required=True
|
||||
)
|
||||
folio_id = fields.Many2one(
|
||||
"pms.folio", "Folio", ondelete="cascade", default=_default_folio_id
|
||||
comodel_name="pms.folio",
|
||||
string="Folio",
|
||||
compute="_compute_folio_id",
|
||||
readonly=False,
|
||||
store=True
|
||||
)
|
||||
reservation_id = fields.Many2one(
|
||||
"pms.reservation", "Room", default=_default_reservation_id
|
||||
@@ -68,7 +66,7 @@ class PmsService(models.Model):
|
||||
related="folio_id.company_id", string="Company", store=True, readonly=True
|
||||
)
|
||||
pms_property_id = fields.Many2one(
|
||||
"pms.property", store=True, readonly=True, related="folio_id.pms_property_id"
|
||||
comodel_name="pms.property", store=True, readonly=True, related="folio_id.pms_property_id"
|
||||
)
|
||||
tax_ids = fields.Many2many(
|
||||
"account.tax",
|
||||
@@ -372,6 +370,16 @@ class PmsService(models.Model):
|
||||
else:
|
||||
service.price_unit = 0
|
||||
|
||||
@api.depends(
|
||||
"reservation_id"
|
||||
)
|
||||
def _compute_folio_id(self):
|
||||
for record in self:
|
||||
if record.reservation_id:
|
||||
record.folio_id = record.reservation_id.folio_id
|
||||
elif not record.folio_id:
|
||||
record.folio_id = False
|
||||
|
||||
def _recompute_price(self):
|
||||
# REVIEW: Conditional to avoid overriding already calculated prices,
|
||||
# I'm not sure it's the best way
|
||||
|
||||
Reference in New Issue
Block a user