mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[ADD]multi_pms_properties (#66)
* [WIP]pms: models check_pms_property * [WIP][IMP+REF] multi_pms_properties: refactor and added test skeleton * [FIX] inherit create models * [ADD] room multiproperty check * [ADD] room multiproperty check * [IMP] Multiproperty checks in pms models * [IMP] Fix Multiproperty checks in pms models * [IMP] Add multiproperty domain in multi_pms_properties module * [IMP] Fix multiproperty checks in pms tests * [IMP] Fix multiproperty checks logic * [IMP] Auto Domains * [IMP] availability property results, domain preferred_room_id * [IMP] model domain properties * [ADD] pms multiproperty depends * [IMP] models and views multiproperty checks * [FIX] Multiple rebase multiproperty fixes * [ADD] Readme * [ADD] Company - multiproperty checks * [ADD] travis server wide modules multiproperty * [FIX] travis conf load * [FIX] travis conf load2 * [FIX] travis conf load2 Co-authored-by: Eric Antones <eantones@nuobit.com> Co-authored-by: Sara Lago <saralago126@gmail.com>
This commit is contained in:
@@ -9,6 +9,8 @@ class FolioWizard(models.TransientModel):
|
||||
"Wizard to check availability by room type and pricelist &"
|
||||
" creation of folios with its reservations"
|
||||
)
|
||||
_check_pms_properties_auto = True
|
||||
|
||||
# Fields declaration
|
||||
start_date = fields.Date(
|
||||
string="From:",
|
||||
@@ -24,6 +26,7 @@ class FolioWizard(models.TransientModel):
|
||||
compute="_compute_pricelist_id",
|
||||
store=True,
|
||||
readonly=False,
|
||||
check_pms_properties=True,
|
||||
)
|
||||
pms_property_id = fields.Many2one(
|
||||
comodel_name="pms.property",
|
||||
@@ -35,9 +38,11 @@ class FolioWizard(models.TransientModel):
|
||||
)
|
||||
partner_id = fields.Many2one(
|
||||
"res.partner",
|
||||
check_pms_properties=True,
|
||||
)
|
||||
folio_id = fields.Many2one(
|
||||
"pms.folio",
|
||||
check_pms_properties=True,
|
||||
)
|
||||
availability_results = fields.One2many(
|
||||
comodel_name="pms.folio.availability.wizard",
|
||||
@@ -45,6 +50,7 @@ class FolioWizard(models.TransientModel):
|
||||
compute="_compute_availability_results",
|
||||
store=True,
|
||||
readonly=False,
|
||||
check_pms_properties=True,
|
||||
)
|
||||
agency_id = fields.Many2one(
|
||||
string="Agency",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
name="pricelist_id"
|
||||
string="Pricelist"
|
||||
required="1"
|
||||
domain="['|', ('pms_property_ids', '=', False), ('pms_property_ids', 'in', pms_property_id)]"
|
||||
options="{'no_create': True,'no_open': True}"
|
||||
/>
|
||||
<field name="channel_type_id" />
|
||||
|
||||
@@ -16,6 +16,7 @@ class NumRoomsSelectionModel(models.TransientModel):
|
||||
|
||||
class AvailabilityWizard(models.TransientModel):
|
||||
_name = "pms.folio.availability.wizard"
|
||||
_check_pms_properties_auto = True
|
||||
|
||||
# Fields declarations
|
||||
folio_wizard_id = fields.Many2one(
|
||||
@@ -29,7 +30,10 @@ class AvailabilityWizard(models.TransientModel):
|
||||
string="To:",
|
||||
required=True,
|
||||
)
|
||||
room_type_id = fields.Many2one(comodel_name="pms.room.type")
|
||||
room_type_id = fields.Many2one(
|
||||
comodel_name="pms.room.type",
|
||||
check_pms_properties=True,
|
||||
)
|
||||
|
||||
num_rooms_available = fields.Integer(
|
||||
string="Available rooms",
|
||||
|
||||
@@ -8,6 +8,7 @@ class AvailabilityWizard(models.TransientModel):
|
||||
|
||||
_name = "pms.massive.changes.wizard"
|
||||
_description = "Wizard for massive changes on Availability Plans & Pricelists."
|
||||
_check_pms_properties_auto = True
|
||||
|
||||
def _default_avail_readonly(self):
|
||||
return True if self._context.get("availability_plan_id") else False
|
||||
@@ -32,11 +33,13 @@ class AvailabilityWizard(models.TransientModel):
|
||||
availability_plan_id = fields.Many2one(
|
||||
comodel_name="pms.availability.plan",
|
||||
string="Availability Plan to apply massive changes",
|
||||
check_pms_properties=True,
|
||||
# can be setted by context from availability plan detail
|
||||
)
|
||||
pricelist_id = fields.Many2one(
|
||||
comodel_name="product.pricelist",
|
||||
string="Pricelist to apply massive changes",
|
||||
check_pms_properties=True,
|
||||
)
|
||||
allowed_pricelist_ids = fields.One2many(
|
||||
comodel_name="product.pricelist", compute="_compute_allowed_pricelist_ids"
|
||||
@@ -49,7 +52,11 @@ class AvailabilityWizard(models.TransientModel):
|
||||
string="To",
|
||||
required=True,
|
||||
)
|
||||
room_type_id = fields.Many2one(comodel_name="pms.room.type", string="Room Type")
|
||||
room_type_id = fields.Many2one(
|
||||
comodel_name="pms.room.type",
|
||||
string="Room Type",
|
||||
check_pms_properties=True,
|
||||
)
|
||||
price = fields.Float(string="Price")
|
||||
min_quantity = fields.Float(string="Min. Quantity")
|
||||
|
||||
|
||||
@@ -50,11 +50,7 @@
|
||||
'required': [('massive_changes_on','=','pricelist')]}"
|
||||
domain="[('id', 'in', allowed_pricelist_ids), '|', ('pms_property_ids', '=', False), ('pms_property_ids', 'in', pms_property_ids)]"
|
||||
/>
|
||||
<field
|
||||
name="room_type_id"
|
||||
default_focus="1"
|
||||
domain="['|', ('pms_property_ids', '=', False), ('pms_property_ids', 'in', pms_property_ids)]"
|
||||
/>
|
||||
<field name="room_type_id" default_focus="1" />
|
||||
</group>
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user