[REF] changed field is_mail_send to to_send_mail

This commit is contained in:
braisab
2021-12-10 21:06:02 +01:00
parent dea8670fd8
commit 5cd69c498c
6 changed files with 25 additions and 43 deletions

View File

@@ -0,0 +1,2 @@
def migrate(cr, version):
cr.execute("UPDATE pms_reservation SET to_send_mail = NOT is_mail_send")

View File

@@ -21,19 +21,6 @@ class MailComposeMessage(models.TransientModel):
return res return res
def send_mail(self, auto_commit=False): def send_mail(self, auto_commit=False):
# if (
# self._context.get("default_model") == "pms.folio"
# and self._context.get("default_res_id")
# and self._context.get("mark_so_as_sent")
# ):
# # TODO: WorkFlow Mails
# folio = self.env["pms.folio"].browse([self._context["default_res_id"]])
# if folio:
# cmds = [
# (1, lid, {"to_send": False}) for lid in folio.reservation_ids.ids
# ]
# if any(cmds):
# folio.reservation_ids = cmds
res = super(MailComposeMessage, self).send_mail(auto_commit=auto_commit) res = super(MailComposeMessage, self).send_mail(auto_commit=auto_commit)
if self._context.get("record_id"): if self._context.get("record_id"):
folio = self.env["pms.folio"].search( folio = self.env["pms.folio"].search(
@@ -41,5 +28,5 @@ class MailComposeMessage(models.TransientModel):
) )
reservations = folio.reservation_ids reservations = folio.reservation_ids
for reservation in reservations: for reservation in reservations:
reservation.is_mail_send = True reservation.to_send_mail = False
return res return res

View File

@@ -516,13 +516,6 @@ class PmsFolio(models.Model):
compute="_compute_last_checkout", compute="_compute_last_checkout",
) )
date_creation = fields.Date(
string="Creation Date",
readonly=False,
store=True,
compute="_compute_date_creation",
)
def name_get(self): def name_get(self):
result = [] result = []
for folio in self: for folio in self:
@@ -1302,18 +1295,17 @@ class PmsFolio(models.Model):
@api.model @api.model
def send_confirmation_mail(self): def send_confirmation_mail(self):
today = fields.Date.today()
folios = self.env["pms.folio"].search( folios = self.env["pms.folio"].search(
[ [
("reservation_type", "!=", "out"), ("reservation_type", "!=", "out"),
("pms_property_id.is_confirmed_auto_mail", "=", True), ("pms_property_id.is_confirmed_auto_mail", "=", True),
("reservation_ids.is_mail_send", "=", False), ("reservation_ids.to_send_mail", "=", True),
("reservation_ids.is_modified_reservation", "=", False), ("reservation_ids.is_modified_reservation", "=", False),
("date_creation", "=", today), ("reservation_ids.state", "!=", "cancel"),
] ]
) )
for folio in folios: for folio in folios:
if folio.email: if folio.email and folio.create_date.date() == fields.Date.today():
template = folio.pms_property_id.property_confirmed_template template = folio.pms_property_id.property_confirmed_template
subject = template._render_field( subject = template._render_field(
"subject", "subject",
@@ -1352,7 +1344,7 @@ class PmsFolio(models.Model):
} }
) )
for reservation in folio.reservation_ids: for reservation in folio.reservation_ids:
reservation.is_mail_send = True reservation.to_send_mail = False
@api.model @api.model
def send_modification_mail(self): def send_modification_mail(self):
@@ -1360,8 +1352,9 @@ class PmsFolio(models.Model):
[ [
("reservation_type", "!=", "out"), ("reservation_type", "!=", "out"),
("pms_property_id.is_modified_auto_mail", "=", True), ("pms_property_id.is_modified_auto_mail", "=", True),
("reservation_ids.is_mail_send", "=", False), ("reservation_ids.to_send_mail", "=", True),
("reservation_ids.is_modified_reservation", "=", True), ("reservation_ids.is_modified_reservation", "=", True),
("reservation_ids.state", "!=", "cancel"),
] ]
) )
for folio in folios: for folio in folios:
@@ -1406,7 +1399,7 @@ class PmsFolio(models.Model):
} }
) )
for reservation in folio.reservation_ids: for reservation in folio.reservation_ids:
reservation.is_mail_send = True reservation.to_send_mail = False
@api.model @api.model
def send_cancelation_mail(self): def send_cancelation_mail(self):
@@ -1418,7 +1411,7 @@ class PmsFolio(models.Model):
for reservation in reservations: for reservation in reservations:
if reservation.email: if reservation.email:
if ( if (
not reservation.is_mail_send not reservation.to_send_mail
and reservation.email and reservation.email
and reservation.state not in "out" and reservation.state not in "out"
): ):
@@ -1463,7 +1456,7 @@ class PmsFolio(models.Model):
"message": "Cancellation Mail Delivery Failed", "message": "Cancellation Mail Delivery Failed",
} }
) )
reservation.is_mail_send = True reservation.to_send_mail = False
def action_view_invoice(self): def action_view_invoice(self):
invoices = self.mapped("move_ids") invoices = self.mapped("move_ids")

View File

@@ -643,7 +643,7 @@ class PmsReservation(models.Model):
comodel_name="res.partner", comodel_name="res.partner",
inverse_name="reservation_possible_customer_id", inverse_name="reservation_possible_customer_id",
) )
is_mail_send = fields.Boolean(string="Mail Sent", default=False) to_send_mail = fields.Boolean(string="Mail Sent", default=True)
is_modified_reservation = fields.Boolean( is_modified_reservation = fields.Boolean(
string="Is A Modified Reservation", string="Is A Modified Reservation",
@@ -1470,9 +1470,9 @@ class PmsReservation(models.Model):
for record in self: for record in self:
if record.state in "draft": if record.state in "draft":
record.is_modified_reservation = False record.is_modified_reservation = False
elif record.state in ("confirm", "onboard") and record.is_mail_send: elif record.state in ("confirm", "onboard") and not record.to_send_mail:
record.is_modified_reservation = True record.is_modified_reservation = True
record.is_mail_send = False record.to_send_mail = True
else: else:
record.is_modified_reservation = False record.is_modified_reservation = False
@@ -1730,20 +1730,20 @@ class PmsReservation(models.Model):
template = False template = False
pms_property = self.pms_property_id pms_property = self.pms_property_id
if ( if (
not self.is_mail_send self.to_send_mail
and not self.is_modified_reservation and not self.is_modified_reservation
and self.state not in "cancel" and self.state not in "cancel"
): ):
if pms_property.property_confirmed_template: if pms_property.property_confirmed_template:
template = pms_property.property_confirmed_template template = pms_property.property_confirmed_template
elif ( elif (
not self.is_mail_send self.to_send_mail
and self.is_modified_reservation and self.is_modified_reservation
and self.state not in "cancel" and self.state not in "cancel"
): ):
if pms_property.property_modified_template: if pms_property.property_modified_template:
template = pms_property.property_modified_template template = pms_property.property_modified_template
elif not self.is_mail_send and self.state in "cancel": elif self.to_send_mail and self.state in "cancel":
if pms_property.property_canceled_template: if pms_property.property_canceled_template:
template = pms_property.property_canceled_template template = pms_property.property_canceled_template
compose_form = self.env.ref( compose_form = self.env.ref(
@@ -1931,7 +1931,7 @@ class PmsReservation(models.Model):
else: else:
record.state = "cancel" record.state = "cancel"
record.folio_id._compute_amount() record.folio_id._compute_amount()
record.is_mail_send = False record.to_send_mail = True
def action_assign(self): def action_assign(self):
for record in self: for record in self:

View File

@@ -3462,7 +3462,7 @@ class TestPmsReservations(TestPms):
---------------------- ----------------------
A reservation is created. The checkin and checkout fields of A reservation is created. The checkin and checkout fields of
the reservation are modified. The state of the boolean the reservation are modified. The state of the boolean
is_mail_send is changed to True so that the compute of to_send_mail is changed to False so that the compute of
the is_modified_reservation field is activated correctly the is_modified_reservation field is activated correctly
and it is verified that the state of this field is True. and it is verified that the state of this field is True.
""" """
@@ -3482,7 +3482,7 @@ class TestPmsReservations(TestPms):
# ACT # ACT
writed_checkin = fields.date.today() + datetime.timedelta(days=4) writed_checkin = fields.date.today() + datetime.timedelta(days=4)
writed_checkout = fields.date.today() + datetime.timedelta(days=6) writed_checkout = fields.date.today() + datetime.timedelta(days=6)
reservation.is_mail_send = True reservation.to_send_mail = False
reservation.update( reservation.update(
{ {
"checkin": writed_checkin, "checkin": writed_checkin,

View File

@@ -47,22 +47,22 @@
name="action_open_mail_composer" name="action_open_mail_composer"
string="Send Confirmation Email " string="Send Confirmation Email "
type="object" type="object"
attrs="{'invisible':['|','|',('is_mail_send', '=', True),('is_modified_reservation', '=', True),('state', 'in', 'cancel')]}" attrs="{'invisible':['|','|',('to_send_mail', '=', False),('is_modified_reservation', '=', True),('state', 'in', 'cancel')]}"
/> />
<button <button
name="action_open_mail_composer" name="action_open_mail_composer"
string="Send Modification Email " string="Send Modification Email "
type="object" type="object"
attrs="{'invisible':['|','|',('is_mail_send', '=', True), ('is_modified_reservation', '=', False), ('state', 'in', 'cancel')]}" attrs="{'invisible':['|','|',('to_send_mail', '=', False), ('is_modified_reservation', '=', False), ('state', 'in', 'cancel')]}"
/> />
<button <button
name="action_open_mail_composer" name="action_open_mail_composer"
string="Send Cancellation Email " string="Send Cancellation Email "
type="object" type="object"
attrs="{'invisible':['|',('is_mail_send', '=', True), ('state', 'not in', 'cancel')]}" attrs="{'invisible':['|',('to_send_mail', '=', False), ('state', 'not in', 'cancel')]}"
/> />
<field name="state" widget="statusbar" /> <field name="state" widget="statusbar" />
<field name="is_mail_send" invisible="1" /> <field name="to_send_mail" invisible="1" />
<field name="is_modified_reservation" invisible="1" /> <field name="is_modified_reservation" invisible="1" />
</header> </header>
<div <div