Skip to content
Snippets Groups Projects
  1. Apr 09, 2018
  2. Apr 06, 2018
    • Hiral Bhavsar's avatar
      [IMP] mrp: add new bom and cost report · 9201f92a
      Hiral Bhavsar authored
      Add a new report in order to display:
      - bom structure and cost
      - bom structure
      - bom cost
      The user is allowed to print multiple bom reports at once.
      Print the report dynamically depending what have been unfolded.
      
      In html the rendering is lazy, when unfolding the client make a request
      to the server in order to get the html that will be append to the DOM.
      
      For the pdf the kwargs unfolded could be used in order to render everything
      at once.
      
      With the help of:
      Dhaval Suthar <dut@odoo.com>
      Jigar Patel <jat@openerp.com>
      
      task-36741
      9201f92a
    • Jigar Patel's avatar
      [IMP] mrp: add cost by hour on workcenter · 5a22b79a
      Jigar Patel authored
      Move it from enterprise to community since it will
      be used for bom structure report and set bom_cost on product
      cost functionalities.
      5a22b79a
    • Arnold Moyaux's avatar
      [IMP] stock: improve generic stock controller · 15745987
      Arnold Moyaux authored
      Include set_html in the deferred of start
      15745987
    • Arnold Moyaux's avatar
      [IMP] base, web: define landscape in report template · f384db9b
      Arnold Moyaux authored
      Since report refactoring the function to override is get_report_values
      that only returns a dict of value that are used in rendering.
      In order to render a pdf with a landscape orientation, a context key could
      be added however since it's not possible to return a report object in
      get_report_values, it's difficult to add a contexti without using some tricks.
      
      This commit add a report option to use in the template that will be used
      in order to modify the pdf orientation. The process used was already existing
      for other options like dpi,...
      f384db9b
    • Arnold Moyaux's avatar
      [IMP] mrp: add advanced demo data for mrp · 3242fced
      Arnold Moyaux authored
      Current demo data do not have advanced configuration.
      This commit provides new demo data in order to test
      bom report or advanced MRP configuration with sub bom
      bom with kit,...
      3242fced
    • Hiral Bhavsar's avatar
      [REM] mrp: remove old report for BoM structure/cost · 7cb32d1f
      Hiral Bhavsar authored
      The pupose is to add the new dynamic bom report
      Chekc the next commits in order to have more details
      7cb32d1f
    • Commandant Custo's avatar
      [IMP] sale: use widget handle on tree view · 5ba54aa4
      Commandant Custo authored
      Closes #20161
      Unverified
      5ba54aa4
    • Jérome Maes's avatar
      [MERGE] *_timesheet: selling services, phase 3 · 395db264
      Jérome Maes authored
      Impacted modules: hr_timesheet, sale_timesheet and project.
      
      This merge commit provides feature for service flow (selling
      timesheet). The most important points are
      
      1/ selling project based on template: on product configuration,
      user can now set a template for the Sales Order to create a
      project by duplicating this ones (stages, tasks, ... are duplicated
      from the template). If several Sale Lines are based on the same
      template, only one will be created. Same mecanism if multiple product
      creating a project without template: only one project per SO.
      
      2/ Project Overview Revamp: before this, it was based on a filter
      domain on analytic line (aka timesheet). This causes many problem
      as if you are selling prepaid services, you project plan was empty
      as long as no timesheet was created. Moreover, this kind of domain
      is not very usefull for the user (nobody want to see project plan of
      timesheet containing "analysis" for instance). The project plan is
      now a filter on project, to ease fetching data from the project (even
      if no timesheet or forecast), and allow cross project analysis.
      The overview table part is now available even when forecast is not
      installed.
      
      3/ Assign Tasks Massively: a wizard is provided to ease linking
      task to the same Sale Order Line, to ease billing their related
      timesheets.
      
      4/ Usability Details: filter task per SO or SO line, stat button
      on Sale Order now redirect to kanban project instead of global
      project plan, generated task/project names are cleaner, ...
      
      5/ Installing only timesheet module, user will be able to track
      cost without selling time. Fields of cost and employee hourly cost
      are moved from sale_timesheet to hr_timesheet.
      
      To make this feature works, some technical efforts was required:
      
      1/ Project and Analytic Account: To allow SO to generate multiple
      project, we wanted them to share the same analytic account (the one
      of the Sale Order). To do so, we had to remove the inheritS between
      project.project and account.analytic.account models.
      To allow timesheet on a project, an analytic need to be set manually,
      or it will be automatically generated (like before with the inheritS),
      if allow_timesheet is checked.
      
      2/ Refactoring of SOL service generation: to allow SOL to generate
      only one project (per template) for the SO, the part of service creation
      on sale.order.line needed a refactoring.
      
      3/ Revamping the overview also improve its performances: some part
      are now based on SQL queries (table part), or on report (profitability
      report). Doing a report allow the user to create its own filters, and
      give him a more accurate tools to extract statistics then project plan.
      The idea is to get only one source of information for reporting and
      analysis.
      
      Please see sub commits for more details.
      
      Thanks for @tde-banana-odoo for his review and advices during
      development,
      and thanks to @bst-odoo for his functionnal ideas, testing and support.
      
      Tasks #34702
      Closes #22268
      395db264
    • Jérome Maes's avatar
      [IMP] project,hr_timesheet: no 'remaining hours' field in project · d50a1e26
      Jérome Maes authored
      'remaining_hours' is defined in project as a simple
      float field, manually updateable, only displayed
      when the group "Time Estimation on Task" is activated.
      But for now, there is no setting to active this group.
      
      Those are legacy useless stuff, so we can remove it.
      The purpose is to make 'time estimation' feature only
      available when timesheet is installed.
      
      Thie commit also split the compute methods of
      'remaining_hours' and 'progress' fields to make
      'remaining_hours' updateable, though inverse method.
      Without splitting the compute method, the calculation
      of the progress was done correctly during onchange
      but not when saving.
      d50a1e26
    • Jérome Maes's avatar
      [FIX] sale_timesheet: correct uom xml id · 3a40ee00
      Jérome Maes authored
      3a40ee00
    • Jérome Maes's avatar
      [IMP] sale_order: name and description of generated task · 0cbcbf89
      Jérome Maes authored
      We want to split the sale order line description as follow:
       - first line will be the title of the task, prefixed by SO
         reference
       - the rest of SO line description should be the task
         description
      The purpose is to avoid duplicating the first SO line
      description in task title and description.
      
      Task #1831934
      0cbcbf89
    • Jérome Maes's avatar
      [IMP] sale_timesheet: group task by Sales Order · 29d64be4
      Jérome Maes authored
      From task stat button from SO form view, it
      is relevant to see the task of the SO only.
      So, we add a filter to do so. AS the kanban
      task use a read_group, it is required to store
      the sale_order_id field on task.
      29d64be4
    • Jérome Maes's avatar
      [IMP] sale_timesheet: plan project when timesheet only · 30f3d414
      Jérome Maes authored
      The code of the project overview is split to be used when only
      timesheet is installed (no forecast). The table part only
      display column for timesheeted time per month.
      When forecast is installed and activated, other columns
      comes to complete this table.
      
      This commit also makes visible SO line having no timesheet
      linked in project overview.
      30f3d414
    • Jérome Maes's avatar
      [IMP] sale_timesheet: tasks linked to SOL of project · abfa9210
      Jérome Maes authored
      When selling a project from a sale order, the SO line
      creates the project. When we create a task in that
      kind of project, by default, the task will be linked
      to the SO line of its project.
      However, for the SO line field to be visible on the
      task form view, the customer must be set. This commit
      set the customer from the SO line when changing
      the project (billable project only).
      abfa9210
    • Jérome Maes's avatar
      [IMP] sale_timesheet: selling project based on template · 460f57f5
      Jérome Maes authored
      Selling product creating project can now be based
      on project template. When setting a project template
      on product, this will copy the project (like a duplicate)
      and replace its customer, ... with information from the
      SO line, on SO confirmation.
      
      There is only one project without template per SO, and
      one project per template per SO (so 2 SO lines with the
      same project template on their product will only create
      one project with this template).
      460f57f5
    • Jérome Maes's avatar
      [IMP] sale_timesheet: improve tests · eb5cb135
      Jérome Maes authored
      eb5cb135
    • Jérome Maes's avatar
      [REF] sale_timesheet: project/task generation from SO · 236a7011
      Jérome Maes authored
      When confirming a SO, only one project will be created, even if
      some so lines would create a project. Only the first line will
      create the project, the other will not be linked to its.
      `project_id` field is added on so line, to keep track of the
      generated project, as already done for the task.
      
      The '_timesheet_service_generation' method has been rewritten
      to be execute in batch and improve performance and prefetching.
      
      On SO confirmation, no message are now post in chatter to avoid
      having one message per so line that should have created a task.
      A message is only posted when user manually add SO lines on
      confirmed SO.
      236a7011
    • Jérome Maes's avatar
      [IMP] sale: analytic_account field edition · 9774b788
      Jérome Maes authored
      Now that an analytic account can be linked
      to several projects, you might want to change
      the analytic on the SO.
      Before this commit, the user was allow to create
      an analytic account on a confirmed SO but not
      modify it. This was usefull when you wanted to
      reinvoice an expense on a SO without AA set.
      This is now solved (AA is automatically created
      when validated expense).
      Now, we want to allow set manually the AA before
      confirming SO to match the one of potential
      projects.
      9774b788
    • Jérome Maes's avatar
      [IMP] project: a project is not an analytic account anymore ! · 3dd3e264
      Jérome Maes authored
      This commit removes the inheritS between account.analytic.account and
      project.project. This means :
      - When a project is created, an analytic account is not necessarily
      genareted
      - project has now its own name, company_id and partner_id fields
      - an analytic account can be linked to several project
      - project module does not depend anymore of analytic, but hr_timesheet
      does.
      
      This change implied
      - an analytic account is required on project to timesheet on
      its tasks. So, when checking 'allow_timsheets', if an AA is not
      provided at project creation, an AA will be generated.
      - to timesheet on project, an active AA is required. We don't want
      timesheeting on project linked to unused AA to avoid bad analytic
      entries.
      
      This prepare the fact a sale order can create multiple project, sharing
      the same analytic account (the one from the SO).
      3dd3e264
    • Jérome Maes's avatar
      [IMP] sale_timesheet: revamp project overview · 60a8b88c
      Jérome Maes authored
      The project overview is kind of badly design. This
      commit does not solve all the issue but tries to make
      it simpler and more efficient:
      - Does not depends on AAL anymore: the overview search
      is now about projects. You can see the overview of multiple
      projects. Even when no timesheet are encoded, the plan will
      not be empty.
      - "Time by people" displays each employee assigned to task,
      even if no timesheet are recorded.
      - Code now use reporting view to keep consistency and simple
      code in overview controller.
      60a8b88c
    • Jérome Maes's avatar
      [IMP] sale_timesheet: add wizard to link multiple task to SO lines · 7782265a
      Jérome Maes authored
      Adding a wizard to assign multiple task to the same
      sale order line. This will allow user to invoice
      timesheet created before SO confirmation.
      7782265a
    • Jérome Maes's avatar
      [IMP] hr_timesheet: ability to track cost without selling time · 8f3f1827
      Jérome Maes authored
      The cost of an employee should be in hr_timesheet for a long time, to
      allow user to track time on project/task: hours spent and their cost.
      This commit simply moves fields and related views. It also moves the
      'postprocess' method from sale_timesheet to hr_timesheet since this
      method is responsible to set the amount (cost) on AAL.
      
      User can now track their time and cost, without having sale_timesheet
      installed.
      8f3f1827
Loading