Revision history for RT-Extension-FormTools 2.05 2026-04-24 - Add ShowQuestion component for conditionally displaying fields in admin UI and form pages - Add MassageComponents callback to FormTools palette - Add MassageFieldDefault callback to Field component - Let validated custom fields be required when shown conditionally (bug reported by Grant Emsley) - Add required indicator to labels for required fields - Ensure invalid-feedback element shows for all custom field types - Improve validation of conditionally required fields - Ensure back button works for non-English locales (bug reported by Michael Loos) - Ensure CF validation works without SeeQueue right - Guard against form page with no content - Ensure value ref is array not file upload object (bug reported by Michael Loos) - Ignore blank lines in choices for ShowQuestion 2.04 2026-01-16 - Fix issue with required html custom fields breaking the required field logic on the page 2.03 2025-11-13 - Fix issue where conditionally shown fields would not be required when shown but configured as required - Add callback for additional validation (Thanks Grant Emsley) 2.02 2025-08-21 - Update html attributes and classes for RT 6 2.01 2025-06-30 - Fixed bug with required fields on forms 2.00 2025-06-06 - Update for RT 6 1.18 2025-06-06 - Fix issue where clicking Add Page on a newly created form could overwrite the default pages 1.17 2025-04-09 - Fix issue with HR component - Dynamically create cascaded custom field value options on custom field change - Add core field Starts - Localize additional strings and core fields - Sollericos - Add translation for Spanish and Catalan - Sollericos 1.16 2024-12-03 - Support to conditionally show fields 1.15 2024-10-31 - Support queue routing - Support to group forms - Add ShowBanner component - Add Attach component for uploading attachments - Support to show announcements in forms via RT-Extension-Announce 1.14 2024-10-18 - Handle correctly setting 'required' when multiple checkboxes selected - Fix typo that may cause failures of loading dependent custom fields 1.13 2024-08-20 - Validate form names with the same regex used when loading a form (Arnaud Virlet) 1.12 2024-08-02 - Make remaining core ticket fields available to forms (Due Date, Time Estimated) - Add autocompletion to Owner form field - Fixed bug where editing an existing form showed Owner as a custom field, not a core field. 1.11 2024-07-10 - Exclude HTML::Mason::Commands from PAUSE indexing - Update French translations 1.10 2024-07-10 - Allow RT::Ticket::Create to set the default initial status 1.09 2024-07-08 - Use module name in the abstract - Support to localize Help text - Add french translation - Generate POT file using RT extract-message-catalog - Update minimum required RT version - Add dot to @INC for perl 5.26+ 1.08 2024-03-07 - Fix form action to include WebPath 1.07 2024-02-22 - Document ticket variables available for HTML blocks - Fix uninitialized warnings for modify page 1.06 2024-02-22 - Added wide character support - Remove duplicate values of hidden inputs to avoid possible double-encoding of content 1.05 2024-02-21 - Don't show hidden fields on the ShowChoices summary - Group fields on ShowChoices by page in the order they appear 1.04 2024-02-12 - Avoid long redirect URLs resulting from clicking the Back button 1.03 2024-01-31 - Added ability to mark custom fields on forms as read-only 1.02 2024-01-17 - Allow variables to be added to raw HTML elements on forms 1.01 2023-12-01 - Update screenshot image source to use https and limit its width too 1.0 2023-12-01 - Save queue name instead of id for better portability - Show a message to indicate there are pending changes to save - Correctly show the first page after a page deletion - Make sure there is always room to drop new form fields on a page - Display an alert when leaving a page with pending changes - Label Core Fields separately from Custom Fields in the editor - Fix bugs saving hr and textarea elements - Name "Next" button to make sure the form has data to submit, avoiding a data truncated error on form POST - Fix handling of internal validation arguments - Allow customization of alignment of

elements - Fix bug causing duplicate checkbox IDs when adding new items - Allow fields to be marked as hidden (allows form admins to set values that form users can't edit) - Fix badge and text alignment in field list - Allow client side validation (fields on forms may be required, but not required when creating/editing a ticket) - Grant all users the right to see/set custom field values on forms - Always enable core CF validations - Support dependent fields based on selection of values in select/radio inputs - Fix browser-related bugs in selectpicker controls - Skip check for required fields when pressing Back button on form - Clear CF invalid CF values when pressing Back button - Abort in advance if form user lacks rights to create tickets - Remove label from content fields - Show Required for fields marked required in form - Allow checkboxes to be fully clickable - Make core and custom fields consistent with other HTML elements - Sync page name and tab text on name update - Remove duplicate form tag - Put Select and Create under one menu (for consistency) - Make placeholders appear lighter than other text elements - Validate errors in real time - Fix HTML element IDs for custom fields - On form edit page, show label text next to CF names - Rename Save button on modal popups to Update - Fix edit link for newly added items - Center paragraph content on form pages - Create a graphical editor for forms 0.60 2022-07-06 - Migrate to RT 5 0.53 2022-05-03 - Update example to render radio using RT core feature - Use RT core feature to render radio/checkbox/date - Clean up code: GetCustomFieldInputName is available since RT 4.2.3 - Bump minimal RT version to 4.2.3 0.52 2020-04-30 - Prioritize user submitted args before default values in field component - Add labels for radio and check inputs (Thanks Matt!) 0.51 2018-07-24 - Add enable_persisting argument to Form component - Fix form action on "/Example" by redirecting the page to "/Example/"