This module allows entities (commonly nodes) to be identified as agreements that users of a site are required to accept.

Usage

  1. Add an "Agreement" field onto a entity type/bundle
  2. Create or edit an the entity that is to be an agreement, and in the agreement field enable the entity to be used as an agreement and add handlers to control the agreement behavior
  3. Users of the site which the agreement applies to will then be prompted to agree to the agreement. See below for handlers to control applies to and notifications.
  4. As the agreement entity is updated (new revisions), users will be again prompted to agree to the new version of the agreement.

Handlers

  • Applies to: Mark the agreement as applying to all users or users of a specific role.
  • Agreement form: A standard agreement form is provided and may be displayed for the agreement field when displaying the agreement entity.
  • Notification block: A block is available to notify users of agreement that have not been agreed-to.
  • User form widget: A section may be added to the user profile and registration forms that will allow users to agree on initial registration and account updating.

Notes

It's recommended to have only 1 agreement field per entity/bundle. It is possible to configure multiple agreement fields, but the behavior may be unpredictable. It is also recommended utilize a single value (cardinality 1) for the agreement fields. The default field widget and formatter will only allow this.

The agreement handlers utilize CTools plugins and developers may add custom implementations. To do so, add a plugin definition file and add a plugin class conforming to the proper interfaces--extend the existing classes. If you'd like to provide an entire new plugin type, that is possible too. Reference the existing code for more information on these.

Supporting organizations: 
Development

Project information

Releases