-
Notifications
You must be signed in to change notification settings - Fork 72
[IMP]stock_ux:new user rights #852
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 19.0
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,4 @@ | ||
| id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink | ||
| access_stock_operation_wizard,access_stock_operation_wizard,model_stock_operation_wizard,base.group_user,1,1,1,1 | ||
| stock_ux.access_stock_picking_zpl_lines,access_stock_picking_zpl_lines,stock_ux.model_stock_picking_zpl_lines,base.group_user,1,1,1,1 | ||
| access_stock_quant_basic_user,Stock Quant - Usuario Básico,stock.model_stock_quant,stock_ux.group_stock_user_basic,0,0,0,0 | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -17,4 +17,24 @@ | |||||||||||||||||||||||
| <field name="name">Restrict editing Operation Type in Pickings</field> | ||||||||||||||||||||||||
| </record> | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| <!-- Usuario Básico de Inventario: igual que stock.group_stock_user pero sin ajustes de inventario --> | ||||||||||||||||||||||||
| <record model="res.groups" id="group_stock_user_basic"> | ||||||||||||||||||||||||
| <field name="name">Usuario Básico de Inventario</field> | ||||||||||||||||||||||||
| <field name="privilege_id" ref="stock.res_groups_privilege_inventory"/> | ||||||||||||||||||||||||
| <field name="comment">Este grupo tiene los mismos permisos que Usuario de Inventario pero sin poder realizar ajustes de inventario (stock.quant).</field> | ||||||||||||||||||||||||
| <field name="implied_ids" eval="[(4, ref('stock.group_stock_user'))]"/> | ||||||||||||||||||||||||
|
Comment on lines
+21
to
+25
|
||||||||||||||||||||||||
| <field name="implied_ids" eval="[(4, ref('stock.group_stock_user'))]"/> | |
| <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> |
Copilot
AI
Dec 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La ir.rule tiene una contradicción lógica: establece perm_read="True" (permitir lectura) pero con un dominio [(0, '=', 1)] que filtra todos los registros (siempre falso).
Además, esta regla es redundante con el acceso definido en ir.model.access.csv línea 4, donde ya se deniegan todos los permisos (0,0,0,0).
Problema adicional: Como se explicó en el comentario del implied_ids, esta regla no funcionará como se espera porque el grupo hereda de stock.group_stock_user, que ya tiene acceso completo por ACL.
Recomendación:
Si se corrige la herencia del grupo, entonces:
- Eliminar esta
ir.rulecompletamente (es redundante con el CSV) - O bien, si se prefiere usar
ir.rule, cambiarperm_readaFalsepara mayor claridad, aunque el dominio[(0,'=',1)]ya niega el acceso de facto.
| <!-- Regla de registro para quitar acceso a ajustes de inventario --> | |
| <record id="stock_quant_rule_basic_user" model="ir.rule"> | |
| <field name="name">Stock Quant: Usuario Básico de Inventario - Sin Acceso</field> | |
| <field name="model_id" ref="stock.model_stock_quant"/> | |
| <field name="groups" eval="[(4, ref('group_stock_user_basic'))]"/> | |
| <field name="domain_force">[(0, '=', 1)]</field> | |
| <field name="perm_read" eval="True"/> | |
| <field name="perm_write" eval="False"/> | |
| <field name="perm_create" eval="False"/> | |
| <field name="perm_unlink" eval="False"/> | |
| </record> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Esta línea de acceso (todos los permisos en 0) es redundante con la
ir.ruledefinida enstock_ux_security.xmllíneas 29-38.En Odoo, cuando se quiere denegar acceso completo a un modelo para un grupo específico, es suficiente con una de estas dos aproximaciones:
ir.rulecon dominio que filtra todos los registrosTener ambas es redundante y puede generar confusión en el mantenimiento.
Recomendación:
Mantener solo esta línea CSV (más simple y directa) y eliminar la
ir.rulede las líneas 29-38 del archivo XML.