[MERGE] hr employee kanban, improved demo data, by mit, fixed by rco

bzr revid: al@openerp.com-20111222183018-2y8seq4sq0mo6tem
This commit is contained in:
Antony Lesuisse
2011-12-22 19:30:18 +01:00
37 changed files with 550 additions and 424 deletions
+8 -8
View File
@@ -819,49 +819,49 @@
<record model="hr.attendance" id="unknown1_emp1">
<field name="name" eval="time.strftime('%Y-%m-25 08:21')"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<record model="hr.attendance" id="unknown1_emp2">
<field name="name" eval="time.strftime('%Y-%m-25 9:21')"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<record model="hr.attendance" id="unknown1_emp3">
<field name="name" eval="time.strftime('%Y-%m-25 09:25')"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<record model="hr.attendance" id="unknown1_emp4">
<field name="name" eval="time.strftime('%Y-%m-25 11:54')"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<record model="hr.attendance" id="unknown1_emp5">
<field name="name" eval="time.strftime('%Y-%m-25 11:59')"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<record model="hr.attendance" id="unknown1_emp6">
<field name="name" eval="time.strftime('%Y-%m-25 13:31')"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record model="hr.attendance" id="unknown1_emp7">
<field name="name" eval="time.strftime('%Y-%m-25 20:10')"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<record model="hr.attendance" id="unknown1_emp8">
<field name="name" eval="time.strftime('%Y-%m-25 21:34')"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
</record>
<!--demo data for the hr_attendence for employee2-->
+1 -1
View File
@@ -52,7 +52,6 @@ You can manage:
],
'demo_xml': [
'hr_demo.xml',
'hr_department_demo.xml',
],
'test': [
'test/open2recruit2close_job.yml',
@@ -62,5 +61,6 @@ You can manage:
'application': True,
'active': False,
'certificate': '0086710558965',
"css": [ 'static/src/css/hr.css' ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+285 -79
View File
File diff suppressed because one or more lines are too long
-128
View File
@@ -1,128 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="dep_management" model="hr.department">
<field name="name">Management</field>
<field name="company_id" ref="base.main_company"/>
<field name="manager_id" ref="employee1"/>
</record>
<record id="dep_administration" model="hr.department">
<field name="name">Administration</field>
<field name="parent_id" ref="dep_management"/>
<field name="company_id" ref="base.main_company"/>
<field name="manager_id" ref="employee1"/>
</record>
<record id="dep_technical" model="hr.department">
<field name="name">Technical department</field>
<field name="parent_id" ref="dep_management"/>
<field name="company_id" ref="base.main_company"/>
<field name="manager_id" ref="employee3"/>
</record>
<record id="dep_it" model="hr.department">
<field name="name">IT</field>
<field name="parent_id" ref="dep_technical"/>
<field name="company_id" ref="base.main_company"/>
<field name="manager_id" ref="employee2"/>
</record>
<record id="dep_marketing" model="hr.department">
<field name="name">Marketing</field>
<field name="parent_id" ref="dep_management"/>
<field name="company_id" ref="base.main_company"/>
</record>
<record id="dep_sales" model="hr.department">
<field name="name">Sales</field>
<field name="company_id" ref="base.main_company"/>
<field name="parent_id" ref="dep_management"/>
<field name="manager_id" ref="employee4"/>
</record>
<record id="dep_sales_europe" model="hr.department">
<field name="name">Sales Europe</field>
<field name="company_id" ref="base.main_company"/>
<field name="parent_id" ref="dep_sales"/>
<field name="manager_id" ref="employee5"/>
</record>
<record id="dep_sales_america" model="hr.department">
<field name="name">Sales America</field>
<field name="company_id" ref="base.main_company"/>
<field name="parent_id" ref="dep_sales"/>
<field name="manager_id" ref="employee6"/>
</record>
<!-- HR Jobs -->
<record id="job_ceo" model="hr.job">
<field name="name">CEO</field>
<field name="department_id" ref="dep_management"/>
</record>
<record id="job_cto" model="hr.job">
<field name="name">CTO</field>
<field name="department_id" ref="dep_technical"/>
</record>
<record id="job_hr_manager" model="hr.job">
<field name="name">HR Manager</field>
<field name="department_id" ref="dep_management"/>
</record>
<record id="job_project_managers" model="hr.job">
<field name="name">Project Managers</field>
<field name="department_id" ref="dep_it"/>
</record>
<record id="job_sr_appli" model="hr.job">
<field name="name">Senior Application Analyst</field>
<field name="department_id" ref="dep_it"/>
</record>
<record id="job_jr_appli" model="hr.job">
<field name="name">Junior Application Analyst</field>
<field name="department_id" ref="dep_it"/>
</record>
<record id="job_sr_developers" model="hr.job">
<field name="name">Senior Developers</field>
<field name="department_id" ref="dep_it"/>
</record>
<record id="job_jr_developers" model="hr.job">
<field name="name">Junior Developers</field>
<field name="department_id" ref="dep_it"/>
</record>
<record id="job_trainee" model="hr.job">
<field name="name">Trainee</field>
<field name="department_id" ref="dep_it"/>
</record>
<!-- assign department on employee -->
<record id="employee2" model="hr.employee">
<field name="department_id" ref="hr.dep_technical"/>
</record>
<record id="employee3" model="hr.employee">
<field name="department_id" ref="hr.dep_management"/>
</record>
<record id="employee4" model="hr.employee">
<field name="department_id" ref="hr.dep_management"/>
</record>
<record id="employee5" model="hr.employee">
<field name="department_id" ref="hr.dep_sales"/>
</record>
<record id="employee6" model="hr.employee">
<field name="department_id" ref="hr.dep_sales"/>
</record>
</data>
</openerp>
+19 -38
View File
@@ -131,52 +131,33 @@
<field name="model">hr.employee</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
<kanban>
<field name="color"/>
<templates>
<t t-name="employee_details">
<ul class="oe_kanban_tooltip" t-if="record.job_id.raw_value">
<li><b>Job:</b> <field name="job_id"/></li>
</ul>
</t>
<t t-name="kanban-box">
<div t-attf-class="#{kanban_color(record.color.raw_value)}">
<div class="oe_kanban_box oe_kanban_color_border">
<div class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle oe_kanban_title" tooltip="employee_details">
<field name="name"/>
</div>
<div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
<img t-att-src="kanban_image('hr.employee', 'photo', record.id.value)" width="48" style="float: left;"/>
<span t-if="record.parent_id.raw_value" class="oe_kanban_highlight">
❖ <field name="parent_id"/>
</span>
<span t-if="record.work_location.raw_value" class="oe_kanban_highlight">
✜ <field name="work_location"/>
</span>
<span t-if="record.work_email.raw_value" class="oe_kanban_highlight">
✉ <a t-attf-href="mailto:#{record.work_email.value}"><field name="work_email"/></a>
</span>
<span t-if="record.mobile_phone.raw_value" class="oe_kanban_highlight">
☎ <field name="mobile_phone"/>
</span>
<span t-if="record.work_phone.raw_value" class="oe_kanban_highlight">
☏ <field name="work_phone"/>
</span>
<div class="oe_kanban_clear"/>
</div>
<div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
<div class="oe_kanban_left">
<a string="Edit" icon="gtk-edit" type="edit"/>
<a string="Change Color" icon="color-picker" type="color" name="color"/>
<a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
</div>
<div class="oe_kanban_clear"/>
</div>
<div class="oe_employee_vignette">
<div class="oe_employee_image">
<a type="edit"><img t-att-src="kanban_image('hr.employee', 'photo', record.id.value)" class="oe_employee_picture"/></a>
</div>
<div class="oe_employee_details">
<h4><a type="edit"><field name="name"/> (<field name="user_id"/>)</a></h4>
<ul>
<li t-if="record.department_id.raw_value"><field name="department_id"/></li>
<li t-if="record.job_id.raw_value"><field name="job_id"/></li>
<li t-if="record.work_location.raw_value"><field name="work_location"/></li>
<li t-if="record.work_phone.raw_value">Tel: <field name="work_phone"/></li>
<li t-if="record.mobile_phone.raw_value">Mobile: <field name="mobile_phone"/></li>
<li t-if="record.work_email.raw_value"><a t-attf-href="mailto:#{record.work_email.value}"><field name="work_email"/></a></li>
</ul>
</div>
</div>
<script>
$('.oe_employee_picture').load(function() { if($(this).width() > $(this).height()) { $(this).addClass('oe_employee_picture_wide') } });
</script>
</t>
</templates>
</kanban>
</field>
</record>
<record id="open_view_employee_tree" model="ir.actions.act_window">
+68
View File
@@ -0,0 +1,68 @@
.oe_employee_vignette {
padding: 8px 0;
min-height: 100px;
}
.oe_employee_image, .oe_employee_details {
display: inline-block;
vertical-align: top;
}
.oe_employee_image {
width: 100px;
height: 100px;
text-align: center;
overflow: hidden;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-o-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
-o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.oe_employee_picture {
width: 100px;
height: auto;
clip: rect(10px, 100px, 110px, 0px);
}
.oe_employee_picture_wide {
height: 100px;
width: auto;
clip: rect(0px, 115px, 100px, 15px);
}
.oe_employee_details {
width: 220px;
font-size: 13px;
padding: 2px 5px;
color: #4c4c4c;
min-height: 120px;
}
.oe_employee_details h4 {
margin: 0;
font-size: 13px;
}
.oe_employee_details h4 a {
color: #4c4c4c;
}
.oe_employee_details h4 a:hover {
text-decoration: underline;
}
.oe_employee_details ul {
margin: 3px 0 5px;
padding: 0;
list-style: none;
}
.oe_employee_details li {
margin: 2px 0;
}
+3 -3
View File
@@ -1,10 +1,10 @@
-
!record {model: hr.job, id: job_jr_appli, view: False}:
!record {model: hr.job, id: job_developer, view: False}:
no_of_employee: 0.0
no_of_recruitment: 5.0
-
!record {model: hr.employee, id: employee1, view: False}:
!record {model: hr.employee, id: employee_niv, view: False}:
address_id: base.main_address
company_id: base.main_company
department_id: dep_technical
department_id: dep_rd
user_id: base.user_demo
+10 -10
View File
@@ -1,38 +1,38 @@
-
In order to test the process of Human Resource Management, I open Job Postion for "Jr. Application Engineer".
In order to test the process of Human Resource Management, I open Job Postion for "Developer".
-
!python {model: hr.job}: |
self.job_open(cr, uid, [ref('job_jr_appli')])
self.job_open(cr, uid, [ref('job_developer')])
-
I check state of Job Position after opening it.
-
!assert {model: hr.job, id: job_jr_appli, string: Job position is in 'open' state and no_of_recruitment = 0}:
!assert {model: hr.job, id: job_developer, string: Job position is in 'open' state and no_of_recruitment = 0}:
- state == 'open'
- no_of_recruitment == 0
-
Now, Recruitement is started so I start recruitement of Job Postion of "Jr. Application Engineer" Profile.
Now, Recruitement is started so I start recruitement of Job Postion of "Developer" Profile.
-
!python {model: hr.job}: |
self.job_recruitement(cr, uid, [ref('job_jr_appli')])
self.job_recruitement(cr, uid, [ref('job_developer')])
-
I check 'state' and number of 'Expected in Recruitment' after initiating the recruitment
-
!assert {model: hr.job, id: job_jr_appli, string: Job position is in 'recruit' state and no_of_recruitment = 1.0}:
!assert {model: hr.job, id: job_developer, string: Job position is in 'recruit' state and no_of_recruitment = 1.0}:
- state == 'recruit'
- no_of_recruitment == 1.0
-
I assign the job position to a newly hired employee
-
!python {model: hr.employee}: |
self.write(cr, uid, [ref('employee1')], {'job_id':ref('job_jr_appli')})
self.write(cr, uid, [ref('employee_niv')], {'job_id':ref('job_developer')})
-
Now I don't want to recruit new employee for this position. so I mark it as Old.
Now I dont want to recruit new employee for this position. so I mark it as Old.
-
!python {model: hr.job}: |
self.job_old(cr, uid, [ref('job_jr_appli')])
self.job_old(cr, uid, [ref('job_developer')])
-
I check 'state' and number of 'Expected in Recruitment' after closing the Job position.
-
!assert {model: hr.job, id: job_jr_appli, string: Job position is in 'old' state and no_of_recruitment = 0}:
!assert {model: hr.job, id: job_developer, string: Job position is in 'old' state and no_of_recruitment = 0}:
- state == 'old'
- no_of_recruitment == 0
+20 -20
View File
@@ -5,121 +5,121 @@
<record id="attendance1" model="hr.attendance">
<field eval="time.strftime('%Y-%m-01 08:21')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance2" model="hr.attendance">
<field eval="time.strftime('%Y-%m-01 11:51')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance3" model="hr.attendance">
<field eval="time.strftime('%Y-%m-02 12:47')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance4" model="hr.attendance">
<field eval="time.strftime('%Y-%m-02 19:53')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance5" model="hr.attendance">
<field eval="time.strftime('%Y-%m-03 07:32')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance6" model="hr.attendance">
<field eval="time.strftime('%Y-%m-03 12:32')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance7" model="hr.attendance">
<field eval="time.strftime('%Y-%m-04 14:01')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance8" model="hr.attendance">
<field eval="time.strftime('%Y-%m-04 17:21')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance9" model="hr.attendance">
<field eval="time.strftime('%Y-%m-05 09:10')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance10" model="hr.attendance">
<field eval="time.strftime('%Y-%m-05 12:42')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance11" model="hr.attendance">
<field eval="time.strftime('%Y-%m-06 13:10')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance12" model="hr.attendance">
<field eval="time.strftime('%Y-%m-06 18:34')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance13" model="hr.attendance">
<field eval="time.strftime('%Y-%m-07 08:21')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance14" model="hr.attendance">
<field eval="time.strftime('%Y-%m-07 18:21')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance15" model="hr.attendance">
<field eval="time.strftime('%Y-%m-08 08:21')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance16" model="hr.attendance">
<field eval="time.strftime('%Y-%m-08 12:54')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance17" model="hr.attendance">
<field eval="time.strftime('%Y-%m-09 13:32')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance18" model="hr.attendance">
<field eval="time.strftime('%Y-%m-09 19:31')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance19" model="hr.attendance">
<field eval="time.strftime('%Y-%m-10 07:10')" name="name"/>
<field name="action">sign_in</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record id="attendance20" model="hr.attendance">
<field eval="time.strftime('%Y-%m-10 12:34')" name="name"/>
<field name="action">sign_out</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
</data>
@@ -1,51 +1,50 @@
-
In order to test attendance process in OpenERP, at the time of login, I use "Sign In/Sign Out" wizard for attendances.
-
!record {model: hr.sign.in.out, id: employee_sign_in}:
name: Antoine Philippe
state: absent
-
I click on this wizard to login.
-
!python {model: hr.sign.in.out}: |
obj_attendance = self.pool.get('hr.employee')
emp_ids = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Antoine Philippe")])
hr_employee = self.pool.get('hr.employee')
uid = ref('base.user_al')
emp_ids = hr_employee.search(cr, uid, [('user_id', '=', uid)])
if emp_ids:
employee = obj_attendance.read(cr, uid, emp_ids)[0]
self.write(cr, uid, [ref('employee_sign_in')], {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_ids[0]})
self.si_check(cr, uid, [ref("employee_sign_in")])
employee = hr_employee.browse(cr, uid, emp_ids)[0]
id = self.create(cr, uid, {'emp_id': employee.id, 'name': employee.name, 'state': employee.state})
self.si_check(cr, uid, [id])
-
I check that Employee is "Present".
-
!assert {model: hr.employee, id: hr.employee3, severity: error, string: Employee should be in present state}:
!assert {model: hr.employee, id: hr.employee_al, severity: error, string: Employee should be in present state}:
- state == 'present'
-
I click on "Sign In" button of this wizard, this will Open a new form which ask for Last Sign Out date.
-
!python {model: hr.sign.in.out}: |
obj_attendance = self.pool.get('hr.employee')
emp_ids = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Antoine Philippe")])
hr_employee = self.pool.get('hr.employee')
uid = ref('base.user_al')
emp_ids = hr_employee.search(cr, uid, [('user_id', '=', uid)])
if emp_ids:
employee = obj_attendance.read(cr, uid, emp_ids)[0]
self.write(cr, uid, [ref('employee_sign_in')], {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_ids[0]})
self.si_check(cr, uid, [ref("employee_sign_in")])
employee = hr_employee.browse(cr, uid, emp_ids)[0]
id = self.create(cr, uid, {'emp_id': employee.id, 'name': employee.name, 'state': employee.state})
self.si_check(cr, uid, [id])
-
I select Last Sign Out date.
-
!record {model: hr.sign.in.out.ask, id: hr_sign_in_out_ask_Antoine_Philippe}:
!record {model: hr.sign.in.out.ask, id: hr_sign_in_out_ask_Antony}:
last_time: !eval time.strftime('%Y-%m-%d %H:%M:%S')
name: Antoine Philippe
name: Antony
-
Now I click on "Sign In" button of this wizard.
-
!python {model: hr.sign.in.out.ask}: |
obj_attendance = self.pool.get('hr.employee')
emp_ids = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Antoine Philippe")])
import time
hr_employee = self.pool.get('hr.employee')
uid = ref('base.user_al')
emp_ids = hr_employee.search(cr, uid, [('user_id', '=', uid)])
if emp_ids:
employee = obj_attendance.read(cr, uid, emp_ids)[0]
self.write(cr, uid, [ref('hr_sign_in_out_ask_Antoine_Philippe')], {'emp_id': emp_ids[0]})
employee = hr_employee.browse(cr, uid, emp_ids)[0]
id = self.create(cr, uid, {'emp_id': employee.id, 'name': employee.name, 'last_time': time.strftime('%Y-%m-%d %H:%M:%S')})
-
Finally i check the employee is present.
-
!assert {model: hr.employee, id: hr.employee3, severity: error, string: Employee should be in present state}:
!assert {model: hr.employee, id: hr.employee_al, severity: error, string: Employee should be in present state}:
- state == 'present'
@@ -3,7 +3,7 @@
-
!python {model: hr.employee}: |
from tools import test_reports
ctx = {'model': 'hr.employee','active_ids': [ref('hr.employee1'),ref('hr.employee2'),ref('hr.employee3')]}
ctx = {'model': 'hr.employee','active_ids': [ref('hr.employee_fp'),ref('hr.employee_qdp'),ref('hr.employee_al')]}
data_dict = {}
test_reports.try_report_action(cr, uid, 'action_hr_attendance_month',wiz_data=data_dict, context=ctx, our_module='hr_attendance')
-
@@ -12,6 +12,6 @@
!python {model: hr.employee}: |
import time
from tools import test_reports
ctx = {'model': 'hr.employee','active_ids': [ref('hr.employee1')]}
ctx = {'model': 'hr.employee','active_ids': [ref('hr.employee_fp')]}
data_dict = {'init_date': time.strftime('%Y-01-01')}
test_reports.try_report_action(cr, uid, 'action_hr_attendance_error',wiz_data=data_dict, context=ctx, our_module='hr_attendance')
+4 -4
View File
@@ -2,21 +2,21 @@
<openerp>
<data noupdate="1">
<record id="hr.employee1" model="hr.employee">
<record id="hr.employee_fp" model="hr.employee">
<field name="evaluation_plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
</record>
<record id="hr.employee2" model="hr.employee">
<record id="hr.employee_qdp" model="hr.employee">
<field name="evaluation_plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
</record>
<record id="hr.employee3" model="hr.employee">
<record id="hr.employee_al" model="hr.employee">
<field name="evaluation_plan_id" ref="hr_evaluation_plan_managersevaluationplan0"/>
</record>
<record id="hr_evaluation_evaluation_0" model="hr_evaluation.evaluation">
<field name="date">2011-12-24</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
<field name="plan_id" ref="hr_evaluation.hr_evaluation_plan_managersevaluationplan0"/>
</record>
@@ -1,5 +1,5 @@
-
!record {model: hr.employee, id: hr.employee1, view: False}:
!record {model: hr.employee, id: hr.employee_fp, view: False}:
evaluation_plan_id: hr_evaluation_plan_managersevaluationplan0
-
!record {model: hr_evaluation.evaluation, id: hr_evaluation_evaluation_0, view: False}:
@@ -103,6 +103,6 @@
!python {model: hr.evaluation.report}: |
import netsvc, tools, os, time
ctx={}
data_dict={'state': 'done', 'rating': 2, 'employee_id': ref("hr.employee1")}
data_dict={'state': 'done', 'rating': 2, 'employee_id': ref("hr.employee_fp")}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'hr_evaluation_evaluation_0',wiz_data=data_dict, context=ctx, our_module='hr_evaluation')
+2 -2
View File
@@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<record id="hr.employee4" model="hr.employee">
<record id="hr.employee_mit" model="hr.employee">
<field name="address_home_id" ref="base.res_partner_address_1"/>
</record>
@@ -47,7 +47,7 @@
</record>
<record id="sep_expenses" model="hr.expense.expense">
<field name="employee_id" ref="hr.employee4"/>
<field name="employee_id" ref="hr.employee_mit"/>
<field name="name">September Expenses</field>
<field name="date" eval="time.strftime('%Y-09-28')"/>
</record>
+1 -1
View File
@@ -1,6 +1,6 @@
-
!record {model: hr.expense.expense, id: sep_expenses}:
employee_id: hr.employee4
employee_id: hr.employee_mit
name : 'John Smith'
-
!record {model: product.product, id: car_travel}:
+5 -5
View File
@@ -7,7 +7,7 @@
<field name="holiday_status_id" ref="holiday_status_cl"/>
<field name="type">add</field>
<field name="number_of_days_temp">20</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record model="hr.holidays" id="hr_holidays_employee1_cl">
@@ -17,7 +17,7 @@
<field eval="time.strftime('%Y-%m-03')" name="date_to"/>
<field name="type">remove</field>
<field name="number_of_days_temp">3</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record model="hr.holidays" id="hr_holidays_employee1_sl">
@@ -28,7 +28,7 @@
<field name="type">remove</field>
<field name="state">draft</field>
<field name="number_of_days_temp">3</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record model="hr.holidays" id="hr_holidays_employee1_vc">
@@ -39,7 +39,7 @@
<field name="type">add</field>
<field name="state">draft</field>
<field name="number_of_days_temp">7</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<record model="hr.holidays" id="hr_holidays_employee1_int_tour">
@@ -49,7 +49,7 @@
<field eval="time.strftime('%Y-%m-22')" name="date_to"/>
<field name="type">add</field>
<field name="number_of_days_temp">7</field>
<field name="employee_id" ref="hr.employee1"/>
<field name="employee_id" ref="hr.employee_fp"/>
</record>
<workflow action="confirm" model="hr.holidays" ref="hr_holidays_employee1_allocation_cl"/>
@@ -4,7 +4,7 @@
!python {model: hr.holidays}: |
import time
ctx={}
ctx.update({'model': 'hr.department','active_ids': [ref('hr.employee1'),ref('hr.employee2'),ref('hr.employee3')]})
ctx.update({'model': 'hr.department','active_ids': [ref('hr.employee_fp'),ref('hr.employee_qdp'),ref('hr.employee_al')]})
data_dict = {'date_from': time.strftime('%Y-%m-01'), 'depts' : [(6,0,[ref('hr.dep_sales')])],'holiday_type' : 'Validated'}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'action_hr_holidays_summary_dept',wiz_data=data_dict, context=ctx, our_module='hr_holidays')
@@ -15,8 +15,8 @@
!python {model: hr.holidays}: |
import time
ctx={}
ctx.update({'model': 'hr.employee','active_ids': [ref('hr.employee1'),ref('hr.employee2'),ref('hr.employee3')]})
data_dict = {'date_from': time.strftime('%Y-%m-01'), 'emp' : [(6,0,[ref('hr.employee1'),ref('hr.employee2'),ref('hr.employee3')])],'holiday_type' : 'Validated'}
ctx.update({'model': 'hr.employee','active_ids': [ref('hr.employee_fp'),ref('hr.employee_qdp'),ref('hr.employee_al')]})
data_dict = {'date_from': time.strftime('%Y-%m-01'), 'emp' : [(6,0,[ref('hr.employee_fp'),ref('hr.employee_qdp'),ref('hr.employee_al')])],'holiday_type' : 'Validated'}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'action_hr_holidays_summary_employee',wiz_data=data_dict, context=ctx, our_module='hr_holidays')
+1 -1
View File
@@ -8,7 +8,7 @@
holiday_status_id: holiday_status_cl
date_from: !eval time.strftime('%Y-%m-10 10:00:00')
date_to: !eval time.strftime('%Y-%m-11 19:00:00')
employee_id: hr.employee1
employee_id: hr.employee_fp
type: remove
-
I confirmed the holiday request by clicking on "Confirm" button.
+1 -1
View File
@@ -155,7 +155,7 @@
<field name="date_start" eval="time.strftime('%Y-%m')+'-1'"/>
<field name="date_end" eval="time.strftime('%Y')+'-12-31'"/>
<field name="struct_id" ref="hr_payroll.structure_002"/>
<field name="employee_id" ref="hr.employee2"/>
<field name="employee_id" ref="hr.employee_qdp"/>
<field name="notes">This is Quentin Paolino's contract</field>
<field eval="5000.0" name="wage"/>
<field name="working_hours" ref="resource.timesheet_group1"/>
+1 -1
View File
@@ -6,7 +6,7 @@
!record {model: hr.employee, id: hr_employee_richard0}:
birthday: '1984-05-01'
country_id: base.be
department_id: hr.dep_it
department_id: hr.dep_rd
gender: male
name: Richard
-
@@ -52,19 +52,19 @@
<field name="employee_account" ref="account.a_expense"/>
</record>
<record id="hr.employee1" model="hr.employee">
<record id="hr.employee_fp" model="hr.employee">
<field name="property_bank_account" ref="account.bnk"/>
<field name="salary_account" ref="account.a_salary_expense"/>
<field name="employee_account" ref="account.a_expense"/>
</record>
<record id="hr.employee2" model="hr.employee">
<record id="hr.employee_qdp" model="hr.employee">
<field name="property_bank_account" ref="account.bnk"/>
<field name="salary_account" ref="account.a_salary_expense"/>
<field name="employee_account" ref="account.a_expense"/>
</record>
<record id="hr.employee3" model="hr.employee">
<record id="hr.employee_al" model="hr.employee">
<field name="property_bank_account" ref="account.bnk"/>
<field name="salary_account" ref="account.a_salary_expense"/>
<field name="employee_account" ref="account.a_expense"/>
@@ -17,7 +17,7 @@
birthday: '1984-05-01'
children: 0.0
country_id: base.in
department_id: hr.dep_it
department_id: hr.dep_rd
gender: male
marital: single
name: John
+10 -10
View File
@@ -5,7 +5,7 @@
priority: '2'
partner_name: 'Enrique Jones'
partner_mobile: '9963214587'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job1
name: 'Salesman'
partner_phone: '1236547890'
@@ -20,7 +20,7 @@
partner_name: 'Marie Justine'
state: 'open'
partner_mobile: '9988774455'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job4
name: 'Trainee - MCA'
partner_phone: '6633225'
@@ -31,14 +31,14 @@
priority: '1'
user_id: base.user_root
partner_name: 'Jose'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job3
name: 'Fresher'
partner_phone: '999666735'
-
!record {model: hr.applicant, id: hr_case_yrsexperienceinphp0}:
date: !eval time.strftime('%Y-%m-25 16:25:52')
job_id: hr.job_jr_appli
job_id: hr.job_developer
type_id: degree_bac5
user_id: base.user_root
partner_name: 'Sandra Elvis'
@@ -52,7 +52,7 @@
user_id: base.user_demo
partner_name: 'John Bruno'
state: 'done'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job5
name: 'Marketing Job'
-
@@ -64,7 +64,7 @@
state: 'pending'
state: open
partner_mobile: '9966332214'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job2
name: 'Finance Job'
partner_phone: '33968745'
@@ -76,7 +76,7 @@
partner_name: 'Tina Augustie'
state: 'open'
partner_mobile: '9898745745'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job4
name: 'Trainee - MCA'
partner_phone: '6630125'
@@ -92,8 +92,8 @@
stage_id: stage_job4
name: 'Programmer'
partner_phone: '6630125'
job_id: hr.job_jr_appli
department_id: hr.dep_it
job_id: hr.job_developer
department_id: hr.dep_rd
salary_expected: 11000.0
-
@@ -102,7 +102,7 @@
type_id: degree_licenced
partner_id: base.res_partner_11
partner_name: 'David Armstrong'
job_id: hr.job_jr_appli
job_id: hr.job_developer
stage_id: stage_job2
name: 'Advertisement'
salary_expected: 11000.0
@@ -34,7 +34,7 @@
I assign the Job position to the applicant
-
!python {model: hr.applicant}: |
self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')})
self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_developer')})
-
I start communication with applicant, first schedule phonecall.
-
+1 -1
View File
@@ -8,7 +8,7 @@
</record>
<!-- complete our example employee -->
<record id="hr.employee1" model="hr.employee">
<record id="hr.employee_fp" model="hr.employee">
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="analytic_journal"/>
</record>
@@ -5,7 +5,7 @@
import netsvc, tools, os, time
ctx={}
ctx.update({'model': 'hr.employee','active_ids': []})
data_dict = {'month': time.gmtime()[1], 'year': time.gmtime()[0], 'employee_id' : ref('hr.employee1')}
data_dict = {'month': time.gmtime()[1], 'year': time.gmtime()[0], 'employee_id' : ref('hr.employee_fp')}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'action_hr_timesheet_my',wiz_data=data_dict, context=ctx, our_module='hr_timesheet')
@@ -16,6 +16,6 @@
import netsvc, tools, os, time
ctx={}
ctx.update({'model': 'hr.employee','active_ids': []})
data_dict = {'month': time.gmtime()[1], 'year': time.gmtime()[0], 'employee_ids' : [(6,0,[ref('hr.employee1'),ref('hr.employee2'),ref('hr.employee3')])]}
data_dict = {'month': time.gmtime()[1], 'year': time.gmtime()[0], 'employee_ids' : [(6,0,[ref('hr.employee_fp'),ref('hr.employee_qdp'),ref('hr.employee_al')])]}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'action_hr_timesheet_users',wiz_data=data_dict, context=ctx, our_module='hr_timesheet')
@@ -4,17 +4,17 @@
-
I create employee "Quentin Paolino" as "User".
-
!record {model: hr.employee, id: hr.employee2}:
!record {model: hr.employee, id: hr.employee_qdp}:
address_home_id: base.res_partner_address_8
name: Quentin Paolino
parent_id: 'hr.employee3'
parent_id: 'hr.employee_al'
user_id: 'base.user_demo'
-
On "Sign In/Sign Out by Project" wizard i click on "Sign In/Sign Out" button of this wizard.
-
!python {model: hr.sign.in.project}: |
uid = ref('base.user_demo')
state_id = self.check_state(cr, uid, [ref("hr.employee2")], {"active_ids": [ref("hr_timesheet.action_hr_timesheet_sign_in")]})
state_id = self.check_state(cr, uid, [ref("hr.employee_qdp")], {"active_ids": [ref("hr_timesheet.action_hr_timesheet_sign_in")]})
assert state_id['name'] == 'Sign in / Sign out', "Check the process of sing-in/sing-out."
-
I select start date and Perform start work on project.
@@ -22,7 +22,7 @@
!python {model: hr.sign.in.project}: |
import time
uid = ref('base.user_demo')
new_id = self.create(cr, uid, {'emp_id': ref('hr.employee2'), 'name': 'Quentin Paolino',
new_id = self.create(cr, uid, {'emp_id': ref('hr.employee_qdp'), 'name': 'Quentin Paolino',
'server_date': time.strftime('%Y-%m-%d %H:%M:%S'), 'state': 'present'})
self.sign_in_result(cr, uid, [new_id], context)
-
@@ -3,7 +3,7 @@
-
!python {model: account.analytic.line}: |
import netsvc, tools, os, time
data_dict = {'model': 'ir.ui.menu', 'form': {'date_from': time.strftime('%Y-%m-01'), 'employee_ids': [[6,0,[ref('hr.employee1'), ref('hr.employee2'),ref('hr.employee3')]]], 'journal_ids': [[6,0,[ref('hr_timesheet.analytic_journal')]]], 'date_to': time.strftime('%Y-%m-%d')}}
data_dict = {'model': 'ir.ui.menu', 'form': {'date_from': time.strftime('%Y-%m-01'), 'employee_ids': [[6,0,[ref('hr.employee_fp'), ref('hr.employee_qdp'),ref('hr.employee_al')]]], 'journal_ids': [[6,0,[ref('hr_timesheet.analytic_journal')]]], 'date_to': time.strftime('%Y-%m-%d')}}
(data, format) = netsvc.LocalService('report.account.analytic.profit').create(cr, uid, [], data_dict, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'hr_timesheet_invoice-account_analytic_profit_report.'+format), 'wb+').write(data)
@@ -5,7 +5,7 @@
<record id="sheet1" model="hr_timesheet_sheet.sheet">
<field name="name">Sheet 1</field>
<field name="user_id" ref="base.user_root"/>
<field name="employee_id" ref="hr.employee1" />
<field name="employee_id" ref="hr.employee_fp" />
<field eval="time.strftime('%Y-%m-%d')" name="date_current"/>
</record>
@@ -4,7 +4,7 @@
-
I assign this product(Service on Timesheet) and journal(Timesheet Journal) to employee "Quentin Paolino"
-
!record {model: hr.employee, id: hr.employee2}:
!record {model: hr.employee, id: hr.employee_qdp}:
product_id: product.product_consultant
journal_id: hr_timesheet.analytic_journal
-
@@ -16,7 +16,7 @@
name: Quentin Paolinon
state: new
user_id: base.user_demo
employee_id: 'hr.employee2'
employee_id: 'hr.employee_qdp'
-
Now, at the time of login, I create Attendances and perform "Sign In" action.
-
@@ -54,7 +54,7 @@
-
!record {model: hr.attendance, id: hr_attendance_1}:
action: sign_out
employee_id: 'hr.employee2'
employee_id: 'hr.employee_qdp'
name: !eval time.strftime('%Y-%m-%d')+' '+'%s:%s:%s' %(min(23,datetime.now().hour+2),min(59,datetime.now().minute+1),min(59,datetime.now().second+1))
-
I create Timesheet Entry for time spend on today work.
+43 -43
View File
@@ -7,47 +7,47 @@
<field eval="[(4, ref('base.group_sale_salesman')),(4, ref('group_project_user'))]" name="groups_id"/>
</record>
<record id="res_users_analyst" model="res.users">
<field name="name">Phuong</field>
<record id="base.user_niv" model="res.users">
<field name="name">Nicolas</field>
<field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]" name="groups_id"/>
<field name="login">phu</field>
<field name="password">phu</field>
<field name="login">niv</field>
<field name="password">niv</field>
</record>
<record id="res_users_project_manager" model="res.users">
<field name="name">Anthony</field>
<record id="base.user_al" model="res.users">
<field name="name">Antony</field>
<field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]" name="groups_id"/>
<field name="login">al</field>
<field name="password">al</field>
</record>
<record id="res_users_technical_leader" model="res.users">
<record id="base.user_qdp" model="res.users">
<field name="name">Quentin</field>
<field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
<field name="login">qdp</field>
<field name="password">qdp</field>
</record>
<record id="res_users_developer" model="res.users">
<record id="base.user_fpi" model="res.users">
<field name="name">Francois</field>
<field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
<field name="login">fpi</field>
<field name="password">fpi</field>
</record>
<record id="res_users_designer" model="res.users">
<record id="base.user_jth" model="res.users">
<field name="name">Julien</field>
<field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
<field name="login">jth</field>
<field name="password">jth</field>
</record>
<record id="res_users_tester" model="res.users">
<field name="name">Aline</field>
<record id="base.user_mit" model="res.users">
<field name="name">Minh</field>
<field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
<field name="login">apr</field>
<field name="password">apr</field>
<field name="login">mit</field>
<field name="password">mit</field>
</record>
<record id="res_users_finacial_manager" model="res.users">
<field name="name">Fabian</field>
<record id="base.user_vad" model="res.users">
<field name="name">Valérie</field>
<field eval="[(6, 0, [ref('base.group_user')])]" name="groups_id"/>
<field name="login">fbs</field>
<field name="password">fbs</field>
<field name="login">vad</field>
<field name="password">vad</field>
</record>
<!-- Projects -->
@@ -57,14 +57,14 @@
<field name="type">normal</field>
<field name="description">Integrate a Sale and Warehouse Management.</field>
<field eval="[(6, 0, [
ref('project.res_users_analyst'),
ref('project.res_users_project_manager'),
ref('project.res_users_technical_leader'),
ref('project.res_users_developer'),
ref('project.res_users_designer'),
ref('project.res_users_tester'),
ref('project.res_users_finacial_manager')])]" name="members"/>
<field name="user_id" ref="project.res_users_project_manager"/>
ref('base.user_niv'),
ref('base.user_al'),
ref('base.user_qdp'),
ref('base.user_fpi'),
ref('base.user_jth'),
ref('base.user_mit'),
ref('base.user_vad')])]" name="members"/>
<field name="user_id" ref="base.user_al"/>
<field name="name">Integrate a Sale and Warehouse Management.</field>
</record>
@@ -72,7 +72,7 @@
<record id="project_task_1" model="project.task">
<field eval="100.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_analyst"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Prepare Requirements Document</field>
@@ -82,7 +82,7 @@
<record id="project_task_2" model="project.task">
<field eval="80.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_analyst"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Make SRS</field>
@@ -91,7 +91,7 @@
<record id="project_task_3" model="project.task">
<field eval="40.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Design Use Cases</field>
@@ -101,7 +101,7 @@
<record id="project_task_4" model="project.task">
<field eval="25.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Budget Planning</field>
@@ -113,7 +113,7 @@
<record id="project_task_5" model="project.task">
<field eval="25.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Quality Planning</field>
@@ -125,7 +125,7 @@
<record id="project_task_6" model="project.task">
<field eval="20.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Risk Management Planning</field>
@@ -134,7 +134,7 @@
<record id="project_task_7" model="project.task">
<field eval="30.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Create Project Schedules</field>
@@ -143,7 +143,7 @@
<record id="project_task_8" model="project.task">
<field eval="10.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Dataflow Design</field>
@@ -153,7 +153,7 @@
<record id="project_task_9" model="project.task">
<field eval="50.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">User Interface Design</field>
@@ -162,7 +162,7 @@
<record id="project_task_10" model="project.task">
<field eval="40.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_developer"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Develop Module in Sale Management</field>
@@ -172,7 +172,7 @@
<record id="project_task_11" model="project.task">
<field eval="90.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_developer"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Develop module in Warehouse</field>
@@ -183,7 +183,7 @@
<record id="project_task_12" model="project.task">
<field eval="20.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_developer"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Integrate Modules</field>
@@ -194,7 +194,7 @@
<record id="project_task_13" model="project.task">
<field eval="50.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_tester"/>
<field name="user_id" ref="base.user_mit"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Unit Testing</field>
@@ -205,7 +205,7 @@
<record id="project_task_14" model="project.task">
<field eval="30.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_tester"/>
<field name="user_id" ref="base.user_mit"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Regression Test</field>
@@ -215,7 +215,7 @@
<record id="project_task_15" model="project.task">
<field eval="15.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_developer"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Documentation</field>
@@ -226,7 +226,7 @@
<record id="project_task_16" model="project.task">
<field eval="10" name="sequence"/>
<field eval="40.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_tester"/>
<field name="user_id" ref="base.user_mit"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Performance Tuning</field>
@@ -237,7 +237,7 @@
<record id="project_task_17" model="project.task">
<field eval="5.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_analyst"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Deploy and Review on Customer System</field>
@@ -247,7 +247,7 @@
<record id="project_task_18" model="project.task">
<field eval="10.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_analyst"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Training and Presentation</field>
+1 -1
View File
@@ -11,7 +11,7 @@
- state == "pending"
-
!record {model: project.task.delegate, id: delegate_id}:
user_id: res_users_analyst
user_id: base.user_niv
planned_hours: 12.0
planned_hours_me: 2.0
-
@@ -10,7 +10,7 @@
<field name="date_from" eval="time.strftime('%Y-%m-01')"/>
<field name="date_to" eval="time.strftime('%Y-%m-28')"/>
<field name="state">open</field>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
</record>
@@ -19,7 +19,7 @@
<field name="amount">16.0</field>
<field name="amount_unit" ref="product.uom_hour"/>
<field name="planning_id" ref="project_plannning_1"/>
<field name="user_id" ref="project.res_users_project_manager"/>
<field name="user_id" ref="base.user_al"/>
<field name="task_ids" eval="[(6,0,[ref('project.project_task_188')])]"/>
</record>
@@ -29,7 +29,7 @@
<field name="amount">24.0</field>
<field name="amount_unit" ref="product.uom_hour"/>
<field name="planning_id" ref="project_plannning_1"/>
<field name="user_id" ref="project.res_users_technical_leader"/>
<field name="user_id" ref="base.user_qdp"/>
<field name="task_ids" eval="[(6,0,[ref('project.project_task_190')])]"/>
</record>
@@ -39,7 +39,7 @@
<field name="amount">90.0</field>
<field name="amount_unit" ref="product.uom_hour"/>
<field name="planning_id" ref="project_plannning_1"/>
<field name="user_id" ref="project.res_users_developer"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="task_ids" eval="[(6,0,[ref('project.project_task_11')])]"/>
</record>
@@ -49,7 +49,7 @@
<field name="amount">50.0</field>
<field name="amount_unit" ref="product.uom_hour"/>
<field name="planning_id" ref="project_plannning_1"/>
<field name="user_id" ref="project.res_users_tester"/>
<field name="user_id" ref="base.user_mit"/>
<field name="task_ids" eval="[(6,0,[ref('project.project_task_13')])]"/>
</record>
+2 -2
View File
@@ -34,7 +34,7 @@
I create tasks from backlog "Automatic migration system" for sprint
-
!python {model: project.scrum.backlog.create.task}: |
new_id = self.create(cr, uid, {'user_id': ref("project.res_users_project_manager")})
new_id = self.create(cr, uid, {'user_id': ref("base.user_al")})
task_obj = self.pool.get('project.task')
backlog_obj = self.pool.get('project.scrum.product.backlog')
@@ -44,7 +44,7 @@
assert len(task_ids), "Task not created"
task = task_obj.browse(cr, uid, task_ids[0], context)
assert task.name == backlog_data.name and task.total_hours == backlog_data.expected_hours and task.user_id and task.user_id.id == ref("project.res_users_project_manager"), 'Task not has been created'
assert task.name == backlog_data.name and task.total_hours == backlog_data.expected_hours and task.user_id and task.user_id.id == ref("base.user_al"), 'Task not has been created'
-
I send email to scrum master with scrum meeting details.
-
@@ -2,39 +2,39 @@
<openerp>
<data noupdate="1">
<!-- Example employee -->
<record id="hr.employee2" model="hr.employee">
<field name="user_id" ref="project.res_users_technical_leader"/>
<record id="hr.employee_qdp" model="hr.employee">
<field name="user_id" ref="base.user_qdp"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
</record>
<record id="hr.employee3" model="hr.employee">
<field name="user_id" ref="project.res_users_project_manager"/>
<record id="hr.employee_al" model="hr.employee">
<field name="user_id" ref="base.user_al"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
</record>
<record id="hr.employee4" model="hr.employee">
<record id="hr.employee_mit" model="hr.employee">
<field name="name">Phuong</field>
<field name="calendar_id" ref="resource.timesheet_group1"/>
<field name="user_id" ref="project.res_users_analyst"/>
<field name="user_id" ref="base.user_niv"/>
<field name="category_ids" eval="[(6, 0, [ref('hr.category_employee')])]"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
</record>
<record id="hr.employee5" model="hr.employee">
<record id="hr.employee_fpi" model="hr.employee">
<field name="name">Francois</field>
<field name="calendar_id" ref="resource.timesheet_group1"/>
<field name="user_id" ref="project.res_users_developer"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="category_ids" eval="[(6, 0, [ref('hr.category_employee')])]"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
</record>
<record id="hr.employee6" model="hr.employee">
<record id="hr.employee_jth" model="hr.employee">
<field name="name">Julien</field>
<field name="calendar_id" ref="resource.timesheet_group1"/>
<field name="user_id" ref="project.res_users_designer"/>
<field name="user_id" ref="base.user_jth"/>
<field name="category_ids" eval="[(6, 0, [ref('hr.category_employee')])]"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
@@ -42,7 +42,7 @@
<record id="hr.employee7" model="hr.employee">
<field name="name">Alien</field>
<field name="calendar_id" ref="resource.timesheet_group1"/>
<field name="user_id" ref="project.res_users_tester"/>
<field name="user_id" ref="base.user_mit"/>
<field name="category_ids" eval="[(6, 0, [ref('hr.category_employee')])]"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
@@ -50,7 +50,7 @@
<record id="hr.employee8" model="hr.employee">
<field name="name">Fabian</field>
<field name="calendar_id" ref="resource.timesheet_group1"/>
<field name="user_id" ref="project.res_users_finacial_manager"/>
<field name="user_id" ref="base.user_vad"/>
<field name="category_ids" eval="[(6, 0, [ref('hr.category_employee')])]"/>
<field name="product_id" ref="product.product_consultant"/>
<field name="journal_id" ref="hr_timesheet.analytic_journal"/>
@@ -6,7 +6,7 @@
name: Test Timesheet records
task_id: project.project_task_1
hours: 20.0
user_id: project.res_users_analyst
user_id: base.user_niv
company_id: base.main_company
-
I check Timesheet line for employee in current Timesheet
@@ -16,6 +16,6 @@
start = (datetime.date.today().strftime('%Y-%m-%d'))
task_work = self.search(cr, uid, [("name","=","Prepare Requirements Document: Test Timesheet records")],context)[0]
task_ids = self.browse(cr, uid, task_work, context)
assert task_ids.user_id.id == ref("project.res_users_analyst"), 'Error, The User in Timesheet is not Correct'
assert task_ids.user_id.id == ref("base.user_niv"), 'Error, The User in Timesheet is not Correct'
assert task_ids.date == start, 'Error, The Date in Timesheet is not ok'
assert task_ids.product_uom_id.name == "Hour", 'Error, The Hour in Timesheet is not ok'