diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py
index 83362bfbe..6ee800782 100644
--- a/pms/models/pms_folio.py
+++ b/pms/models/pms_folio.py
@@ -121,8 +121,8 @@ class PmsFolio(models.Model):
channel_type_id = fields.Many2one(
"pms.sale.channel",
string="Direct Sale Channel",
- ondelete = "restrict",
- domain=[("channel_type","=","direct")],
+ ondelete="restrict",
+ domain=[("channel_type", "=", "direct")],
)
payment_ids = fields.One2many("account.payment", "folio_id", readonly=True)
# return_ids = fields.One2many("payment.return", "folio_id", readonly=True)
diff --git a/pms/models/pms_reservation.py b/pms/models/pms_reservation.py
index dfd2c39aa..ac5077310 100644
--- a/pms/models/pms_reservation.py
+++ b/pms/models/pms_reservation.py
@@ -149,11 +149,11 @@ class PmsReservation(models.Model):
agency_id = fields.Many2one(
related="folio_id.agency_id",
readonly=True,
- )
+ )
channel_type_id = fields.Many2one(
- related="folio_id.agency_id",
+ related="folio_id.channel_type_id",
readonly=True,
- )
+ )
partner_invoice_id = fields.Many2one(
"res.partner",
string="Invoice Address",
diff --git a/pms/models/pms_sale_channel.py b/pms/models/pms_sale_channel.py
index 7f72c7af9..1daa07a59 100644
--- a/pms/models/pms_sale_channel.py
+++ b/pms/models/pms_sale_channel.py
@@ -1,15 +1,12 @@
+from odoo import fields, models
+
+
class PmsSaleChannel(models.Model):
_name = "pms.sale.channel"
_description = "Sales Channel"
- #Fields declaration
- name = fields.Text(
- string="Sale Channel Name"
- )
+ # Fields declaration
+ name = fields.Text(string="Sale Channel Name")
channel_type = fields.Selection(
- [
- ("direct","Direct"),
- ("indirect","Indirect")
- ],
- string = "Sale Channel Type"
+ [("direct", "Direct"), ("indirect", "Indirect")], string="Sale Channel Type"
)
diff --git a/pms/models/res_partner.py b/pms/models/res_partner.py
index 14ce1e831..33461f377 100644
--- a/pms/models/res_partner.py
+++ b/pms/models/res_partner.py
@@ -3,7 +3,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
-from odoo import api, fields, models
+from odoo import _, api, fields, models
_logger = logging.getLogger(__name__)
@@ -24,8 +24,8 @@ class ResPartner(models.Model):
sale_channel_id = fields.Many2one(
"pms.sale.channel",
string="Sale Channel",
- ondelete = "restrict",
- domain=[("channel_type","=","indirect")],
+ ondelete="restrict",
+ domain=[("channel_type", "=", "indirect")],
)
# Compute and Search methods
@@ -71,10 +71,10 @@ class ResPartner(models.Model):
)
return res
- @api.constrains("is_agency","sale_channel_id")
+ @api.constrains("is_agency", "sale_channel_id")
def _check_is_agency(self):
for record in self:
if record.is_agency and not record.sale_channel_id:
- raise models.ValidationError(_("Sale Channel must be entered"))
+ raise models.ValidationError(_("Sale Channel must be entered"))
if not record.is_agency and record.sale_channel_id:
- record.sale_channel_id=None
+ record.sale_channel_id = None
diff --git a/pms/tests/test_pms_sale_channel.py b/pms/tests/test_pms_sale_channel.py
index a955ce117..f482b773c 100644
--- a/pms/tests/test_pms_sale_channel.py
+++ b/pms/tests/test_pms_sale_channel.py
@@ -1,124 +1,103 @@
-from .common import TestHotel
-from freezegun import freeze_time
-from odoo.exceptions import ValidationError
import datetime
-from odoo import fields
+
+from freezegun import freeze_time
+
+from odoo.exceptions import ValidationError
+
+from .common import TestHotel
+
@freeze_time("2010-01-01")
class TestPmsSaleChannel(TestHotel):
def test_not_agency_as_agency(self):
- #ARRANGE
- PmsReservation = self.env["pms.reservation"]
- not_agency = self.env["res.partner"].create(
- {
- "name":"partner1",
- "is_agency":False
- }
- )
-
- #ACT & ASSERT
- with self.assertRaises(ValidationError), self.cr.savepoint():
- PmsReservation.create(
- {
- "checkin": datetime.datetime.now(),
- "checkout":datetime.datetime.now() + datetime.timedelta(days=3),
- "agency_id":not_agency.id,
- }
- )
-
- def test_partner_as_direct_channel(self):
- #ARRANGE
+ # ARRANGE
PmsReservation = self.env["pms.reservation"]
- partner = customer = self.env.ref("base.res_partner_12")
- #ACT & ASSERT
+ not_agency = self.env["res.partner"].create(
+ {"name": "partner1", "is_agency": False}
+ )
+
+ # ACT & ASSERT
with self.assertRaises(ValidationError), self.cr.savepoint():
PmsReservation.create(
{
"checkin": datetime.datetime.now(),
- "checkout":datetime.datetime.now() + datetime.timedelta(days=3),
- "channel_type_id":partner.id,
+ "checkout": datetime.datetime.now() + datetime.timedelta(days=3),
+ "agency_id": not_agency.id,
+ }
+ )
+
+ def test_partner_as_direct_channel(self):
+ # ARRANGE
+ PmsReservation = self.env["pms.reservation"]
+ partner = self.env.ref("base.res_partner_12")
+ # ACT & ASSERT
+ with self.assertRaises(ValidationError), self.cr.savepoint():
+ PmsReservation.create(
+ {
+ "checkin": datetime.datetime.now(),
+ "checkout": datetime.datetime.now() + datetime.timedelta(days=3),
+ "channel_type_id": partner.id,
}
)
def test_channel_type_id_only_directs(self):
- #ARRANGE
+ # ARRANGE
PmsReservation = self.env["pms.reservation"]
PmsSaleChannel = self.env["pms.sale.channel"]
- #ACT
- saleChannel = PmsSaleChannel.create(
- {
- "channel_type":"direct"
- }
- )
+ # ACT
+ saleChannel = PmsSaleChannel.create({"channel_type": "direct"})
reservation = PmsReservation.create(
{
- "checkin":datetime.datetime.now(),
- "checkout":datetime.datetime.now()+datetime.datetimedelta(days=3)
- "channel_type_id": saleChannel.id
+ "checkin": datetime.datetime.now(),
+ "checkout": datetime.datetime.now() + datetime.datetimedelta(days=3),
+ "channel_type_id": saleChannel.id,
}
)
- #ASSERT
+ # ASSERT
self.assertEqual(
self.browse_ref(reservation.channel_type_id).channel_type,
"direct",
- "Sale channel is not direct"
+ "Sale channel is not direct",
)
def test_agency_id_is_agency(self):
- #ARRANGE
+ # ARRANGE
PmsReservation = self.env["pms.reservation"]
- #ACT
- agency = self.env["res.partner"].create(
- {
- "name":"partner1",
- "is_agency":True
- }
- )
+ # ACT
+ agency = self.env["res.partner"].create({"name": "partner1", "is_agency": True})
reservation = PmsReservation.create(
{
- "checkin":datetime.datetime.now(),
- "checkout":datetime.datetime.now()+datetime.datetimedelta(days=3)
- "agency_id":agency.id
+ "checkin": datetime.datetime.now(),
+ "checkout": datetime.datetime.now() + datetime.datetimedelta(days=3),
+ "agency_id": agency.id,
}
)
- #ASSERT
+ # ASSERT
self.assertEqual(
self.browse_ref(reservation.agency_id).is_agency,
True,
- "Agency_id doesn't correspond to an agency"
+ "Agency_id doesn't correspond to an agency",
)
def test_sale_channel_id_only_indirect(self):
- #ARRANGE
+ # ARRANGE
PmsSaleChannel = self.env["pms.sale.channel"]
- #ACT
- saleChannel = PmsSaleChannel.create(
- {
- "channel_type":"indirect"
- }
- )
+ # ACT
+ saleChannel = PmsSaleChannel.create({"channel_type": "indirect"})
agency = self.env["res.partner"].create(
- {
- "name":"example",
- "is_agency":True,
- "sale_channel_id":saleChannel.id
- }
+ {"name": "example", "is_agency": True, "sale_channel_id": saleChannel.id}
)
- #ASSERT
+ # ASSERT
self.assertEqual(
self.browse_ref(agency.sale_channel_id).channel_type,
"indirect",
- "An agency should be a indirect channel"
+ "An agency should be a indirect channel",
)
def test_agency_without_sale_channel_id(self):
- #ARRANGE & ACT & ASSERT
- with self.assertRaises(ValidationError), self.cr.savepoint():
- self.env["res.partner"].create(
- {
- "name":"example",
- "is_agency":True,
- "sale_channel_id":None
- }
- )
+ # ARRANGE & ACT & ASSERT
+ with self.assertRaises(ValidationError), self.cr.savepoint():
+ self.env["res.partner"].create(
+ {"name": "example", "is_agency": True, "sale_channel_id": None}
+ )
diff --git a/pms/views/pms_folio_views.xml b/pms/views/pms_folio_views.xml
index a60137167..3e912eb46 100644
--- a/pms/views/pms_folio_views.xml
+++ b/pms/views/pms_folio_views.xml
@@ -106,8 +106,8 @@
name="agency_id"
options="{'no_create': True,'no_open': True}"
/>-->
-
-
+
+
diff --git a/pms/views/pms_reservation_views.xml b/pms/views/pms_reservation_views.xml
index 056cf9601..bcdde8c26 100644
--- a/pms/views/pms_reservation_views.xml
+++ b/pms/views/pms_reservation_views.xml
@@ -289,8 +289,8 @@
name="agency_id"
options="{'no_create': True,'no_open': True}"
/>-->
-
-
+
+
-->
-
+