Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master timesheet jem #30421

Open
wants to merge 7 commits into
base: master
from
Commits on Apr 15, 2019
  1. [MOV] project_timesheet: extract timesheet on task from hr_timesheet

    jem-odoo committed Sep 28, 2018
    Impacted modules: hr_timesheet, project_timesheet,
    sale_timesheet
    
    Since the previous commit change the semantic of a timesheet
    line, it is now allow to create timesheet without project.
    This commit made it effective by moving all code related to
    "timesheet on project" into the reborn project_timesheet
    module.
    
    We now have
    - hr_timesheet: responsible of the 'is_timesheet' flag, and
    allowing to create timesheet
    - project_timesheet: allowing to create timesheet on tasks
    
    nothing really change functionnal except that installing
    hr_timesheet (not an app) will allow user to log timesheets
    on an analytic account (and not a project).
    
    Billing timesheet flow does not change, we still need to
    have go through project/task to increase delivery quanity
    on sale lines. This change will come on the next commit.
    This is why sale_timeshett temporary depends on
    project_timesheet.
    
    Task-1923949
  2. [IMP] hr_timesheet, *: model semantic change

    jem-odoo committed Jan 15, 2019
    Impacted moules: hr_timesheet, project_timesheet_holidays,
    sale_timesheet.
    
    Since 9.0, a timesheet is an analytic line attached to
    a project. This modelisation already showed its limitations
    on several aspects: impossible to timesheet on other model,
    impossible to link analytic line (other cost, like expense)
    to a project, ...
    
    Now, we finally convinced some decision makers to change this.
    The solution is still not the perfect one, but it will allow
    odoo to evolve and provide more cool features about selling
    time. This is just a little victory against the wrong
    modelisation.
    
    This commit changes the semantic of "what is a timesheet": it
    will now be an analytic line with a dedicated flag called
    `is_timesheet`. The hr_timesheet module is responsible to
    introduce this semantic. Other addons are modified to be
    adapted. The employee_id is now required throught a real
    SQL constraint. The system already tried to do it with UI
    restriction, ... but it is not enough.
    
    This new flag is index, as we will very often search on this
    field to only select timesheets (and not AAL).
    
    This commit does not change anything from a functionnal or
    user experience point of view. It is simply the very first
    brick of a new wall of changes.
    
    Task-1923949
  3. [MOV] sale_project_timesheet: extract reinvoicing timesheet from proj…

    jem-odoo committed Jan 21, 2019
    …ect flow
    
    Impacted modules: sale_timesheet and sale_project_timesheet
    
    This commit factorize the billing mecanism of timesheet to be reuse
    later by other modules. We now have :
    - sale_timesheet: billing mecanism by linking sale lines to timesheet
    line, and increase delivered quantity. It also provide the basics for
    service-product configuration and invoicing type of timesheet for
    reporting.
    - sale_project_timesheet: determines which sale line should be applied
    on timesheet linked to project/tasks. It also provides reporting tool
    per project to analyse costs.
    
    Nothing should change functionnally, as this commit only move code
    from an existing module to another new one.
    
    Task-1923949
  4. [IMP] sale_timesheet: factorize common class tests to be reused

    jem-odoo committed Jan 22, 2019
    Impacted modules: sale_timesheet and sale_project_timesheet
    
    All tests were moved from sale_timesheet to sale_project_timesheet to avoid
    rewrite them all to remove the project dependency. However, some methods of
    the common class tests (the ones generating test data) can be usefull for
    other module.
    This commit proposes a factorization of some part of those methods, in order
    to be reuse in other modules (like timesheet_grid_sale).
    
    Task-1923949
Commits on Apr 26, 2019
  1. WIP parent service mixin

    jem-odoo committed Apr 16, 2019
  2. WIP analytic pack + mixin

    jem-odoo committed Apr 26, 2019
  3. WIP analytic mixin applied to project

    jem-odoo committed Apr 26, 2019
You can’t perform that action at this time.