if context is None:
context = {}
emp_obj = self.pool.get('hr.employee')
- emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id', uid))], context=context)
+ emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id') or uid)], context=context)
if emp_id:
emp = emp_obj.browse(cr, uid, emp_id[0], context=context)
if emp.product_id:
emp_obj = self.pool.get('hr.employee')
if context is None:
context = {}
- emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id', uid))], context=context)
+ emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id') or uid)], context=context)
if emp_id:
emp = emp_obj.browse(cr, uid, emp_id[0], context=context)
if emp.product_id:
emp_obj = self.pool.get('hr.employee')
if context is None:
context = {}
- emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id', uid))], context=context)
+ emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id') or uid)], context=context)
if emp_id:
emp = emp_obj.browse(cr, uid, emp_id[0], context=context)
if bool(emp.product_id):
emp_obj = self.pool.get('hr.employee')
if context is None:
context = {}
- emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id', uid))], context=context)
- if not emp_id :
+ if not context.get('employee_id'):
+ emp_id = emp_obj.search(cr, uid, [('user_id','=',context.get('user_id') or uid)], limit=1, context=context)
+ else:
+ emp_id = [context.get('employee_id')]
+ if not emp_id:
raise osv.except_osv(_('Warning!'), _('Please create an employee for this user, using the menu: Human Resources > Employees.'))
emp = emp_obj.browse(cr, uid, emp_id[0], context=context)
if emp.journal_id:
'general_account_id': _getGeneralAccount,
'journal_id': _getAnalyticJournal,
'date': lambda self, cr, uid, ctx: ctx.get('date', fields.date.context_today(self,cr,uid,context=ctx)),
- 'user_id': lambda obj, cr, uid, ctx: ctx.get('user_id', uid),
+ 'user_id': lambda obj, cr, uid, ctx: ctx.get('user_id') or uid,
}
def on_change_account_id(self, cr, uid, ids, account_id, context=None):
return {'value':{}}
if context is None:
context = {}
emp_obj = self.pool.get('hr.employee')
- emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id', uid))], context=context)
+ emp_id = emp_obj.search(cr, uid, [('user_id', '=', context.get('user_id') or uid)], context=context)
ename = ''
if emp_id:
ename = emp_obj.browse(cr, uid, emp_id[0], context=context).name
def onchange_employee_id(self, cr, uid, ids, employee_id, context=None):
department_id = False
if employee_id:
- department_id = self.pool.get('hr.employee').browse(cr, uid, employee_id, context=context).department_id.id
- return {'value': {'department_id': department_id}}
+ empl_id = self.pool.get('hr.employee').browse(cr, uid, employee_id, context=context)
+ department_id = empl_id.department_id.id
+ user_id = empl_id.user_id.id
+ return {'value': {'department_id': department_id, 'user_id': user_id,}}
# ------------------------------------------------
# OpenChatter methods and notifications
</div>
<div class="oe_title">
<label for="employee_id" class="oe_edit_only"/>
- <h1><field name="employee_id" on_change="onchange_employee_id(employee_id)" class="oe_inline"/></h1>
+ <h1><field name="employee_id" on_change="onchange_employee_id(employee_id)" class="oe_inline" context="{'employee_id': employee_id, 'user_id':user_id}"/></h1>
+ <field name="user_id" invisible="1"/>
</div>
<group>
<group>
<field name="total_attendance" widget="float_time"/>
<field name="total_timesheet" widget="float_time"/>
<field name="total_difference" widget="float_time"/>
- <field name="user_id" invisible="1"/>
</group>
</group>
<notebook>
</widget>
</page>
<page string="Details">
- <field context="{'user_id':user_id, 'timesheet_date_from': date_from, 'timesheet_date_to': date_to}" name="timesheet_ids" nolabel="1">
+ <field context="{'employee_id': employee_id, 'user_id':user_id, 'timesheet_date_from': date_from, 'timesheet_date_to': date_to}" name="timesheet_ids" nolabel="1">
<tree editable="top" string="Timesheet Activities">
<field name="date"/>
<field domain="[('type','in',['normal', 'contract']), ('state', '<>', 'close'),('use_timesheets','=',1)]" name="account_id" on_change="on_change_account_id(account_id, user_id)" context="{'default_use_timesheets': 1}"/>
</page>
<page string="Attendances" groups="base.group_hr_attendance">
<group>
- <field context="{'user_id':user_id}" name="attendances_ids" nolabel="1">
+ <field context="{'employee_id': employee_id, 'user_id':user_id}" name="attendances_ids" nolabel="1">
<tree string="Attendances" editable="bottom">
<field name="name"/>
<field name="action"/>