Merge branch 'refs/heads/dev' into dev_zhou
This commit is contained in:
@@ -24,18 +24,17 @@ class RoomBooking(models.Model):
|
||||
default=lambda self: self.env.user.id if not self.env.user._is_public() else False,
|
||||
tracking=5)
|
||||
|
||||
# Fields used to group bookings in gantt view
|
||||
office_id = fields.Many2one(related="room_id.office_id", string="Office", readonly=True, store=True)
|
||||
company_id = fields.Many2one(related="room_id.company_id", string="Company", readonly=True, store=True)
|
||||
# pengyuthon
|
||||
|
||||
department_id = fields.Many2one('hr.department', related='organizer_id.employee_id.department_id', string="申请人部门")
|
||||
is_notice = fields.Boolean(string="是否发布通知", default=True)
|
||||
is_hour = fields.Boolean(string="提前一小时", default=True)
|
||||
is_day = fields.Boolean(string="提前一天", default=True)
|
||||
meeting_type = fields.Selection([('up', '线上'), ('down', '线下'), ('exterior', '外部')], default='down', string="会议形式",
|
||||
required=True)
|
||||
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型",)
|
||||
room_users_ids = fields.Many2many('res.users', string="会议参加人员",store=True)
|
||||
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
|
||||
room_users_ids = fields.Many2many('res.users', string="会议参加人员", store=True)
|
||||
other_company_id = fields.Many2one('res.partner', string="外部公司")
|
||||
other_company_user_ids = fields.One2many(related="other_company_id.child_ids", string="其他人员")
|
||||
|
||||
@@ -53,7 +52,6 @@ class RoomBooking(models.Model):
|
||||
# 关联流程
|
||||
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
|
||||
|
||||
#打开选择范围弹窗
|
||||
def open_select_range_wizard(self):
|
||||
return {
|
||||
'name': '选择范围',
|
||||
@@ -67,7 +65,6 @@ class RoomBooking(models.Model):
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
bookings = super(RoomBooking, self).create(vals_list)
|
||||
# Notify frontend views of new bookings
|
||||
for room, bookings in bookings.grouped("room_id").items():
|
||||
room._notify_booking_view("create", bookings)
|
||||
data = vals_list[0]
|
||||
@@ -112,29 +109,6 @@ class RoomBooking(models.Model):
|
||||
html_content = file.read().replace('姓名', html_select)
|
||||
self.write({'meeting_data': html_content})
|
||||
|
||||
# @api.depends('department_ids', 'employee_ids', 'users_role_ids')
|
||||
# def compute_room_users_ids(self):
|
||||
# department_users_list = users_role_list = []
|
||||
# for users in self:
|
||||
# if users.department_ids:
|
||||
# # 查看是否下级部门
|
||||
# for depart in users.department_ids:
|
||||
# department_users_data = users.env['hr.employee'].search([('department_id', '=', depart.id)])
|
||||
# department_users_list = [de.user_id.id for de in department_users_data]
|
||||
# if depart.child_ids:
|
||||
# for child in depart.child_ids:
|
||||
# department_child_users_data = users.env['hr.employee'].search(
|
||||
# [('department_id', '=', child.id)])
|
||||
# department_users_list += [de.user_id.id for de in department_child_users_data]
|
||||
# employee_users_list = users.employee_ids.user_id.ids
|
||||
# if users.users_role_ids:
|
||||
# for user_id in users.users_role_ids:
|
||||
# user_role_data = users.env['hr.employee'].search(['|', ('user_role_id', '=', user_id.id), ('user_role_ids', '=', user_id.id)])
|
||||
# users_role_list = [ro.user_id.id for ro in user_role_data]
|
||||
# publish_user_list = department_users_list + employee_users_list + users_role_list
|
||||
# false_none_list = [x for x in publish_user_list if x != False]
|
||||
# users.room_users_ids = [(6, 0, list(set(false_none_list)))]
|
||||
|
||||
@api.onchange('department_ids', 'employee_ids', 'users_role_ids', 'room_users_ids')
|
||||
def onchange_partner_ids(self):
|
||||
for par in self:
|
||||
@@ -161,9 +135,6 @@ class RoomBooking(models.Model):
|
||||
self.env['room.meeting.sign'].create({
|
||||
'room_booking_id': self.id,
|
||||
'partner_name': external.name,
|
||||
# 'sign_user_name': external.name, # 单位名称里面的联系人
|
||||
# 'job': external.function,
|
||||
# 'mobile': external.mobile,
|
||||
'user_type': 'outsiders',
|
||||
'sign_type': 'no',
|
||||
})
|
||||
@@ -181,9 +152,7 @@ class RoomBooking(models.Model):
|
||||
# 企业用户发送通知
|
||||
partner_ids = self.sudo().env['res.users'].search([('id', 'in', self.room_users_ids.ids)]).mapped(
|
||||
'partner_id').ids
|
||||
self.sudo().with_context(lang=self.env.lang)._message_auto_subscribe_notify(partner_ids,
|
||||
'room.message_yuthon_room_users_data')
|
||||
# odoo发通知
|
||||
self.sudo().with_context(lang=self.env.lang)._message_auto_subscribe_notify(partner_ids, 'room.message_yuthon_room_users_data')
|
||||
|
||||
def meeting_sign_in(self):
|
||||
# 页面填写信息之后返回给地址
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
.wizard_width {
|
||||
width: 50% !important;
|
||||
.horizontal-button {
|
||||
white-space: nowrap !important; /* 确保文本不换行 */
|
||||
}
|
||||
@@ -128,8 +128,7 @@
|
||||
<button name="meeting_sign_in" string="签到" invisible="meeting_type != 'down'" type="object"
|
||||
class="oe_highlight"/>
|
||||
<button name="meeting_partner_create" string="录入" invisible="meeting_type != 'down'"
|
||||
type="object"
|
||||
class="oe_highlight"/>
|
||||
type="object" class="oe_highlight"/>
|
||||
<button name="sync_wechat_room" string="同步企业微信" type="object" class="oe_highlight"/>
|
||||
</header>
|
||||
<group>
|
||||
@@ -152,61 +151,65 @@
|
||||
<field name="meeting_type_id" required="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<div>
|
||||
<button name="open_select_range_wizard" type="object">参与范围</button>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="room_users_ids" widget="many2many_tags"/>
|
||||
<field name="partner_ids" widget="many2many_tags" force_save="1" invisible="1"/>
|
||||
<field name="other_company_user_ids" widget="many2many_tags" readonly="1"/>
|
||||
<field name="is_notice"/>
|
||||
</group>
|
||||
<group>
|
||||
<button name="open_select_range_wizard" string="选择范围" type="object" class="btn btn-primary horizontal-button"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_hour" invisible="not is_notice"/>
|
||||
<field name="is_day" invisible="not is_notice"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="room_users_ids" widget="many2many_tags"/>
|
||||
<field name="partner_ids" widget="many2many_tags" force_save="1" invisible="1"/>
|
||||
<field name="other_company_user_ids" widget="many2many_tags" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="sign" string="签到详情">
|
||||
<group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="sign" string="签到详情">
|
||||
<group>
|
||||
<field name="should_user"/>
|
||||
<group>
|
||||
<field name="should_user"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="right_user"/>
|
||||
</group>
|
||||
<field name="meeting_sing_ids">
|
||||
<tree delete="0" create="0">
|
||||
<field name="room_booking_id" column_invisible="1"/>
|
||||
<field name="sign_user_name"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="job"/>
|
||||
<field name="mobile"/>
|
||||
<field name="user_type"/>
|
||||
<field name="sign_type"/>
|
||||
<field name="sign_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group>
|
||||
<field name="right_user"/>
|
||||
</group>
|
||||
<field name="meeting_sing_ids">
|
||||
<tree delete="0" create="0">
|
||||
<field name="room_booking_id" column_invisible="1"/>
|
||||
<field name="sign_user_name"/>
|
||||
<field name="partner_name"/>
|
||||
<field name="job"/>
|
||||
<field name="mobile"/>
|
||||
<field name="user_type"/>
|
||||
<field name="sign_type"/>
|
||||
<field name="sign_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
<page name="meeting_html" string="会议说明">
|
||||
<button name="button_meeting_data" string="座位排列" type="object" class="oe_highlight"/>
|
||||
<field name="meeting_data" widget="tinymce"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</page>
|
||||
<page name="meeting_html" string="会议说明">
|
||||
<button name="button_meeting_data" string="座位排列" type="object" class="oe_highlight"/>
|
||||
<field name="meeting_data" widget="tinymce"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="room_booking_action" model="ir.actions.act_window">
|
||||
<field name="name">Bookings</field>
|
||||
<field name="res_model">room.booking</field>
|
||||
<field name="view_mode">gantt,calendar,list,kanban,form,search</field>
|
||||
</record>
|
||||
</odoo>
|
||||
<record id="room_booking_action" model="ir.actions.act_window">
|
||||
<field name="name">Bookings</field>
|
||||
<field name="res_model">room.booking</field>
|
||||
<field name="view_mode">gantt,calendar,list,kanban,form,search</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<field name="name">room.select.range.wizard.form</field>
|
||||
<field name="model">room.select.range.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form js_class="wizard_width">
|
||||
<form>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="department_ids" widget="many2many_tags"/>
|
||||
|
||||
@@ -23,11 +23,5 @@
|
||||
<field name="padding">3</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
<record id="issue_meeting_code_num_sequence" model="ir.sequence">
|
||||
<field name="name">会议纪要编号</field>
|
||||
<field name="code">issue_meeting_minutes_code</field>
|
||||
<field name="prefix">HY%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -1,21 +1,26 @@
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class RoomBooking(models.Model):
|
||||
_inherit = 'room.booking'
|
||||
|
||||
room_booking_library_ids = fields.One2many('issue.meeting.line', 'meeting_booking_id')
|
||||
room_booking_id = fields.Many2one('issue.library')
|
||||
is_issue = fields.Boolean(string="是否关联议题")
|
||||
issue_meeting_line_ids = fields.One2many('issue.meeting.line', 'meeting_booking_id', string="关联议题明细行")
|
||||
|
||||
def bottom_meeting_approval(self):
|
||||
library_data = []
|
||||
for library in self.room_booking_library_ids:
|
||||
for library in self.issue_meeting_line_ids:
|
||||
if library.state == 'done':
|
||||
raise UserError('当前纪要不允许重复提交')
|
||||
library.state = 'done'
|
||||
library_data.append((0, 0, {
|
||||
'minutes_id':library.issue_meeting.id,
|
||||
'decision_results':library.decision_results,
|
||||
'overview':library.decision_details,
|
||||
'minutes_id': library.issue_library_id.id,
|
||||
'decision_results': library.decision_results,
|
||||
'overview': library.decision_details,
|
||||
}))
|
||||
return {
|
||||
'name':'会议纪要审批',
|
||||
'name': '会议纪要审批',
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_mode': "form",
|
||||
'res_model': 'issue.meeting.minutes',
|
||||
@@ -26,14 +31,28 @@ class RoomBooking(models.Model):
|
||||
'default_meeting_minutes_ids': library_data
|
||||
}}
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
res = super().create(vals_list)
|
||||
for vals in vals_list:
|
||||
if vals['issue_meeting_line_ids']:
|
||||
for line in vals['issue_meeting_line_ids']:
|
||||
self.env['issue.library.room.line'].create({
|
||||
'issue_library_id': line[2]['issue_library_id'],
|
||||
'room_booking_id': res.id,
|
||||
'room_id': vals['room_id'],
|
||||
'meeting_type_id': vals['meeting_type_id'],
|
||||
'approval_date': vals['start_datetime'],
|
||||
})
|
||||
return res
|
||||
|
||||
|
||||
class IssueMeetingLine(models.Model):
|
||||
_name = 'issue.meeting.line'
|
||||
_description = '关联议题库明细行'
|
||||
|
||||
_description = '关联议题明细行'
|
||||
|
||||
meeting_booking_id = fields.Many2one('room.booking', string='关联会议室')
|
||||
issue_meeting_id = fields.Many2one('issue.library', string='关联议题库')
|
||||
issue_library_id = fields.Many2one('issue.library', string='关联议题')
|
||||
decision_results = fields.Selection([('agree', '通过'), ('disagree', '未通过')], string="决策结果")
|
||||
decision_details = fields.Text(string="决策详情")
|
||||
state = fields.Selection([('no', '未提交'), ('done', '已提交')], default='no', string="状态")
|
||||
|
||||
@@ -30,9 +30,6 @@ class IssueApproval(models.Model):
|
||||
decision_display = fields.Char(string="决策清单", default='{"template": "yuthon_issue.html_decision_demo"}')
|
||||
is_parent_unit = fields.Boolean(string="上级单位")
|
||||
|
||||
def pub_meeting_minutes(self):
|
||||
pass
|
||||
|
||||
|
||||
class IssueApprovalLine(models.Model):
|
||||
_name = 'issue.approval.line'
|
||||
|
||||
@@ -25,11 +25,11 @@ class IssueLibrary(models.Model):
|
||||
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
|
||||
issue_approval_id = fields.Many2one('issue.approval', string="关联议题审批")
|
||||
issue_library_line_ids = fields.One2many('issue.library.line', 'issue_library_id', string="决策明细")
|
||||
issue_library_approval_line_ids = fields.One2many('issue.library.approval.line', 'issue_approval_id', string='流程记录')
|
||||
issue_library_approval_line_ids = fields.One2many('issue.library.approval.line', 'issue_library_id', string='流程记录')
|
||||
approval_decision_sequence = fields.Char(string="决策清单事项")
|
||||
is_booking = fields.Boolean(string="是否上会")
|
||||
room_booking_ids = fields.One2many('room.booking', 'room_booking_id', string="关联会议明细行")
|
||||
|
||||
issue_library_room_line_ids = fields.One2many('issue.library.room.line', 'issue_library_id', string="关联会议明细行")
|
||||
# 权限相关隐藏字段
|
||||
employee_id = fields.Many2one('hr.employee', string='创建人', default=lambda self: self.env.user.employee_id)
|
||||
department_id = fields.Many2one('hr.department', string='部门', related='employee_id.department_id')
|
||||
@@ -86,6 +86,7 @@ class IssueLibrary(models.Model):
|
||||
"views": [[form_id, "form"]],
|
||||
"context": {
|
||||
"id": issue_approval_id.id,
|
||||
"is_issue": True,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,6 +100,11 @@ class IssueLibrary(models.Model):
|
||||
raise UserError("当前状态不允许上会")
|
||||
for meet in self:
|
||||
meet.write({"state": "on_meet"})
|
||||
issue_details = []
|
||||
for issue in issue_active_ids:
|
||||
issue_details.append((0, 0, {
|
||||
'issue_library_id': issue.id,
|
||||
}))
|
||||
form_id = self.env.ref("room.room_booking_view_form").id
|
||||
return {
|
||||
"type": "ir.actions.act_window",
|
||||
@@ -106,7 +112,8 @@ class IssueLibrary(models.Model):
|
||||
"res_model": "room.booking",
|
||||
"views": [[form_id, "form"]],
|
||||
"context": {
|
||||
'default_room_booking_library_ids': [(6,0, issue_active_ids.ids)],
|
||||
'default_is_issue': True,
|
||||
'default_issue_meeting_line_ids': issue_details,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,14 +157,14 @@ class IssueLibraryLine(models.Model):
|
||||
team_meet = fields.Selection(related='issue_approval_decision_id.team_meet', string='经营班子会')
|
||||
board_meet = fields.Selection(related='issue_approval_decision_id.board_meet', string='董事会')
|
||||
district_bureau = fields.Selection(related='issue_approval_decision_id.district_bureau', string='上级单位')
|
||||
ordinal = fields.Char(related='issue_approval_decision_id.sequence',string='序号')
|
||||
ordinal = fields.Char(related='issue_approval_decision_id.sequence', string='序号')
|
||||
|
||||
|
||||
class IssueLibraryApprovalLine(models.Model):
|
||||
_name = "issue.library.approval.line"
|
||||
_description = '关联流程明细'
|
||||
|
||||
issue_approval_id = fields.Many2one('issue.library')
|
||||
issue_library_id = fields.Many2one('issue.library', string="关联议题")
|
||||
workflow_record_id = fields.Many2one('soong.workflow.record', string="标题")
|
||||
code = fields.Char(string="流程编号")
|
||||
approval_type = fields.Many2one(related="workflow_record_id.workflow_id", string="类型")
|
||||
@@ -171,3 +178,14 @@ class IssueLibraryApprovalLine(models.Model):
|
||||
"name": self.workflow_record_id.name,
|
||||
"view_mode": "form",
|
||||
}
|
||||
|
||||
|
||||
class IssueLibraryRoomLine(models.Model):
|
||||
_name = "issue.library.room.line"
|
||||
_description = '关联会议明细'
|
||||
|
||||
issue_library_id = fields.Many2one('issue.library', string="关联议题")
|
||||
room_booking_id = fields.Many2one('room.booking', string="会议名称")
|
||||
room_id = fields.Many2one('room.room', string="会议地点")
|
||||
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
|
||||
approval_date = fields.Datetime(related="room_booking_id.write_date", string="创建日期")
|
||||
|
||||
@@ -12,7 +12,7 @@ class IssueMeetingMinutes(models.Model):
|
||||
meeting_type_id = fields.Many2one('room.meeting.type', string="会议类型")
|
||||
meeting_date = fields.Datetime(string="会议时间")
|
||||
code = fields.Char(string='编号', required=True, copy=False,
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('issue_meeting_code_num_sequence'))
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('issue_meeting_minutes_code'))
|
||||
meeting_minutes_ids = fields.One2many('issue.meeting.minutes.line', 'meeting_minutes_id', string="会议纪要明细")
|
||||
notice_documents_ids = fields.Many2many('documents.document', string="纪要签名附件")
|
||||
|
||||
|
||||
@@ -8,3 +8,6 @@ access_issue_approval_line,issue_approval_line,model_issue_approval_line,base.gr
|
||||
access_issue_library,issue_library,model_issue_library,base.group_user,1,1,1,1
|
||||
access_issue_meeting_minutes_line,issue_meeting_minutes_line,model_issue_meeting_minutes_line,base.group_user,1,1,1,1
|
||||
access_issue_meeting_minutes,issue_meeting_minutes,model_issue_meeting_minutes,base.group_user,1,1,1,1
|
||||
access_issue_meeting_line,issue_meeting_line,model_issue_meeting_line,base.group_user,1,1,1,1
|
||||
access_issue_library_room_line,issue_library_room_line,model_issue_library_room_line,base.group_user,1,1,1,1
|
||||
|
||||
|
||||
|
@@ -5,20 +5,31 @@
|
||||
<field name="model">room.booking</field>
|
||||
<field name="inherit_id" ref="room.room_booking_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='room_id']" position="after">
|
||||
<field name="is_issue"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='sign']" position="after">
|
||||
<page string="关联议题">
|
||||
<field name="room_booking_library_ids">
|
||||
<page string="关联议题" invisible="is_issue == False">
|
||||
<field name="issue_meeting_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="meeting_booking_id" column_invisible="1"/>
|
||||
<field name="issue_meeting_id"/>
|
||||
<field name="issue_library_id" readonly="1"/>
|
||||
<field name="decision_results"/>
|
||||
<field name="decision_details"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button name="bottom_meeting_approval" string="提交会议审批单" type="object" class="oe_highlight"/>
|
||||
<button name="bottom_meeting_approval" string="提交会议纪要审批单" type="object" class="oe_highlight"/>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="issue_meeting_action" model="ir.actions.act_window">
|
||||
<field name="name">议题相关会议</field>
|
||||
<field name="res_model">room.booking</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('is_issue','=',True)]</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<field name="department_id"/>
|
||||
<field name="issue_display" widget="json_template"/>
|
||||
<field name="decision_display" widget="json_template"/>
|
||||
<button name="pub_meeting_minutes" string="会议纪要" type="object" class="oe_highlight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -34,17 +34,9 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" required="1"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
@@ -89,7 +81,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -107,13 +99,13 @@
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="room_booking_ids">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="room_booking_id" string="会议名称"/>
|
||||
<field name="room_id" string="会议地点"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="start_datetime"/>
|
||||
<field name="stop_datetime"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
@@ -223,18 +215,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -244,6 +228,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -269,7 +254,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -286,6 +271,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -365,17 +361,9 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" required="1"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
@@ -386,6 +374,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -411,7 +400,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -428,6 +417,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -506,18 +506,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -527,6 +519,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -552,7 +545,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -569,6 +562,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -648,18 +652,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -669,6 +665,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -694,7 +691,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -711,6 +708,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -790,18 +798,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -811,6 +811,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -836,7 +837,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -853,6 +854,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -932,18 +944,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -953,6 +957,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -978,7 +983,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -995,6 +1000,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -1074,18 +1090,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -1095,6 +1103,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="2">
|
||||
@@ -1120,7 +1129,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -1137,6 +1146,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -1219,18 +1239,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -1240,6 +1252,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="4">
|
||||
@@ -1273,7 +1286,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -1290,6 +1303,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -1381,18 +1405,10 @@
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="approval_decision_sequence" invisible="1"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="creart_datetime"/>
|
||||
@@ -1402,6 +1418,7 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="users_role_ids" invisible="1" widget="many2many_tags"/>
|
||||
<field name="is_booking"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="4">
|
||||
@@ -1435,7 +1452,7 @@
|
||||
<page string="关联流程">
|
||||
<field name="issue_library_approval_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_approval_id" column_invisible="1"/>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="workflow_record_id" string="标题"/>
|
||||
<field name="code"/>
|
||||
<field name="approval_type"/>
|
||||
@@ -1452,6 +1469,17 @@
|
||||
<group/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联会议" invisible="is_booking == False">
|
||||
<field name="issue_library_room_line_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="issue_library_id" column_invisible="1"/>
|
||||
<field name="room_booking_id"/>
|
||||
<field name="room_id"/>
|
||||
<field name="meeting_type_id"/>
|
||||
<field name="approval_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -42,6 +42,12 @@
|
||||
action="issue_library_approval_action"
|
||||
sequence="28"/>
|
||||
|
||||
<menuitem id="issue_meeting_menu"
|
||||
parent="tianhe_issue_library_menu_root"
|
||||
name="议题相关会议"
|
||||
action="issue_meeting_action"
|
||||
sequence="29"/>
|
||||
|
||||
<menuitem id="issue_meeting_minutes_menu"
|
||||
parent="tianhe_issue_library_menu_root"
|
||||
name="会议纪要"
|
||||
|
||||
Reference in New Issue
Block a user