odoo_dev 开发培训作业:图书管理系统
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

37 lignes
1.1KB

  1. from odoo import api, exceptions, fields, models
  2. import logging
  3. _logger = logging.getLogger(__name__)
  4. class CheckoutMassMessage(models.TransientModel):
  5. _name = 'library.checkout.massmessage'
  6. _description = 'Send Message to Borrowers'
  7. checkout_ids = fields.Many2many(
  8. 'library.checkout',
  9. string='Checkouts'
  10. )
  11. message_subject = fields.Char()
  12. message_body = fields.Html()
  13. @api.model
  14. def default_get(self, fields_list):
  15. defaults = super().default_get(fields_list)
  16. checkout_ids = self.env.context.get('active_ids')
  17. defaults['checkout_ids'] = checkout_ids
  18. return defaults
  19. def button_send(self):
  20. self.ensure_one()
  21. for checkout in self.checkout_ids:
  22. checkout.message_post(
  23. body=self.message_body,
  24. subject=self.message_subject,
  25. subtype='mail.mt_comment'
  26. )
  27. _logger.info(
  28. 'Posted %d message to Chectouts: %s',
  29. len(self.checkout_ids),
  30. str(self.checkout_ids)
  31. )
  32. return True
上海开阖软件有限公司 沪ICP备12045867号-1