History: Terms_of_Use_Demo
Preview of version: 4
Table of contents
The purpose of this profile is to make the users accept a terms of use on registration. Also existing users will be asked to fill in the terms of use on login if they are already registered prior to the terms of use implementation
The User Tracker
First you need a user tracker. You could already have a user tracker. If so, you don't need to create one.YAML
Copy to clipboard
objects: - type: tracker ref: user_tracker data: name: User Tracker description: restrict_end: 0 restrict_start: 0 allow: - one_item_per_user - creator_modification show: - list_creation_date - status_admin_only - type: tracker_field ref: user_tracker_f_39 data: name: User permname: f_39 tracker: $profileobject:user_tracker$ options: autoassign: 1 type: user order: 0 flags: - searchable - public - mandatory
Pretty tracker registration
Then you need to setup pretty tracker registrationCopy to clipboard
objects: - type: wiki_page ref: registration_tpl data: name: registration_tpl content: wikicontent:registration_tpl_include description: lang:
Features & settings
YAML
Copy to clipboard
preferences: allowRegister: true userTracker: true user_register_prettytracker: true user_register_prettytracker_tpl:$profileobject:registration_tpl$
The Checkbox field
You need to add the checkbox field to your user trackerYAML
Copy to clipboard
objects: - type: tracker_field ref: user_tracker_acceptedTerms data: name: I have accepted the Terms of Use permname: acceptedTerms tracker: $profileobject:user_tracker$ options: type: checkbox order: 170 flags: - public - mandatory
The wiki pages needed
YAML
Copy to clipboard
objects: - type: wiki_page ref: renewterms data: name: RenewTerms content: wikicontent:RenewTerms_include description: lang: en type: wiki_page ref: terms_tpl data: name: terms_tpl content: wikicontent:terms_tpl_include description: lang: en - type: wiki_page ref: terms data: name: Terms content: wikicontent:Terms_include description: lang: en
Example checker module that check the user has accepted or not.
You can also simply include the TRACKERITEMFIELD on selected pages like the homepageCopy to clipboard
objects: - type: module ref: terms_checker data: name: Terms Checker position: bottom order: 2 cache: 0 rows: 10 groups: - Registered params: custom: | {TRACKERITEMFIELD(fieldId="$profileobject:user_tracker_acceptedTerms$", test="1", value="y", trackerId="$profileobject:user_tracker$")} {ELSE} {REDIRECT(page="RenewTerms")}{REDIRECT} {TRACKERITEMFIELD} parse: true
Links to included wiki pages:
registration_tpl_include
RenewTerms_include
terms_tpl_include
Terms_include