添加功能

This commit is contained in:
李鹏宇
2025-11-15 18:58:33 +08:00
parent 73775683ec
commit dfd8ae7bec
12 changed files with 159 additions and 142 deletions
+1
View File
@@ -9,6 +9,7 @@
'data': [ 'data': [
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'views/system_version_views.xml', 'views/system_version_views.xml',
'views/ir_cron_act_views.xml',
'views/menu.xml', 'views/menu.xml',
], ],
'assets': { 'assets': {
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="ir_cron_type_data_sequence0" model="ir.cron.type">
<field name="name">出勤</field>
</record>
<record id="ir_cron_type_data_sequence1" model="ir.cron.type">
<field name="name">其他</field>
</record>
</odoo>
+1
View File
@@ -2,4 +2,5 @@ from . import ir_model
from . import inherit_ir_attachment from . import inherit_ir_attachment
from . import system_version from . import system_version
from . import fields_piyin from . import fields_piyin
from . import ir_cron_act
# from . import res_partner # from . import res_partner
+18
View File
@@ -0,0 +1,18 @@
from odoo import fields, models, api
class InheritCronAct(models.Model):
_inherit = 'ir.cron'
_description = '定时任务'
is_corn_customer = fields.Boolean(string='是否用户', default=True)
cron_type_id = fields.Many2one('ir.cron.type', string='类型')
class InheritCronType(models.Model):
_name = 'ir.cron.type'
_description = '定时任务类型'
name = fields.Char(string='名称')
+1 -1
View File
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_system_version,system_version,model_system_version,base.group_system,1,1,1,1 access_system_version,system_version,model_system_version,base.group_system,1,1,1,1
access_ir_cron_type,ir.cron.type,model_ir_cron_type,base.group_system,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_system_version system_version model_system_version base.group_system 1 1 1 1
3 access_ir_cron_type ir.cron.type model_ir_cron_type base.group_system 1 1 1 1
+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="inherit_act_view_ir_cron_tree" model="ir.ui.view">
<field name="name">ir.cron.tree.inherit</field>
<field name="model">ir.cron</field>
<field name="inherit_id" ref="base.ir_cron_view_tree"/>
<field name="arch" type="xml">
<xpath expr="//tree/field[@name='name']" position="after">
<field name="cron_type_id"/>
<field name="is_corn_customer"/>
</xpath>
</field>
</record>
<record id="inherit_act_view_ir_cron_form" model="ir.ui.view">
<field name="name">ir.cron.form.inherit</field>
<field name="model">ir.cron</field>
<field name="inherit_id" ref="base.ir_cron_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='user_id']" position="after">
<field name="cron_type_id"/>
<field name="is_corn_customer"/>
</xpath>
</field>
</record>
<record id="ir_cron_type_tree" model="ir.ui.view">
<field name="name">ir.cron.type.tree</field>
<field name="model">ir.cron.type</field>
<field name="arch" type="xml">
<tree editable="bottom">
<field name="name"/>
</tree>
</field>
</record>
<record id="ir_cron_type_action" model="ir.actions.act_window">
<field name="name">定时任务类型</field>
<field name="res_model">ir.cron.type</field>
<field name="view_mode">tree</field>
</record>
</odoo>
+14
View File
@@ -9,4 +9,18 @@
parent="system_version_menu_root_board" parent="system_version_menu_root_board"
action="action_system_version" action="action_system_version"
sequence="1"/> sequence="1"/>
<menuitem id="timed_tasks_menu_root"
name="定时任务"
parent="system_version_menu_root_board"
action="base.ir_cron_act"
sequence="5"/>
<menuitem id="cron_type_menu_root"
name="配置菜单"
parent="system_version_menu_root_board"
sequence="10"/>
<menuitem id="ir_cron_type_menu_root"
name="定时任务类型"
parent="cron_type_menu_root"
action="ir_cron_type_action"
sequence="1"/>
</odoo> </odoo>
+2 -1
View File
@@ -12,7 +12,7 @@
'category': 'Human Resources/Attendances', 'category': 'Human Resources/Attendances',
'sequence': 240, 'sequence': 240,
'website': 'https://www.pengyuthon.com', 'website': 'https://www.pengyuthon.com',
'depends': ['hr_attendance', 'resource', 'base', 'hr', 'mail', 'depends': ['hr_attendance', 'resource', 'base', 'hr', 'mail', 'yuthon_base',
'soong_workflow', 'yuthon_issue', 'planning', 'calendar', 'web_gantt', 'yuthon_wechat', 'yuthon_hr_employee','planning'], 'soong_workflow', 'yuthon_issue', 'planning', 'calendar', 'web_gantt', 'yuthon_wechat', 'yuthon_hr_employee','planning'],
'data': [ 'data': [
'security/ir.model.access.csv', 'security/ir.model.access.csv',
@@ -31,6 +31,7 @@
'views/inherit_hr_employee.xml', 'views/inherit_hr_employee.xml',
'views/inherit_planning_role_views.xml', 'views/inherit_planning_role_views.xml',
'views/inherit_planning_slot_views.xml', 'views/inherit_planning_slot_views.xml',
'views/attendance_message_log.xml',
'views/inherit_planning_slot_template_views.xml', 'views/inherit_planning_slot_template_views.xml',
'views/yuthon_customer_approval_views.xml', 'views/yuthon_customer_approval_views.xml',
'views/yuthon_shift_planning_views.xml', 'views/yuthon_shift_planning_views.xml',
@@ -831,11 +831,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')]) [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_white_down(self): def ba_card_white_down(self):
@@ -843,11 +838,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')]) [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 保安部 - 中班 # 保安部 - 中班
@@ -856,11 +846,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')]) [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_mid_down(self): def ba_card_mid_down(self):
@@ -868,11 +853,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')]) [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 保安部 - 夜班 # 保安部 - 夜班
@@ -881,11 +861,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')]) [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_night_down(self): def ba_card_night_down(self):
@@ -893,11 +868,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')]) [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users: for user in ba_up_users:
if user.end_datetime.date() == fields.date.today(): if user.end_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 工程部 - 白班 # 工程部 - 白班
@@ -906,11 +876,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def gc_white_shift_remind(self): def gc_white_shift_remind(self):
@@ -918,11 +883,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id) self.card_duty_remind(user.resource_id.employee_id)
def gc_white_out_remind(self): def gc_white_out_remind(self):
@@ -930,11 +890,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 工程部 - 白值 # 工程部 - 白值
@@ -943,11 +898,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
def gc_white_remind_out(self): def gc_white_remind_out(self):
@@ -955,11 +905,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
# 工程部-中值夜 # 工程部-中值夜
@@ -968,11 +913,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def gc_night_remind_shift(self): def gc_night_remind_shift(self):
@@ -980,11 +920,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users: for user in ba_up_users:
if user.end_datetime.date() == fields.date.today(): if user.end_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id) self.card_duty_remind(user.resource_id.employee_id)
def gc_night_remind_out(self): def gc_night_remind_out(self):
@@ -992,11 +927,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')]) [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users: for user in ba_up_users:
if user.end_datetime.date() == fields.date.today(): if user.end_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 粮储-白班 # 粮储-白班
@@ -1005,11 +935,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')]) [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_lc_remind_out(self): def card_lc_remind_out(self):
@@ -1030,11 +955,6 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')]) [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
def card_lc_shift_remind(self): def card_lc_shift_remind(self):
@@ -1042,44 +962,24 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')]) [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id) self.card_duty_remind(user.resource_id.employee_id)
def card_lc_shift_remind_out(self): def card_lc_shift_remind_out(self):
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')]) ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_lc_shift_remind_on_administrative(self): def card_lc_shift_remind_on_administrative(self):
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')]) ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
def card_lc_shift_remind_out_administrative(self): def card_lc_shift_remind_out_administrative(self):
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')]) ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
# 客服上班消息提醒 # 客服上班消息提醒
@@ -1087,11 +987,6 @@ class HrAttendance(models.Model):
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')]) ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
# 客服下班消息提醒 # 客服下班消息提醒
@@ -1099,11 +994,6 @@ class HrAttendance(models.Model):
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')]) ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name) self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
# 客服值班消息提醒 # 客服值班消息提醒
@@ -1111,11 +1001,6 @@ class HrAttendance(models.Model):
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '值班')]) ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '值班')])
for user in ba_up_users: for user in ba_up_users:
if user.start_datetime.date() == fields.date.today(): if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id) self.card_duty_remind(user.resource_id.employee_id)
def _create_message_log(self, employee_id, message_type, url): def _create_message_log(self, employee_id, message_type, url):
@@ -1,5 +1,7 @@
from datetime import datetime, timedelta, time from datetime import datetime, timedelta, time
from email.policy import default from email.policy import default
from operator import index
from odoo import models, fields, api, _ from odoo import models, fields, api, _
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
import calendar import calendar
@@ -1057,8 +1059,13 @@ class AttendanceMessageLog(models.Model):
vacation_id = fields.Many2one('yuthon.vacation.reports', string='关联假期额度记录') vacation_id = fields.Many2one('yuthon.vacation.reports', string='关联假期额度记录')
employee_id = fields.Many2one('hr.employee', string='员工') employee_id = fields.Many2one('hr.employee', string='员工')
update_date = fields.Datetime(string='更新时间') department_id = fields.Many2one(related='employee_id.department_id', string="部门", index=True)
message_type = fields.Selection([('1', '上班'), ('2', '下班'), ('3', '异常'), ('4', '考勤确认'), ('5', '薪资')], string="类型") company_id = fields.Many2one(related='employee_id.company_id', string="公司")
update_date = fields.Datetime(string='提醒时间')
shift_id = fields.Many2one('planning.slot', string="班次", store=True)
content = fields.Text(string='内容')
notice_type = fields.Selection([('attendance', '出勤'), ('schedule', '日程'), ('announcement', '公告'), ('attendance_confirmation', '考勤确认单'), ('salary_slip', '薪资条'),
('process', '流程'), ('other', '其他')], string='类型')
message_url = fields.Char(string="url") message_url = fields.Char(string="url")
@@ -0,0 +1,41 @@
<odoo>
<record id="view_attendance_message_log_tree" model="ir.ui.view">
<field name="name">attendance.message.log.tree</field>
<field name="model">attendance.message.log</field>
<field name="arch" type="xml">
<tree string="消息提醒日志" editable="bottom">
<field name="employee_id"/>
<field name="department_id"/>
<field name="company_id"/>
<field name="notice_type"/>
<field name="update_date"/>
<field name="shift_id"/>
<field name="content"/>
<field name="message_url"/>
</tree>
</field>
</record>
<record id="view_attendance_message_log_search" model="ir.ui.view">
<field name="name">attendance.message.log.search</field>
<field name="model">attendance.message.log</field>
<field name="arch" type="xml">
<search string="消息提醒日志">
<field name="employee_id"/>
<field name="department_id"/>
</search>
</field>
</record>
<record id="view_attendance_message_log_action" model="ir.actions.act_window">
<field name="name">消息提醒日志</field>
<field name="res_model">attendance.message.log</field>
<field name="view_mode">tree,search</field>
</record>
<menuitem
id="attendance_message_log_menu_root"
name="消息提醒日志"
parent="yuthon_base.system_version_menu_root_board"
action="view_attendance_message_log_action"
sequence="3"
/>
</odoo>
@@ -230,18 +230,18 @@
</tree> </tree>
</field> </field>
</page> </page>
<page string="出勤消息日志"> <!-- <page string="出勤消息日志" invisible="1">-->
<field name="attendance_message_log_ids"> <!-- <field name="attendance_message_log_ids">-->
<tree editable="bottom" create="false" edit="false" delete="false"> <!-- <tree editable="bottom" create="false" edit="false" delete="false">-->
<field name="vacation_id" column_invisible="1"/> <!-- <field name="vacation_id" column_invisible="1"/>-->
<field name="employee_id"/> <!-- <field name="employee_id"/>-->
<field name="update_date"/> <!-- <field name="update_date"/>-->
<field name="message_type"/> <!-- <field name="message_type"/>-->
<field name="message_url"/> <!-- <field name="message_url"/>-->
<button name="unlink" string="删除" type="object" class="btn-primary" groups="yuthon_holiday.group_yuthon_holiday_admin"/> <!-- <button name="unlink" string="删除" type="object" class="btn-primary" groups="yuthon_holiday.group_yuthon_holiday_admin"/>-->
</tree> <!-- </tree>-->
</field> <!-- </field>-->
</page> <!-- </page>-->
<page string="汇总" invisible="1"> <page string="汇总" invisible="1">
<group> <group>
<field name="is_late_card"/> <field name="is_late_card"/>
@@ -394,17 +394,17 @@
</tree> </tree>
</field> </field>
</page> </page>
<page string="出勤消息日志"> <!-- <page string="出勤消息日志" invisible="1">-->
<field name="attendance_message_log_ids"> <!-- <field name="attendance_message_log_ids">-->
<tree> <!-- <tree>-->
<field name="vacation_id" column_invisible="1"/> <!-- <field name="vacation_id" column_invisible="1"/>-->
<field name="employee_id"/> <!-- <field name="employee_id"/>-->
<field name="update_date"/> <!-- <field name="update_date"/>-->
<field name="message_type"/> <!-- <field name="message_type"/>-->
<field name="message_url"/> <!-- <field name="message_url"/>-->
</tree> <!-- </tree>-->
</field> <!-- </field>-->
</page> <!-- </page>-->
<page string="汇总" invisible="1"> <page string="汇总" invisible="1">
<group> <group>
<field name="is_late_card"/> <field name="is_late_card"/>