pengyuthon
This commit is contained in:
@@ -14,6 +14,5 @@
|
||||
<field name="numbercall">-1</field>
|
||||
<field eval="False" name="doall"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -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):
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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>
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user