Skip to content

Commit dafcab2

Browse files
authored
Merge pull request #1303 from OCA/16.0
Syncing from upstream OCA/project (16.0)
2 parents 6b6d19a + aef77c9 commit dafcab2

25 files changed

+1972
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ addon | version | maintainers | summary
7878
[project_timeline_hr_timesheet](project_timeline_hr_timesheet/) | 16.0.1.0.0 | | Shows the progress of tasks on the timeline view.
7979
[project_timesheet_time_control](project_timesheet_time_control/) | 16.0.1.0.4 | <a href='https://github.com/ernestotejeda'><img src='https://github.com/ernestotejeda.png' width='32' height='32' style='border-radius:50%;' alt='ernestotejeda'/></a> | Project timesheet time control
8080
[project_type](project_type/) | 16.0.1.0.1 | | Project Types
81+
[project_update_portal](project_update_portal/) | 16.0.1.0.0 | <a href='https://github.com/marcelsavegnago'><img src='https://github.com/marcelsavegnago.png' width='32' height='32' style='border-radius:50%;' alt='marcelsavegnago'/></a> | Allows portal access for project and update followers
8182
[project_update_visible](project_update_visible/) | 16.0.1.0.0 | | Visible project_id in project.update view form.
8283
[project_version](project_version/) | 16.0.1.0.0 | <a href='https://github.com/lbarry-apsl'><img src='https://github.com/lbarry-apsl.png' width='32' height='32' style='border-radius:50%;' alt='lbarry-apsl'/></a> | Project Version
8384
[sale_project_copy_tasks](sale_project_copy_tasks/) | 16.0.1.0.4 | <a href='https://github.com/shide'><img src='https://github.com/shide.png' width='32' height='32' style='border-radius:50%;' alt='shide'/></a> <a href='https://github.com/EmilioPascual'><img src='https://github.com/EmilioPascual.png' width='32' height='32' style='border-radius:50%;' alt='EmilioPascual'/></a> | Copy tasks into sale order's project

project_update_portal/README.rst

Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
.. image:: https://odoo-community.org/readme-banner-image
2+
:target: https://odoo-community.org/get-involved?utm_source=readme
3+
:alt: Odoo Community Association
4+
5+
============================
6+
Project Update Portal Access
7+
============================
8+
9+
..
10+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11+
!! This file is generated by oca-gen-addon-readme !!
12+
!! changes will be overwritten. !!
13+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14+
!! source digest: sha256:1f8ef3aec8724a4f4d311927adab6a6c70a2d0d57a42b93aa40d416e1f07d54a
15+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16+
17+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
18+
:target: https://odoo-community.org/page/development-status
19+
:alt: Beta
20+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
21+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
22+
:alt: License: AGPL-3
23+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
24+
:target: https://github.com/OCA/project/tree/16.0/project_update_portal
25+
:alt: OCA/project
26+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
27+
:target: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_update_portal
28+
:alt: Translate me on Weblate
29+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
30+
:target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=16.0
31+
:alt: Try me on Runboat
32+
33+
|badge1| |badge2| |badge3| |badge4| |badge5|
34+
35+
This module extends project updates functionality by allowing portal
36+
access for project and update followers.
37+
38+
Main Features
39+
-------------
40+
41+
- **Portal Access for Followers**: Allows project followers and update
42+
followers to access project updates through the portal
43+
- **Automatic Access Control**: Automatically grants access based on
44+
follower relationships
45+
- **Update List View**: Portal users can view all updates for projects
46+
they follow
47+
- **Update Detail View**: Portal users can view detailed information
48+
about specific updates
49+
- **Breadcrumb Navigation**: Integrated breadcrumb navigation for easy
50+
access to updates
51+
52+
Benefits
53+
--------
54+
55+
- Keep stakeholders informed about project progress without requiring
56+
full system access
57+
- Share project updates with external partners and clients through the
58+
portal
59+
- Maintain transparency by allowing followers to track project status
60+
- Easy access to project updates through a dedicated portal interface
61+
62+
Dependencies
63+
------------
64+
65+
This module requires:
66+
67+
- ``project``: Odoo's project management module
68+
- ``portal``: Odoo's portal module for customer access
69+
70+
**Table of contents**
71+
72+
.. contents::
73+
:local:
74+
75+
Configuration
76+
=============
77+
78+
This module does not require additional configuration after
79+
installation. It works automatically once installed.
80+
81+
Installation
82+
------------
83+
84+
1. Go to the **Apps** menu
85+
2. Remove the "Apps" filter if necessary
86+
3. Search for "Project Update Portal Access"
87+
4. Click **Install**
88+
89+
Prerequisites
90+
-------------
91+
92+
Make sure the following modules are installed:
93+
94+
- **Project** (base project module)
95+
- **Portal** (Odoo's portal module for customer access)
96+
97+
The system will automatically install the necessary dependencies during
98+
installation.
99+
100+
Permissions
101+
-----------
102+
103+
The module uses portal access rules to control visibility:
104+
105+
- Portal users can view updates if they are followers of the project
106+
- Portal users can view updates if they are followers of the specific
107+
update
108+
- Access is read-only for portal users (no create, write, or delete
109+
permissions)
110+
111+
Access Configuration
112+
--------------------
113+
114+
**Adding Followers to Projects**
115+
116+
1. Go to the **Projects** module
117+
2. Open a project
118+
3. In the project form, add followers in the **Followers** field
119+
4. Followers will automatically have access to project updates via
120+
portal
121+
122+
**Adding Followers to Updates**
123+
124+
1. When creating or editing a project update
125+
2. Add followers in the **Followers** field of the update
126+
3. Those followers will have access to that specific update via portal
127+
128+
No additional permission configuration is required.
129+
130+
Usage
131+
=====
132+
133+
This guide explains how to use the Project Update Portal module to
134+
access project updates through the portal interface.
135+
136+
Access Project Updates via Portal
137+
---------------------------------
138+
139+
**Method 1: From Project Page**
140+
141+
1. Log in to the portal
142+
2. Go to **Projects** menu
143+
3. Select a project you are following
144+
4. Click the **View Updates** button on the project page
145+
5. You will see a list of all updates for that project
146+
6. Click on any update to view its details
147+
148+
**Method 2: Direct URL Access**
149+
150+
1. If you have the direct link to an update, you can access it directly
151+
2. The link format is: ``/my/projects/<project_id>/update/<update_id>``
152+
3. You can also access the updates list:
153+
``/my/projects/<project_id>/updates``
154+
155+
Access Requirements
156+
-------------------
157+
158+
**Project Followers**
159+
160+
To access project updates, you must be:
161+
162+
- A follower of the project (``project.message_partner_ids``)
163+
- OR a follower of the specific update (``message_partner_ids``)
164+
165+
**Automatic Access**
166+
167+
The system automatically grants access when:
168+
169+
- You are added as a follower to a project
170+
- You are added as a follower to a specific update
171+
- You receive a notification about a project update
172+
173+
Viewing Updates
174+
---------------
175+
176+
**Update List View**
177+
178+
1. Navigate to a project you follow
179+
2. Click **View Updates** button
180+
3. You will see a list of all updates with:
181+
182+
- Update title
183+
- Status badge (On Track, At Risk, Off Track, On Hold)
184+
- Date and author
185+
- Progress bar
186+
187+
4. Click on any update to view full details
188+
189+
**Update Detail View**
190+
191+
When viewing a specific update, you can see:
192+
193+
- Update title and status
194+
- Date and author information
195+
- Progress percentage with visual progress bar
196+
- Full description with HTML formatting
197+
- Navigation breadcrumbs to easily return to project or updates list
198+
199+
Update Status Indicators
200+
------------------------
201+
202+
The module uses color-coded badges to indicate update status:
203+
204+
- **Green (On Track)**: Project is progressing as expected
205+
- **Orange (At Risk)**: Project may face delays or issues
206+
- **Red (Off Track)**: Project is behind schedule or facing significant
207+
issues
208+
- **Blue (On Hold)**: Project is temporarily paused
209+
210+
Navigation
211+
----------
212+
213+
**Breadcrumb Navigation**
214+
215+
The breadcrumb navigation shows your current location:
216+
217+
- **Projects** → **Project Name** → **Updates** → **Update Name**
218+
219+
You can click on any breadcrumb item to navigate back to that section.
220+
221+
**Quick Access**
222+
223+
- Use the **View Updates** button on the project page for quick access
224+
- The updates list is paginated if there are many updates
225+
- Use the pagination controls to navigate through multiple pages
226+
227+
Usage Examples
228+
--------------
229+
230+
**Example 1: Client Project Updates**
231+
232+
1. Add your client as a follower to the project
233+
2. Create project updates regularly
234+
3. Client can access updates through the portal
235+
4. Client stays informed about project progress without needing system
236+
access
237+
238+
**Example 2: Partner Collaboration**
239+
240+
1. Add external partners as followers to specific updates
241+
2. Partners receive notifications about updates
242+
3. Partners can access update details through portal links
243+
4. Maintain transparency in collaborative projects
244+
245+
**Example 3: Stakeholder Reporting**
246+
247+
1. Create regular project updates with progress information
248+
2. Add stakeholders as project followers
249+
3. Stakeholders can review updates at their convenience
250+
4. Reduce need for status meetings and email updates
251+
252+
Tips
253+
----
254+
255+
- Use project updates to keep all stakeholders informed about progress
256+
- The portal interface provides a clean, focused view of updates
257+
- Breadcrumb navigation makes it easy to navigate between projects and
258+
updates
259+
- Status badges provide quick visual indicators of project health
260+
- Progress bars help visualize project completion status
261+
262+
Bug Tracker
263+
===========
264+
265+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/project/issues>`_.
266+
In case of trouble, please check there if your issue has already been reported.
267+
If you spotted it first, help us to smash it by providing a detailed and welcomed
268+
`feedback <https://github.com/OCA/project/issues/new?body=module:%20project_update_portal%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
269+
270+
Do not contact contributors directly about support or help with technical issues.
271+
272+
Credits
273+
=======
274+
275+
Authors
276+
-------
277+
278+
* Escodoo
279+
280+
Contributors
281+
------------
282+
283+
- `ESCODOO <https://escodoo.com.br>`__:
284+
285+
- Marcel Savegnago <marcel.savegnago@escodoo.com.br>
286+
287+
Maintainers
288+
-----------
289+
290+
This module is maintained by the OCA.
291+
292+
.. image:: https://odoo-community.org/logo.png
293+
:alt: Odoo Community Association
294+
:target: https://odoo-community.org
295+
296+
OCA, or the Odoo Community Association, is a nonprofit organization whose
297+
mission is to support the collaborative development of Odoo features and
298+
promote its widespread use.
299+
300+
.. |maintainer-marcelsavegnago| image:: https://github.com/marcelsavegnago.png?size=40px
301+
:target: https://github.com/marcelsavegnago
302+
:alt: marcelsavegnago
303+
304+
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
305+
306+
|maintainer-marcelsavegnago|
307+
308+
This module is part of the `OCA/project <https://github.com/OCA/project/tree/16.0/project_update_portal>`_ project on GitHub.
309+
310+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

project_update_portal/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import models
2+
from . import controllers
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright 2025 Escodoo <https://escodoo.com.br>
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
3+
{
4+
"name": "Project Update Portal Access",
5+
"version": "16.0.1.0.0",
6+
"summary": "Allows portal access for project and update followers",
7+
"author": "Escodoo, Odoo Community Association (OCA)",
8+
"maintainers": ["marcelsavegnago"],
9+
"license": "AGPL-3",
10+
"category": "Project",
11+
"website": "https://github.com/OCA/project",
12+
"depends": ["project", "portal"],
13+
"data": [
14+
"security/ir.model.access.xml",
15+
"security/portal_project_update_rules.xml",
16+
"views/portal_project_update_inherit.xml",
17+
"views/portal_project_update_templates.xml",
18+
],
19+
"installable": True,
20+
"application": False,
21+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import portal

0 commit comments

Comments
 (0)