pengyuthon

This commit is contained in:
李鹏宇
2024-08-24 17:28:05 +08:00
parent eb10fd82a0
commit 6326c62579
6 changed files with 29 additions and 51 deletions
-1
View File
@@ -14,6 +14,5 @@
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
</data>
</odoo>
+2 -17
View File
@@ -98,23 +98,8 @@ class RoomBooking(models.Model):
if attendee.get("userid", ""):
user_obj = self.sudo().env["res_users"].search([("oauth_uid", '=', attendee.get("userid", ""))])
for obj in user_obj:
sign_obj = self.sudo().env["res_users"].search([("sign_user_id", '=', obj.id), ("room_booking_id", "=", record.id)])
if sign_obj:
sign_obj.write({
"room_booking_id": record.id,
"sign_user_id": obj.id,
"sign_user_name": obj.name,
"user_type": "insiders",
"sign_type": 'yes'
})
else:
self.env["room.meeting.sign"].sudo().create({
"room_booking_id": record.id,
"sign_user_id": obj.id,
"sign_user_name": obj.name,
"user_type": "insiders",
"sign_type": 'yes'
})
sign_obj = self.sudo().env["room.meeting.sign"].search([("sign_user_id", '=', obj.id), ("room_booking_id", "=", record.id)])
sign_obj.write({"sign_type": 'yes'})
@api.constrains("start_datetime", "stop_datetime")
def _check_date_boundaries(self):
+1
View File
@@ -15,6 +15,7 @@
'security/ir.model.access.csv',
# 'data/notice_code_data.xml',
'data/project_state_type_data.xml',
'data/notice_cron_data.xml',
'views/inherit_project_task_views.xml',
'views/yuthon_notice_views.xml',
'views/yuthon_notice_type_views.xml',
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data noupdate="1">
<!-- 定时任务: 每天提醒一次 -->
<record forcecreate="True" id="ir_cron_yuthon_confirm_users" model="ir.cron">
<field name="name">公告未确认通知</field>
<field name="model_id" ref="model_yuthon_confirm_users"/>
<field name="state">code</field>
<field name="code">model.sync_confirm_users_notices()</field>
<field eval="False" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
</data>
</odoo>
+8 -2
View File
@@ -5,11 +5,17 @@ from odoo import api, fields, models, tools
class YuthonConfirmUsers(models.Model):
_name = "yuthon.confirm.users"
_description = "公告确认信息"
# todo 定时任务给未确认的用户发送通知公告
# todo 打印
employee_id = fields.Many2one('hr.employee', string='员工')
notice_id = fields.Many2one('yuthon.notice', string="公告名称")
notice_code = fields.Char(string="公告编号")
notice_name = fields.Char(string="公告名称")
state = fields.Selection([('no', '未确认'), ('yes', '已确认')], string="状态")
def sync_confirm_users_notices(self):
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的通知公告')])
for record in self.search([('state', '=', 'no')]):
str = 'https://www.thtzjt.com/web#id={}&cids=1&menu_id={}&action={}&model=yuthon.notice&view_type=form'.format(
record.notice_id.id, menu_id.id, menu_id.action.id)
data = "您有待确认的通知公告请及时确认\n" + "<a href=\"{}\">{}</a>".format(str, self.name)
record.sudo().env["wecom.apps"].sync_send_message(record.employee_id.wecom_userid, data)
-31
View File
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="yuthon_notice_report_actions" model="ir.actions.report">
<field name="name">通知公告打印</field>
<field name="model">yuthon.notice</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">yuthon_notice.yuthon_notice_report_template</field>
<field name="report_file">yuthon_notice.yuthon_notice_report_template</field>
<field name="print_report_name">'%s' % (object.name).replace('/', '')</field>
<field name="binding_model_id" ref="model_yuthon_notice"/>
<!-- <field name="binding_model_id" eval="False"/>-->
<field name="binding_type">report</field>
</record>
<template id="yuthon_notice_report_template">
<t t-call="web.basic_layout" t-foreach="docs" t-as="doc">
<div class="page">
<h2 style="text-align:center;">
<storng>
<t t-esc="doc.name"/>
</storng>
</h2>
</div>
<table width="100%" style="table-layout:fixed;">
<tr colspan="7" rowspan="2">
<t t-esc="doc.notice_text"/>
</tr>
</table>
</t>
</template>
</odoo>