mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP] partner_id reservation as required on compute
This commit is contained in:
@@ -598,7 +598,7 @@ class PmsReservation(models.Model):
|
||||
elif reservation.agency_id:
|
||||
reservation.partner_id = reservation.agency_id
|
||||
else:
|
||||
reservation.partner_id = False
|
||||
raise ValidationError(_("Partner is requires on reservation"))
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_partner_invoice_id(self):
|
||||
@@ -1389,9 +1389,14 @@ class PmsReservation(models.Model):
|
||||
def create(self, vals):
|
||||
if "folio_id" in vals:
|
||||
folio = self.env["pms.folio"].browse(vals["folio_id"])
|
||||
elif "partner_id" in vals:
|
||||
elif "partner_id" in vals or "agency_id" in vals:
|
||||
folio_vals = {
|
||||
"partner_id": int(vals.get("partner_id")),
|
||||
"partner_id": int(vals.get("partner_id"))
|
||||
if vals.get("partner_id")
|
||||
else False,
|
||||
"agency_id": int(vals.get("agency_id"))
|
||||
if vals.get("agency_id")
|
||||
else False,
|
||||
}
|
||||
# Create the folio in case of need
|
||||
# (To allow to create reservations direct)
|
||||
|
||||
@@ -80,17 +80,18 @@ class TestPmsFolio(TestHotel):
|
||||
}
|
||||
)
|
||||
|
||||
folio = PmsFolio.create(
|
||||
{
|
||||
"agency_id": agency.id,
|
||||
}
|
||||
)
|
||||
|
||||
reservation = PmsReservation.create(
|
||||
{
|
||||
"checkin": datetime.datetime.now(),
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"agency_id": agency.id,
|
||||
}
|
||||
)
|
||||
folio = PmsFolio.create(
|
||||
{
|
||||
"agency_id": agency.id,
|
||||
"reservation_ids": [reservation.id],
|
||||
"folio_id": folio.id,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -73,6 +73,8 @@ class TestPmsPricelistRules(common.TransactionCase):
|
||||
}
|
||||
)
|
||||
|
||||
self.partner1 = self.env["res.partner"].create({"name": "Carles"})
|
||||
|
||||
@freeze_time("2000-01-01")
|
||||
def test_simple_price_without_items(self):
|
||||
# TEST CASE : no items applied
|
||||
@@ -86,6 +88,7 @@ class TestPmsPricelistRules(common.TransactionCase):
|
||||
"checkout": datetime.datetime.today() + datetime.timedelta(days=3),
|
||||
"preferred_room_id": self.room.id,
|
||||
"pms_property_id": self.property1.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -468,6 +471,7 @@ class TestPmsPricelistRules(common.TransactionCase):
|
||||
# ACT
|
||||
reservation = self.env["pms.reservation"].create(
|
||||
{
|
||||
"partner_id": self.partner1.id,
|
||||
"checkin": datetime.datetime.now(),
|
||||
"checkout": datetime.datetime.now()
|
||||
+ datetime.timedelta(days=3),
|
||||
|
||||
@@ -148,6 +148,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"adults": 2,
|
||||
"preferred_room_id": self.room1.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r_test.flush()
|
||||
@@ -186,6 +187,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=2),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r_test.flush()
|
||||
@@ -218,6 +220,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r1.reservation_line_ids[0].room_id = self.room2.id
|
||||
@@ -230,6 +233,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r2.reservation_line_ids[0].room_id = self.room3.id
|
||||
@@ -242,6 +246,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=2),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r3.reservation_line_ids[0].room_id = self.room1.id
|
||||
@@ -254,6 +259,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=2),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r4.reservation_line_ids[0].room_id = self.room3.id
|
||||
@@ -268,6 +274,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=4),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r_test.flush()
|
||||
@@ -302,6 +309,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r1.reservation_line_ids[0].room_id = self.room2.id
|
||||
@@ -314,6 +322,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r2.reservation_line_ids[0].room_id = self.room3.id
|
||||
@@ -326,6 +335,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=2),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r3.reservation_line_ids[0].room_id = self.room1.id
|
||||
@@ -338,6 +348,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=2),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r4.reservation_line_ids[0].room_id = self.room3.id
|
||||
@@ -350,6 +361,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r5.reservation_line_ids[0].room_id = self.room2.id
|
||||
@@ -363,6 +375,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=4),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r_test.flush()
|
||||
@@ -402,6 +415,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r1.reservation_line_ids[0].room_id = self.room1
|
||||
@@ -416,6 +430,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"preferred_room_id": self.room1.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r_test.flush()
|
||||
@@ -443,6 +458,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=2),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r1.reservation_line_ids[0].room_id = self.room1
|
||||
@@ -458,6 +474,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"adults": 2,
|
||||
"preferred_room_id": self.room1.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r_test.flush()
|
||||
@@ -485,6 +502,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r1.reservation_line_ids[0].room_id = self.room1
|
||||
@@ -499,6 +517,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r2.reservation_line_ids[0].room_id = self.room2
|
||||
@@ -513,6 +532,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
r3.reservation_line_ids[0].room_id = self.room3
|
||||
@@ -529,6 +549,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"adults": 2,
|
||||
"room_type_id": self.room_type_double.id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -547,6 +568,7 @@ class TestPmsReservations(TestHotel):
|
||||
"checkin": datetime.datetime.now(),
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=1),
|
||||
"room_type_id": self.browse_ref("pms.pms_room_type_0").id,
|
||||
"partner_id": self.env.ref("base.res_partner_12").id,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -118,6 +118,8 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"capacity": 1,
|
||||
}
|
||||
)
|
||||
# partner
|
||||
self.partner1 = self.env["res.partner"].create({"name": "Charles"})
|
||||
|
||||
def create_scenario_multiproperty(self):
|
||||
self.create_common_scenario()
|
||||
@@ -199,6 +201,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"pms_property_id": self.test_property.id,
|
||||
"checkin": checkin,
|
||||
"checkout": checkout,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -459,6 +462,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"pricelist_id": self.test_pricelist1.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -493,6 +497,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"preferred_room_id": self.test_room1_double.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -504,6 +509,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"preferred_room_id": self.test_room2_double.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -521,6 +527,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"pricelist_id": self.test_pricelist1.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -552,6 +559,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"pricelist_id": self.test_pricelist1.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
r1.flush()
|
||||
@@ -567,6 +575,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"pricelist_id": self.test_pricelist1.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -603,6 +612,7 @@ class TestPmsRoomTypeAvailabilityRules(TestHotel):
|
||||
"adults": 2,
|
||||
"room_type_id": self.test_room_type_double.id,
|
||||
"pricelist_id": self.test_pricelist1.id,
|
||||
"partner_id": self.partner1.id,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -32,11 +32,13 @@ class TestPmsSaleChannel(TestHotel):
|
||||
PmsSaleChannel = self.env["pms.sale.channel"]
|
||||
# ACT
|
||||
salechannel = PmsSaleChannel.create({"channel_type": "direct"})
|
||||
partner1 = self.env["res.partner"].create({"name": "partner1"})
|
||||
reservation = PmsReservation.create(
|
||||
{
|
||||
"checkin": datetime.datetime.now(),
|
||||
"checkout": datetime.datetime.now() + datetime.timedelta(days=3),
|
||||
"channel_type_id": salechannel.id,
|
||||
"partner_id": partner1.id,
|
||||
}
|
||||
)
|
||||
# ASSERT
|
||||
|
||||
Reference in New Issue
Block a user