The form view product.template.common.form is common for product.product
and product.template Then the active_id could not be used by default for
the field product_tmpl_id.
opw:670779
* Since the last timesheets refactoring, timesheet entries are always linked to a project, and sale_service had the same dependencies as sale_timesheet.
* This commit simplifies the modules hierarchy by merging two modules that have a close functionality and that were both always installed after timesheets and sales.
A Phantom BoM can have service products which can create tasks.
Somehow the code did not use the _need_procurement function that was there before
to check if it needs to create a task.
On the product_template, the stat button to indicate the purchased quatity
is buggy in several ways.
1/ The states in the read_group domain have been mistaken with the states
on the picking (clap, clap)
2/ The read_group is seeking the fields product_id and quantity. Too bad, on
the model the name is unit_quantity (clap, clap)
3/ The displayed PO lines weren't chosen from a domain. So the computed quantity
didn't correspond to the displayed lines from the button (small clap, clap)
4/ The action_purchase_line_product_tree linked to the stat button is selecting
the PO lines where the product is the product id. Too bad, on the PO line
this is a product.product and on the current object this is a product.template
(epic clap, clap)
1/ Two menus having same id, so changed id of 'Mail Schedulers' menu.
So 'Events Types' menu is visible.
2/ UI improvements(changed menu string: Events Types -> Event Categories,
no more create and edit options for category selection).
When using the left/riht arrow to switch of record
in a form view,
the rendering of the `char_domain` widget was done too
early, before all fields are ready / set, and if the
domain of the previous record could not be applied
on the current record, it leaded to a traceback.
This revision introduce a new deffered,
because I coudln't find one that was doing
what I was looking for:
- `is_initialized` is a defferred which is
resolved when the form view has finished
its rendering for the first time
- `reload_mutex` is a mutex used only when reloading or
switch to left/right record.
While the one needed in this case is a deferred
which is resolved when the record has finished
being rendered, wether when its when coming
from the list view to the form view (and it's
not the first time the form view is loaded,
e.g. list view -> form view -> list view -> form view, another record),
or on the switch of left/right record.
opw-671594
The installation of a new acquirer was a bit complicated : from settings,
check the acquirer, then apply (install the module) then list view of
acquirer and finally edit it in form view.
This needed to be simplified. The payment acquirers are pre-filled
in payment. From the kanban view an `Install` button installs and
redirects to the form field.
The field help on an ir.actions.act_window is a translatable html field.
When a value is set, it is processed by the `html_sanitize` method to make sure
only valid HTML content is present in the database.
In sanitization, xml line break tag `<br/>` is converted into html tag `<br>`.
Before revision 6c8e53a0, `xml_translate` method was using XML parser for html
fields. Line break was then exported as `<br/>`.
Since this revision, it is using a proper html parser and line break is exported
the same way as it is stored in the database, with a `<br>`.
When translating html value, the content is split per meaningful block and
recomposed based on the msgsrc value. Due to the change of parser, translations
exported before 6c8e53a0 contains `<br/>` tag inside the msgstr and could not
match any block in splitted content (which contains `<br>`).
Correct the .pot with valid tag.
Do not change the xml content of help message as it should still be XML inside
the data files.
opw 671477