[FIX]better error message in my timesheet(give correct employee name) and fix error on creation saying that user_id was recquired in some cases
bzr revid: csn@openerp.com-20121213091218-gozqwkza84xoaafv
This commit is contained in:
@@ -99,7 +99,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
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:
|
||||
@@ -110,7 +110,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
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:
|
||||
@@ -121,7 +121,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
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):
|
||||
@@ -136,8 +136,11 @@ class hr_analytic_timesheet(osv.osv):
|
||||
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 context.get('employee_id'):
|
||||
emp_id = [context.get('employee_id')]
|
||||
else:
|
||||
emp_id = emp_obj.search(cr, uid, [('user_id','=',context.get('user_id') or uid)], limit=1, context=context)
|
||||
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:
|
||||
@@ -152,7 +155,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
'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':{}}
|
||||
@@ -169,7 +172,7 @@ class hr_analytic_timesheet(osv.osv):
|
||||
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
|
||||
|
||||
@@ -218,8 +218,10 @@ class hr_timesheet_sheet(osv.osv):
|
||||
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
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
<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>
|
||||
<field name="user_id" invisible="1"/>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
@@ -94,7 +95,6 @@
|
||||
<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>
|
||||
@@ -103,7 +103,7 @@
|
||||
</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}"/>
|
||||
@@ -134,7 +134,7 @@
|
||||
</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"/>
|
||||
|
||||
Reference in New Issue
Block a user