Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds feedback form #92

Merged
merged 6 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions modules/localgov_forms_feedback_form/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# LocalGov Forms - Feedback Form

## What is it?
This is a small module that creates a feedback for for your LocalGov Drupal website.

It asks a simple question: "Was this page helpful?".

If someone answers "Yes", they are asked if they'd like to share what is good about this page. If they answer "No", they have the opportunity to say how the page can be improved.

## How to use it.
- Install it like any other Drupal module from the "Extend" page.
- Add a block of type "Webform" to your site via the `Admin > Structure > Blocks` page.
- When the form is submitted, results will be stored in the database. They can be accessed by going to `Admin > Structure > Webforms`, clicking on the "LocalGov Forms Feedback Form", and then choosing "Results".

## Considerations
When you enable this module, the form that is created is set to store data in your website's database. This is the default datastore for webforms. However, this may not be where your data protection officer wishes you to store webform submissions. Check with your DPO before deploying this to a live site, or else edit the form configuration to store the data somewhere else - a CRM, an offsite backup, a separate database, etc.

Maintainers:
- Mark Conroy
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
langcode: en
status: open
dependencies: { }
weight: 0
open: null
close: null
uid: 1
template: false
archive: false
id: localgov_forms_feedback_form
title: 'Feedback Form'
description: 'A simple "was this page helpful" feedback form.'
categories: { }
elements: |-
was_this_page_helpful:
'#type': radios
'#title': 'Was this page helpful?'
'#options':
'Yes': 'Yes'
'No': 'No'
response_for_yes:
'#type': textarea
'#title': 'Great. Want to tell us what you liked about it?'
'#states':
visible:
':input[name="was_this_page_helpful"]':
value: 'Yes'
response_for_no:
'#type': textarea
'#title': 'Sorry to hear that. How can we improve it?'
'#states':
visible:
':input[name="was_this_page_helpful"]':
value: 'No'
css: localgov-forms-feedback-form
javascript: ''
settings:
ajax: false
ajax_scroll_top: form
ajax_progress_type: ''
ajax_effect: ''
ajax_speed: null
page: true
page_submit_path: ''
page_confirm_path: ''
page_theme_name: ''
form_title: source_entity_webform
form_submit_once: false
form_open_message: ''
form_close_message: ''
form_exception_message: ''
form_previous_submissions: false
form_confidential: false
form_confidential_message: ''
form_disable_remote_addr: true
form_convert_anonymous: false
form_prepopulate: false
form_prepopulate_source_entity: false
form_prepopulate_source_entity_required: false
form_prepopulate_source_entity_type: ''
form_unsaved: false
form_disable_back: false
form_submit_back: false
form_disable_autocomplete: false
form_novalidate: false
form_disable_inline_errors: false
form_required: false
form_autofocus: false
form_details_toggle: false
form_reset: false
form_access_denied: default
form_access_denied_title: ''
form_access_denied_message: ''
form_access_denied_attributes: { }
form_file_limit: ''
form_attributes:
class:
- localgov-forms-feedback-form
form_method: ''
form_action: ''
share: false
share_node: false
share_theme_name: ''
share_title: true
share_page_body_attributes: { }
submission_label: ''
submission_exception_message: ''
submission_locked_message: ''
submission_log: false
submission_excluded_elements: { }
submission_exclude_empty: false
submission_exclude_empty_checkbox: false
submission_views: { }
submission_views_replace: { }
submission_user_columns:
- serial
- created
submission_user_duplicate: false
submission_access_denied: default
submission_access_denied_title: ''
submission_access_denied_message: ''
submission_access_denied_attributes: { }
previous_submission_message: ''
previous_submissions_message: ''
autofill: false
autofill_message: ''
autofill_excluded_elements: { }
wizard_progress_bar: false
wizard_progress_pages: false
wizard_progress_percentage: false
wizard_progress_link: false
wizard_progress_states: false
wizard_start_label: ''
wizard_preview_link: false
wizard_confirmation: true
wizard_confirmation_label: ''
wizard_auto_forward: true
wizard_auto_forward_hide_next_button: false
wizard_keyboard: true
wizard_track: ''
wizard_prev_button_label: ''
wizard_next_button_label: ''
wizard_toggle: false
wizard_toggle_show_label: ''
wizard_toggle_hide_label: ''
wizard_page_type: container
wizard_page_title_tag: h2
preview: 0
preview_label: ''
preview_title: ''
preview_message: ''
preview_attributes: { }
preview_excluded_elements: { }
preview_exclude_empty: true
preview_exclude_empty_checkbox: false
draft: none
draft_multiple: false
draft_auto_save: false
draft_saved_message: ''
draft_loaded_message: ''
draft_pending_single_message: ''
draft_pending_multiple_message: ''
confirmation_type: inline
confirmation_url: ''
confirmation_title: 'Thanks for your feedback'
confirmation_message: 'Thank you for that feedback, we will use it to improve our website.'
confirmation_attributes: { }
confirmation_back: false
confirmation_back_label: ''
confirmation_back_attributes: { }
confirmation_exclude_query: false
confirmation_exclude_token: false
confirmation_update: false
limit_total: null
limit_total_interval: null
limit_total_message: ''
limit_total_unique: false
limit_user: null
limit_user_interval: null
limit_user_message: ''
limit_user_unique: false
entity_limit_total: null
entity_limit_total_interval: null
entity_limit_user: null
entity_limit_user_interval: null
purge: none
purge_days: null
results_disabled: false
results_disabled_ignore: false
results_customize: false
token_view: false
token_update: false
token_delete: false
serial_disabled: false
access:
create:
roles:
- anonymous
- authenticated
users: { }
permissions: { }
view_any:
roles: { }
users: { }
permissions: { }
update_any:
roles: { }
users: { }
permissions: { }
delete_any:
roles: { }
users: { }
permissions: { }
purge_any:
roles: { }
users: { }
permissions: { }
view_own:
roles: { }
users: { }
permissions: { }
update_own:
roles: { }
users: { }
permissions: { }
delete_own:
roles: { }
users: { }
permissions: { }
administer:
roles: { }
users: { }
permissions: { }
test:
roles: { }
users: { }
permissions: { }
configuration:
roles: { }
users: { }
permissions: { }
handlers: { }
variants: { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.localgov-forms-feedback-form .fieldset-wrapper > * {
display: flex;
gap: 1rem;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: LocalGov Forms Feedback Form
type: module
description: A simple feedback form for LocalGov Drupal.
package: LocalGov Drupal
core_version_requirement: ^10 || ^11
dependencies:
- 'webform:webform'
- 'webform:webform_ui'
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

/**
* @file
* Install, update, and uninstall functions for LGD Forms Feedback Form module.
*/

/**
* Implements hook_install().
*/
function localgov_forms_feedback_form_install() {
\Drupal::messenger()->addStatus(t('You have installed the LocalGov Forms Feedback Form. This form stores the form submissions in the database. Make sure you have checked this is okay with your data protection officer, or else change the form settings to store the data somewhere else.'));
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
localgov_forms_feedback_form:
css:
theme:
css/localgov-forms-feedback-form.css: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

/**
* @file
* Module file for the Localgov Forms Feedback Form module.
*/

/**
* Implements hook_form_FORM_ID_alter().
*/
function localgov_forms_feedback_form_form_webform_submission_localgov_forms_feedback_form_add_form_alter(&$form, $form_state, $form_id) {
$form['#attached']['library'][] = 'localgov_forms_feedback_form/localgov_forms_feedback_form';
}
Loading