@@ -17,6 +17,7 @@
|
||||
'security/ir.model.access.csv',
|
||||
# 'security/approval_attendance.xml',
|
||||
'data/attendance_code_data.xml',
|
||||
'data/attendance_time_data.xml',
|
||||
# 'views/inherit_hr_employee_views.xml',
|
||||
'views/hr_attendance_views.xml',
|
||||
'views/resource_calendar_leaves_views.xml',
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record forcecreate="True" id="attendance_time_data" model="ir.cron">
|
||||
<field name="name">定时任务:检查考勤是否异</field>
|
||||
<field name="model_id" ref="model_hr_attendance"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.hr_attendance_time()</field>
|
||||
<field eval="False" name="active"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 10:00:00')"/>
|
||||
<field name="numbercall">-1</field>
|
||||
<field eval="False" name="doall"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -1,4 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from datetime import datetime, time
|
||||
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
|
||||
|
||||
@@ -19,4 +21,7 @@ class HrAttendance(models.Model):
|
||||
out_card_time = fields.Datetime(string="外出打卡时间")
|
||||
out_card_location = fields.Char(string="外出打卡地点")
|
||||
work_hours = fields.Float(string="工作时长")
|
||||
current_data = fields.Date(string='打卡日期', tracking=True)
|
||||
current_data = fields.Date(string='打卡日期', tracking=True)
|
||||
|
||||
def hr_attendance_time(self):
|
||||
pass
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
<field name="name">hr.attendance.going.tree</field>
|
||||
<field name="model">hr.attendance</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="出勤" editable="bottom">
|
||||
<tree string="出勤" editable="bottom"
|
||||
decoration-danger="is_no_card or is_early_card or is_late_card">
|
||||
<field name="employee_id" widget="many2one_avatar_user"/>
|
||||
<!-- <field name="company_id" optional="show"/>-->
|
||||
<field name="is_clock_card" optional="show"/>
|
||||
@@ -30,4 +31,22 @@
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<record id="hr_attendance_action1" model="ir.actions.act_window">
|
||||
<field name="name">我的考勤</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('employee_id.user_id', '=', uid)]</field>
|
||||
</record>
|
||||
<record id="hr_attendance_action2" model="ir.actions.act_window">
|
||||
<field name="name">保安部考勤</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('employee_id.department_id.name', '=', '保安部')]</field>
|
||||
</record>
|
||||
<record id="hr_attendance_action3" model="ir.actions.act_window">
|
||||
<field name="name">工程部考勤</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('employee_id.department_id.name', '=', '工程部')]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<field name="is_photo_two"/>
|
||||
<field name="is_photo_three"/>
|
||||
<field name="is_abnormal"/>
|
||||
<button name="button_clone_task" type="object" string="调休" class="btn btn-primary"/>
|
||||
<button name="bottom_adjustment" type="object" string="调休" class="btn btn-primary"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -398,8 +398,27 @@
|
||||
<menuitem id="hr_attendance_record_root_board"
|
||||
name="考勤记录"
|
||||
parent="hr_attendance_root_board"
|
||||
action="hr_attendance.hr_attendance_action"
|
||||
sequence="4"/>
|
||||
<menuitem id="menu_hr_attendance_all_record_board"
|
||||
name="全部考勤"
|
||||
parent="hr_attendance_record_root_board"
|
||||
action="hr_attendance.hr_attendance_action"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board"
|
||||
name="我的考勤"
|
||||
parent="hr_attendance_record_root_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_security_record_board"
|
||||
name="保安部"
|
||||
parent="hr_attendance_record_root_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action2"
|
||||
sequence="7"/>
|
||||
<menuitem id="menu_hr_attendance_engineering_record_board"
|
||||
name="工程部"
|
||||
parent="hr_attendance_record_root_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action3"
|
||||
sequence="9"/>
|
||||
<menuitem id="menu_hr_attendance_duty_summary_board"
|
||||
name="值班安排"
|
||||
parent="hr_attendance_root_board"
|
||||
|
||||
Reference in New Issue
Block a user