Skip to content

Conversation

@theRealThagomizer
Copy link
Contributor

@theRealThagomizer theRealThagomizer commented Dec 18, 2025

Hiya, @larm-odoo! Here are the user portal pages I've been mentioning in the past couple stand-ups. This is a mixture of all-new material and extant material that's been revised and rearranged in a new format. It's meant to capture the broad strokes of the user portal and its default features without going to deep into specific app integrations at this time. Thanks for the review!

@auva-odoo, I saw a few comments on tasks where you mentioned that there should be a dedicated customer/user portal page, so I thought you'd want to take a look at these. Please let me know if you have any feedback or if there's anything I'm missing/not representing correctly. Thanks!

This 19.0 PR can be FWP up to master.

@robodoo
Copy link
Collaborator

robodoo commented Dec 18, 2025

Pull request status dashboard

@C3POdoo C3POdoo requested review from a team December 18, 2025 00:23
@Felicious
Copy link
Contributor

Hi @theRealThagomizer, this PR looks to be a real lift! The portal.rst page has been replaced by user_portal.rst, correct? could you create a redirect link for that?

@theRealThagomizer
Copy link
Contributor Author

Hi @theRealThagomizer, this PR looks to be a real lift! The portal.rst page has been replaced by user_portal.rst, correct? could you create a redirect link for that?

Done! The next commit has an updated redirect file.

Copy link
Contributor

@larm-odoo larm-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My goodness- what a BEAST of a doc as usual @theRealThagomizer! I had a lot of edits and suggestions - some are optional/stylistic, others I think would help with structure and detail. Take what you will, ignore the rest, and tag me when it's ready for another look =) Also, I apologize- I tend to make comments before reading thorugh a whole odc, so you'll see my htought process as I went along =D

Comment on lines +7 to +9
The user portal is a module available by default in Odoo. Users, both customers and vendors, can be
granted access to the portal by businesses in order to view certain documents or information within
an Odoo database. For example, some common use cases for providing portal access include allowing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"granted access" could be a doc link to the granting access doc (just a suggestion!)

Comment on lines +23 to +27
.. toctree::
:titlesonly:

user_portals/portal_access
user_portals/updating_portal_info
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see the links here, so I recommend eithe rhaving the docs in a ""seealso: admonition, or have these hidden, since they just appear below (we typically have them in a seealso, or this is a hidden menu, but not just plain like this)
image

Comment on lines +11 to +12
From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact to be
granted access is not yet in the database, create an entry for them by clicking on the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact to be
granted access is not yet in the database, create an entry for them by clicking on the
From the main Odoo dashboard, open the :guilabel:`Contacts` application. If the contact to be
granted access is not yet in the database, create an entry for them by clicking on the

Just a preference- disregard if you like!


From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact to be
granted access is not yet in the database, create an entry for them by clicking on the
:guilabel:`Create` button, entering their details, and then clicking :guilabel:`Save`. Otherwise,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:guilabel:`Create` button, entering their details, and then clicking :guilabel:`Save`. Otherwise,
:guilabel:`New` button, and entering their details. Otherwise,

There's no more Save button, and the form auto-saves so we typically skip 'clicking save'unless you need to, like on the Settings page.

Comment on lines +14 to +16
choose an existing contact, and then click on the :guilabel:`Action` drop-down menu located at the
top-center of the interface.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
choose an existing contact, and then click on the :guilabel:`Action` drop-down menu located at the
top-center of the interface.
choose an existing contact, and then click the :icon:`fa-gear` :guilabel:`(Actions)` drop-down menu located at the
top-center of the interface, and select :guilabel:`Grant portal access`.

Since we see the gear but the text is not visible, the text should be in parenthesis.

Also, I felt the instructiosn shouldn't be broken up between accessing th emenu and making the selection, sinc ht eimage shows the seleciotn you shoudl make.

Comment on lines +109 to +115
.. note::
Changing the :guilabel:`Email Address` (or login) only changes the *username* on the user's
portal login.

In order to change the contact email, this change needs to take place on the contact template in
the **Contacts** app. Alternatively, the user can change their email directly from the portal,
but their login **cannot** be changed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little ocnfused- do they not use an email as the "username"? Am i correct to infer that the email on this page, is what they type in the portal login? I understand that the Contact email is separate form the portal user- but would someone just write in a name/handle in the email field? Like "awesomeportaluser" or does it need to be an actual email? I feel like 99.9% of peopple would use an email.

Users` as a filter. After making this selection, search for and open the portal user that needs to
be edited.

Changing emails
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Changing emails
Update email address

the **Contacts** app. Alternatively, the user can change their email directly from the portal,
but their login **cannot** be changed.

Changing passwords
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Changing passwords
Update passwords
~~~~~~~~~~~~~~~

I think this should be nested in the 'admin changes' like the emails, yes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like it can be done from the 'Manage Users' form the Settings page:
image

If there are two ways to update the password as an admin, I'd mention both - but this is why I htought it shoudl be nested.

Comment on lines +123 to +128
- Change user passwords. Clicking the :guilabel:`Change password` button to bring up a form that
shows what logins the user has access to and enter a new password. Click :guilabel:`Change
Password` to save the password or click :guilabel:`Cancel` to return to the previous screen.
- Send users a password reset invitation. Clicking the :guilabel:`Send Password Reset` button brings
up a pop-up notification that a password reset link has been sent by email.
- Send users a two-factor authentication invite. Clicking the :guilabel:`Invite to use 2FA` button
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Change user passwords. Clicking the :guilabel:`Change password` button to bring up a form that
shows what logins the user has access to and enter a new password. Click :guilabel:`Change
Password` to save the password or click :guilabel:`Cancel` to return to the previous screen.
- Send users a password reset invitation. Clicking the :guilabel:`Send Password Reset` button brings
up a pop-up notification that a password reset link has been sent by email.
- Send users a two-factor authentication invite. Clicking the :guilabel:`Invite to use 2FA` button
- :guilabel:`Change password`. Click the :guilabel:`Change password` button to bring up a form that
shows what logins the user has access to and enter a new password. Click :guilabel:`Change
Password` to save the password or click :guilabel:`Cancel` to return to the previous screen.
- Send users a password reset invitation. Clicking the :guilabel:`Send Password Reset` button brings
up a pop-up notification that a password reset link has been sent by email.
- Send users a two-factor authentication invite. Clicking the :guilabel:`Invite to use 2FA` button

All the itmes written on the UI can be in a GUI. Exmaple: Change Password, Two-Factor Authentication.

Comment on lines +131 to +133
.. seealso::
:doc:`Access rights </applications/general/users/access_rights>`
:doc:`Portal access documentation <portal_access>`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.. seealso::
:doc:`Access rights </applications/general/users/access_rights>`
:doc:`Portal access documentation <portal_access>`
.. seealso::
- :doc:`Access rights </applications/general/users/access_rights>`
- :doc:`Portal access documentation <portal_access>`

These appear net to each other, so if it's bulleted they won't be squished, or you can add a space between the lines.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants