@@ -75,6 +75,20 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
domain=lambda self: [('res_model', '=', self._name)], auto_join=True,
|
||||
string="审批明细")
|
||||
approval_sign_ids = fields.Many2many('res.users', store=False, compute="_compute_approval_sign_ids", string="加签人员")
|
||||
is_back = fields.Boolean(
|
||||
string='是否允许收回',
|
||||
compute='_compute_is_back',
|
||||
store=False,
|
||||
)
|
||||
|
||||
def _compute_is_back(self):
|
||||
for record in self:
|
||||
record.is_back = False
|
||||
if not record.log_ids:
|
||||
continue
|
||||
last_log = record.log_ids[-1]
|
||||
if last_log.approval_state == '0':
|
||||
record.is_back = True
|
||||
|
||||
@api.depends("node_id", "log_ids")
|
||||
def _compute_approval_sign_ids(self):
|
||||
@@ -711,18 +725,18 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
wkf_rec = wkf_obj.search([("model_id", "=", model), ('is_enable', '=', True)])
|
||||
for node in wkf_rec.node_ids:
|
||||
for button in node.button_ids:
|
||||
if self.env.user.has_group("soong_workflow.group_soong_workflow_manager"):
|
||||
btn_exec_action_el = etree.SubElement(header_el, "button")
|
||||
btn_exec_action_el.set("name", "btn_exec_action")
|
||||
btn_exec_action_el.set("string", button.name)
|
||||
btn_exec_action_el.set("type", "object")
|
||||
if button.is_highlight:
|
||||
btn_exec_action_el.set("class", "oe_highlight")
|
||||
if button.has_icon:
|
||||
btn_exec_action_el.set("icon", button.icon)
|
||||
btn_exec_action_el.set("invisible", "state != '%s'" % node.node_name)
|
||||
btn_exec_action_el.set("context", "{'btn_key':'%s','active_model':'%s'}" % (button.btn_key, self._name),)
|
||||
else:
|
||||
# if self.env.user.has_group("soong_workflow.group_soong_workflow_manager"):
|
||||
# btn_exec_action_el = etree.SubElement(header_el, "button")
|
||||
# btn_exec_action_el.set("name", "btn_exec_action")
|
||||
# btn_exec_action_el.set("string", button.name)
|
||||
# btn_exec_action_el.set("type", "object")
|
||||
# if button.is_highlight:
|
||||
# btn_exec_action_el.set("class", "oe_highlight")
|
||||
# if button.has_icon:
|
||||
# btn_exec_action_el.set("icon", button.icon)
|
||||
# btn_exec_action_el.set("invisible", "state != '%s'" % node.node_name)
|
||||
# btn_exec_action_el.set("context", "{'btn_key':'%s','active_model':'%s'}" % (button.btn_key, self._name),)
|
||||
# else:
|
||||
is_apostille = False
|
||||
if button.btn_hide:
|
||||
if button.review_type == "individual":
|
||||
@@ -737,14 +751,6 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
elif button.review_type == "expression":
|
||||
if not _check_condition_code(button):
|
||||
continue
|
||||
# # 如果是收回
|
||||
# log_ids = self.sudo().env["soong.workflow.log"].search(
|
||||
# [("workflow_id", "=", wkf_rec.id),
|
||||
# ("node_id", "=", node.id)
|
||||
# ])
|
||||
# if log_ids and log_ids[-1].approval_state != '0':
|
||||
# force_hide_withdraw = True
|
||||
# Add Button to View
|
||||
btn_exec_action_el = etree.SubElement(header_el, "button")
|
||||
btn_exec_action_el.set("name", "btn_exec_action")
|
||||
btn_exec_action_el.set("string", button.name)
|
||||
@@ -759,7 +765,20 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
if button.has_icon:
|
||||
btn_exec_action_el.set("icon", button.icon)
|
||||
# 接下来是隐藏的配置
|
||||
invisible = "not id or state != '{0}' ".format(str(node.node_name))
|
||||
if button.name == "收回":
|
||||
next_node_names = []
|
||||
if node.out_link_ids:
|
||||
next_node_names = [link.node_to.node_name for link in node.out_link_ids if link.node_to]
|
||||
|
||||
if next_node_names:
|
||||
state_conditions = " and ".join([f"state != '{name}'" for name in next_node_names])
|
||||
invisible = f"not id or ({state_conditions}) "
|
||||
else:
|
||||
# 无出链时,收回按钮永久隐藏
|
||||
invisible = "1 "
|
||||
else:
|
||||
invisible = f"not id or state != '{node.node_name}' "
|
||||
|
||||
if button.review_type == 'user_role':
|
||||
# 构建角色条件
|
||||
role_domain = []
|
||||
@@ -801,14 +820,10 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
id_el = etree.Element("field")
|
||||
id_el.set("name", "log_ids")
|
||||
id_el.set("invisible", "1")
|
||||
invisible += " or not log_ids"
|
||||
invisible += " or not log_ids or not is_back"
|
||||
# if button.name == "结束":
|
||||
# invisible += " or True"
|
||||
invisible += " or work_end"
|
||||
# if force_hide_withdraw and button.name == "收回":
|
||||
# invisible += "1"
|
||||
# btn_exec_action_el.set("invisible", "1")
|
||||
# else:
|
||||
btn_exec_action_el.set("invisible", invisible)
|
||||
btn_exec_action_el.set("context", "{'btn_key':'%s','active_model':'%s'}" % (button.btn_key, self._name),)
|
||||
res["arch"] = etree.tostring(arch, encoding="unicode").replace("\t", "")
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id" options="{'no_create': True}"/>
|
||||
<field name="days" invisible="1"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="expatriation_id"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
<group col="2">
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="validity"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="expatriates_ids" widget="many2many_tags"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
</group>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="start_date" invisible="not is_day"/>
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="department_id" widget="ztree_select"/>
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
</div>
|
||||
<group string="审批事项" col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="overtime_methods"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事由">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason_application"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" placeholder="请输入标题"/>
|
||||
<field name="resource_ids" widget="many2many_tags" invisible="1" />
|
||||
<field name="reason_application"/>
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" placeholder="请输入标题"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -35,7 +35,7 @@ class YuthonOnboardApproval(models.Model):
|
||||
bank = fields.Char(string='开户行')
|
||||
contract_type = fields.Selection(
|
||||
[('labor', ' 劳务协议 '), ('internship', ' 实习协议 '), ('part_time', ' 兼职协议 '),
|
||||
('consultant', ' 顾问 '), ('outsourcing', ' 外包 '), ('rehire', ' 返聘')], string="合同类型",
|
||||
('consultant', ' 顾问 '), ('outsourcing', ' 外包 '), ('rehire', ' 返聘')], string="非正式类型",
|
||||
default='labor')
|
||||
contract_type1 = fields.Selection([('formal', ' 正式合同 ')], string="合同类型")
|
||||
employment_form = fields.Selection([('formal', '正式'), ('informal', '非正式')], string="聘用形式", default='formal')
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="基础信息" >
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批信息">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
</div>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="job_id" options="{'no_create': True}"/>
|
||||
<field name="departments_id" options="{'no_create': True}"/>
|
||||
<field name="users_id" options="{'no_create': True}"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" readonly="0"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
</div>
|
||||
<group col="4" string="基本情况">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="staff_name" required="1"/>
|
||||
<field name="id_card"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批信息">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
@@ -76,9 +77,9 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="department_id1" readonly="0"/>
|
||||
<field name="contract_type" invisible="employment_form == 'formal' or not employment_form"/>
|
||||
<field name="contract_type1" invisible="1"/>
|
||||
<field name="salary_group_id"/>
|
||||
<field name="contract_type" invisible="employment_form == 'formal' or not employment_form"/>
|
||||
<field name="contract_type1" invisible="employment_form == 'informal'"/>
|
||||
<label for="probation_start_date"/>
|
||||
<div class="d-inline-flex w-100">
|
||||
<field name="probation_start_date" string="试用期时间:" class="me-2"
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</div>
|
||||
<group string="审批事项" col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="reporting_unit"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
</group>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
</group>
|
||||
<group string="审批信息">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="reason"/>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" readonly="1"/>
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
</group>
|
||||
<group string="审批详情">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="end_date"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason_application"/>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason_application"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
</div>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="resignation_name"/>
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_yuthon_transfer_approval_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.transfer.approval.tree</field>
|
||||
<field name="model">yuthon.transfer.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="code"/>
|
||||
<field name="users_id"/>
|
||||
<field name="main_post"/>
|
||||
<field name="duties"/>
|
||||
<field name="onboarding_date"/>
|
||||
<field name="end_of_contract"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_transfer_approval_form" model="ir.ui.view">
|
||||
<record id="view_yuthon_transfer_approval_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.transfer.approval.tree</field>
|
||||
<field name="model">yuthon.transfer.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="code"/>
|
||||
<field name="users_id"/>
|
||||
<field name="main_post"/>
|
||||
<field name="duties"/>
|
||||
<field name="onboarding_date"/>
|
||||
<field name="end_of_contract"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_transfer_approval_form" model="ir.ui.view">
|
||||
<field name="name">yuthon.transfer.approval.form</field>
|
||||
<field name="model">yuthon.transfer.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<form create="0">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
|
||||
invisible="urgency_level != 'normal'"/>
|
||||
invisible="urgency_level != 'normal'"/>
|
||||
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
@@ -45,12 +45,13 @@
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="reason" required="1"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
<field name="issue_text"/>
|
||||
<field name="notice_documents_id" widget="preview_many2one"/>
|
||||
</group>
|
||||
@@ -91,7 +92,7 @@
|
||||
<field name="detailed_description"/>
|
||||
<field name="remarks"/>
|
||||
</tree>
|
||||
</field>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
@@ -99,8 +100,8 @@
|
||||
</field>
|
||||
</record>
|
||||
<record id="yuthon_transfer_approval_action" model="ir.actions.act_window">
|
||||
<field name="name">工作移交</field>
|
||||
<field name="res_model">yuthon.transfer.approval</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="name">工作移交</field>
|
||||
<field name="res_model">yuthon.transfer.approval</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -63,6 +63,7 @@
|
||||
<field name="users_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="department_id" string="发布部门" invisible="1"/>
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="is_supervising" invisible="1"/>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
</div>
|
||||
<group string="文件基本信息">
|
||||
<group col="2">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
</div>
|
||||
<group string="文件基本信息">
|
||||
<group col="2">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="company_id1"/>
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
</div>
|
||||
<group string="文件基本信息">
|
||||
<group col="2">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from odoo import models, fields, api
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
|
||||
class ElectricWaterWizard(models.TransientModel):
|
||||
@@ -22,10 +23,12 @@ class ElectricWaterWizard(models.TransientModel):
|
||||
if meter.end_time and meter.end_time < self.push_date:
|
||||
continue
|
||||
if meter.yuthon_property_ids:
|
||||
push_date_minus_1month = (self.push_date - relativedelta(months=1))
|
||||
first_property = meter.yuthon_property_ids[0]
|
||||
contract_line = self.env['property.lease.contract.line'].search([
|
||||
('address_id', '=', first_property.id),
|
||||
('lease_id.contact_state', '=', 'ing')
|
||||
('lease_id.actual_start_time', '<', push_date_minus_1month),
|
||||
('lease_id.actual_end_time', '>=', push_date_minus_1month),
|
||||
], limit=1)
|
||||
if contract_line.lease_id:
|
||||
if contract_line.lease_id.actual_start_time.year == self.push_date.year and contract_line.lease_id.actual_start_time.month == self.push_date.month:
|
||||
@@ -71,10 +74,12 @@ class ElectricWaterWizard(models.TransientModel):
|
||||
if water.end_time and water.end_time < self.push_date:
|
||||
continue
|
||||
if water.yuthon_property_ids:
|
||||
push_date_minus_1month = (self.push_date - relativedelta(months=1))
|
||||
first_property = water.yuthon_property_ids[0]
|
||||
contract_line = self.env['property.lease.contract.line'].search([
|
||||
('address_id', '=', first_property.id),
|
||||
('lease_id.contact_state', '=', 'ing')
|
||||
('lease_id.actual_start_time', '<', push_date_minus_1month),
|
||||
('lease_id.actual_end_time', '>=', push_date_minus_1month),
|
||||
], limit=1)
|
||||
if contract_line.lease_id:
|
||||
if contract_line.lease_id.actual_start_time.year == self.push_date.year and contract_line.lease_id.actual_start_time.month == self.push_date.month:
|
||||
|
||||
@@ -47,7 +47,7 @@ class PropertyMeterArchives(models.Model):
|
||||
class MeterArchivesLine(models.Model):
|
||||
_inherit = 'meter.archives.line'
|
||||
|
||||
contract_id = fields.Many2one('property.lease.contract', string="合同", store=True, compute='_compute_contract_id')
|
||||
contract_id = fields.Many2one('property.lease.contract', string="合同")
|
||||
lessee_id = fields.Many2one(related="contract_id.lessee_id", string="承租方", store=True)
|
||||
contract_name = fields.Char(string='合同编号', store=True, index=True, compute="_compute_name")
|
||||
lessee_name = fields.Char(string='承租方名称', store=True, index=True, compute="_compute_name")
|
||||
|
||||
@@ -6,7 +6,7 @@ from odoo import models, fields, api, exceptions, _
|
||||
|
||||
class PropertyLesseeChange(models.Model):
|
||||
_name = 'property.lessee.change'
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
_inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin']
|
||||
_description = '承租方变更审批'
|
||||
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="supervising_id"/>
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="property_address"/>
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="reason_application"/>
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="property_source"/>
|
||||
<field name="company_id" required="1"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" widget="ztree_select"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="property_address"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
</page>
|
||||
</notebook>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="image"/>
|
||||
<field name="budget_list_id" widget="preview_many2one"/>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="sincerity_gold"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="user_id" widget="ztree_select"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</group>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="new_property_name"/>
|
||||
<field name="new_certificate_number"/>
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="main_text"/>
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
</div>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="code"/>
|
||||
<field name="lessee"/>
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="code"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="property_documents_ids">
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -515,6 +515,7 @@
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="contract_id" invisible="contract_type != 'lease_renewal'"/>
|
||||
<field name="rent_company" string="出租方" invisible="contract_sort != 'property'"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="renewal_type" widget="radio"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<group>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="original_lessee"/>
|
||||
<field name="contract_id"/>
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
</group>
|
||||
<group string="招租信息" col="3">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="property_id" options="{'no_create': True}"/>
|
||||
<field name="monthly_rent"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name" required="1" string="项目名称:"/>
|
||||
<field name="property_address"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
</group>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="other_company_id"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</div>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="issue_text" widget="tinymce"/>
|
||||
</group>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
</group>
|
||||
<group string="物业信息" col="3">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="property_id" options="{'no_create': True}"/>
|
||||
<field name="code"/>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="listing_method"/>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="user_id" widget="ztree_select"/>
|
||||
<field name="department_id" widget="ztree_select"/>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="property_address"/>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
|
||||
@@ -482,7 +482,7 @@ class PropertyReconciliationWizard(models.Model):
|
||||
domain.append(('contract_id', '=', line.contract_id.id))
|
||||
receivable_ids = self.env['property.accounts.receivable'].search(domain)
|
||||
for receivable in receivable_ids:
|
||||
if round(line.rent or 0, 2) == line.amount:
|
||||
if round(line.rent or 0, 2) == round(line.amount or 0, 2):
|
||||
is_reconciliation = True
|
||||
else:
|
||||
is_reconciliation = False
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</div>
|
||||
<group string="审批详情" col="2">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="date_application"/>
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="project_content"/>
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</div>
|
||||
<group string="基础信息">
|
||||
<group>
|
||||
<field name="is_back" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="phone"/>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user