添加功能
This commit is contained in:
@@ -88,7 +88,7 @@ class SoongWorkflowRecord(models.Model):
|
||||
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
|
||||
for rec in record_id.log_ids:
|
||||
if rec.approval_state in ['0', '1']:
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={rec.done_by.employee_id.user_id.oauth_access_token}&oauth_uid={rec.done_by.employee_id.user_id.oauth_uid}#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(fields.Datetime.now() + timedelta(hours=8))
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=rec.done_by.employee_id.wecom_userid,
|
||||
title=record_id._description + '催办传阅/抄送,请尽快处理',
|
||||
@@ -96,7 +96,7 @@ class SoongWorkflowRecord(models.Model):
|
||||
btntxt="查看详情")
|
||||
for rec in record_id.log_ids2:
|
||||
if rec.approval_state == '0':
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={rec.done_by.employee_id.user_id.oauth_access_token}&oauth_uid={rec.done_by.employee_id.user_id.oauth_uid}#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(fields.Datetime.now() + timedelta(hours=8))
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=rec.done_by.employee_id.wecom_userid,
|
||||
title=record_id._description + '催办传阅/抄送,请尽快查看',
|
||||
|
||||
@@ -19,7 +19,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
node_btn_id = fields.Many2one(comodel_name="soong.workflow.node.button")
|
||||
node_btn_name = fields.Char(string="动作名称", related='node_btn_id.name')
|
||||
user_id = fields.Many2one('res.users',string='用户',default=lambda self: self.env.user)
|
||||
user_role_id = fields.Many2one('soong.user.role', string="角色", compute='_compute_user_role_id')
|
||||
user_role_id = fields.Many2one('soong.user.role', string="角色", compute='_compute_user_role_id', store=True)
|
||||
node_link_len = fields.Char(string="转交2")
|
||||
is_supervising = fields.Boolean(string="是否督办")
|
||||
comment_note_id = fields.Many2one('soong.note', string="意见", default='妥否,呈领导审批')
|
||||
@@ -171,7 +171,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee.user_id.oauth_access_token}&oauth_uid={employee.user_id.oauth_uid}#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(
|
||||
fields.Datetime.now() + timedelta(hours=8))
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
|
||||
@@ -248,7 +248,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee.user_id.oauth_access_token}&oauth_uid={employee.user_id.oauth_uid}#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={record_id.action.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}'
|
||||
description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(
|
||||
fields.Datetime.now() + timedelta(hours=8))
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
|
||||
@@ -265,7 +265,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
log_ids[-2].write({'approval_state': '1'})
|
||||
record_id.write({'state': log_ids[-2].name})
|
||||
for employee in self.employee_ids:
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee.user_id.oauth_access_token}&oauth_uid={employee.user_id.oauth_uid}#id={self.id}&cids=2&action={record_id.action.id}&model={self._name}&view_type=from&menu_id={record_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={record_id.action.id}&model={self._name}&view_type=from&menu_id={record_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
|
||||
user_id=employee.wecom_userid,
|
||||
title=self._description,
|
||||
|
||||
@@ -96,7 +96,7 @@ class HrAttendance(models.Model):
|
||||
is_early_card += 1
|
||||
if i.is_no_card:
|
||||
is_late_card += 1
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={rec.employee_id.user_id.oauth_access_token}&oauth_uid={rec.employee_id.user_id.oauth_uid}#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=from&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=from&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='att', user_id=rec.employee_id.wecom_userid,
|
||||
title="打卡异常提醒", description="本月迟到: {}\n本月缺卡: {}\n本月早退: {}\n".format(is_late_card, is_no_card, is_early_card),
|
||||
url=url, btntxt="详细信息")
|
||||
@@ -275,7 +275,7 @@ class HrAttendance(models.Model):
|
||||
employee_ids = self.env['hr.employee'].search([('department_id.name', '=', '办公室')])
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的异常')])
|
||||
for employee_id in employee_ids:
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=from&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=from&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='att',
|
||||
user_id=employee_id.wecom_userid,
|
||||
title="打卡异常提醒", description="异常提醒",
|
||||
|
||||
@@ -381,7 +381,7 @@ class HrAttendanceMonthDetail(models.Model):
|
||||
|
||||
def button_put(self):
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '考勤确认'), ('parent_id', '!=', False)])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={self.employee_id.user_id.oauth_access_token}&oauth_uid={self.employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=hr.attendance.month.detail&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance.month.detail&view_type=list&menu_id={menu_id.id}'
|
||||
we_id = self.env['hr.employee'].search([('id', '=', self.employee_id.id)]).wecom_userid
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='default', user_id=we_id, title="考勤确认",
|
||||
description=self.employee_id.name + '请确认你的考勤:',
|
||||
@@ -400,7 +400,7 @@ class HrAttendanceMonthDetail(models.Model):
|
||||
detail_ids = self.env["hr.attendance.month.detail"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
for detail in detail_ids:
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '考勤确认'), ('parent_id', '!=', False)])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={detail.employee_id.user_id.oauth_access_token}&oauth_uid={detail.employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=hr.attendance.month.detail&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance.month.detail&view_type=list&menu_id={menu_id.id}'
|
||||
we_id = self.env['hr.employee'].search([('id', '=', detail.employee_id)]).wecom_userid
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='attendance', user_id=we_id, title="考勤确认",
|
||||
description=detail.employee_id.name + '请确认你的考勤:',
|
||||
@@ -676,7 +676,7 @@ class HrAttendanceMonthDetail(models.Model):
|
||||
attendance_details = self.env['hr.attendance.month.detail'].search([])
|
||||
for detail in attendance_details:
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的确认'), ('parent_id', '!=', False)])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={detail.employee_id.user_id.oauth_access_token}&oauth_uid={detail.employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=hr.attendance.month.detail&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&#action={menu_id.action.id}&model=hr.attendance.month.detail&view_type=list&menu_id={menu_id.id}'
|
||||
we_id = self.env['hr.employee'].search([('id', '=', detail.employee_id)]).wecom_userid
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='attendance', user_id=we_id, title="考勤确认",
|
||||
description=detail .employee_id.name + '请确认你的考勤:',
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<header>
|
||||
<button name="put_time_failure" type="object" string="Approve" class="btn btn-primary"/>
|
||||
</header>
|
||||
<!-- <header>-->
|
||||
<!-- <button name="put_time_failure" type="object" string="Approve" class="btn btn-primary"/>-->
|
||||
<!-- </header>-->
|
||||
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
|
||||
invisible="urgency_level != 'normal'"/>
|
||||
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
|
||||
|
||||
@@ -18,7 +18,7 @@ class YuthonConfirmUsers(models.Model):
|
||||
for record in self.search([('state', '=', 'no')]):
|
||||
partner_ids = record.employee_id.user_id.partner_id.id
|
||||
record.with_context(lang=record.env.lang)._message_auto_subscribe_notify(partner_ids, 'yuthon_notice.message_yuthon_confirm_users_data')
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={record.employee_id.user_id.oauth_access_token}&oauth_uid={record.employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=yuthon.notice&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.notice&view_type=list&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='notice', user_id=record.employee_id.wecom_userid, title="通知公告",
|
||||
description="您有待确认的通知公告请尽快确认", url=url, btntxt="详细信息")
|
||||
|
||||
@@ -29,7 +29,7 @@ class YuthonConfirmUsers(models.Model):
|
||||
confirm_noice_ids = self.env["yuthon.confirm.users"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
for rec in confirm_noice_ids:
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的通知公告')])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={rec.employee_id.user_id.oauth_access_token}&oauth_uid={rec.employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=yuthon.notice&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.notice&view_type=list&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='notice', user_id=rec.employee_id.wecom_userid,
|
||||
title="通知公告(催办)", description="您有待确认的通知公告请尽快确认",
|
||||
url=url, btntxt="详细信息")
|
||||
|
||||
@@ -107,7 +107,7 @@ class YuthonNotice(models.Model):
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '通知公告'), ('parent_id', '!=', False)])
|
||||
conf_old = self.env['yuthon.confirm.users'].search([('notice_id', '=', self.id), ('employee_id', 'in', self.users_ids.ids)])
|
||||
for user_id in self.users_ids:
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={user_id.oauth_access_token}&oauth_uid={user_id.oauth_uid}#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.notice&view_type=from&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.notice&view_type=from&menu_id={menu_id.id}'
|
||||
if conf_old:
|
||||
for co in conf_old:
|
||||
co.write({'state': 'no'})
|
||||
|
||||
@@ -38,7 +38,7 @@ class PropertyElectricReading(models.Model):
|
||||
reading_ids = self.env["property.electric.reading"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
for record in reading_ids:
|
||||
for employee_id in record.employee_ids:
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=property.electric.reading&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=property.electric.reading&view_type=list&menu_id={menu_id.id}'
|
||||
we_id = self.env['hr.employee'].search([('id', '=', employee_id)]).wecom_userid
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='notice', user_id=we_id,
|
||||
title="通知公告",
|
||||
|
||||
@@ -39,7 +39,7 @@ class PropertyWaterReading(models.Model):
|
||||
reading_ids = self.env["property.water.reading"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
for record in reading_ids:
|
||||
for employee_id in record.employee_ids:
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=property.water.reading&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=property.water.reading&view_type=list&menu_id={menu_id.id}'
|
||||
we_id = self.env['hr.employee'].search([('id', '=', employee_id)]).wecom_userid
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='notice', user_id=we_id,
|
||||
title="通知公告",
|
||||
|
||||
@@ -36,7 +36,7 @@ class PropertyTenantLine(models.Model):
|
||||
class PropertyLeaseContract(models.Model):
|
||||
_name = 'property.lease.contract'
|
||||
_description = '租赁合同审批'
|
||||
# _inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin']
|
||||
_inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin']
|
||||
_rec_name = 'contract_code'
|
||||
|
||||
name = fields.Char(string='物业信息')
|
||||
@@ -53,6 +53,7 @@ class PropertyLeaseContract(models.Model):
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
|
||||
# 承租方的个人信息
|
||||
lessee_id = fields.Many2one('property.tenant.information', string='承租方')
|
||||
lessee_name = fields.Char(related='lessee_id.name', string="承租方姓名")
|
||||
contact = fields.Char(related='lessee_id.contact', string="联系人")
|
||||
phone = fields.Char(related='lessee_id.phone', string="联系电话")
|
||||
email = fields.Char(related='lessee_id.email', string="电子邮箱")
|
||||
|
||||
@@ -416,6 +416,7 @@
|
||||
<field name="rent_company" string="出租方"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="lessee_id"/>
|
||||
<field name="lessee_name" invisible="1"/>
|
||||
<field name="users_id" readonly="1" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -163,7 +163,7 @@ class InheritHrPayslip(models.Model):
|
||||
|
||||
def put_payslip(self):
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '工资条'), ('parent_id', '!=', False)])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={self.employee_id.user_id.oauth_access_token}&oauth_uid={self.employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=hr.payslip&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.payslip&view_type=list&menu_id={menu_id.id}'
|
||||
we_id = self.env['hr.employee'].search([('id', '=', self.employee_id)]).wecom_userid
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='payslip', user_id=we_id, title="薪资确认",
|
||||
description=self.employee_id.name + '请确认你的薪资:',
|
||||
|
||||
@@ -17,6 +17,7 @@ class YuthonWillTask(models.Model):
|
||||
priority = fields.Selection([('general', '不紧急不重要'), ('important', '重要不紧急'),
|
||||
('urgent', '紧急不重要'), ('very_urgent', '重要且紧急')], string='优先级')
|
||||
task_type = fields.Many2one('task.type.setting', string='任务类型')
|
||||
user_id = fields.Many2one('res.users', string="创建人", default=lambda self: self.env.user)
|
||||
task_content = fields.Text(string='任务内容')
|
||||
remarks = fields.Text(string='备注')
|
||||
creation_time = fields.Date(string='创建时间', default=fields.Date.today())
|
||||
@@ -95,8 +96,7 @@ class YuthonWillTask(models.Model):
|
||||
if not employee_id.wecom_userid:
|
||||
raise UserError("请同步{}的企业微信".format(employee_id.name))
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的日程')])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=yuthon.will.task&view_type=list&menu_id={menu_id.id}'
|
||||
# url = f'http://82.156.218.102:8057/web?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=yuthon.will.task&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.will.task&view_type=form&menu_id={menu_id.id}'
|
||||
data_name = "事项名称: " + self.task_content + '\n'
|
||||
data_start_time = '开始时间:' + str(self.start_time + timedelta(hours=8)) + '\n'
|
||||
data_user_ids = '参与人: ' + ', '.join(self.employee_ids.mapped('name')) + '\n'
|
||||
@@ -129,7 +129,7 @@ class YuthonWillTask(models.Model):
|
||||
if not employee_id.wecom_userid:
|
||||
raise UserError("请同步{}的企业微信".format(employee_id.name))
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的日程')])
|
||||
url = f'https://oa.thtzjt.com/web?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=yuthon.will.task&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.will.task&view_type=list&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='task', user_id=employee_id.wecom_userid,
|
||||
title="日程事项提醒", description="事项名称: " + self.task_content + '\t' + '该事项已取消',
|
||||
url=url, btntxt="详细信息")
|
||||
|
||||
@@ -47,23 +47,42 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="日程" create="0">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
|
||||
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]"/>
|
||||
<div class="oe_title">
|
||||
<label for="task_content"/>
|
||||
<h1>
|
||||
<field name="task_content" required="1"/>
|
||||
<field name='users_ids' widget="many2many_tags" invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="remarks"/>
|
||||
<field name="creation_time" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="priority"/>
|
||||
<field name="start_time"/>
|
||||
<field name="end_time"/>
|
||||
<field name="task_time_ids" widget="many2many_tags" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="start_time"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="end_time"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
|
||||
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]"/>
|
||||
<field name="task_content" required="1"/>
|
||||
<field name="remarks"/>
|
||||
<field name='users_ids' widget="many2many_tags" invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="remarks"/>
|
||||
<field name="creation_time" invisible="1"/>
|
||||
</group>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="task_type"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="priority"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="task_time_ids" widget="many2many_tags" required="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user