[IMP] Channel Type Sale

This commit is contained in:
Darío Lodeiros
2020-10-03 20:17:46 +02:00
parent 9a31f9f4e8
commit 3cfccc983e
10 changed files with 26 additions and 60 deletions

View File

@@ -6435,8 +6435,8 @@ msgid "Is Staff"
msgstr "Es Staff"
#. module: hotel
#: model:ir.model.fields,field_description:hotel.field_res_partner_is_tour_operator
#: model:ir.model.fields,field_description:hotel.field_res_users_is_tour_operator
#: model:ir.model.fields,field_description:hotel.field_res_partner_is_agency
#: model:ir.model.fields,field_description:hotel.field_res_users_is_agency
msgid "Is Tour Operator"
msgstr "Es Operadora Tuística"
@@ -8670,8 +8670,8 @@ msgid "Total debt"
msgstr "Total debt"
#. module: hotel
#: model:ir.model.fields,field_description:hotel.field_hotel_folio_tour_operator_id
#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_tour_operator_id
#: model:ir.model.fields,field_description:hotel.field_hotel_folio_agency
#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_agency
#: model:ir.ui.view,arch_db:hotel.hotel_folio_view_search
msgid "Tour Operator"
msgstr "Operadora Turística"

View File

@@ -95,11 +95,11 @@ class PmsFolio(models.Model):
store=True,
readonly=False,
)
tour_operator_id = fields.Many2one(
agency_id = fields.Many2one(
"res.partner",
"Tour Operator",
"Agency",
ondelete="restrict",
domain=[("is_tour_operator", "=", True)],
domain=[("is_agency", "=", True)],
)
payment_ids = fields.One2many("account.payment", "folio_id", readonly=True)
return_ids = fields.One2many("payment.return", "folio_id", readonly=True)
@@ -155,17 +155,11 @@ class PmsFolio(models.Model):
)
channel_type = fields.Selection(
[
("door", "Door"),
("mail", "Mail"),
("phone", "Phone"),
("call", "Call Center"),
("web", "Web"),
("agency", "Agencia"),
("operator", "Tour operador"),
("virtualdoor", "Virtual Door"),
("direct", "Direct"),
("agency", "Agency"),
],
"Sales Channel",
default="door",
default="direct",
)
date_order = fields.Datetime(
string="Order Date",

View File

@@ -129,7 +129,7 @@ class PmsReservation(models.Model):
store=True,
readonly=False,
)
tour_operator_id = fields.Many2one(related="folio_id.tour_operator_id")
agency_id = fields.Many2one(related="folio_id.agency_id")
partner_invoice_id = fields.Many2one(
"res.partner",
string="Invoice Address",
@@ -294,17 +294,11 @@ class PmsReservation(models.Model):
nights = fields.Integer("Nights", compute="_computed_nights", store=True)
channel_type = fields.Selection(
[
("door", "Door"),
("mail", "Mail"),
("phone", "Phone"),
("call", "Call Center"),
("web", "Web"),
("agency", "Agencia"),
("operator", "Tour operador"),
("virtualdoor", "Virtual Door"),
("direct", "Direct"),
("agency", "Agency"),
],
string="Sales Channel",
default="door",
default="direct",
)
# TODO: Review functionality of last_update_res
last_updated_res = fields.Datetime(
@@ -938,8 +932,6 @@ class PmsReservation(models.Model):
user = self.env["res.users"].browse(self.env.uid)
for record in self:
vals = {}
if user.has_group("pms.group_pms_call"):
vals.update({"channel_type": "call"})
if record.checkin_partner_ids:
vals.update({"state": "booking"})
else:

View File

@@ -20,7 +20,7 @@ class ResPartner(models.Model):
)
folios_count = fields.Integer("Folios", compute="_compute_folios_count")
unconfirmed = fields.Boolean("Unconfirmed", default=True)
is_tour_operator = fields.Boolean("Is Tour Operator")
is_agency = fields.Boolean("Is Agency")
# Compute and Search methods
def _compute_reservations_count(self):

View File

@@ -148,7 +148,7 @@
attrs="{'required':[('reservation_type','=','normal')]}"
/>
<field
name="tour_operator_id"
name="agency_id"
options="{'no_create': True,'no_open': True}"
/>
</group>
@@ -437,7 +437,7 @@
<search string="Tables Detail">
<field name="partner_id" />
<field name="partner_invoice_id" />
<field name="tour_operator_id" />
<field name="agency_id" />
<filter
name="to_invoice"
string="To invoice"
@@ -463,8 +463,8 @@
<filter
string="Tour Operator"
domain="[]"
name="group_tour_operator"
context="{'group_by':'tour_operator_id'}"
name="group_agency"
context="{'group_by':'agency_id'}"
/>
</group>
</search>

View File

@@ -389,7 +389,7 @@
attrs="{'invisible': [('reservation_type','in',('out'))]}"
/>
<field
name="tour_operator_id"
name="agency_id"
options="{'no_create': True,'no_open': True}"
/>
<field
@@ -946,7 +946,7 @@
<search string="Reservation Detail">
<field name="partner_id" />
<field name="folio_id" />
<field name="tour_operator_id" />
<field name="agency_id" />
<filter
string="My Reservations"
name="my_reservations"

View File

@@ -42,7 +42,7 @@
<xpath expr="//field[@name='user_id']" position="after">
<field name="company_type" invisible="1" />
<field
name="is_tour_operator"
name="is_agency"
attrs="{'invisible': [('company_type','!=','company')]}"
/>
</xpath>

View File

@@ -51,8 +51,8 @@ class FolioAdvancePaymentInv(models.TransientModel):
@api.model
def _get_default_partner_invoice(self):
folios = self._get_default_folio()
if folios[0].tour_operator_id:
return folios[0].tour_operator_id
if folios[0].agency:
return folios[0].agency
return folios[0].partner_invoice_id
@api.model

View File

@@ -16,11 +16,6 @@ class FolioWizard(models.TransientModel):
_name = "pms.folio.wizard"
_description = "Wizard for reservation groups"
@api.model
def _get_default_center_user(self):
user = self.env["res.users"].browse(self.env.uid)
return user.has_group("pms.group_pms_call")
@api.model
def _get_default_checkin(self):
folio = False
@@ -43,12 +38,6 @@ class FolioWizard(models.TransientModel):
return folio.reservation_ids[0].checkout
return fields.Date.today()
@api.model
def _get_default_channel_type(self):
user = self.env["res.users"].browse(self.env.uid)
if user.has_group("pms.group_pms_call"):
return "phone"
@api.model
def _get_default_pricelist(self):
return self.env.user.pms_property_id.default_pricelist_id.id
@@ -82,9 +71,8 @@ class FolioWizard(models.TransientModel):
"res.company", "Company", default=lambda self: self.env.company
)
channel_type = fields.Selection(
[("door", "Door"), ("mail", "Mail"), ("phone", "Phone"), ("call", "Call")],
[("direct", "Direct"), ("ota", "Ota"), ("agency", "Agency")],
string="Sales Channel",
default=_get_default_channel_type,
)
room_type_wizard_ids = fields.One2many(
"pms.room.type.wizard", "folio_wizard_id", string="Room Types"
@@ -402,7 +390,7 @@ class PmsRoomTypeWizards(models.TransientModel):
).min_stay
if date_min_days > min_stay:
min_stay = date_min_days
if user.has_group("pms.group_pms_call"):
if not user.has_group("pms.group_pms_manager"):
max_avail = real_max
restriction = False
if avail_restrictions:
@@ -507,18 +495,11 @@ class ReservationWizard(models.TransientModel):
price = fields.Float(string="Total")
partner_id = fields.Many2one(related="folio_wizard_id.partner_id")
discount = fields.Float("discount")
to_assign = fields.Boolean(compute="_compute_assign")
product_ids = fields.Many2many("product.product", string="Products")
board_service_room_id = fields.Many2one(
"pms.board.service.room.type", string="Board Service"
)
def _compute_assign(self):
for rec in self:
user = self.env["res.users"].browse(self.env.uid)
if user.has_group("pms.group_pms_call"):
rec.to_assign = True
@api.onchange("room_id")
def onchange_room_id(self):
for line in self:

View File

@@ -126,7 +126,6 @@
<field name="discount" />
<field name="price" />
<field name="partner_id" invisible="1" />
<field name="to_assign" invisible="1" />
</tree>
</field>
</group>