|
|
|
Wiki del Odoo de Comunitats Energètiques
|
|
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
## Aixecar un servidor de keycloak:
|
|
|
|
|
|
|
|
Executem `docker-compose up` amb el següent `docker-compose.yml`:
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
version: '2'
|
|
|
|
services:
|
|
|
|
postgresql:
|
|
|
|
image: docker.io/bitnami/postgresql:11
|
|
|
|
environment:
|
|
|
|
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
|
|
|
- ALLOW_EMPTY_PASSWORD=yes
|
|
|
|
- POSTGRESQL_USERNAME=bn_keycloak
|
|
|
|
- POSTGRESQL_DATABASE=bitnami_keycloak
|
|
|
|
ports:
|
|
|
|
- "5433:5432"
|
|
|
|
volumes:
|
|
|
|
- 'postgresql_data:/bitnami/postgresql'
|
|
|
|
|
|
|
|
keycloak:
|
|
|
|
image: docker.io/bitnami/keycloak:18
|
|
|
|
depends_on:
|
|
|
|
- postgresql
|
|
|
|
ports:
|
|
|
|
- "8080:8080"
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
postgresql_data:
|
|
|
|
driver: local
|
|
|
|
```
|
|
|
|
|
|
|
|
**Des de la meva màquina lxc no puc resoldre "keycloak"**: El docker que ens munta el keycloak ens crea una entrada que resol el dns keycloak Però l'ansible que crea l'odoo no li diu qui resol "keycloak". Cal afegir manualment al fitxer de `/etc/hosts` una línia que indiqui com resoldre keycloak: `10.0.3.1 keycloak`
|
|
|
|
|
|
|
|
## \[WIP\] Configurar un servidor de keycloak (orientat a interaccionar amb Odoo)
|
|
|
|
|
|
|
|
1. Un cop carregat (docker-compose up a la carpeta on tinguem el docker-compose.yml) el KC, accedim a la Administration Console: <http://10.0.3.1:8080> (ussuari: user, password: bitnami)
|
|
|
|
1. Creem un nou Realm = ce1
|
|
|
|
1. Dins del realm ce1 creem un nou Client = odoo:
|
|
|
|

|
|
|
|
1. Dins del realm ce1 creem 2 grups d’usuaris:
|
|
|
|

|
|
|
|
1. Dins del realm ce1 creem 2 rols nous:
|
|
|
|

|
|
|
|
1. a ce_admin_role activem Composite Roles = ON i li incorporem la herència del ce_member_role.
|
|
|
|
1. Incorporem ce_member_role com a role per defecte del realm:
|
|
|
|

|
|
|
|
1. Dins del realm ce1, tornem als grups i al grup de admins li assignem el role de admin i al de members el de member:
|
|
|
|

|
|
|
|
1. Dins del realm ce1, creem 2 usuaris i els asignem cadascun a un dels 2 grups:
|
|
|
|

|
|
|
|

|
|
|
|
1. Als 2 usuaris els posem el mateix password (Pestanya credencials) per simplificar: 1234
|
|
|
|

|
|
|
|
Automàticament cada user hereta els roles del realm que li corresponen en base al grup al qual pertanyen.
|
|
|
|
1. Al Realm Master, creem un usuari api_admin_ce1 (per simplificar li posem també password 1234) específic per a la administració, via API del realm ce1 (se n’ha de crear un per a cada realm de ce existent) → cal assignar-li el rol de manage-users (això permet que desde l’Odoo o desde un altre aplicació es puguin CREAR nous usuaris dins del realm ce1 via API usant aquest usuari):
|
|
|
|

|
|
|
|
1. Repetim els passos anteriors del 2 fins al pas anterior a aquest, per a cadascun dels diferents realms corresponents a diferents CE que necessitem tenir disponibles al KC (ce2, ce3, ...).
|
|
|
|
1. Repetim el pas anterior (grup de passos per crear nous realsm) però per a un realm especial dins del KC que anomenarem 'coordinadora' i que es correspon amb la companyia de Odoo/OV que fa de coordinadora de la plataforma. Els passos a seguir son els mateixos que per als realms regulars vinculats a cadascuna de les CE (ce1, ce2,...) amb la excepció que aquest realm ha de tenir un 3er role de realm addicional anomenat 'platform_admin_role' (composite = True i hereta per defecte el role 'ce_admin_role'), i un grup de usuaris addicional anomenat 'platform_admins_group' al que li assignarem per defecte el role anterior ('platform_admin_role'). Aquest role/group és per assignar als usuaris de la coordinadora amb capacitats al Odoo per poder executar accions inter realm (ex: creacio de nous realms) via la API de KC desde Odoo:
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
1. Al Realm Master, anem al Client admin-cli i activem Acces-Type = ‘Confidencial’ → això habilita la pestanya “Credencials” amb un Secret_id per tal de poder interactuar amb el realm Master via API i poder per exemple crear nous REALMS (= noves CE) desde Odoo/OV:
|
|
|
|

|
|
|
|
|
|
|
|
## [WIP] Odoo: Configuracions Generals
|
|
|
|
|
|
|
|
1. Anar a Settings>GeneralSettings>GeneralSettings: Al apartat de Multicompanies, activar Multi-Companies i desactivar els 2 check-box de compartir contactes i productes entre companyies:
|
|
|
|

|
|
|
|
1. Seguir aquestes passes generals (no oblidar-se de instal·lar els idiomes català i castella): https://github.com/coopdevs/handbook/wiki/Passos-configurar-nova-empresa-a-Odoo
|
|
|
|
1. Instal·lar el mòdul 'ce'
|
|
|
|
1. Anar a Easy-My Coop > Configuration > ShareType: crear un NOU tipus de quota (=Share) amb aquests paràmetres:
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
1. Per tal de configurar la connexió amb els Realms de KeyCloak (sota la hipòtesi actual de 1 realm independent per a cada CE) cal anar a Settings>GeneralSettings i un a un navegar a cada Oauth provider i informar correctament els secret_id's corresponents (del Client de KC vinculat) i també els usuaris i passwords de KC corresponents:
|
|
|
|

|
|
|
|
|
|
|
|
## [WIP] Odoo: Passes a fer MANUALS (de moment) cada cop que algun usuari de la 'coordinadora' amb rol de "Platform Admin"ha de crear una nova CE (Company)
|
|
|
|
1. Crear la nova companyia i en fer-ho omplir com a mínim aquests camps indicats en vermell. Seleccionar un compte comptable qualsevol per a 'Cooperator Account':
|
|
|
|

|
|
|
|
1. Abans de seguir assegurar-que a partir d'ara la nova companyia és la ACTIVA:
|
|
|
|

|
|
|
|
1. Anar a Settings > GeneralSettings < Invoicing: definir la seva 'localització fiscal', marcar també el check de Verify VAT Numbers del apartat de TAXES. Donar-li al botó de 'Save' per desar els canvis:
|
|
|
|

|
|
|
|

|
|
|
|
1. Anar a Settings>Technical>Sequences&Identifiers>Sequences. i crear una nova sequència anomenada "Account Subscription"... crear-la en base a DUPLICAR el regiatre ja existent anomenat 'Account Default Subscription Journal' de la companyia 'Coordinadora' i canviar-li la companyia per informar la nova i afegir un rang de dates de vigència abans de desar els canvis:
|
|
|
|

|
|
|
|
1. Anar a Invoicing > Configuration > Accounting > Journals, i crear en aquesta nova companyia un NOU diari replicant les dades dades del diari que ja existeix a la companyia 'Coordianadora' anomenat "Subscription Journal". Al camp 'InvoiceSequence' assignar el registre creat en el punt anterior:
|
|
|
|

|
|
|
|
1. Tornar al form de la companyia i modificar aquests 2 camps per informar-hi els que us suggegim aquí:
|
|
|
|

|
|
|
|
1. Replicar per aquesta nova companyia les passes descrites anteriorment en l'apartat de configuracions generals (allí la companyia era 'Coordinadora') per a:
|
|
|
|
- Configurar els parametres dels providers de KC d'aquesta companyia a Settings>GeneralSettings>ComunitatsEnergètiques ( nom del realm, secret_ids, usuaris, passwords,... de KC)
|
|
|
|
- Crear el tipus de Share (quota) per a la quota d'alta en aquesta companyia. |