Commit Graph
24 Commits
Author SHA1 Message Date
fw-bot 0a8f4b6cda Purpose
=======

This PR is in the continuity of odoo#62360.

- Display remaining hours in task sales_line_id (name_get + task form view)
- Remove internal reference from services demo data
- Display sol in project timesheets list if project is billable
- Remove use of non_allow_billable in timesheets as it has been removed from project and task in previous PR (see above)
- Only recompute planned_hours for service product
- Determine the correct SOL for timesheet
- Set the last SOL of customer on timesheet if none is set on task or project
- Allow edition of so_line in timesheet
- Restrict SOL on project to sale lines with a service product
- Use same widget on partner_id many2One than in sale.order (using ranking)
- Remove timesheets table in SO and invoice portal.They were added in previous PR (see above). This introduces the use of links to /my/timesheets/.
- Review portal timesheets (my/timesheets/ and link from orders and invoices)
- Activate group_uom "Units of Measure" on sale_timesheet install
- Hide partner phone number in task form view
- Only determine SOL of task and timesheet if allow_billable=True
- Filter SOL in task so that it matches the SOL of the project SO
- Display red label if remaining hours is negative
- Change SO compute behavior
- Only open SO for salesman on project overview

task-2409761

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#63695

Forward-port-of: #62900
X-original-commit: b1985773f3a67e28049f9e2bb635bcab059ad9c0
Related: odoo/enterprise#15427
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-12-22 13:40:28 +00:00
Qiuyu (QHO) 8bfaedef29 [FIX] sale_project: fix usage of unavailable field "is_fsm"
Step to reproduce:
1. Install module "sale_project"
2. In Project > Configuration > Settings, turn on "Recurring Tasks"
3. Create a recurrent task
4. Set the "next_recurrence_date" for the recurrence ahead of today
5. Run scheduled action " Project: Create Recurring Tasks"
=> error: 'project.task' object has no attribute 'is_fsm'

Reason:
"is_fsm" is defined in the module "industry_fsm" and the module "sale_project" does not depend on that module.

opw-2412370

closes odoo/odoo#63325

X-original-commit: 36c3fb0e1d16f5cce21e3edcb01ee8a39a35caa8
Related: odoo/enterprise#15288
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-12-14 12:19:44 +00:00
Kevin Baptiste eb51bdb5ad [IMP] sale,sale_project: show Project Overview
The project overview statbutton will only be shown when there's a proper
Project Overview to display (when there are timesheets, etc.)

closes odoo/odoo#57698

Taskid: 2257764
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-12-02 13:40:01 +00:00
Adrian Torres 679185f3e8 [IMP] *: replace all raises inside unlink by api.ondelete
With this commit, all instances of errors being raised inside
`BaseModel.unlink` overrides are moved into methods decorated with
`api.ondelete` which is safer.
2020-12-04 09:16:16 +00:00
fw-bot 86fa372f95 [FIX] project,sale_*: changes various issues in behaviour
This commit is mainly a revert to 13 functionalities in project_*
modules as functional changes introduced in 14 do not seem to be well
accepted by users.

Details:

- sale_timesheet: rename 'Ordered quantities' service_policy into 'Prepaid' project, sale_project, sale_timesheet: refactor task form view
- sale_timesheet: modify sale_line_employee_ids many2one widget on project form
- sale_timesheet: add link between ticket and sale order
- sale_timesheet: remove the option 'link to an existing SOL'
- sale_timesheet: remove the warning messages in project.task
- sale_timesheet: reword labels in customer_type and pricing
- sale_timesheet: adapt timesheet section on invoices in portal
- sale_timesheet: add timesheet section on orders in portal
- sale_timesheet: remove employee rate related warning on projects in Kanban view
- sale_timesheet: update sale_line_id of all the not invoiced timesheets accordingly to the employee mappings
- sale_timesheet: timesheet entries for employees that have no mapped SOL in project get the sol of the task or project

task-2388500

closes odoo/odoo#62568

Related: odoo/enterprise#15040
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-11-30 09:12:07 +00:00
Martin Trigaux 1658473bf2 [FIX] *: rephrase, correct typos
Courtesy of Transifex's translators for reporting bad/unclear sentences.

closes odoo/odoo#62564

X-original-commit: 9b3b2e8d711e3be75b1faffaf6f4f8f4ec90186e
Related: odoo/enterprise#15038
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-11-30 07:07:58 +00:00
Thibault Francois 695e482b5e [FIX] sale_project: Fix access error on action read
Problem
-------
When a sale order has more than one task within the same project
clicking on X tasks lead to an access error since regular user
cannot read action anymore

Solution
---------
use _for_xml_id method to fetch action data

closes odoo/odoo#61953

X-original-commit: ff43c875a7566ef4473452fc359e73fbf589b615
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-11-18 14:45:44 +00:00
Martin Trigaux e433bc57ff [FIX] *: rephrase, correct typos
Courtesy of Transifex's translators for reporting bad/unclear sentences.

closes odoo/odoo#61804

X-original-commit: f5d0f4a1ebf406583889e9e04912d40c0693343e
Related: odoo/enterprise#14769
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-11-16 16:47:28 +00:00
fw-bot 06dc4e20e3 [FIX] hr_timesheet : fix timesheet visibility on portal
If a portal user was a customer but not a follower of a project
he didn't have access to the timesheets linked to the project.

Task-2299286

closes odoo/odoo#59252

X-original-commit: 13fc0ab18eb1e1d4ba47b7a1e66cd5079d692d8b
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-10-06 11:21:38 +00:00
Anh Thao Pham (pta) 24a07e6124 [FIX] sale_project: add Tasks associated to SO in Tasks smart button
- Install sale_project
- Go to Project > All Tasks and open an Task
- Toggle Studio:
  * Activate "Show invisible elements" in View menu tab
  * Select "Sales Order" field and uncheck invisible option
- Go to Sales and create a Quotation (i.e. SO0001)
- Go to Project > All Tasks and create a Task with SO0001 as SO
- Go back to Quotation SO0001
The created Task is not counted in the Tasks smart button.

Tasks smart button on SO only shows Tasks associated to a SO line
and does not show Tasks associated to SO.

opw-2335040

closes odoo/odoo#58926

X-original-commit: 1ffa2b5677d028c51a06f884d635cd8429730aae
Signed-off-by: Anh Thao PHAM <kitan191@users.noreply.github.com>
2020-10-01 12:30:38 +00:00
Kamesh Patel 2239fff916 [IMP] *: replace the dropdown actions with controlpanel buttons
* calender_sms, hr_expense, sale_project

PURPOSE

Enable the framework to define some of actions in the controlpanel,
as buttons similar to the 'create/edit/discard' buttons.

SPECIFICATIONS

Replace the below-mentioned dropdown actions with controlpanel buttons

-  'send sms to attendees' in Calendar > Calendar
-  'approve report' in Expenses > Expense Reports > To approve
-  'post entries' in Expenses > Expense Reports > To post
-  'register payment' in Expenses > Expenses Reports > To pay
-  'create invoice' in Field Service > All Tasks > To Invoice

LINKS

PR https://github.com/odoo/odoo/pull/57830
Task-2300426

closes odoo/odoo#57830

Related: odoo/enterprise#13272
Related: odoo/upgrade#1785
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-09-21 06:25:29 +00:00
tafaRU cb85e4baf5 [FIX] sale_project: batch confirmation of sales orders
The override of `_action_confirm` in sale_project will crash when orders from multiple companies
are confirmed together.
This commit adapts the method to handle multiple records correctly.

closes odoo/odoo#58269

X-original-commit: ab14083b0ddfb73da167938c43f35a992fbbe93c
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-09-22 16:47:14 +00:00
jbm-odoo 5f4ef0000a [FIX] sale_timesheet: Billable project
taskId 2338803

closes odoo/odoo#58198

X-original-commit: 81b6e13cc6d2065c9274a50719acfeebe0d7cf99
Related: odoo/enterprise#13405
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: jbm-odoo <jbm-odoo@users.noreply.github.com>
2020-09-22 10:08:51 +00:00
jbm-odoo 49f8ee9e40 [IMP] sale_timesheet: Billable project
Split completely 'non billable' from 'task rate' for more clarity.
Simplify the task form view of non-billable projects.

TaskID 2032048

closes odoo/odoo#55972

Related: odoo/enterprise#12441
Related: odoo/upgrade#1662
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-19 15:52:35 +00:00
Martin Trigaux 6156f98288 [FIX] *: adapt action content retrieval
Use _for_xml_id to replace all the self.env.ref().read()[0]
This has the advantage of having a single point of control and to add
the fields filtering and model verification.

Add sudo for other operations on ir.actions.*
2020-08-17 09:09:02 +00:00
Kevin Baptiste 1b62bd9508 [IMP] project: add recurring tasks
Some interventions are done on a regular basis (e.g. maintenance of
fire alarms, safety inspections). Having tasks auto-generate would
facilitate the process and would ensure that the next intervention
isn't missed/forgotten.

closes odoo/odoo#55517

Taskid: 2172156
Related: odoo/enterprise#12246
Related: odoo/upgrade#1604
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-12 08:39:32 +00:00
Martin Trigaux 400cc4f14e [FIX] *: correct all or improve code translation lookup
This commit fixes all issues detected by the new pylint
gettext-variable test.
It converts some calls to the new syntax
  _("Foo %s", bar)

to progressively migrate the code to the new syntax.

A few calls were not technically incorrect but still detected by the
linter.

  _("Foo" +
    "Bar")

has been converted to

  _("Foo"
    "Bar")

as it has the same effect and make sure the argument is of type
asteroid.Const instead of BinOp).

closes odoo/odoo#53683

Related: odoo/enterprise#11467
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2020-06-30 10:19:59 +00:00
qho 1424a3839a [IMP] hr_timesheet: Improve the usability of timesheet portal
1. Generic timesheets improvements

    - Portal /my/timesheets
    - Add a group bys task, date, employee
    - Add search in project, name, employee, task
        * The task column should not be visible if none of the timesheets have the Task field set
    - If a group by task, date, employee or project is applied, the corresponding column should not be visible

2. Timesheets from sub-tasks on parent tasks

    - Portal /my/tasks
    - Display the 'Total Hours' spent on a task at the end of the list of timesheets
    - Below the list of timesheets for the task, display another table detailing the respective timesheets (and total hours) of each sub-task linked to this task (= 1 table/list per sub-task)
        * Title should be: 'Timesheets for sub-task: xyz'
        * only visible if there are sub-tasks linked to this task
        * only visible if total hours > 0

3. Timesheets on Invoices

    - Portal /my/invoices
    - Add Project + task fields
        * Task field only visible if set on one of the timesheet entries
        * Project field only visible if there are at least 2 different projects in these timesheet entries

4. Correct visibility for the portal users
    - Portal users is allowed to see timesheets if the users are added in allowed portal users list in the project
    - When a portal user is added as the message follower of the project, the user is added to allowed portal users as well
    - When a portal user is removed from allowed portal users, the user is also removed from message followers

closes odoo/odoo#47248

Taskid: 2201908
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-06-29 11:56:36 +00:00
Andrea Grazioso (agr-odoo) 366a7d6115 [FIX] sale_project: be able to create fsm projects from sale order
Install project,sale_management,industry_fsm
Create a new product with:
- Product type: service
- Service Invoicing Policy: Timesheets on tasks
- Service Tracking: Create a task in sales order's project
- Project Template: Field Service
Save, then edit also Field Service chaning Bill from Tasks to the new
product
Create a sale order with such product, save and confirm

Error Message "An FSM project must be billed at task rate"
will popup blocking the action. This is due to changes introduced in
071711bf1db82ae7fc65dcc1292da6ef82278168 (enterprise commit), new fsm
projects should not have a sale order line, instead rates are derived
from the tasks.

This commit refactor the code of '_timesheet_create_project' to make
possible to override project creation values. In the counterpart commit,
in enterprise, the sale order line id will be removed to match the behavior
of 071711bf1db82ae7fc65dcc1292da6ef82278168

opw-2220184

closes odoo/odoo#48936

X-original-commit: 4094cb12a617df99fdc7d6d8796568217c34c175
Related: odoo/enterprise#9645
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-04-03 08:35:21 +00:00
Kevin Baptiste fad3ed7ce4 [FIX] sale_timesheet: change SO on project
The "Create Sales Order" button was not displayed again when the
original SO was deleted. Thus, it was not possible to link a new SO to
the project.

closes odoo/odoo#47397

Taskid: 2206862
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-03-18 14:09:01 +00:00
jdoutreloux 69b1e1a052 [IMP] sale_project : add create invoice server action to project
The possibility to create invoices from project tasks was being
introduced in industry_fsm_sale. This moves the server action to
sale_project.

Task-2191253

closes odoo/odoo#45650

Related: odoo/enterprise#8530
Related: odoo/upgrade#808
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-03-10 10:17:55 +00:00
Yannick Tivisse 0392e4e62d [FIX] sale_project: Link generated task to SO 2020-01-15 15:36:21 +00:00
jbm-odoo 79cdcd13c8 [IMP] sale_timesheet: Move not invoiced time sheet to new SOL
Description of the issue/feature this PR addresses:
There is no easy way to re-assign the time sheets to the correct SOL (changing
the task's SOL does not change the non-invoiced time sheets automatically)

Current behavior before PR:
On a project, if a user put a wrong sale order line, and after that he changes
this SOL, the timesheet line will not be moved.

Desired behavior after PR is merged:
On a project, if a user put a wrong sale order line, and after that he change
this SOL, all non invoiced timesheet line will be moved to new line.

TaskId: 2144703
2020-01-15 15:36:21 +00:00
Barad Mahendra 447b33a3c2 [ADD] sale_project: Move task generation from SO feature
Purpose
=======

If the user doesn't have the timesheets app, it is not possible to generate
a task from an SOL. However, the user may want to generate a task without
necessarily timesheeting on it (e.g. a task in Field Service).

Specification
=============

Move the feature to a new module sale_project, sale_timesheet becomes
dependent on it.

Task-2123707

closes odoo/odoo#40594

Closes: #40594
Related: odoo/enterprise#6851
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-12-27 11:29:00 +00:00