Revision history for RT-Extension-ConditionalCustomFields

2.01 2025-11-26
 - Update test for RT 6 Attributes
 - Make it works for SelfService tickets
 - Redirect to AJAX Helper from SelfService
 - No need to check for pre RT 5 version, since this version of ConditionalCustomFields works with RT 6
 - Update to work with RT 6 and HTMX
 - Add AJAX Helper to dynamically get CF values for use with HTMX
 - Pass Grouping as argument to /Elements/ShowConditionalCustomFields
 - Remove obsolete callbacks in RT 6, now centralized to /Elements/EditCustomField/AfterCustomFieldValue
 - Move obsolete Callback to the one used by RT 6

1.17 2025-11-25
 - Update doc for deleted js tests
 - Update attributes first id according to RT versions
 - Delete javascript tests, phantomjs cannot cope with bootstrap.js
 - Fix _findGrouping for RT::Ticket or RT::Asset creation
 - Fix JS condition_is_met() with empty current value

1.16 2024-05-16
 - Fix errors on admin CF where there is no ContextObect

1.15 2024-05-13
 - Fix conflict with bootsrap collapse
 - Replace trigger() by triggerHandler() also for change events
 - Fix errors when user has no right on CFs but on queue

1.14 2023-11-09
 - Fix unneeded patches for RT up to 5.0.5.

1.13 2023-10-13
 - Do NOT Limit to Dropdown CF retriggering change on Condition CF after inline form has been made visible
 - No need to play with collapse
 - Detect visibility of inline form from form input rather than .ticket-info-cfs div which is not unique with multiple groupings
 - Process dynamically HTML Condition CF

1.12 2023-10-12
 - Fix Mason filters, should be not filtered, not html not js
 - Add some doc about sort order on cascaded CF
 - Limit to inline editing retriggering change on Dropdown Condition CF after inline form has been made visible
 - Fix bad variable name
 - Fix triggering show needed for cascaded CFs (wrongly deleted by commit #fcf12c1)

1.11 2023-10-11
 - Retrigger change on Dropdown Condition CF after bootstrap dropdown has made it visible
 - Retrigger change on Dropdown Condition CF after inline form has been made visible
 - Check whether condition is met for inline editing

1.10 2023-10-10
 - Really avoid JS error raised by bootstrap when triggering show on radio button (commit #62c0528 still raised error with chromium)
 - Update links to 5.0.4 RT docs
 - Process HTML Condition CF, only in a static way for now

1.09 2023-06-01
 - Add patch for RT 5.0.4
 - Update copyright year to 2023

1.08 2022-12-14
 - Update copyright date

1.07 2022-12-14
 - Update author's name

1.06 2022-12-12
 - Update selector to hide/show queues/article according to RT5 upgrades
 - Update computing selector to Combobox/Date/DateTime according to RT5 upgrades
 - Fix test that cascaded List child CF is hidden when parent conditioned is changed to failed
 - Fix event listeners for cascaded List child CF which shoul be on HTML container not on radio buttons
 - Avoid JS error raised by bootstrap when triggering show on radio button
 - Show bootstrap collapse box when CF is shown
 - Increase LWP timeout and add some sleeps to please phantomjs
 - Skip some tests since phantomjs randomly messes up with bootstrap
 - Add call to RT->Config->PostLoadCheck when changing CustomFieldGroupings to comply with update to 5.0.3
 - Fix jQuery selector
 - Update test to take into account builtin attributes according to RT version
 - Add patch for RT 5.0
 - Upgrade to RT 5.0.3
 - Update parsing of CustomFieldGroupings config option to comply with update to 5.0.3

1.05 2022-12-08
 - Add a second ticket in tests so ticket id is distinct from queue id
 - Fix checking whether condition cf is applied to current object

1.04 2019-12-19
 - Add SelfServiceCustomFieldGroupings configuration variable to allow cfs groupings in SelfService

1.03 2019-12-03
 - huggyb: When edit ignore cf grouping in selfservice
 - Fix #8 mandatory ConditionalCF: in creation, object is null Ticket, not Queue

1.02 2019-06-21
 - Replace non alphabetic chars by underscores in alternative_selector for chosen select CFs

1.01 2019-02-12
 - Add tests with condition on empty value
 - Add BoolanCustomField as eligible condition CF
 - Update number of unitary tests

1.00 2019-02-11
 - Update Changes for version 0.99

0.99 2019-02-11
 - Add ConditionalOp in ConditionedBy attribute
 - Add javascript function condition_is_met
 - Add setting of ConditionedBy operation and CF with anytype
 - Add ConditionedBy operation in Ajax return
 - Update show/edit to handle any ConditionedBy CF type
 - Upgrade version
 - Configure DevelMode for tests
 - Adapt tests for Select ConditionedBy CF and 'is' operation
 - Default ConditionedBy operation to 'is' (backward compatibility for ConditionedBy attribute)
 - Use jQuery.ajax with async=false instead of jQuery.getJSON (avoid unsync with phantomjs)
 - Fix deleting attribute
 - Fix default ConditionedBy operation to 'is'
 - Update admin_cfs tests
 - Fix storing attribute when only operation is changed
 - Update admin_cfs test: test storing every operation for ConditionFreeformSingle CF
 - Update admin_cfs test: test order with ConditionFreeformSingle as numbers
 - Update admin_cfs test: test storing every operation for ConditionFreeformMultiple CF
 - Make search insensitive for "matches"/"doesn't match" condition
 - Update admin_cfs test: test every operation for ConditionTextSingle and ConditionalWikitextSingle CFs
 - Update admin_cfs test: test every operation for ConditionImageSingle and ConditionalImageMultiple CFs
 - Update admin_cfs test: test every operation for ConditionBinarySingle and ConditionalBinaryMultiple CFs
 - Update admin_cfs test: test every operation for ConditionComboboxSingle CF
 - Update admin_cfs test: test every operation for ConditionAutocompleteSingle ans ConditionalAutocompleteMultiple CFs
 - Fix distinctive features between Date and DateTime CF
 - Fix conversion from Current User Timezone to UTC only for DateTime, not Date
 - Fix javascript variable 'res' undefined in scope where it was used
 - Update admin_cfs test: test every operation for ConditionDateSingle CF
 - Update admin_cfs test: test for ConditionDateTimeSingle with timezone shift
 - Normalize IpAddresses to sort them as strings
 - Update admin_cfs test: test for ConditionIPAddressSingle
 - Update admin_cfs test: test for ConditionIPAddressMultiple
 - Exclude IPAddressRange CFs from available Conditional CFs
 - Use RT::ObjectCustomFieldValue->ParseIP to canonicalize IPAdresses
 - Increase LWP timeout to please Selenium::Remote::Driver
 - Fix Binary/Image/textarea CF conditionned by
 - Add tests for Binary/Image/textarea CF conditionned by
 - Rename edit tests for select/is
 - Fix tests for adm Conbobox and Autocomplete
 - Rename display tests for select/is
 - Add tests for ticket display with Select condition and all operators
 - Move sorting values for 'between' operator to SetConditionedBy
 - Provide naturalSort as an alternative to Intl.Collator.compare to please phantomJS
 - Add tests for ticket display with Freeform condition and all operators
 - Make naturalSort case insensitive, as Intl.Collator.compare
 - Add tests for ticket display with Text condition and all operators
 - Add tests for ticket display with Wikitext condition and all operators
 - Add tests for ticket display with Image condition and all operators
 - Fix matches/doesn't match js processing (String.search returns -1 if not found)
 - Add tests for ticket display with Binary condition and all operators
 - Add tests for ticket display with Combobox condition and all operators
 - Add tests for ticket display with Autocomplete condition and all operators
 - Fix display of date without time for Date CF
 - Add tests for ticket display with Date condition and all operators
 - Fix user timezone for condition when checking whether condition is met for DateTime CF
 - Add tests for ticket display with DateTime condition and all operators
 - Fix sorting values for 'between' operator and IPAddress CFs
 - Add tests for ticket display with IPAddress condition and all operators
 - Fix assigning whole array for each elements
 - Move normalizing IpAddresses and DateTime to SetConditionedBy
 - Fix wrong variables names after factorization
 - Fix timezone for tests on datetime CF
 - Remove condition on IPAddressRange since this type is excluded
 - Rename variables to have more explicit names
 - Fix timezone for tests on admin datetime CFs
 - Fix CondionedBy to return DateTime CFs in local timezone
 - Add tests for IPv6 IPAddress CFs
 - Add javascript rewriting of RT::ObjectCustomFieldValue::ParseIP()
 - Use javascript ParseIP instead of converting IP to number
 - Add tests for javascript rewriting of RT::ObjectCustomFieldValue::ParseIP()
 - Replace js String.search(regex) by RegExp.test(string)
 - Add tests for ticket modify with Select condition and all operators
 - Add tests for ticket modify with Freeform condition and all operators
 - Fix jQuery selector for Text CF
 - Add tests for ticket modify with Text condition and all operators
 - Factorize js function get_selector()
 - Add tests for ticket modify with Wikitext condition and all operators
 - Factorize js get_cf_current_form_values()
 - Add tests for ticket modify with Image condition and all operators
 - Try to upload image with phantomJS/ghostdriver/Selenium
 - Do not use Selenium upload_file when phantomJS set file input locally
 - Add tests for dynamically editing 'chosen' select CF
 - Sync MANIFEST
 - Fix trim text value for existing current values of Image/Binary CF
 - Add tests for ticket modify with Binary condition and all operators
 - Use symbolic links for image tested
 - Add tests for ticket modify with Combobox condition and all operators
 - Add tests for ticket modify with Autocomplete condition and all operators
 - Add tests for ticket modify with Date condition and all operators
 - Add tests for ticket modify with DateTime condition and all operators
 - Add tests for ticket modify with IPAddress condition and all operators
 - Add isn't operator for Date and Datetime CFs
 - Add tests for isn't operator for Date and Datetime CFs
 - Backward compatibility for ConditionedBy attribute (without operator defined, default to 'is')
 - Add tests for backward compatibility for ConditionedBy attribute (without operator defined, default to 'is')
 - Add tests for editing all types of conditioned by CFs
 - Add tests for operation in initialdata
 - Update pod

0.16 2019-02-09
 - Fix check visibility of 'chosen' widget for Select CF
 - Add tests for 'chosen' select CF

0.15 2019-01-24
 - Fix textarea CF conditionned byFix textarea CF conditionned by
 - Add tests for textarea CF conditionned by

0.14 2019-01-22
 - Add tests for display of cascaded conditioned CFs
 - Add tests for edit of cascaded conditioned CFs
 - Really fix edit of cascaded conditioned CFs

0.13 2019-01-20
 - Fix Binary/Image CF conditionned by
 - Add tests for Binary/Image CF conditionned by
 - Fix edit of cascaded conditioned CFs by adding hide/show events
 - Fix display of cascaded conditioned CFs

0.12 2018-07-02
 - Fix editing with two conditions having the same value
 - Prevent Error Message

0.11 2018-06-12
 - Fix show conditioned CF when condition CF does not apply to current object

0.10 2018-05-29
 - Use MaxValues instead of deprecated Single suffix for tests on CFs
 - Fix test for ConditionedBy CF with pattern matching
 - Remove unnecessary array since _findGrouping returns a scalar value
 - Fix RT::CustomField::MatchPattern overriding to pass parameters to original method
 - Handle multivalued select for condition CF
 - Add tests for multivalued select for condition CF

0.09 2018-05-23
 - Allow validation (matching pattern) on ConditionedBy CF only when condition is fulfilled

0.08 2018-05-13
 - Fix editing by when condition CF and conditioned_by CF are not in the same CF grouping

0.07 2018-05-08
 - Extend condition to handle multiple values
 - Complete redesign of ConditionalCustomFields storage and API

0.06 2017-11-09
 - Upgrade Module::Install and cie
 - Add patch for RT 4.4.2 (no need anymore to add callback for Group Modify)
 - Rename patch 4.4 to 4.4.1
 - Fixed license meta name.
 - Fixed abstract in pod as suggested by CPANTS.

0.05 2017-03-31
 - Fix reload of Config, avoid duplicating plugins

0.04 2017-03-31
 - Test and submit form for admin CF with WWW:Mechanize::PhantomJS
 - Add AJAX handler to select values available for selected CF
 - Use CurrentUserHasRight instead of CurrentUserCanSee for RT 4.2 compatibility
 - Format pod

0.03 2017-03-29
 - Add some tests for assets with WWW:Mechanize::PhantomJS
 - Add some tests for articles with WWW:Mechanize::PhantomJS
 - Add Child tests for user summary
 - Add some tests for modifying queue with WWW:Mechanize::PhantomJS
 - Add some tests for user summary with WWW:Mechanize::PhantomJS
 - Add some tests for modifying user with WWW:Mechanize::PhantomJS
 - Remove bad copy/paste
 - Extend ConditionalCustomField to user displayed (via $UserSummaryExtraInfo)
 - Fix mispelled method
 - Add some tests for groups with WWW::Mechanize::PhantomJS
 - Add some tests for modifying tickets with WWW::Mechanize::PhantomJS
 - Remove unused params in call to RT::Attribute->Delete
 - Rename CF with name already taken
 - Remove unneeded undefs
 - Move tests from subdirectory
 - Add some tests for ticket with WWW::Mechanize::PhantomJS

0.02 2017-03-25
 - Add a linefeed to please PAUSE

0.01 2017-03-25
 - Initial commit
