diff --git a/odex25_donation/ensan_donation_request/static/description/icon.png b/odex25_donation/ensan_donation_request/static/description/icon.png index f39f480a1..132af11ed 100644 Binary files a/odex25_donation/ensan_donation_request/static/description/icon.png and b/odex25_donation/ensan_donation_request/static/description/icon.png differ diff --git a/odex25_donation/ensan_sale_management/models/sale_order.py b/odex25_donation/ensan_sale_management/models/sale_order.py index af69918a8..b2c78a127 100644 --- a/odex25_donation/ensan_sale_management/models/sale_order.py +++ b/odex25_donation/ensan_sale_management/models/sale_order.py @@ -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 diff --git a/odex25_donation/ensan_sale_management/models/sms_composer.py b/odex25_donation/ensan_sale_management/models/sms_composer.py index e2b21028f..18579c044 100644 --- a/odex25_donation/ensan_sale_management/models/sms_composer.py +++ b/odex25_donation/ensan_sale_management/models/sms_composer.py @@ -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),