Odoo: pagine/menu private in qweb

Odoo: pagine/menu private in qweb

di Pubblicato: 1 Febbraio 2020 0 commenti

Potrebbe capitare che sia necessario mascherare o rendere privato il menu e/o le pagine nella parte web di Odoo. In questo caso prendiamo in esame il menu Shop tipico dell’e-commerce.

Lo scopo è appunto quello di mostrare sia il menu che le pagine solo alle utenze registrate e non a tutti i visitatori del sito. La tecnica infatti è scomposta in due passaggi distinti, uno per il menu che di fatto renderebbe invisibile l’esistenza della pagina. Ma se uno sa, o prova a caso nella URL quella pagina, la stessa deve risultare irraggiungibile a coloro che non sono registrati.

Partiamo con la prima fase, dobbiamo per prima cosa assincerarsi di attivare la modalità debug in Impostazioni. Oppure in modo più comodo attivare la “scimmietta” dell’estensione Odoo Debug che vi consiglio essendo per altro gratuita.

A questo punto dobbiamo andare in Impostazioni ⇒ Funzioni tecniche ⇒ Sicurezza ⇒ Regole su record.

Funzioni tecniche, come anticipato, sarà visibile solo in modalità debug.

Premiamo sul tasto +Crea, e immettiamo i dati come segue:

  • Nome: “nascondo Shop”
  • Oggetto: Menù sito web
  • Diritti di accesso: lettura
  • Definizioni regola: [(‘url’,’not like’,’%/shop%’)]
  • Gruppo: Tipo utente / Pubblico

Abbiamo di fatto nascosto il menu “shop”, ovviamente se la URL del nostro shop utilizza questa parola, ma potenzialmente lo potremo fare anche per qualsiasi altra pagina.

Ora passiamo a rendere inaccessibile la nostra pagina, in modo tale che se la scriviamo in modo esplicito, oppure qualcuno l’ha inserita nei bookmark e tenta un accesso diretto, se non è un utente iscritto non potrà accedervi.

In questo caso andiamo nella parte Web, chiaramente come utente che ha la facoltà di essere amministratore del sito web, proprio nella pagina che intendiamo mascherare e premiamo in alto sulla barra violetta, “Personalizza” e quindi scegliamo “Editor HTML/CSS“. Apparirà sulla destra dello schermo una sezione nera con il codice HTML della pagina.

In questa sezione dobbiamo identificare la prima dichiarazione che si apre nel nostro caso come <t name=”Products”. Quindi nel caso stiate mascherando un altra pagina questo nome sarà diverso. In linea generale dovrebbe essere il primo tag “t” che vedete. Qui dopo la dichiarazione del name andremo ad aggiungere prima del tag di chiusura “>”:

groups="base.group_user,base.group_portal"

Come si può intuire stiamo indicando proprio in modo esplicito le tipologie di utenza che avranno la possibilità di accedere a questa pagina. Premendo Salva sulla sezione, poco sopra l’editor, diamo corso a queste modifiche. Possiamo effettuare una prova attraverso una sessione anonima del browser e non dovremo più vedere il menu, e nemmeno vedere la pagina se la richiamiamo in modo esplicito nella URL.

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.