+
+ 尊敬的用户,
+ 您有一条新的公告确认请求
+ 请登录系统查看详情。
+
+
+
+
+ 查看
+
+
+
diff --git a/yuthon_notice/models/yuthon_notice.py b/yuthon_notice/models/yuthon_notice.py
index 5e7850c27..be80b09b7 100644
--- a/yuthon_notice/models/yuthon_notice.py
+++ b/yuthon_notice/models/yuthon_notice.py
@@ -6,7 +6,7 @@ from odoo.exceptions import ValidationError, UserError
class YuthonNotice(models.Model):
_name = "yuthon.notice"
_description = '通知公告'
- _inherit = ['soong.workflow.mixin']
+ _inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin']
_rec_name = 'name'
_order = "sequence desc"
@@ -21,7 +21,8 @@ class YuthonNotice(models.Model):
end_date = fields.Date(string="终止日期")
sequence = fields.Integer(string="顺序", default=1, compute='_compute_sequence')
employee_ids = fields.Many2many('hr.employee', string="人员范围")
- notice_state = fields.Selection([('no', '未发布'), ('yes', '已发布'), ('stop', '已终止')], default='no', string="公告状态")
+ notice_state = fields.Selection([('no', '未发布'), ('yes', '已发布'), ('stop', '已终止')], default='no',
+ string="公告状态")
notice_documents_ids = fields.Many2many('documents.document', string="附件")
is_notice_roger = fields.Selection([('yes', '已读'), ('no', '未读')], default='no', string="确认状态")
is_change_notice = fields.Boolean(string="是否发送通知", default=True)
@@ -34,7 +35,8 @@ class YuthonNotice(models.Model):
@api.depends('read_number')
def _compute_read_number(self):
- notice_confirm_ids = self.env['yuthon.confirm.users'].search([('notice_id.id', '=', self.id), ('state', '=', 'yes')])
+ notice_confirm_ids = self.env['yuthon.confirm.users'].search(
+ [('notice_id.id', '=', self.id), ('state', '=', 'yes')])
for read in self:
if notice_confirm_ids:
read.read_number = len(notice_confirm_ids)
@@ -43,7 +45,8 @@ class YuthonNotice(models.Model):
@api.onchange('is_notice_roger')
def onchange_is_notice_roger(self):
- roger_id = self.env['yuthon.confirm.users'].search([('notice_id', '=', self.id), ('employee_id', '=', self.env.user.employee_id.id)])
+ roger_id = self.env['yuthon.confirm.users'].search(
+ [('notice_id', '=', self.id), ('employee_id', '=', self.env.user.employee_id.id)])
if not roger_id:
self.is_notice_roger = 'yes'
@@ -78,9 +81,10 @@ class YuthonNotice(models.Model):
'state': 'no',
})
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='notice', user_id=we_id,
- title="通知公告",
- description=self.name,
+ title="通知公告", description=self.name,
url=str, btntxt="详细信息")
+ # partner_ids = self.sudo().env['res.users'].search([('id', 'in', employee_users_list)]).mapped('partner_id').ids
+ # self.sudo().with_context(lang=self.env.lang)._message_auto_subscribe_notify(partner_ids, 'yuthon_notice.message_yuthon_confirm_users_data')
self.write({"notice_state": 'yes'})
def look_up_notice_users(self):
diff --git a/yuthon_will_task/models/yuthon_will_task.py b/yuthon_will_task/models/yuthon_will_task.py
index 13a8b44f1..ec12f6c45 100644
--- a/yuthon_will_task/models/yuthon_will_task.py
+++ b/yuthon_will_task/models/yuthon_will_task.py
@@ -1,6 +1,6 @@
from odoo import api, fields, models, modules
import datetime
-from datetime import datetime, timedelta
+from datetime import datetime, timedelta, time
class YuthonWillTask(models.Model):
@@ -17,8 +17,8 @@ class YuthonWillTask(models.Model):
employee_ids = fields.Many2many('hr.employee', string='人员', default=lambda self: self.env.user.employee_id)
remind = fields.Selection([('fifteen', '提醒-15分钟'), ('thirty', '提醒-30分钟'), ('one_hour', '提醒-1小时'),
('two_hour', '提醒-2小时'), ('one_day', '提醒-1天')], string='提醒')
- start_time = fields.Datetime(string='开始时间')
- end_time = fields.Datetime(string='结束时间')
+ start_time = fields.Datetime(string='开始时间', default=fields.Date.today())
+ end_time = fields.Datetime(string='结束时间', default=lambda self: datetime.combine(datetime.now().date(), time(11, 0, 0)))
remind_mapping = {
'fifteen': timedelta(minutes=15),
@@ -40,7 +40,9 @@ class YuthonWillTask(models.Model):
if not self.wecom_userid:
raise ("请同步{}的企业微信".format(self.name))
for employee_id in self.employee_ids:
- url = "https://oa.thtzjt.com/mail/view?model={}&res_id={}".format(self.yuthon_will_task,employee_id.id)
- self.sudo().env["wecom.apps"].sync_send_message_textcard(category='attendance', user_id=self.wecom_userid,
+ url = "https://oa.thtzjt.com/mail/view?model={}&res_id={}".format(self.yuthon_will_task, employee_id.id)
+ self.sudo().env["wecom.apps"].sync_send_message_textcard(category='task', user_id=self.wecom_userid,
title="待办事项", description="测试消息请忽略",
- url=url, btntxt="详细信息")
\ No newline at end of file
+ url=url, btntxt="详细信息")
+
+ # odoo本身的消息提醒
\ No newline at end of file