Fork me on GitHub

Module genericattributes-cgu

Introduction

Ce module fournit un generic attribute pour les Conditions Générales d'Utilisations (CGU). Pour cela, le module utilise le plugin-cgu. L'utilisateur peut voir la CGU. Il doit accepter la CGU. S'il existe un âge minimum d'acceptation, alors l'utilisateur doit également certifier qu'il est plus agé que cet âge minimum.

Instanciation

Comme tous les generic attributes, le plugin Lutece qui utilise ce generic attribute doit fournir les templates à utiliser pour la création, la modification et la visualisation du generic attribute en back-office et en front-office.

La classe abstraite fr.paris.lutece.plugins.genericattributes.modules.cgu.service.entrytype.AbstractEntryTypeCgu permet de gérer le generic attribute. Pour fournir les templates, il faut créer un classe héritant de cette classe abstraite et implémenter les méthodes suivantes :

  • getTemplateHtmlForm( Entry entry, boolean bDisplayFront ) : donne le template servant à renseigner la question. Le booléen bDisplayFront permet de savoir s'il faut donner le template pour le front-office ou pour le back-office.
  • getTemplateCreate( Entry entry, boolean bDisplayFront ) : donne le template servant à créer la configuration du generic attribute. Le booléen bDisplayFront permet de savoir s'il faut donner le template pour le front-office ou pour le back-office.
  • getTemplateModify( Entry entry, boolean bDisplayFront ) : donne le template servant à modifier la configuration du generic attribute. Le booléen bDisplayFront permet de savoir s'il faut donner le template pour le front-office ou pour le back-office.
  • getTemplateEntryReadOnly( boolean bDisplayFront ) : donne le template servant à afficher les informations renseignées dans la question. Le booléen bDisplayFront permet de savoir s'il faut donner le template pour le front-office ou pour le back-office.

Une implémentation par défaut est donnée dans ce module. Elle correspond à la classe fr.paris.lutece.plugins.genericattributes.modules.cgu.service.entrytype.EntryTypeCgu. Attention : Cette implémentation est faite pour être utilisée avec le plugin-form. Les templates fournis ne fonctionneront pas avec un autre plugin Lutece. Si vous utilisez ce module avec un autre plugin Lutece, il faut alors soit surcharger les templates dans le site, soit fournir votre propre implémentation.

Il faut ensuite que l'implémentation soit présente dans le contexte Spring pour que Lutece la détecte. L'implémentation par défaut de ce module est présente dans le fichier genericattributes_cgu_context.xml.

Il faut enfin référencer l'EntryType dans la table genatt_entry_type. L'injection de l'implémentation par défaut dans la table est présente dans les fichiers SQL du module.

Une fois l'instanciation du generic attribute correctement référencée, il est disponible dans votre application, avec les autres generic attributes.

Configuration

Il faut que la CGU à utiliser soit d'abord configurée dans le plugin-cgu.

Attention : Si une nouvelle version de la CGU est publiée dans le plugin-cgu, il faut retourner dans la configuration du generic attribute CGU en back-office et réenregistrer (même s'il n'y a aucune modification) pour que les nouvelles données de la CGU soient prises en compte dans le generic attribute.

La configuration présentée ci-dessous ne s'applique que pour l'implémentation par défaut fournie dans le module, c'est-à-dire pour le plugin-form.

En back-office, au niveau des questions du formulaire, un type de question Conditions générales d'utilisations apparaît. Sa configuration est la suivante :

  • Titre : le titre de la question.
  • Code : le code de la question.
  • Code CGU : le code de la CGU à utiliser. Ce code correspond à celui défini dans le plugin-cgu pour la CGU.
  • Aide : aide affichée sous la question.
  • Classes CSS : classes CSS utilisées pour la question.

Usage

L'utilisation présentée ci-dessous ne s'applique que pour l'implémentation par défaut fournie dans le module, c'est-à-dire pour le plugin-form.

Lorsqu'une question de type CGU est configurée dans le formulaire, une case à cocher apparaît dans la page front-office du formulaire. L'utilisateur est obligé de cocher cette case à cocher pour valider le formulaire. Sinon, un message d'erreur apparaît. L'utilisateur peut voir le texte de la CGU en cliquant sur le lien présent dans la question. Un nouvel onglet avec le texte s'ouvre alors.

Une deuxième case à cocher peut être affichée si la CGU nécessite un âge minimum pour être acceptée. L'utilisateur est alors également obligé de cocher cette case à cocher pour valider le formulaire, afin de certifier son âge. Sinon, un message d'erreur apparaît.

Voici un exemple d'affichage avec âge minimum à 15 ans, et message d'aide :