[IMP] resource: set default calendar as data
Currently there is no default resource calendar. This leads to calendar being rarely used as it is not clear how to define them and how to use them. Moreover some code handle default-like calendar by trying to use 8-16 work hours; this should be replaced by having a real default calendar. This commit replaces the demo calendar by a real data calendar. It will soon be used as default everywhere a resource calendar can be defined. Future improvements will come to make resource easier to use and clean its API. This commit is only the beginning !
This commit is contained in:
@@ -137,7 +137,7 @@ If you have development competencies, we can propose you specific traineeships</
|
||||
|
||||
<record id="employee_root" model="hr.employee">
|
||||
<field name="name">Pieter Parker</field>
|
||||
<field name="calendar_id" ref="resource.timesheet_group1"/>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="work_location">Building 1, Second Floor</field>
|
||||
<field name="work_phone">+3281813700</field>
|
||||
<field name="work_email">pieter@openerp.com</field>
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<field name="employee_id" ref="hr_employee_payroll"/>
|
||||
<field name="notes">Default contract for marketing executives</field>
|
||||
<field eval="4000.0" name="wage"/>
|
||||
<field name="working_hours" ref="resource.timesheet_group1"/>
|
||||
<field name="working_hours" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="hr_contract_gilles_gravie" model="hr.contract">
|
||||
@@ -160,7 +160,7 @@
|
||||
<field name="employee_id" ref="hr.employee_qdp"/>
|
||||
<field name="notes">This is Gilles Gravie's contract</field>
|
||||
<field eval="5000.0" name="wage"/>
|
||||
<field name="working_hours" ref="resource.timesheet_group1"/>
|
||||
<field name="working_hours" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -46,5 +46,5 @@ class TestPayslipBase(TransactionCase):
|
||||
'type_id': self.ref('hr_contract.hr_contract_type_emp'),
|
||||
'employee_id': self.richard_emp.id,
|
||||
'struct_id': self.developer_pay_structure.id,
|
||||
'working_hours': self.ref('resource.timesheet_group1')
|
||||
'working_hours': self.ref('resource.resource_calendar_std')
|
||||
})
|
||||
|
||||
@@ -70,7 +70,7 @@ class TestHrPayrollAccount(common.TransactionCase):
|
||||
'type_id': self.ref('hr_contract.hr_contract_type_emp'),
|
||||
'employee_id': self.hr_employee_john.id,
|
||||
'struct_id': self.hr_structure_softwaredeveloper.id,
|
||||
'working_hours': self.ref('resource.timesheet_group1'),
|
||||
'working_hours': self.ref('resource.resource_calendar_std'),
|
||||
'journal_id': self.ref('hr_payroll_account.expenses_journal'),
|
||||
})
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<field eval="250.0" name="car_company_amount"/>
|
||||
<field eval="110" name="car_employee_deduction"/>
|
||||
<field eval="50.0" name="additional_net_amount"/>
|
||||
<field name="working_hours" ref="resource.timesheet_group1"/>
|
||||
<field name="working_hours" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="hr_payroll.hr_employee_payroll" model="hr.employee">
|
||||
|
||||
@@ -38,27 +38,27 @@
|
||||
|
||||
<record id="mrp_workcenter_0" model="mrp.workcenter">
|
||||
<field name="name">Assembly Station 1</field>
|
||||
<field name="calendar_id" ref="resource.timesheet_group1"/>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="capacity">5</field>
|
||||
<field name="time_start">10</field>
|
||||
<field name="time_stop">8</field>
|
||||
<field name="time_efficiency">87</field>
|
||||
<field name="calendar_id" ref="resource.timesheet_group1"/>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_3" model="mrp.workcenter">
|
||||
<field name="name">Cutting</field>
|
||||
<field name="calendar_id" ref="resource.timesheet_group1"/>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_1" model="mrp.workcenter">
|
||||
<field name="name">Drill Station 1</field>
|
||||
<field name="calendar_id" ref="resource.timesheet_group1"/>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_2" model="mrp.workcenter">
|
||||
<field name="name">Assemble Station 2</field>
|
||||
<field name="calendar_id" ref="resource.timesheet_group1"/>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ associated to every resource. It also manages the leaves of every resource.
|
||||
""",
|
||||
'depends': ['base'],
|
||||
'data': [
|
||||
'data/resource_data.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/resource_security.xml',
|
||||
'views/resource_views.xml',
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="resource_calendar_std" model="resource.calendar">
|
||||
<field name="name">Standard 40 Hours/Week</field>
|
||||
<field name="attendance_ids" eval="[
|
||||
(5, 0),
|
||||
(0, 0, {'name': 'Monday Morning', 'dayofweek': '0', 'hour_from': 8, 'hour_to': 12}),
|
||||
(0, 0, {'name': 'Monday Evening', 'dayofweek': '0', 'hour_from': 13, 'hour_to': 17}),
|
||||
(0, 0, {'name': 'Tuesday Morning', 'dayofweek': '1', 'hour_from': 8, 'hour_to': 12}),
|
||||
(0, 0, {'name': 'Tuesday Evening', 'dayofweek': '1', 'hour_from': 13, 'hour_to': 17}),
|
||||
(0, 0, {'name': 'Wednesday Morning', 'dayofweek': '2', 'hour_from': 8, 'hour_to': 12}),
|
||||
(0, 0, {'name': 'Wednesday Evening', 'dayofweek': '2', 'hour_from': 13, 'hour_to': 17}),
|
||||
(0, 0, {'name': 'Thursday Morning', 'dayofweek': '3', 'hour_from': 8, 'hour_to': 12}),
|
||||
(0, 0, {'name': 'Thursday Evening', 'dayofweek': '3', 'hour_from': 13, 'hour_to': 17}),
|
||||
(0, 0, {'name': 'Friday Morning', 'dayofweek': '4', 'hour_from': 8, 'hour_to': 12}),
|
||||
(0, 0, {'name': 'Friday Evening', 'dayofweek': '4', 'hour_from': 13, 'hour_to': 17}),
|
||||
]"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -1,123 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Example employee -->
|
||||
<record id="resource_analyst" model="resource.resource">
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="name">Analyst</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="resource_calendar_std"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<!-- Example employee -->
|
||||
<record id="resource_designer" model="resource.resource">
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Designer</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="resource_calendar_std"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<record id="timesheet_group1" model="resource.calendar">
|
||||
<field name="name">40 Hours/Week</field>
|
||||
</record>
|
||||
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_mon1">
|
||||
<field name="name">Monday morning</field>
|
||||
<field name="dayofweek">0</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_mon2">
|
||||
<field name="name">Monday evening</field>
|
||||
<field name="dayofweek">0</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">17</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_tue1">
|
||||
<field name="name">Tuesday morning</field>
|
||||
<field name="dayofweek">1</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_tue2">
|
||||
<field name="name">Tuesday evening</field>
|
||||
<field name="dayofweek">1</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">17</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_wed1">
|
||||
<field name="name">Wednesday morning</field>
|
||||
<field name="dayofweek">2</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_wed2">
|
||||
<field name="name">Wednesday evening</field>
|
||||
<field name="dayofweek">2</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">17</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_thu1">
|
||||
<field name="name">Thursday morning</field>
|
||||
<field name="dayofweek">3</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_thu2">
|
||||
<field name="name">Thursday evening</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">17</field>
|
||||
<field name="dayofweek">3</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_fri1">
|
||||
<field name="name">Friday morning</field>
|
||||
<field name="dayofweek">4</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_fri2">
|
||||
<field name="name">Friday evening</field>
|
||||
<field name="dayofweek">4</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">17</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
|
||||
<record id="resource_analyst" model="resource.resource">
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="name">Analyst</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<record id="resource_designer" model="resource.resource">
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Designer</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<record id="resource_developer" model="resource.resource">
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Developer</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<record id="resource_analyst_leaves_demoleave1" model="resource.calendar.leaves">
|
||||
<field name="name">2 Hours On Leave</field>
|
||||
<field name="resource_id" ref="resource_analyst"/>
|
||||
<field name="date_from" eval="time.strftime('%Y-%m-%d 08:00:00')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-%m-%d 11:00:00')"/>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
|
||||
<record id="resource_dummyleave" model="resource.calendar.leaves">
|
||||
<field name="name">Dummy Resource Leave</field>
|
||||
<field name="resource_id" ref="resource_analyst"/>
|
||||
<field name="date_from" eval="time.strftime('%Y-%m-%d 08:00:00')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-%m-%d 11:00:00')"/>
|
||||
</record>
|
||||
<record id="resource_developer" model="resource.resource">
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Developer</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="resource_calendar_std"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<record id="resource_analyst_leaves_demoleave1" model="resource.calendar.leaves">
|
||||
<field name="name">2 Hours On Leave</field>
|
||||
<field name="resource_id" ref="resource_analyst"/>
|
||||
<field name="date_from" eval="time.strftime('%Y-%m-%d 08:00:00')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-%m-%d 11:00:00')"/>
|
||||
<field name="calendar_id" ref="resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="resource_dummyleave" model="resource.calendar.leaves">
|
||||
<field name="name">Dummy Resource Leave</field>
|
||||
<field name="resource_id" ref="resource_analyst"/>
|
||||
<field name="date_from" eval="time.strftime('%Y-%m-%d 08:00:00')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-%m-%d 11:00:00')"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user