Archives de la liste a​i​d​e​@p​a​h​e​k​o​.c​l​o​u​d​

Pages privé

Association SACRE XV

23/11/2023 22:08:13

Un début de solution (pour affichage hors partie admin), mais qui doit
passer par une page template, la fonction restrict :

https://fossil.kd2.org/paheko/info/d0d2921780942c10643c4cb8fb5f5181cd168b22bd8684854099cfb2479dc993

restrict

Permet de limiter (restreindre) une partie de la page aux membres qui sont
connectés et/ou qui ont certains droits.

Deux paramètres optionnels peuvent être utilisés ensemble (il n'est pas
possible d'utiliser seulement un des deux) :
level Niveau d'accès : read, write, admin
section Section où le niveau d'accès doit s'appliquer : users, accounting,
web, documents, config
block Si ce paramètre est présent et vaut true, alors l'accès sera interdit
si les conditions d'accès demandées ne sont pas remplies : une page
d'erreur sera renvoyée.

{{#restrict}}
 Un membre est connecté, mais on ne sait pas avec quels droits.
{{else}}
 Aucun membre n'est connecté.
{{/restrict}}

{{#restrict section="users" level="admin"}}
 Un membre est connecté, et il a le droit d'administrer les membres.
{{else}}
 Aucun membre n'est connecté, ou un membre est connecté mais n'est pas
administrateur des membres.
{{/if}}

Il suffit ensuite de créer une page template (fichier sans extension) et
d'y insérer la fonction redtrict.

Exemple : fichier infomembre (au même emplacement que _foot.hml)

La page sera accessible via https://monasso.garradin.eu/infomembre

infomembre:
{{:include file="./_head.html" title=$page.title}}

<section>
  <h2>Page réservée aux membres</h2>
{{#restrict}}
 <p>Voici les infos réservées aux membres connectés etc...</p>
                             {{else}}
 <p>Cette page est réservée aux membres connectés</p>
 {{/restrict}}
</section>

{{:include file="./_foot.html"}}


Évidemment, cela fait bcp de choses à mettre avant le else, qui plus est
des choses plutôt statiques car il faut les droits admin pour modifier le
template en question mais c'est une piste pour afficher sur le site une
fois connecté (et ne pas afficher dans la partie admin par contre).