← Back to team overview

openerp-india team mailing list archive

[Bug 1023047] Re: can't add new work to task if there's already work for a confirm/done timesheet

 

Fast way to solve this problem

go in project_timesheet/prohect-timesheet.py
class project_work
def write

Near the end of the function you will see that,

self.pool.get('hr.analytic.timesheet').write(cr, uid, [line_id.id],
vals_line, context=context)

Change like that
if vals_line:
    self.pool.get('hr.analytic.timesheet').write(cr, uid, [line_id.id], vals_line, context=context)

Why: Openerp have only the fields {'task_id': 6} in vals, so when he
build vals_line, val_line is empty and try to do a write with NO fields
in, and if val_line before do the write solve the problem for us.

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/1023047

Title:
  can't add new work to task if there's already work for a confirm/done
  timesheet

Status in OpenERP Community Backports (Addons):
  Fix Released
Status in OpenERP Community Backports (Addons) 7.0 series:
  Fix Released
Status in OpenERP Addons (modules):
  Fix Committed
Status in Therp Backports (Deprecated):
  Fix Released
Status in Therp Backports (Deprecated) addons-6.1 series:
  Fix Released

Bug description:
  OpenERP version is 6.1.1, with modules hr_timesheet_sheet and
  project_timesheet.

  Steps to reproduce:
  1) Create a timesheet for an employee
  2) Create a task and log some work, timesheet lines will be created (to have this working I had to apply the patch described in https://bugs.launchpad.net/openobject-addons/+bug/949078 )
  3) Submit the timesheet for approval
  4) Try to log more work on the task

  Observed result: I'm getting an error message that says that a
  timesheet line cannot be updated if the timesheet is confirm/done.

  Expected result: User should be able to add more work and new
  timesheet lines should be created, not updating the old ones that
  already belong to a confirm/done timesheet.

  Possible fix:
  To fix this issue I added this code in file project_timesheet.py, inside write function for class project_work:

              if line_id.sheet_id.state in ['confirm','done']:
                  # ignore changes if timesheet is in confirm or done status
                  continue

  I added the lines inside the "for task" just after the line_id null
  verification. With this is now working for me.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ocb-addons/+bug/1023047/+subscriptions


References