Commit Graph
10 Commits
Author SHA1 Message Date
Denis Ledoux 905009689b [FIX] base, base_install_request: <div> outside of <form>
- base.view_base_module_uninstall
- base.base_module_install_review_view_form
- base.base_module_install_review_view_form

were the only 3 views in which a node was set outside the
<form>, <tree>, <kanban>, ... node.

```sql
master-all=# SELECT name FROM ir_ui_view WHERE type != 'qweb' AND inherit_id IS NULL AND arch_db ->> 'en_US' not ilike '<' || type || '%';
                 name
---------------------------------------
 Uninstall module
 base.module.install.request.view.form
 base.module.install.review.view.form
(3 rows)
```

These were introduced by odoo/odoo#99438.

The goal was to set these warnings on top of the form view,
with no margins for a better UI.

While this serves an understandable purpose,
not having <form> as the root node causes issues:
- First, as seen in the above revision,
  it requires to have to specify the view type in the XML data file,
  because the view type is guessed from the root node of the view
  ```diff
  <record id="view_base_module_uninstall" model="ir.ui.view">
      <field name="name">Uninstall module</field>
      <field name="model">base.module.uninstall</field>
  +   <field name="type">form</field>
  ```
- Second, in the view post-processing, some implementations
  are based on the root node of the view,
  and not having `<form>` as the root node for instance makes
  the view not editable, or not pass the `readonly`, `required`
  attributes from the Python model.
  https://github.com/odoo/odoo/blob/7b9bd9d37731fae724dc5d91da656dab70aa9ad4/odoo/addons/base/models/ir_ui_view.py#L1146-L1147
  https://github.com/odoo/odoo/blob/7b9bd9d37731fae724dc5d91da656dab70aa9ad4/odoo/addons/base/models/ir_ui_view.py#L1375-L1379
  We could use the view type from the model itself,
  instead of the root node, to determine the type of the view,
  but then you wouldn't be able to use attributes set on the view node,
  such as `editable="1"`, to determine if the root/view node is editable
  or not.
  https://github.com/odoo/odoo/blob/7b9bd9d37731fae724dc5d91da656dab70aa9ad4/odoo/addons/base/models/ir_ui_view.py#L1352

Because the `<form>` node wasn't the root node in the uninstall form view,
the modifiers attributes (`readonly`, `required`) were not passed
from the field python model to the view,
and the Studio fields
`custom_views`, `custom_reports`, `custom_models`, `custom_fields`
were editable in the view, while they shouldn't as those
are readonly computed fields.

A constraint will be added in master, to prevent developers
to create views with as root node something else than the view type.
The constraint is not added in stable 16.0 to avoid to suddenly
raise a constraint exception for modules from the community
and customers in production databases.

closes #107947

closes odoo/odoo#108319

X-original-commit: c9dd160242c55dc824d4300635528dc82309f599
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-12-20 10:23:54 +01:00
niyasraphy 5078dba604 [FIX] base_install_request: show string only when app present
closes odoo/odoo#106991

X-original-commit: 9454ec0cb42492e440bbe9691eb2bd1d61e6f838
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-12-01 17:32:36 +01:00
niyasraphy d095bfba33 [FIX] base_install_request: prevent module operations on uninstall
closes odoo/odoo#105818

X-original-commit: 8089e536f271f95e2efcbfa1dfea0e85bdcec7dd
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-11-16 10:28:50 +01:00
Joseph Caburnay 57154abf8b [FIX] base_install_request: squished fields in request wizard view
**Issue**

Login as an ordinary user (demo) and open Apps to make a request
access to a module. A wizard will appear asking for the admin users
to request to and the reason for request. Input elements are not
properly shown.

This is because inside an inner group, as we remove the label (cf.
nolabel=1), the input field is put in the first column which is supposed
to be the location of the (non-existing) label.

**Solution**

Make the field take both columns (label + field) as it has no label.

closes odoo/odoo#105314

X-original-commit: 5ab8b9fb6273ebed3f89e8f7a20b8238ea1963ab
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2022-11-08 14:40:12 +01:00
Martin Trigaux e856beb782 [I18N] *: export 16.0 source terms
closes odoo/odoo#101659

Related: odoo/enterprise#32040
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2022-09-30 09:31:52 +02:00
Yannick Tivisse e351dbbc7a [FIX] base_install_request: Fix labels
X-original-commit: e79ab13f424edf6ec6c00b4c329df6a945724d5b
Part-of: odoo/odoo#101086
2022-09-26 12:39:46 +02:00
Christophe Monniez c14c618ec9 [FIX] packaging: install productivity apps only in installers
closes odoo/odoo#101043

X-original-commit: 4fadf6b99a7b48a58a612e3d0be3d14a99a60ef5
Signed-off-by: Olivier Dony <odo@odoo.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2022-09-26 07:42:57 +02:00
Lucas Lefèvre 37f16fb9ac [IMP] board: move board app to Dashboard app
Since cb5cca7, there are two "Dashboard" apps on the home screen.
The new one becomes the main Dashboard app.

The module `board` is not deprecated but it won't be advertised
as a full app anymore. It will continue to work on databases where it is
installed under a new menu item "My Dashboard" in the Dashboard app.

closes odoo/odoo#100260

Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2022-09-20 20:19:49 +02:00
Martin Trigaux 1a8772769e [I18N] *: export 16.0 source terms
closes odoo/odoo#100573

Related: odoo/enterprise#31507
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2022-09-20 13:48:49 +02:00
Yannick Tivisse c70984f403 [ADD] base_install_request: Allow internal users requesting an app install
closes odoo/odoo#99438

Taskid: 2969678
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2022-09-16 19:16:54 +02:00