Download & Extend

"Disable form element" rule causes PHP fatal error on node preview

Project:Rules
Version:6.x-1.x-dev
Component:Forms Support
Category:bug report
Priority:normal
Assigned:Unassigned
Status:closed (fixed)

Issue Summary

Activate rules_forms on a node form, add an action to disable a form element, then create/edit a node of the relevant type and hit Preview:

Fatal error: Call to undefined function rules_forms_element_action_after_build() in /home/username/public_html/drupal-folder/includes/form.inc on line 925

Comments

#1

Same happens on hitting node Save.

Am using 6.x-1.x-dev of 2009-Aug-20.

#2

Oh, looks like a caching issue. Once there are #ahah elements in the form it gets cached, so in the main after_build stuff has to be included before moving on.

#3

Status:active» needs review

And here comes a patch:
I added a further after build handler that lives in the module file and does the necessary including.

AttachmentSizeStatusTest resultOperations
rules-557906.patch1.58 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch rules-557906.patch.View details

#4

Status:needs review» reviewed & tested by the community

Yep, that looks fine!

#5

Status:reviewed & tested by the community» fixed

and committed.

#6

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

#7

I´m sorry, I need to use this feature on a live site. Is it safe to use the dev version?
Because that error appeared to me too.

Sorry for thie naive question :)

Rosamunda

#8

Probably... there don't seem to have been that many "drastic" commits since 6.x-1.1 (http://drupal.org/project/cvs/190124) that will have potentially broken stuff so you should be OK. Try it on a test site first.

Or apply the patch at #3 to your existing version pending the next release.

#9

Thanks!

#10

Status:closed (fixed)» needs review

I upgraded to the latest 6.x dev version (2009-Dec-11) as per the advice in this thread to take care of the caching issue.

Now when i disable a form element, there's no error, but it completely erases the contents of the disabled field after i click 'Save'. There was the caching issue with the 6.x-1.1 version but this is a much worse problem.

Can anybody else replicate this? I can provide more details if needed.

#11

Status:needs review» needs work

The last submitted patch, rules-557906.patch, failed testing.

#12

Status:needs work» closed (fixed)

@nodecode: yep, I can confirm that, but this is a separate issue: #733558: Remove Action "Disable form element" because it erases field values

nobody click here