Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 121 additions & 0 deletions stock_readonly/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==============
Stock Readonly
==============

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0000000000000000000000000000000000000000000000000000000000000000
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/stock-logistics-workflow/tree/19.0/stock_readonly
:alt: OCA/stock-logistics-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/stock-logistics-workflow-19-0/stock-logistics-workflow-19-0-stock_readonly
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-workflow&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module provides a read-only group selectable in the *Inventory*
privilege of the user form, for the stock documents introduced by the
``stock`` standard module.

Users holding the group can browse the stock documents (pickings, moves,
lots and their details) from the Inventory menus, without any create,
write or unlink right.

**Table of contents**

.. contents::
:local:

Usage
=====

To grant read-only access to the stock documents, select *Readonly*
under the *Inventory* privilege in the user form (Settings / Users).

Holding the *Readonly* option grants read-only access to the stock
documents on the user, with no create, write or unlink right.

Users holding the group get:

- read access to transfers, moves, lots, scraps, reordering rules,
package types and the traceability report;
- the *Operations* menus of the Inventory application: *Transfers*
(*Receipts* and *Deliveries*) and *Adjustments* (*Physical Inventory*
and *Scrap*).

Notes:

- The *Reporting* and *Configuration* menus remain reserved for
Inventory administrators, and feature submenus still depend on their
dedicated groups (e.g. *Internal* transfers require the *Manage
Multiple Stock Locations* option, and *Lots/Serial Numbers* the
corresponding option).
- Action buttons on the documents (e.g. validating a picking) are still
displayed but raise an access error for users holding only this group.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-workflow/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/stock-logistics-workflow/issues/new?body=module:%20stock_readonly%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Akretion

Contributors
------------

- Sébastien Alix <sebastien.alix@akretion.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-sebalix| image:: https://github.com/sebalix.png?size=40px
:target: https://github.com/sebalix
:alt: sebalix

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-sebalix|

This module is part of the `OCA/stock-logistics-workflow <https://github.com/OCA/stock-logistics-workflow/tree/19.0/stock_readonly>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Empty file added stock_readonly/__init__.py
Empty file.
23 changes: 23 additions & 0 deletions stock_readonly/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2026 Akretion (https://www.akretion.com).
# @author Sébastien Alix <sebastien.alix@akretion.com>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl)

{
"name": "Stock Readonly",
"summary": "Read-only access to Inventory documents",
"version": "19.0.1.0.0",
"category": "Supply Chain/Inventory",
"website": "https://github.com/OCA/stock-logistics-workflow",
"author": "Akretion, Odoo Community Association (OCA)",
"maintainers": ["sebalix"],
"license": "LGPL-3",
"depends": [
"stock",
],
"data": [
"security/res_groups.xml",
"security/ir.model.access.csv",
"views/stock_menus.xml",
],
"installable": True,
}
3 changes: 3 additions & 0 deletions stock_readonly/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
1 change: 1 addition & 0 deletions stock_readonly/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Sébastien Alix \<<sebastien.alix@akretion.com>\>
7 changes: 7 additions & 0 deletions stock_readonly/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This module provides a read-only group selectable in the *Inventory*
privilege of the user form, for the stock documents introduced by the
`stock` standard module.

Users holding the group can browse the stock documents (pickings, moves,
lots and their details) from the Inventory menus, without any create,
write or unlink right.
23 changes: 23 additions & 0 deletions stock_readonly/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
To grant read-only access to the stock documents, select *Readonly*
under the *Inventory* privilege in the user form (Settings / Users).

Holding the *Readonly* option grants read-only access to the stock
documents on the user, with no create, write or unlink right.

Users holding the group get:

* read access to transfers, moves, lots, scraps, reordering rules,
package types and the traceability report;
* the *Operations* menus of the Inventory application: *Transfers*
(*Receipts* and *Deliveries*) and *Adjustments* (*Physical Inventory*
and *Scrap*).

Notes:

* The *Reporting* and *Configuration* menus remain reserved for
Inventory administrators, and feature submenus still depend on their
dedicated groups (e.g. *Internal* transfers require the *Manage
Multiple Stock Locations* option, and *Lots/Serial Numbers* the
corresponding option).
* Action buttons on the documents (e.g. validating a picking) are still
displayed but raise an access error for users holding only this group.
10 changes: 10 additions & 0 deletions stock_readonly/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_stock_picking_readonly,stock.picking readonly,stock.model_stock_picking,group_stock_readonly,1,0,0,0
access_stock_move_readonly,stock.move readonly,stock.model_stock_move,group_stock_readonly,1,0,0,0
access_stock_lot_readonly,stock.lot readonly,stock.model_stock_lot,group_stock_readonly,1,0,0,0
access_stock_scrap_readonly,stock.scrap readonly,stock.model_stock_scrap,group_stock_readonly,1,0,0,0
access_stock_scrap_reason_tag_readonly,stock.scrap.reason.tag readonly,stock.model_stock_scrap_reason_tag,group_stock_readonly,1,0,0,0
access_stock_warehouse_orderpoint_readonly,stock.warehouse.orderpoint readonly,stock.model_stock_warehouse_orderpoint,group_stock_readonly,1,0,0,0
access_stock_package_type_readonly,stock.package.type readonly,stock.model_stock_package_type,group_stock_readonly,1,0,0,0
access_stock_package_history_readonly,stock.package.history readonly,stock.model_stock_package_history,group_stock_readonly,1,0,0,0
access_stock_traceability_report_readonly,stock.traceability.report readonly,stock.model_stock_traceability_report,group_stock_readonly,1,1,1,0
15 changes: 15 additions & 0 deletions stock_readonly/security/res_groups.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="group_stock_readonly" model="res.groups">
Comment thread
sebalix marked this conversation as resolved.
Resolved
<field name="name">Readonly</field>
<field name="sequence">5</field>
<field name="privilege_id" ref="stock.res_groups_privilege_inventory" />
<field name="implied_ids" eval="[Command.link(ref('base.group_user'))]" />
<field
name="implied_by_ids"
eval="[Command.link(ref('stock.group_stock_user'))]"
/>
<field name="comment">the user has a read-only access to stock
documents (pickings, moves, lots and their details).</field>
</record>
</odoo>
Loading
Loading