!8166 Merge branch 'master' into dev_zhou
Merge pull request !8166 from 李鹏宇/dev_zhou
This commit is contained in:
@@ -48,7 +48,7 @@ class SoongWorkflowRecord(models.Model):
|
||||
workflow_id = fields.Many2one(comodel_name="soong.workflow", string="类型", ondelete="restrict")
|
||||
node_id = fields.Many2one(comodel_name="soong.workflow.node", string="当前节点")
|
||||
company_id = fields.Many2one(related="create_uid.company_id", string="公司")
|
||||
is_log2 = fields.Boolean(string="是否是抄送流程")
|
||||
is_log2 = fields.Boolean(string="抄送")
|
||||
employee_ids = fields.Many2many('hr.employee', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
|
||||
employee2_ids = fields.Many2many(
|
||||
'hr.employee',
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
</group>
|
||||
<header_search class="header-search-inline">
|
||||
<!-- <field name="workflow_id" string="审批类型"/>-->
|
||||
<field name="is_log2" stirng="抄送"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="employee_ids" string="当前经办人"/>
|
||||
@@ -194,9 +195,11 @@
|
||||
<field name="soong_state"/>
|
||||
<field name="is_manager" column_invisible="1"/>
|
||||
<field name="is_unlink" column_invisible="1"/>
|
||||
<field name="is_log2" column_invisible="1"/>
|
||||
<button name="delete_record" type="object" string="删除" class="btn-primary"
|
||||
confirm="你确定要删除吗?"
|
||||
invisible="not is_unlink"/>
|
||||
<button name="greater_record" type="object" string="更多" class="btn-primary" invisible="not is_log2"/>
|
||||
<button name="reminders_record" type="object" string="催办" class="btn-primary"
|
||||
invisible="soong_state != 'done' or create_uid != uid or approve_state == 'end'"/>
|
||||
<button name="revoke_record" type="object" string="撤销" class="btn-primary"
|
||||
@@ -315,30 +318,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="soong_workflow_record_my_action" model="ir.actions.act_window">-->
|
||||
<!-- <field name="name">我的流程</field>-->
|
||||
<!-- <field name="type">ir.actions.act_window</field>-->
|
||||
<!-- <field name="res_model">soong.workflow.record</field>-->
|
||||
<!-- <field name="view_mode">tree,kanban,search</field>-->
|
||||
<!--<!– <field name="context">{'check_employee': 1, 'search_default_is_start':1, 'search_default_is_to_do':1}</field>–>-->
|
||||
<!-- <field name="context">{'header_search_default_approve_state': 1, 'header_search_default_to_do':1, 'check_employee': 1}</field>-->
|
||||
<!-- <field name="domain">[('users_ids', 'in', uid), ('reclaim_state', '=', False)]</field>-->
|
||||
<!-- <field name="search_view_id" ref="soong_workflow_record_search"/>-->
|
||||
<!-- <field name="view_id" ref="soong_workflow_record_my_tree"/>-->
|
||||
<!-- </record>-->
|
||||
<record id="soong_workflow_record_is_logs_action" model="ir.actions.act_window">
|
||||
<field name="name">抄送流程</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">soong.workflow.record</field>
|
||||
<field name="view_mode">tree,kanban,search</field>
|
||||
<field name="context">{'header_search_default_approve_state': 1, 'header_search_default_to_do':1,
|
||||
'check_employee': 1}
|
||||
</field>
|
||||
<field name="domain">[('users_ids', 'in', uid), ('reclaim_state', '=', False), ('is_log2', '=', True)]
|
||||
</field>
|
||||
<field name="search_view_id" ref="soong_workflow_record_search1"/>
|
||||
<field name="view_id" ref="soong_workflow_record_log2_tree"/>
|
||||
</record>
|
||||
<record id="soong_workflow_record_todo_action" model="ir.actions.act_window">
|
||||
<field name="name">待办</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
||||
@@ -492,7 +492,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
record_id.write({'state': self.trans_link_id.name})
|
||||
for employee in self.circulated_employee_ids:
|
||||
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
|
||||
|
||||
self.sudo().env["soong.workflow.record.copy"].create({
|
||||
"code": record_id.code,
|
||||
"name": record_id.name,
|
||||
|
||||
@@ -18,10 +18,30 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_hr_leave_statement_search" model="ir.ui.view">
|
||||
<field name="name">hr.leave.statement.search</field>
|
||||
<field name="model">hr.leave</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="请假情况">
|
||||
<field name="caption"/>
|
||||
<field name="employee_id"/>
|
||||
<filter string="员工" name="group_by_employee_id" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="now_month" string="当月" domain="[('date_from', '>=', (context_today() + relativedelta(day=1)).strftime('%Y-%m-%d')),
|
||||
('date_from', '<', (context_today() + relativedelta(months=+1, day=1)).strftime('%Y-%m-%d'))]"/>
|
||||
<header_search class="header-search-inline">
|
||||
<field name="date_from"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
</header_search>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_holiday_statement_action" model="ir.actions.act_window">
|
||||
<field name="name">请假情况</field>
|
||||
<field name="res_model">hr.leave</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_mode">tree,search</field>
|
||||
<field name="context">{'search_default_now_month': 1, 'search_default_group_by_employee_id':1}</field>
|
||||
<field name="view_id" ref="view_hr_leave_statement_tree"/>
|
||||
<field name="search_view_id" ref="view_hr_leave_statement_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -341,6 +341,8 @@
|
||||
<field name="model">yuthon.vacation.reports</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<filter name="now_month" string="当月" domain="[('vacation_date', '>=', (context_today() + relativedelta(day=1)).strftime('%Y-%m-%d')),
|
||||
('vacation_date', '<', (context_today() + relativedelta(months=+1, day=1)).strftime('%Y-%m-%d'))]"/>
|
||||
<field name="employee_id"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="公司" name="group_by_company_id" domain="[]" context="{'group_by': 'company_id'}"/>
|
||||
@@ -350,6 +352,11 @@
|
||||
<filter string="按年" name="group_by_vacation_year" domain="[]" context="{'group_by': 'vacation_date:year'}"/>
|
||||
<filter string="按月" name="group_by_vacation_month" domain="[]" context="{'group_by': 'vacation_date:month'}"/>
|
||||
</group>
|
||||
<header_search class="header-search-inline">
|
||||
<field name="vacation_date"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
</header_search>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -535,6 +542,14 @@
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="start_time"/>
|
||||
<filter string="员工" name="group_by_employee_id" domain="[]" context="{'group_by': 'employee_id'}"/>
|
||||
<filter name="now_month" string="当月" domain="[('start_time', '>=', (context_today() + relativedelta(day=1)).strftime('%Y-%m-%d')),
|
||||
('start_time', '<', (context_today() + relativedelta(months=+1, day=1)).strftime('%Y-%m-%d'))]"/>
|
||||
<header_search class="header-search-inline">
|
||||
<field name="start_time"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
</header_search>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -543,6 +558,7 @@
|
||||
<field name="res_model">vacation.over.line</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">['|', ('workflow_record_id','!=', False), ('is_initial_number', '=', True), ('update_type', '=', 'add')]</field>
|
||||
<field name="context">{'search_default_now_month': 1, 'search_default_group_by_employee_id':1}</field>
|
||||
<field name="view_id" ref="view_yuthon_vacation_overtime_tree"/>
|
||||
<field name="search_view_id" ref="view_yuthon_vacation_overtime_search"/>
|
||||
</record>
|
||||
@@ -558,7 +574,8 @@
|
||||
<field name="res_model">yuthon.vacation.reports</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[('meal_fee', '!=', 0)]</field>
|
||||
<field name="context">{'search_default_group_by_vacation_month': True}</field>
|
||||
<field name="context">{'search_default_now_month': 1, 'search_default_group_by_employee_id':1}</field>
|
||||
<field name="search_view_id" ref="view_yuthon_vacation_reports_search"/>
|
||||
<field name="view_ids" eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_attendance.view_yuthon_vacation_meal_tree')}),]"/>
|
||||
</record>
|
||||
@@ -566,7 +583,7 @@
|
||||
<field name="name">考勤确认单台账</field>
|
||||
<field name="res_model">yuthon.vacation.reports</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{'search_default_group_by_employee_id': 1, 'search_default_group_by_vacation_month': True}</field>
|
||||
<field name="context">{'search_default_now_month': 1, 'search_default_group_by_employee_id':1}</field>
|
||||
<field name="view_ids" eval="[(5, 0, 0),
|
||||
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_attendance.view_yuthon_vacation_reports_tree')}),
|
||||
(0, 0, {'view_mode': 'form', 'view_id': ref('yuthon_hr_attendance.view_yuthon_vacation_reports_form')})]"/>
|
||||
|
||||
@@ -13,7 +13,7 @@ class AttendanceControlsWizard(models.TransientModel):
|
||||
_description = "考勤操作弹窗"
|
||||
|
||||
attendance_id = fields.Many2one('hr.attendance', string="考勤记录")
|
||||
|
||||
vacation_id = fields.Many2one('yuthon.vacation.reports', string="休假记录")
|
||||
|
||||
def button_leave(self):
|
||||
form_id = self.env.ref('yuthon_holiday.view_hr_leave_batch_form').id
|
||||
@@ -57,3 +57,21 @@ class AttendanceControlsWizard(models.TransientModel):
|
||||
}
|
||||
}
|
||||
|
||||
def overtime_vacation(self):
|
||||
tree = self.env.ref('yuthon_hr_attendance.view_yuthon_vacation_overtime_tree').id
|
||||
over_line_id = self.env['vacation.over.line'].search([('vacation_id', '=', self.vacation_id.id)])
|
||||
if over_line_id:
|
||||
return {
|
||||
"type": "ir.actions.act_window",
|
||||
"name": "加班情况",
|
||||
"res_model": "vacation.over.line",
|
||||
"views": [[tree, "tree"]],
|
||||
"domain": [('id', 'in', over_line_id.id)],
|
||||
"context": {
|
||||
'default_attendance_id': self.attendance_id.id,
|
||||
'default_users_id': self.attendance_id.employee_id.user_id.id,
|
||||
'default_shift_id':self.attendance_id.shift_id.id,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
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"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<widget name="web_ribbon" title="特急" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'extra_urgent'"/>
|
||||
<group col="3">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
|
||||
@@ -719,7 +719,6 @@
|
||||
<menuitem id="menu_workflow_approval_request_new" name="新建流程" action="soong_workflow.action_kklw_workflow_approval_request" sequence="15"/>
|
||||
<menuitem id="menu_soong_workflow_todo_record" name="待办流程" action="soong_workflow.soong_workflow_record_todo_action" sequence="20"/>
|
||||
<menuitem id="menu_soong_workflow_done_record" name="已办流程" action="soong_workflow.soong_workflow_record_done_action" sequence="25"/>
|
||||
<menuitem id="menu_soong_workflow_department_record_copy" name="抄送流程" action="soong_workflow.soong_workflow_record_is_logs_action" sequence="30"/>
|
||||
<menuitem id="menu_soong_workflow_department_record" name="流程查询" action="soong_workflow.soong_workflow_department_record_action" sequence="35"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board" name="我的考勤" action="yuthon_hr_attendance.hr_attendance_action1" sequence="40"/>
|
||||
<menuitem id="menu_hr_attendance_my_abnormal_board" name="我的异常" action="yuthon_hr_attendance.hr_attendance_my_abnormal" sequence="45"/>
|
||||
|
||||
Reference in New Issue
Block a user