Merge pull request #3891 from expsa/dev_odex25_donation

Dev odex25 donation
This commit is contained in:
abdurrahman-saber 2025-07-14 09:16:55 +03:00 committed by GitHub
commit 15580c52a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 5 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -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

View File

@ -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),