Merge pull request #3890 from expsa/ENS-3579
[IMP][FIX] ensan_sale_management: use partner phone number instead of…
This commit is contained in:
commit
82d221818d
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
|
@ -21,12 +21,14 @@ class SaleOrder(models.Model):
|
|||
def write(self, vals):
|
||||
if 'order_mobile_number' in vals:
|
||||
vals['order_mobile_number'] = self.phone_format(vals['order_mobile_number'])
|
||||
numbers = set(self.search([('state', '=', 'sale'), ('id', 'not in', self.ids)]).mapped('order_mobile_number'))
|
||||
orders = self.search([('state', '=', 'sale'), ('id', 'not in', self.ids)])
|
||||
numbers = set(orders.mapped('order_mobile_number'))
|
||||
if vals['order_mobile_number'] in numbers:
|
||||
vals['is_first_time'] = False
|
||||
self |= orders.filtered(lambda o: o.order_mobile_number == vals['order_mobile_number'])
|
||||
else:
|
||||
vals['is_first_time'] = True
|
||||
return super().write(vals)
|
||||
return super(SaleOrder, self).write(vals)
|
||||
|
||||
def get_sale_order_portal_url(self):
|
||||
for sale in self:
|
||||
|
|
@ -120,11 +122,11 @@ class SaleOrder(models.Model):
|
|||
|
||||
def action_recovery_sms_send(self):
|
||||
self.ensure_one()
|
||||
if not self.order_mobile_number:
|
||||
if not (self.partner_id.phone or self.partner_id.mobile):
|
||||
raise UserError(_("There is no phone number for this cart."))
|
||||
|
||||
context = dict(self.env.context)
|
||||
context.update(default_res_model='sale.order', default_res_id=self.id, default_composition_mode='comment', default_number_field_name='order_mobile_number')
|
||||
context.update(default_res_model='res.partner', default_res_id=self.partner_id.id, default_composition_mode='comment')
|
||||
|
||||
template = self.website_id.cart_recovery_sms_template_id
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ class SMSComposer(models.TransientModel):
|
|||
|
||||
def _action_send_sms(self):
|
||||
context = self._context
|
||||
if context.get('website_sale_send_recovery_sms') and self.model == 'sale.order' and context.get('active_ids'):
|
||||
if context.get('website_sale_send_recovery_sms') and self.res_model == 'res.partner' and context.get('active_ids'):
|
||||
self.env['sale.order'].search([
|
||||
('id', 'in', context.get('active_ids')),
|
||||
('cart_recovery_sms_sent', '=', False),
|
||||
|
|
|
|||
Loading…
Reference in New Issue