Skip to content
Open
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
306 changes: 306 additions & 0 deletions project_update_portal/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,306 @@
============================
Project Update Portal Access
============================

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

.. |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/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
:target: https://github.com/OCA/project/tree/16.0/project_update_portal
:alt: OCA/project
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/project-16-0/project-16-0-project_update_portal
: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/project&target_branch=16.0
:alt: Try me on Runboat

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

This module extends project updates functionality by allowing portal
access for project and update followers.

Main Features
-------------

- **Portal Access for Followers**: Allows project followers and update
followers to access project updates through the portal
- **Automatic Access Control**: Automatically grants access based on
follower relationships
- **Update List View**: Portal users can view all updates for projects
they follow
- **Update Detail View**: Portal users can view detailed information
about specific updates
- **Breadcrumb Navigation**: Integrated breadcrumb navigation for easy
access to updates

Benefits
--------

- Keep stakeholders informed about project progress without requiring
full system access
- Share project updates with external partners and clients through the
portal
- Maintain transparency by allowing followers to track project status
- Easy access to project updates through a dedicated portal interface

Dependencies
------------

This module requires:

- ``project``: Odoo's project management module
- ``portal``: Odoo's portal module for customer access

**Table of contents**

.. contents::
:local:

Configuration
=============

This module does not require additional configuration after
installation. It works automatically once installed.

Installation
------------

1. Go to the **Apps** menu
2. Remove the "Apps" filter if necessary
3. Search for "Project Update Portal Access"
4. Click **Install**

Prerequisites
-------------

Make sure the following modules are installed:

- **Project** (base project module)
- **Portal** (Odoo's portal module for customer access)

The system will automatically install the necessary dependencies during
installation.

Permissions
-----------

The module uses portal access rules to control visibility:

- Portal users can view updates if they are followers of the project
- Portal users can view updates if they are followers of the specific
update
- Access is read-only for portal users (no create, write, or delete
permissions)

Access Configuration
--------------------

**Adding Followers to Projects**

1. Go to the **Projects** module
2. Open a project
3. In the project form, add followers in the **Followers** field
4. Followers will automatically have access to project updates via
portal

**Adding Followers to Updates**

1. When creating or editing a project update
2. Add followers in the **Followers** field of the update
3. Those followers will have access to that specific update via portal

No additional permission configuration is required.

Usage
=====

This guide explains how to use the Project Update Portal module to
access project updates through the portal interface.

Access Project Updates via Portal
---------------------------------

**Method 1: From Project Page**

1. Log in to the portal
2. Go to **Projects** menu
3. Select a project you are following
4. Click the **View Updates** button on the project page
5. You will see a list of all updates for that project
6. Click on any update to view its details

**Method 2: Direct URL Access**

1. If you have the direct link to an update, you can access it directly
2. The link format is: ``/my/projects/<project_id>/update/<update_id>``
3. You can also access the updates list:
``/my/projects/<project_id>/updates``

Access Requirements
-------------------

**Project Followers**

To access project updates, you must be:

- A follower of the project (``project.message_partner_ids``)
- OR a follower of the specific update (``message_partner_ids``)

**Automatic Access**

The system automatically grants access when:

- You are added as a follower to a project
- You are added as a follower to a specific update
- You receive a notification about a project update

Viewing Updates
---------------

**Update List View**

1. Navigate to a project you follow
2. Click **View Updates** button
3. You will see a list of all updates with:

- Update title
- Status badge (On Track, At Risk, Off Track, On Hold)
- Date and author
- Progress bar

4. Click on any update to view full details

**Update Detail View**

When viewing a specific update, you can see:

- Update title and status
- Date and author information
- Progress percentage with visual progress bar
- Full description with HTML formatting
- Navigation breadcrumbs to easily return to project or updates list

Update Status Indicators
------------------------

The module uses color-coded badges to indicate update status:

- **Green (On Track)**: Project is progressing as expected
- **Orange (At Risk)**: Project may face delays or issues
- **Red (Off Track)**: Project is behind schedule or facing significant
issues
- **Blue (On Hold)**: Project is temporarily paused

Navigation
----------

**Breadcrumb Navigation**

The breadcrumb navigation shows your current location:

- **Projects** → **Project Name** → **Updates** → **Update Name**

You can click on any breadcrumb item to navigate back to that section.

**Quick Access**

- Use the **View Updates** button on the project page for quick access
- The updates list is paginated if there are many updates
- Use the pagination controls to navigate through multiple pages

Usage Examples
--------------

**Example 1: Client Project Updates**

1. Add your client as a follower to the project
2. Create project updates regularly
3. Client can access updates through the portal
4. Client stays informed about project progress without needing system
access

**Example 2: Partner Collaboration**

1. Add external partners as followers to specific updates
2. Partners receive notifications about updates
3. Partners can access update details through portal links
4. Maintain transparency in collaborative projects

**Example 3: Stakeholder Reporting**

1. Create regular project updates with progress information
2. Add stakeholders as project followers
3. Stakeholders can review updates at their convenience
4. Reduce need for status meetings and email updates

Tips
----

- Use project updates to keep all stakeholders informed about progress
- The portal interface provides a clean, focused view of updates
- Breadcrumb navigation makes it easy to navigate between projects and
updates
- Status badges provide quick visual indicators of project health
- Progress bars help visualize project completion status

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/project/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/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**>`_.

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

Credits
=======

Authors
-------

* Escodoo

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

- `ESCODOO <https://escodoo.com.br>`__:

- Marcel Savegnago <[email protected]>

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-marcelsavegnago| image:: https://github.com/marcelsavegnago.png?size=40px
:target: https://github.com/marcelsavegnago
:alt: marcelsavegnago

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

|maintainer-marcelsavegnago|

This module is part of the `OCA/project <https://github.com/OCA/project/tree/16.0/project_update_portal>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions project_update_portal/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import controllers
21 changes: 21 additions & 0 deletions project_update_portal/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2025 Escodoo <https://escodoo.com.br>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Project Update Portal Access",
"version": "16.0.1.0.0",
"summary": "Allows portal access for project and update followers",
"author": "Escodoo, Odoo Community Association (OCA)",
"maintainers": ["marcelsavegnago"],
"license": "AGPL-3",
"category": "Project",
"website": "https://github.com/OCA/project",
"depends": ["project", "portal"],
"data": [
"security/ir.model.access.xml",
"security/portal_project_update_rules.xml",
"views/portal_project_update_inherit.xml",
"views/portal_project_update_templates.xml",
],
"installable": True,
"application": False,
}
1 change: 1 addition & 0 deletions project_update_portal/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import portal
Loading