Compare commits

...

8 Commits

Author SHA1 Message Date
Antoine Vandevenne (anv)
0b5b3a7e54 [IMP] supported_versions: add end of support dates for SaaS versions
X-original-commit: ebce333c73
2023-01-19 15:13:53 +01:00
Jonathan Castillo (jcs)
06f105215c [ADD] accounting: configuration of silverfin integration
task-2918697

closes odoo/documentation#3358

X-original-commit: 7f6535dcc8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-18 20:04:28 +01:00
fdardenne
906ec0988d [FIX] developer: remove merge text in chapter 6
closes odoo/documentation#3351

X-original-commit: a70665ef34
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 16:40:43 +01:00
Sam Lieber (sali)
9cc91f99e9 [FW][ADD] maintain: connect office365 with azure oauth
closes odoo/documentation#3350

X-original-commit: 5b9d1cba2a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-18 16:40:40 +01:00
Wesley Kao (weka)
8fb3e7dc52 [IMP] MRP: edited semi-finished products user doc
closes odoo/documentation#3339

X-original-commit: 79e08557d3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-17 10:43:18 +01:00
Ray Carnes
1cf2d7d30c [IMP] sales: update portal.rst
Removed old and probably not needed image of the dashboard showing the Contacts App

closes odoo/documentation#3344

X-original-commit: 4d3a10e8cd
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-01-16 20:49:08 +01:00
Xavier BOL (xbo)
7e1eabfddb [IMP] backend: add groups_draggable option in kanban view
Related PR: odoo/odoo#97447

task-2941335

closes odoo/documentation#3335

X-original-commit: f51633fdd5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-16 19:32:47 +01:00
Antoine Vandevenne (anv)
50908eb7f3 [REL] freeze saas-16.1 2023-01-16 17:00:44 +01:00
35 changed files with 376 additions and 89 deletions

View File

@@ -26,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.1
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)

View File

@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
# `version` is the version info for the project being documented, acts as replacement for |version|,
# also used in various other places throughout the built documents.
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
version = release = 'master'
version = release = 'saas-16.1'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -210,6 +210,7 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
'15.0': "Odoo 15",

View File

@@ -7,6 +7,7 @@ Maintain
.. toctree::
maintain/domain_names
maintain/azure_oauth
maintain/google_oauth
maintain/mailjet_api
maintain/update

View File

@@ -0,0 +1,216 @@
=======================================================
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
=======================================================
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
secure emails from a custom domain, all that is required is to configure a few settings on the
Azure platform and on the back end of the Odoo database. This configuration works with either a
personal email address or an address created by a custom domain.
.. seealso::
`Microsoft Learn: Register an application with the Microsoft identity platform
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
Setup in Microsoft Azure Portal
===============================
Create a new application
------------------------
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
will need to connect and perform the following configuration. Next, navigate to the section
labeled :guilabel:`Manage Azure Active Directory`.
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
:guilabel:`Accounts in any organizational directory (Any Azure AD directory - Multitenant) and
personal Microsoft accounts (e.g. Skype, Xbox)`.
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
is the canonical domain at which your Odoo instance can be reached in the URL field.
.. example::
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
assuming it's hosted on Odoo.com
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
API permissions
---------------
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
able to read (IMAP) and send (IMAP) emails in the Microsoft 365 setup. First, click the
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
In the search bar, search for the following :guilabel:`Deregulated permissions` and click
:guilabel:`Add permissions` for each one:
- :guilabel:`SMTP.Send`
- :guilabel:`IMAP.AccessAsUser.All`
.. note::
The :guilabel:`User.Read` permission will be added by default.
.. image:: azure_oauth/permissions.png
:align: center
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
Assign users and groups
=======================
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
:guilabel:`Application` in the top of the left sidebar menu.
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
right-hand side of the table.
.. image:: azure_oauth/managed-application.png
:align: center
:alt: Add users/groups by clicking the Managed application in local directory link for the
created application.
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
added.
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
application.
Create credentials
------------------
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
in the :guilabel:`Essentials` overview of the app.
.. image:: azure_oauth/application-id.png
:align: center
:alt: Application/Client ID located in the Overview of the app.
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
:guilabel:`expiration date`.
.. important::
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
expires. In this event, there could be an interruption of service, so the expiration date should
be noted and set to the furthest possible date.
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
The :guilabel:`Secret ID` is not needed.
.. image:: azure_oauth/secretvalue.png
:align: center
:alt: Client Secret Value or Value in the app's credentials.
After these steps, the following items should be ready to be set up in Odoo:
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
Setup in Odoo
=============
Enter Microsoft Outlook credentials
-----------------------------------
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
called :guilabel:`Microsoft Outlook`.
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
a new option for :guilabel:`Outlook Credentials`.
:guilabel:`Save` the progress.
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
.. image:: azure_oauth/outlookcreds.png
:align: center
:alt: Outlook Credentials in Odoo General Settings.
Configure outgoing email server
-------------------------------
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
<email_communication/default_from>`.
Then, cick on :guilabel:`Connect your Outlook account`.
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
appropriate email address that is being configured in Odoo.
.. image:: azure_oauth/verify-outlook.png
:align: center
:alt: Permission page to grant access between newly created app and Odoo.
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
:guilabel:`Outlook Token Valid` appears in green.
.. image:: azure_oauth/outlook-token.png
:align: center
:alt: Valid Outlook Token indicator.
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
Multiple user configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Each user should have a separate server set up. The :guilabel:`from-filter` should be set so that
only the user's email is sent from that server. In other words, only a user with an email address
that matches the set :guilabel:`from-filter` is able to use this server.
After setting the :guilabel:`from-filter`, set up a fallback email account to allow for the sending
of :guilabel:`notifications`. The fallback email must be configured as a :guilabel:`general
transactional server`. The :guilabel:`mail.default.from` system parameter must be set to the
:guilabel:`username` of the general transactional server account. For more information see
:ref:`Use a default email address <email_communication/default>`.
.. note::
The :guilabel:`System Parameters` can be accessed by activating
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
--> Parameters --> System Parameters` menu.
Configure incoming email server
-------------------------------
The incoming account should be configured in a similar way to the outgoing email account. Navigate
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
account. The account should be ready to receive email to the Odoo database.
.. seealso::
:doc:`../../applications/general/email_communication/email_servers`

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -208,7 +208,7 @@ Connection`.
`yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there
isn't one, then use the :guilabel:`mail.catchall.domain` system parameter.
For more information see :ref:`Using a default email address <email_domain/default>`.
For more information see :ref:`Using a default email address <email_communication/default>`.
The :guilabel:`System Parameters` can be accessed by activating
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical

View File

@@ -28,9 +28,9 @@ This matrix shows the support status of every version.
+=================+=============+==========+=============+================+========================+
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | January 2023 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| **Odoo 15.0** | |green| | |green| | |green| | October 2021 | October 2024 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+

View File

@@ -9,3 +9,4 @@ Reporting
reporting/overview
reporting/declarations
reporting/silverfin

View File

@@ -0,0 +1,41 @@
=====================
Silverfin integration
=====================
`Silverfin <https://www.silverfin.com>`_ is a third-party service provider that offers a cloud
platform for accountants.
Odoo and Silverfin provide an integration to automate the synchronisation of data.
Configuration
=============
To configure this integration, you need to input the following data into your Silverfin account:
- user's email address
- :ref:`Odoo API key <silverfin/api-key>`
- URL of the Odoo database
- name of your Odoo database
.. _silverfin/api-key:
Odoo API key
------------
To create a new API key, navigate to `Odoo's website <https://www.odoo.com>`_ and sign in with your
administrator account. Next, open `your account security settings in developer mode
<https://www.odoo.com/my/security?debug=1>`_, click on :guilabel:`New API Key`, confirm your
password, give a descriptive name to your new key, and copy the new API key.
.. important::
- You can copy the API key only at its creation, and you cannot retrieve it later.
- The API key provides full access to your user account. Store it securely.
- If you need it again, create a new API key.
- You can delete your existing API keys from this same page.
.. image:: silverfin/api-key.png
:align: center
:alt: creation of an Odoo external API key for an integration with Silverfin
.. seealso::
:doc:`/developer/api/external_api`

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -167,7 +167,7 @@ To fully test the configuration, use the `Mail-Tester <https://www.mail-tester.c
gives a full overview of the content and configuration in one sent email. Mail-Tester can also be
used for other, lesser-known providers.
.. _email_domain/default:
.. _email_communication/default:
Use a default email address
===========================

View File

@@ -2,59 +2,74 @@
Manage semi-finished products
=============================
With Odoo MRP, you can use semi-finished products to simplify a complex *Bill
of Materials* or to represent your manufacturing flow more accurately.
A *semi-finished product* is a manufactured product that is used as a
component in a Bill of Material.
A *semi-finished product*, also known as a *subassembly*, is a manufactured product that is used as
a component in another product's bill of materials (BoM). Semi-finished products are used to
simplify complex :abbr:`BoMs (Bills of Materials)` or to more accurately represent a manufacturing
flow. A :abbr:`BoM (Bill of Materials)` that contains semi-finished products is referred to as a
*multilevel BoM*, where the main *top-level product* and its subassemblies are distinguished.
A *BoM* that employs *semi-finished products* is referred to as
a multi-level BoM, where we distinguish between the *top level Product*
and the *sub-assemblies*.
Configure semi-finished products
================================
Configure a Multi Level BoM
============================
To set up a multilevel :abbr:`BoM (Bill of Materials)`, the top-level product and semi-finished
products must be configured. Therefore, the first step is to create the semi-finished products and
their :abbr:`BoMs (Bills of Materials)`.
To configure a *multi-level BoM*, you will need the top-level product
and its sub-assemblies. Therefore, you must first create the sub-assembly
products and their respective Bill of Materials. Please refer to
:doc:`bill_configuration` for more details on how to create a BOM.
.. seealso::
:doc:`bill_configuration`
.. image:: sub_assemblies/sf_1.png
:align: center
.. image:: sub_assemblies/semifinished-product-bom.png
:align: center
:alt: A bill of materials for a semi-finished product.
Configure the Main BoM
======================
Create the top-level bill of materials (BoM)
============================================
Then on the final product form, simply add your semi-finished
products to the Bill of Material.
After the semi-finished products are fully configured, navigate to :menuselection:`Manufacturing
--> Products --> Products`. Then, :guilabel:`Create` the top-level product. Configure the product's
specifications as desired, and be sure to :guilabel:`Save`.
.. image:: sub_assemblies/sf_2.png
:align: center
Once the top-level product is configured, click the :guilabel:`Bill of Materials` smart button on
the product form, then click :guilabel:`Create` to make a :abbr:`BoM (Bill of Materials)` for the
top-level product. Then, simply add the semi-finished products to this :abbr:`BoM (Bill of
Materials)`, along with any other necessary components.
Manage your production planning
=================================
.. image:: sub_assemblies/custom-computer-bom.png
:align: center
:alt: A bill of materials for a top-level product, containing a subassembly component.
There are several methods to manage the triggering of the various manufacturing orders.
Manage production planning
==========================
If every time a manufacturing order is confirmed for the main product, you'd like one for
the semi-finished products as well, you have two options:
There are several methods to manage manufacturing order automation for products with multilevel
:abbr:`BoMs (Bills of Materials)`.
Option 1 : Create re-ordering rules for the semi-finished products, with both the minimum
and maximum desired stock quantities at 0.
.. note::
Semi-finished products are specifically used to manage manufacturable products with multilevel
BoMs. If a BoM is being created simply to organize components or bundle sellable products,
using :doc:`Kits <kit_shipping>` is the more appropriate option.
.. image:: sub_assemblies/sf_3.png
:align: center
To automatically trigger manufacturing orders for semi-finished products after confirming a
manufacturing order for the main product, there are two options:
Option 2 : Use the Replenish on Order (MTO) route on the semi-finished product, as well as
the manufacturing one.
- **Option 1 (recommended):** Create *Reordering Rules* for the semi-finished products and set both
the minimum and maximum desired stock quantities to `0`.
Note that Option 1 is usually recommended over Option 2 as it is more flexible. The MTO route
creates a unique link between the semi-finished and the top level product, whereas the
re-ordering rule allows you to simply unreserve that production from the top level product
production and redirect it to another, more pressing demand, for example.
.. seealso::
:doc:`../../purchase/products/reordering`
In any case, as soon as the semi-finished product is produced, it will become
available in the manufacturing order of the final product, as shown below.
- **Option 2:** Activate the :guilabel:`Replenish on Order (MTO)` and :guilabel:`Manufacture`
routes under the :guilabel:`Inventory` tab of the semi-finished product's product form.
.. image:: sub_assemblies/sf_4.png
:align: center
Option 1 is more flexible than Option 2 and is therefore recommended. Reordering rules do not
directly link demand to replenishment, and therefore allow stocks to be unreserved and redirected
to other orders, if necessary. The Replenish on Order (MTO) route creates a unique link between the
semi-finished and top-level products, exclusively reserving quantities for the confirmed top-level
manufacturing order.
Regardless of the method chosen, semi-finished products must be fully manufactured before
manufacturing can begin on the top-level product.
.. image:: sub_assemblies/semifinished-on-mo.png
:align: center
:alt: A manufacturing order for a top-level product.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,48 +1,64 @@
=================================================
How to give portal access rights to my customers?
=================================================
-------------
Portal access
-------------
What is Portal access/Who is a portal user?
============================================
Portal access is given to users who need the ability to view certain documents or information
within an Odoo database.
A portal access is given to a user who has the necessity to have access
to Odoo instance, to view certain documents or information in the
system.
Some common use cases for providing portal access include allowing customers to read/view any or
all of the following in Odoo:
For Example, a long term client who needs to view online quotations.
- leads/opportunities
- quotations/sales orders
- purchase orders
- invoices & bills
- projects
- tasks
- timesheets
- tickets
- signatures
- subscriptions
A portal user has only read/view access. He or she will not be able to
edit any document in the system.
.. note::
Portal users only have read/view access, and will not be able to edit any documents in the
database.
How to give portal access to customers?
=======================================
Provide portal access to customers
----------------------------------
From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not
yet created in the database, click on the :guilabel:`Create` button, enter the details of the
contact, and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on
the :guilabel:`Action` drop-down menu located at the top-center of the interface.
From Contacts Module
--------------------
.. image:: portal/grant-portal-access.png
:align: center
:alt: Use the Contacts application to give portal access to users
From the main menu, select **Contacts** menu. If the contact is not
yet created in the system, click on the create button to create
new contact. Enter details of the contact and click "save".
Then select :guilabel:`Grant portal access`. A pop-up window appears, listing three fields:
.. image:: portal/portal01.png
:align: center
- :guilabel:`Contact`: the recorded name of the contact in the Odoo database
- :guilabel:`Email`: the contact's email address that they will use to log into the portal
- :guilabel:`In Portal`: whether or not the user has portal access
.. image:: portal/portal02.png
:align: center
To grant portal access, first enter the contact's :guilabel:`Email` they will use to log into the
portal. Then, check the box under the :guilabel:`In Portal` column. Optionally, add text to the
invitation message the contact will receive. Then click :guilabel:`Apply` to finish.
Choose a contact, click on the **Action** menu in the top-center of
the interface and from the drop down.
.. image:: portal/add-contact-to-portal.png
:align: center
:alt: An email address and corresponding checkbox for the contact need to be filled in before
sending a portal invitation.
Select **Portal Access Management**. A pop up window appears.
An email will be sent to the specified email address, indicating that the contact is now a portal
user for that Odoo database.
.. image:: portal/portal03.png
:align: center
.. tip::
To grant portal access to multiple users at once, navigate to a company contact, then click
:menuselection:`Action --> Grant portal access` to view a list of all of the company's related
contacts. Check the box under the :guilabel:`In Portal` column for all the contacts that need
portal access, then click :guilabel:`Apply`.
Enter the login **email ID**, check the box under **In Portal** and
add the content to be included in the email in the text field box below. Click on **Apply** when you're done.
.. image:: portal/portal04.png
:align: center
An email will be sent to the specified email address, indicating that
the contact is now a portal user of the respective instance.
.. note::
At any time, portal access can be revoked by navigating to the contact, clicking
:menuselection:`Action --> Grant portal access`, and then unselecting the checkbox under the
:guilabel:`In Portal` column and clicking :guilabel:`Apply`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -41,15 +41,7 @@ addon includes the necessary server files to add a new view.
1. Make a hello world view
==========================
<<<<<<< HEAD
<<<<<<< HEAD
First step is to create a JavaScript implementation with a simple component.
=======
First step is to create a javascript implementation with a simple component.
>>>>>>> 953fca3a ([IMP] developer: JavaScript tutorial: chapter 6)
=======
The first step is to create a JavaScript implementation with a simple component.
>>>>>>> e1a22ec3 (review chapter 6)
.. exercise::

View File

@@ -1697,6 +1697,10 @@ attributes:
``records_draggable``
whether it should be possible to drag records when kanban is grouped. Default: true.
Set to ``true`` to always enable it, and to ``false`` to always disable it.
``groups_draggable``
whether it should be possible to resequence colunms when kanban is grouped. Default: true.
Set to ``true`` to always enable it, and to ``false`` to always disable it.
.. todo:: VFE missing information on on_create attribute of kanban views.

0
redirects/saas-16.2.txt Normal file
View File