Commit Graph
203 Commits
Author SHA1 Message Date
Martin Trigaux c59c10f1bc [FIX] *: correct typos and bad English
Courtesy of translators
Reexport .pot of modified modules

closes odoo/odoo#61010

X-original-commit: 62a18bdb372e234107fd2099a2df5f9e3a442c96
Related: odoo/enterprise#14489
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-10-29 19:23:41 +00:00
Raphael Collet 8de95a3fb4 [FIX] core: validation of field parameters
The feature was actually not working as expected.  It has been fixed,
and a test now ensures it does work as expected.  This commit also fixes
some invalid parameters, hopefully nothing critical.

closes odoo/odoo#60429

X-original-commit: 231bdca3f26d96f578503694e5aec062de2317ed
Related: odoo/enterprise#14285
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2020-10-21 10:18:36 +00:00
Nicolas Martinelli 87b8408f24 [FIX] mrp: group operator of duration per unit
The Duration Per Unit should be averaged, not summed.

opw-2353041

closes odoo/odoo#59446

X-original-commit: 54b40f1eb096ea9531f1f9b0478937536c8292fc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-10-07 16:35:49 +00:00
William Henrotin 0c6d8ecfaf [FIX] mrp: no finished move management
This commit makes sure we do not try to update the quantity on a
finished stock move (during record production or confirming the produce
wizard) if there is no finished move available.

Closes #57227

closes odoo/odoo#59430

X-original-commit: 141df3b398aee2bac10e3ce94e15bb4bd14d17af
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2020-10-07 15:00:34 +00:00
svs-odoo 410d287a71 [FIX] mrp: don't copy workorder duration
Before this commit, when copy a workorder, the real duration was copied
too, which is unwanted.

task-2328830

X-original-commit: 6063bf7576a0abf975c2668ebacb6ad68c24315e
2020-10-07 11:22:57 +00:00
Rémy Voet (ryv)andFeyensv ea451c61e9 [REM] mrp: remove unused fields
- On `mrp.production`, remove `workorder_done_count`
unused since mrp v14
- On `mrp.workorder`, remove `use_create_components_lots`,
unused since ed7012e8fd

Co-authored-by: Feyensv <vfe@odoo.com>
2020-09-17 12:11:01 +00:00
alt-odoo 58fb79aa78 [FIX] mrp: no error on workorders scheduled start date update
When a user is accessing a work order in state ready, we are updating it and
rewriting date_planned_start field. We also update accordingly the associated
slot of the workcenter calendar (leave_id), but if the ressource of this slot
is linked to another user, a record rule on resource.calendar.leaves is preventing
the update, which should occur without error, even if the user does not have
Time Off / All Approver rights.

closes odoo/odoo#57120

X-original-commit: 790fb1820fbd49d07206963077216cc304ed2b0a
Signed-off-by: Alex Tuyls <alt-odoo@users.noreply.github.com>
2020-09-04 16:47:06 +00:00
Nicolas Martinelli 0c68958048 [FIX] mrp: prevent crash if no date_end
If there is no `date_end`, sorting will crash.

opw-2326262

closes odoo/odoo#56603

X-original-commit: e981c17dd93c756a5cf0384ab2dcc25ef58cb1b1
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-08-26 14:32:37 +00:00
Nicolas Martinelli b7328770fa [FIX] mrp: prevent incorrect comparison
In case `date_planned_finished` is `False`.

opw-2326088

closes odoo/odoo#56578

X-original-commit: 5c7c6b42cc0e0fa5bdd78aeca48cdf4ba9f78cad
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-08-26 11:40:02 +00:00
William Henrotin b9acfc69c5 [FIX] mrp: use _origin in workorder name_get
This commit makes use of _origin.id instead of .id into
mrp.workorder.name_get(). name_get() can be called from a compute method
(via _plan_workorders) which implies virtual ids. Searching amongst real
ids with a virtual one was not possible back then.

Task : 2278147

closes odoo/odoo#56469

X-original-commit: 346ecc3a52a7d1c3a2c6409a6799f6b013c3b6da
Related: odoo/enterprise#12641
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
2020-08-25 09:05:14 +00:00
Anh Thao Pham (pta) df7a13f853 [FIX] mrp: use working calendar when editing wo planned dates
- Go to Manufacturing > Configuration and activate Work Orders
- Create a Product (i.e. Product X) and create a Bill of Materials for it (with a Routing)
- Go to Manufacturing > Operations > Manufacturing Orders and create one for Product X
- Mark as Todo and Plan
- Go to Manufacturing > Operations > Work Orders and open the created one
- In Time Tracking tab, edit Planned Start Date or Expected Duration
The Planned End Date is computed without using the working calendar of the work center.
The working calendar should be used as it was at creation.

opw-2314555

closes odoo/odoo#56290

X-original-commit: 7b70da788d3a222467d88b06324a41e6c6efe605
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Anh Thao PHAM <kitan191@users.noreply.github.com>
2020-08-21 11:39:18 +00:00
Rémy Voet (ryv) c9c5281827 [REM] mrp: remove unused fields + Dead code
- Refactor `order_finished_lot_ids` compute, to be linked to the `lot_producing_id`
the the related production (less boiler plate). We can't remove it because
it is used in mrp_subcontracting, and keep the Many2Many, for the tag widget.
Remove the second field compute by this method, `finished_lots_exist` (never used).
- Remove unused field `needs_lots` (also it is a duplication
with `has_tracking` info) from `stock.move` (mrp)
- Remove unused field `done_move` from `stock.move.line` (mrp).
- Remove unused methods `_strict_consumption_check` and `_update_raw_move`.
- Remove unused variables.

odoo/upgrade#1594

closes odoo/odoo#54996

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-08-20 07:01:49 +00:00
Rémy Voet (ryv) 4029b84be8 [FIX] mrp: keep the default of expected duration
Issue: when we created a new operation from the MO form,
the default of the expected_duration wasn't take in account and
override to 0.0.
Fix: in `_get_duration_expected` If there isn't workcenter is set,
instead of return False, return the `duration_expected`

closes odoo/odoo#56127

Related: odoo/enterprise#12517
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-08-20 06:57:19 +00:00
Rémy Voet (ryv) 400d14a762 [FIX] mrp: fix operation creation from MO
It was impossible to add a workorder after a finished one
due to a constraint in the write (can't change next_work_order_id).
Remove this obselete constraint.

task-2278147
2020-08-20 06:57:19 +00:00
fja-odoo 8c5e3af174 [IMP] mrp: remove batch from operations
This doesn't make sense anymore: when we record production on a WO, in
any cases everything is processed as we make backorders.

Part of: https://github.com/odoo/odoo/pull/54283
task-2278147
2020-08-18 12:46:54 +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
Victor Feyens fdb23e282b [IMP] *: wrong any() usage
Replace wrong usages of any(list|recordset), by any(generator)
to speed up computations, avoiding list creations and/or looping twice on a recordset
for nothing.

any([generator]) => any(generator)
any(filtered) => any(generator)

closes odoo/odoo#55768

Related: odoo/enterprise#12360
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-08-14 09:56:10 +00:00
William Henrotin 10a07529b0 [FIX] mrp: change quantity wizard stop producing
Case :
  - production with workorder
  - 0 qty_producing
  - Change product quantity via the wizard
  - the qty_producing is set to the maximum

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 161b3ec702 [FIX] mrp: update only sooner scheduled date
Starting a workorder should update the scheduled date only if the production
is started sooner than expected. In this case we want to clear the
calendar for the other production. If the production is started later
than expected, updating the calendar has no effect. We leave the
scheduled date unchanged to keep the information

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin 963ad5eada [FIX] mrp: keep duration ratio
Updating the quantity to produce on a production order will recompute
the expected production duration. This can be counter productive on
prototyping production when no BoM are given. The default expected batch
duration is set to 60 minutes. Setting the actual production time then
updating the quantity to produce will naively change the duration to
60 x the new quantity.
This commit compute the duration pro rata in case of 'no BoM' production
and recompute everything in case of BoM production.

Task : 2278147
2020-08-10 09:40:24 +00:00
William Henrotin af7716df46 [IMP] mrp_workorder: remove activity mixin on workorder 2020-08-10 09:40:24 +00:00
Arnold Moyaux 3355371f34 [IMP] mrp: editable timer 2020-07-27 15:03:05 +00:00
Victor Feyens e8893f84ab [IMP] *: translations improvements
Avoid concatenation of translated strings & raw values and/or other 
translated values, and use the new _ API (by providing the formatting 
values to ensure the fallback on the english terms in case of wrong 
translation).

By including the expected values inside the string to translate, we 
ensure that the formatted values are included at the right place in the 
resulting translated text.

This also provides more information on the string to translate to 
the translators, s.t. the chosen terms for the translations can be more 
adapted to the translation context.

closes odoo/odoo#54635

Related: odoo/enterprise#11925
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-07-23 12:13:19 +00:00
fja-odoo 31dd984bea [IMP] mrp: make the MO on the WO readonly
Part of: https://github.com/odoo/odoo/pull/54283
task-2278147

closes odoo/odoo#54607

X-original-commit: b13e7d7bf3565242d1f99c6d9d5dfc7a8aa2929d
Related: odoo/enterprise#11906
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-07-16 16:54:01 +00:00
fja-odoo eedbcfbef5 [FIX] mrp: fix _set_qty_producing
On a MO which product_id has a serial tracking, some components and 2
or more WO:
The method _set_qty_producing of a WO will call the MO _set_qty_producing
method even if no changes is made on qty_producing which can produce an
undesired aditional move line when creating the MO.

On a MO which product_id has a serial tracking and some components:
Changing the qty_producing on a MO was adding a line on the component
move.

Since the _set_qty_producing method is called when creating a WO it sets
the qty_producing of the MO to 0. As it does not make sense to have a WO
set the qty_producing of a MO to 0 we will not replicate it.

task-2278147

closes odoo/odoo#54579

X-original-commit: ca8275aa28010b73cad14f667068e9cfc6c651a5
Related: odoo/enterprise#11896
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-07-16 13:02:14 +00:00
Martin Trigaux 80e97e98ce [IMP] *: use named placeholders in translated message
When more than one parameter is present in a message, it helps the
translation to use named placeholder. This way, the order can be
changed. It also helps the comprehension of the message.
2020-06-18 13:03:34 +02:00
Martin Trigaux ba244cef01 [IMP] *: replace to new _() syntax
Using a few regex like
\((_\(.*%s.*)(\) % )([\w\[\]][\w .\[\]\(\)'"]*)\)
($1, $3))

Old syntax is still compatible but starts the migration to the new
syntax that catches error.
2020-06-18 13:03:34 +02:00
Simon Lejeune 249a1a7541 [FIX] mrp: bunch of fixes
Bunch of last minute fixes including:
- serial handling in tablet view
- expected durations and backorders
- button unplan unlinks the leave but the computed aren't recomputed
  then we need to manually set the date_planned_start/finished
  then we need to not propagate them on the related document
  (move/production) because they are required
- operation company_id wrongly set

task-2241471
2020-06-15 16:59:42 +02:00
Arnold Moyaux 05607f945b [IMP] mrp: move embeded workorder view to global view
task-2241471
2020-06-15 16:59:41 +02:00
Arnold Moyaux ed7012e8fd [REF] mrp: workorders for enterprise
Removed abstract workorder

Removed the integration of expiry wizard in tablet view since it should
be moved in enterprise in the tablet view implementation (not possible
to set consumed lot on workorders on community anymore)

Refactor _set_quantity_done to use ORM command in order to not return a
dict with vals to_create/to_write

task-2241471
2020-06-15 16:59:41 +02:00
Simon Lejeune 4060387988 [REF] mrp: start next workorder (community)
task-2241471
2020-06-15 16:59:41 +02:00
Rémy Voet (ryv) f647b68243 [FIX] mrp: fix name of leave related to WO
Instead using production name + name of WO as name in the
leave record, use the display name of WO to reprensent uniquely
the leave (even this record is not really reprensent in views).

task-2241471
2020-06-15 16:59:41 +02:00
Arnold Moyaux 182f1b8e26 [REF] mrp: workorder onchange
Create the workorders at the onchange when setting the bom and not a
"plan" anymore.

task-2241471
2020-06-15 16:59:41 +02:00
Rémy Voet (ryv) 54cbedeaf7 [IMP] mrp: convert note field of operation into text work instruction.
The field note of mrp.routing.workcenter was not very usefull, and not
appear in the workorder related to this operation. Sometime, we need to
have a small description of the work to do for a opeartion in the WO,
instead of a complet pdf or google slide.
-> Convert the note field as a description of the job to do and add a
"text" worksheet_type to select it, in the mrp.routing.workcenter and
add the related field in the WO. Update the view of accordingly.
-> (migration): The 'note' content remain the same, then migration is
not needed. If the user change the worksheet_type into text, the
"note" will be the previous "description".

task-2196687
2020-05-25 08:48:11 +00:00
mreficent 3dffce34bf [IMP] fields: log warning for ignored selection
When a field is related, defining a selection or selection_add will
have no effect and the paramater is ignored.

Log a warning and fix all fields badly definied

Closes odoo/odoo#45716

closes odoo/odoo#45832

Related: odoo/enterprise#8613
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-02-20 14:58:33 +00:00
Rémy Voet (ryv) 3a935af85a [IMP] stock,mrp: change icon of json popover
The icon of the json popover become a warning icon
when there is a issue. Also, create a
field show_json_popover in mrp_production
to avoid using d-none to put in invisible the popover.

task-2178494

closes odoo/odoo#45420

X-original-commit: 270e8d34b2adec07e8ae3b8952514184d2a00b59
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-02-14 16:23:03 +00:00
William Henrotin f37ae92cd6 [IMP] mrp: Add new components in workorders
Purpose: adding new component in a specific workorder via the form view.
This behavior is only available if the Bill of Material is in flexible
consumption. Adding new component was already made possible in
e1f518bb83 but the ability to add new
workorder lines conditionnaly in the workorder form view was missing.

Task: 2121714
2020-01-30 12:40:38 +00:00
William Henrotin 4cfcc36d0e [MOV] mrp: check finished lot in mrp module
Consuming product tracked by lot (or serial number ) to produce product
also tracked must ensure the link between the two lots (consumed and produced)
is always set. This test is not done in community version while there is
one in the enterprise conterpart (mrp_workorder module). This commit
move this test to the mrp module to have it everywhere

Task : 2121714
2020-01-30 12:40:22 +00:00
Rémy Voet (ryv) eee5c6443b [FIX] mrp: truncate millisecond to check overlaps
In some flows, a planned_datetime_start/finished will contains
milliseconds. In these cases, we can detect overlaps/conflicts between
workorders but these conflicts can't be see in the web interface
(because datetime is truncate when it is display).
Then, change the conflicts computation to remove milliseconds
in search of conflicts.

task-2169447

closes odoo/odoo#43013

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-01-22 12:31:40 +00:00
Rémy Voet (ryv) 4246e5b5b0 [IMP] mrp: improve small details of WO views/model
- Now, the fields date_planned_start and date_planned_finished is
required in views, because it was strongly related to the leave date_to, date_from
which are required.
- Change the name_get in case of single WO in MO and replace the dot
by a dash.
- Improve the WO form view to be more responsive when it is open from the
gantt view.
- Change name of a Operation in the demo data

task-2169447
2020-01-22 12:31:40 +00:00
Rémy Voet (ryv) 0f679c66ba [IMP] mrp: change workorder plan behavior
- Before, the auto-planning of workorder autorize overlaps between then.
E.g. if a workorder (WO1) begin at Now + 30min with a duration of 60 minutes
and we try to plan a new workorder (WO2) Now, this one will be plan now
until Now + 120 min (30 min of WO2 + 60 min of WO1 + 30 min of WO2).
In our case we don't want this behavior by default,
because in real case, it is not efficient to work on job A during
30 min, after change to pass to a other job B, and rework on A after
the job B.
But in a other hand, we need to accept overlaps with no-working hours
intervals. Then, rewritte the _plan_workorders method to take
these features in account.

Also small fix about the planning has been done:
- Due to the strong link of date_planned(_...)  between the MO and WO,
the replan of the late first WO was wrong.
If the MO is planned before now, then don't take in account
date_planned_start and try to plan WO as soon as possible.
- Also, fix error handling when the WO is planned before the
previous one.

task-2169447
2020-01-22 12:31:40 +00:00
Rémy Voet (ryv) 9a5608aee7 [REM] mrp: remove unused fields of workorder
Remove color and capacity fields of mpr.workorder unused
and coming from commit : 2ddc35a530 .

closes odoo/odoo#42498

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-12-30 15:05:24 +00:00
Rémy Voet (ryv) 4c98c92bd0 [FIX] mrp: fix gantt unavailability
_get_unavailability_intervals didn't return the correct
dict (describe in the docstring). Then the override in
maintenance module was wrong.

task-2082261

closes odoo/odoo#42530

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-12-31 09:43:21 +00:00
ryv-odoo c7b9602165 [IMP] mrp: add extra information about scheduling
Add scheduling information (icon) with popover to show info/warning/error
about the scheduling of workorder. Four extra pieces of information
is given (level change the color of the icon):
- Info level; If previous WO and pending state, show sheduling info of the previous WO
- Warning level; info if the WO is late
- Error level; if conflit with other WO (same workcenter in same time)
- Error level; if previous WO is planned after the current one

Also, add a button (in the popover) to replan correctly all WO of the MO of
the current WO (only if it is not in ready/progress and error(s) is detected).

It is done via a JSON data compute field ('json_popover') in the workorder and
the popover_widget of stock. It is allowing use to make computation in batch
and avoid to add lot of fields.

task-2082261

closes odoo/odoo#41950

Related: odoo/enterprise#7296
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-12-30 11:05:40 +00:00
ryv-odoo d50e2b0010 [IMP] mrp: add sequence of work order in the display name
In order to clarify the flow of work order in calendar and gantt view,
add the sequence number of WO by MO. This sequence is
compute during the call of the "name_get".

task-2082261
2019-12-30 08:19:40 +00:00
ryv-odoo 6c16892ded [IMP] mrp: show unavailabilities hours/days in the gantt view of work order
In order to improve readability of the gant view of
the work order, show the unavaibilities of work center
when it is grouped by.

task-2082261
2019-12-30 08:19:40 +00:00
William Henrotin 53252ed7bc [FIX] mrp_workorder: suggest total quantity by lot
Use case:
Plan a production of 10 units on 2 workorders. Produce 4 units of lot1.
Record the production and produce the 6 next ones with the same lot1. On
the second workorder, the suggested quantity is 4 and not 10.

This issue is due to the fact that we fill the next workorder quantity
only at the first production batch and we don't check that the same lot
can be used again.

This commit call the mathod to update the quantity on the next workorder
if the first lot is produced again.

closes odoo/odoo#41189

Opw: 2127665
X-original-commit: e15fc6ac994edabc8907c13295c883cff9320d10
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-11-29 15:23:26 +00:00
William Henrotin e1f518bb83 [IMP] mrp: add components in workorders
This commit extend the flexible consumption. On the workorder form view.
It's now possible to add directly new workorder line with any product
(even one not in any BoM line). For those new wo line. A confirmed stock
move is create in the record_production step.

Task : 2082448
2019-11-22 12:39:51 +00:00
Swapnesh Shah 2fc92802cd [FIX] mrp: always set a value to computed fiec
Records were filtered so not every record was set in the for loop

Fixes odoo/odoo#38992
Closes odoo/odoo#39071

closes odoo/odoo#39234

X-original-commit: f7d5ba6f9ffccecffbb5b851bd2770ecef28520c
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-10-23 09:10:02 +00:00
William Henrotin b86bc6e979 [FIX] mrp: cancelling and validating impact on planning
The commit 0679d0d introduced a new
planning mechanism for the workorder. Two issues have been instroduced
since this patch.
  1. Cancelling a workorder didn't free the time slot in the workcenter
    calendar
  2. Validation a workorder sooner than the planned date didn't update
    the workcenter calendar to plan another production sooner.

This commit update the date_planned_start and date_planned_finished
at cancellation and validation to impact the workcenters calendar.
To keep the original planning dates, they are now tracked

This commit also fix the button_start() method that always rewrited the
date_start even if the production had already been started.

Task : 2082442

closes odoo/odoo#38947

X-original-commit: 4ca6c773a00320865142e4efb3645f36c54ce9a2
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-10-17 12:17:49 +00:00