mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-21 21:32:00 +02:00
19.0 vanilla
This commit is contained in:
parent
d1963a3c3a
commit
2d3ee4855a
7430 changed files with 2687981 additions and 2965473 deletions
|
|
@ -2,30 +2,30 @@
|
|||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class Message(models.Model):
|
||||
class MailMessage(models.Model):
|
||||
_inherit = 'mail.message'
|
||||
|
||||
snailmail_error = fields.Boolean("Snailmail message in error", compute="_compute_snailmail_error", search="_search_snailmail_error")
|
||||
snailmail_error = fields.Boolean(
|
||||
string="Snailmail message in error",
|
||||
compute="_compute_snailmail_error", search="_search_snailmail_error")
|
||||
letter_ids = fields.One2many(comodel_name='snailmail.letter', inverse_name='message_id')
|
||||
message_type = fields.Selection(selection_add=[
|
||||
('snailmail', 'Snailmail')
|
||||
], ondelete={'snailmail': lambda recs: recs.write({'message_type': 'email'})})
|
||||
message_type = fields.Selection(
|
||||
selection_add=[('snailmail', 'Snailmail')],
|
||||
ondelete={'snailmail': lambda recs: recs.write({'message_type': ' comment'})})
|
||||
|
||||
@api.depends('letter_ids', 'letter_ids.state')
|
||||
def _compute_snailmail_error(self):
|
||||
for message in self:
|
||||
if message.message_type == 'snailmail' and message.letter_ids:
|
||||
message.snailmail_error = message.letter_ids[0].state == 'error'
|
||||
else:
|
||||
message.snailmail_error = False
|
||||
self.snailmail_error = False
|
||||
for message in self.filtered(lambda msg: msg.message_type == 'snailmail' and msg.letter_ids):
|
||||
message.snailmail_error = message.letter_ids[0].state == 'error'
|
||||
|
||||
def _search_snailmail_error(self, operator, operand):
|
||||
if operator == '=' and operand:
|
||||
return ['&', ('letter_ids.state', '=', 'error'), ('letter_ids.user_id', '=', self.env.user.id)]
|
||||
return ['!', '&', ('letter_ids.state', '=', 'error'), ('letter_ids.user_id', '=', self.env.user.id)]
|
||||
if operator != 'in':
|
||||
return NotImplemented
|
||||
return ['&', ('letter_ids.state', '=', 'error'), ('letter_ids.user_id', '=', self.env.user.id)]
|
||||
|
||||
def cancel_letter(self):
|
||||
self.mapped('letter_ids').cancel()
|
||||
self.letter_ids.cancel()
|
||||
|
||||
def send_letter(self):
|
||||
self.mapped('letter_ids')._snailmail_print()
|
||||
self.letter_ids._snailmail_print()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue