wizard_delete_data.py 980 B

123456789101112131415161718192021222324252627282930
  1. # -*- coding: UTF-8 -*-
  2. import time
  3. from datetime import date, datetime, timedelta
  4. from odoo import models, fields, _
  5. from odoo.exceptions import UserError
  6. from odoo.tools import date_utils
  7. class DeleteNewsData(models.TransientModel):
  8. _name = 'auto.news.delete'
  9. _description = 'Auto News Delete'
  10. delete_all_data = fields.Boolean('Delete All Data')
  11. from_date = fields.Date('Date From', default=date_utils.start_of(date.today(), 'month'))
  12. to_date = fields.Date('To', default=date_utils.end_of(date.today(), 'month'))
  13. def btn_confirm(self):
  14. if self.delete_all_data:
  15. self.env['news.info'].search([]).unlink()
  16. else:
  17. from_ts = time.mktime(self.from_date.timetuple())
  18. to_ts = time.mktime(self.to_date.timetuple())
  19. news_id = self.env['news.info'].search([('create_time_ts', ">=", str(from_ts)), ('create_time_ts', '<=', str(to_ts))])
  20. if news_id:
  21. news_id.unlink()