tracker issue : CF-4198656

select a category, or use search below
(searches all categories and all time range)
Title:

Editing in CFGrid throws `The GRIDACTION parameter to the xyz function is required but was not passed in.`

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): John Whish / John Whish ()

Created: 05/11/2017

Components: AJAX, UI Components

Versions: 2016

Failure Type: Non Functioning

Found In Build/Fixed In Build: ACF 2016 Update 4 /

Priority/Frequency: Normal / Some users will encounter

Locale/System: / Linux

Vote Count: 4

Problem Description:

cfgrid with onchange calling a remote method in a cfc passes the data as a form post. This data is same in 2016 Update 3 as it is in 2016 Update 4, however in Update 4 it causes the error:

`The GRIDACTION parameter to the xyz function is required but was not passed in.`

Steps to Reproduce:

Run the attached example on ACF2016 Update 3 (works) install Update 4 and try again.

Actual Result:

Error

Expected Result:

For the data being passed as form.argumentCollection to be mapped correctly to the method arguments.

Any Workarounds:

Rollback to update 3 / Replace CFGRID (which we are planning to do anyway)

Attachments:

  1. May 11, 2017 00:00:00: _acf_update_4_bug.zip

Comments:

This a more general CF bug the POST version of argument collection is not being decoded into the function arguments, this works as expected for PUT this is a fundamental flaw and needs to be corrected ASAP
Vote by Doug C.
758 | May 15, 2017 08:01:12 AM GMT
This also happens with any JS calls done with `cfajaxproxy` where it does a POST to the remote method. Works in CF2016 Update 3, fails in CF2016 Update 4.
Comment by John W.
754 | May 16, 2017 08:31:08 AM GMT
Here is some simple code as a test example of the cfajaxproxy version of the issue. CFM FILE: <cfajaxproxy cfc="testCFajaxProxy" jsclassname="p" /> <script type="text/javascript"> function runTest() { var instance = new p(); instance.setHTTPMethod("POST"); var result = instance.testProxy('Test String'); alert(result); } </script> <input type="button" value="Try it!" onClick="javascript:runTest();" /> CFC FILE: <cfcomponent> <cffunction name="testProxy" access="remote" returntype="string" output="no"> <cfargument name="var1" type="string" required="true"> <cfset local.returnVar = arguments.var1 & ' testProxy function added some text. '> <cfreturn local.returnVar> </cffunction> </cfcomponent>
Comment by Matthew H.
755 | May 18, 2017 01:31:50 PM GMT
It appears that none of the parameter values from a cfgrid onchange event are being passed. {cfgridaction},{cfgridrow},{cfgridchanged}
Vote by K V.
759 | June 15, 2017 09:19:26 PM GMT
Had a notification that this bug's Reason Code has been changed to "Duplicate" Change Details: status updated from 'To Fix' to 'To Test' Reason Code updated from 'BugVerified' to 'Duplicate' Can I ask that when bugs in the tracker are flagged as "Duplicate" that the person who changes the status also adds a comment to say what it is duplicated by - otherwise we have no way of knowing if the issue has been fixed. Thank you!
Comment by John W.
756 | July 27, 2017 01:08:37 PM GMT
Duplicate bugs : CF-4198850,CF-4198589
Comment by Vamseekrishna N.
757 | July 27, 2017 02:01:56 PM GMT