Difference between revisions of "Draft:Specification Module Public Portal"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Tag: 2017 source edit
Tag: 2017 source edit
Line 11: Line 11:
 
A table already exists to store login/pass for external portals.  
 
A table already exists to store login/pass for external portals.  
 
It is already used to store :
 
It is already used to store :
- login from external website (for example stripe customer key of a thirdparty). The column site contains "stripe".
+
* login from external website (for example stripe customer key of a thirdparty). The column site contains "stripe".
- login from website for users of a website. The column site contains "dolibarr_website" and we store the id of website into fk_website
+
* login from website for users of a website. The column site contains "dolibarr_website" and we store the id of website into fk_website
 
So we will also use it to store login for the external portal:
 
So we will also use it to store login for the external portal:
- the column "site" will contains "dolibarr_portal" and fk_soc will contains the id of the thirdparty
+
* the column "site" will contains "dolibarr_portal" and fk_soc will contains the id of the thirdparty
  
 
On the record of a thirdparty, the module Public portal must enable the new tab will be visible to show all accounts/login (=record of table llx_societe_account) linked to this thirdparty.
 
On the record of a thirdparty, the module Public portal must enable the new tab will be visible to show all accounts/login (=record of table llx_societe_account) linked to this thirdparty.

Revision as of 11:07, 17 January 2023

Specification for a module of a Public Portal

We need a new module to offer a public portal


Some requirements

  • Must be a Dolibarr module called "WebPortal"
  • The portal must be pages hosted into /public/webportal/

Login

A table already exists to store login/pass for external portals. It is already used to store :

  • login from external website (for example stripe customer key of a thirdparty). The column site contains "stripe".
  • login from website for users of a website. The column site contains "dolibarr_website" and we store the id of website into fk_website

So we will also use it to store login for the external portal:

  • the column "site" will contains "dolibarr_portal" and fk_soc will contains the id of the thirdparty

On the record of a thirdparty, the module Public portal must enable the new tab will be visible to show all accounts/login (=record of table llx_societe_account) linked to this thirdparty.

Note: This tab already exists but is enabled only when WEBSITE_USE_WEBSITE_ACCOUNTS is on. We found this into core/lib/company.lib.php

if (isModEnabled('website') && (!empty($conf->global->WEBSITE_USE_WEBSITE_ACCOUNTS)) && ($user->hasRight('societe', 'lire'))) {

We must enable the tab also when the module WebPortal is on.

Setup page of the module

The setup page must allow to enable features in the portal like:

  • Enable access to the membership record (Hidden / Visible or Editable)
  • Enable access to the partnership record
  • Enable access to the proposals (list with date, ref, status + download link)
  • Enable access to the orders (list with date, ref, status + download link)
  • Enable access to the invoices (list with date, ref, status + download link)

Other need will be added in the future...

The portal page

The portal web site must contains:

  • A top banner similar to other public pages
  • A home page
  • A tab/menu with membership data in read or edit mode (if option was set)
  • A tab/menu with partnership data in read or edit mode (if option was set)
  • A tab/menu with list of proposals
  • A tab/menu with list of orders
  • A tab/menu with list of invoices