mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP] precommit fixed
This commit is contained in:
committed by
Darío Lodeiros
parent
29fc701c52
commit
121bd7c260
@@ -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)
|
||||
|
||||
@@ -150,11 +150,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",
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
)
|
||||
|
||||
@@ -106,8 +106,8 @@
|
||||
name="agency_id"
|
||||
options="{'no_create': True,'no_open': True}"
|
||||
/>-->
|
||||
<field name="agency_id"/>
|
||||
<field name="channel_type_id"/>
|
||||
<field name="agency_id" />
|
||||
<field name="channel_type_id" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="partner_internal_comment" />
|
||||
|
||||
@@ -301,8 +301,8 @@
|
||||
name="agency_id"
|
||||
options="{'no_create': True,'no_open': True}"
|
||||
/>-->
|
||||
<field name="agency_id"/>
|
||||
<field name="channel_type_id"/>
|
||||
<field name="agency_id" />
|
||||
<field name="channel_type_id" />
|
||||
<field
|
||||
name="cancelled_reason"
|
||||
attrs="{'invisible': [('state', 'not in', ('cancelled'))]}"
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
/>
|
||||
</xpath>-->
|
||||
</field>
|
||||
<field name="is_agency"/>
|
||||
<field name="is_agency" />
|
||||
<field
|
||||
name="sale_channel_id"
|
||||
attrs="{'invisible':[('is_agency','=','True')]}"
|
||||
|
||||
Reference in New Issue
Block a user