Hi, Anyone give me any pointers? I'm stumped and not really sure where to look. Would really appreciate any help anyone could give, deadline is looming :-(
I have an embedded form that works fine for the 'new' action but when it gets called in edit then it throws an error, I've included the stack trace at the bottom of this. I've checked that the object for the form also has the embedded object and it is fine, the form renders fine until it gets the to echo $form['embedded'] bit when it throws this error. 500 | Internal Server Error | InvalidArgumentException You must pass an array of values to render a widget schema stack trace * at () in SF_ROOT_DIR/lib/vendor/symfony/lib/widget/ sfWidgetFormSchema.class.php line 536 ... 533. 534. if (!is_array($values) && !$values instanceof ArrayAccess) 535. { 536. throw new InvalidArgumentException('You must pass an array of values to render a widget schema'); 537. } 538. 539. $formFormat = $this->getFormFormatter(); * at sfWidgetFormSchema- >render('mscdb_storyteller[contact_details_id]', 1, array(), null) in SF_ROOT_DIR/lib/vendor/symfony/lib/widget/ sfWidgetFormSchemaDecorator.class.php line 61 ... 58. */ 59. public function render($name, $values = array(), $attributes = array(), $errors = array()) 60. { 61. return strtr($this->decorator, array('%content%' => $this->widget->render($name, $values, $attributes, $errors))); 62. } 63. 64. /** * at sfWidgetFormSchemaDecorator- >render('mscdb_storyteller[contact_details_id]', 1, array(), null) in SF_ROOT_DIR/lib/vendor/symfony/lib/widget/ sfWidgetFormSchema.class.php line 512 ... 509. $clone = clone $widget; 510. $clone->setIdFormat($this- >options['id_format']); 511. 512. return $clone->render($this- >generateName($name), $value, array_merge($clone->getAttributes(), $attributes), $errors); 513. } 514. 515. /** * at sfWidgetFormSchema->renderField('contact_details_id', 1, array(), null) in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php line 119 ... 116. { 117. if ($this->parent) 118. { 119. return $this->parent->getWidget()- >renderField($this->name, $this->value, $attributes, $this->error); 120. } 121. else 122. { * at sfFormField->render() in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php line 58 ... 55. { 56. try 57. { 58. return $this->render(); 59. } 60. catch (Exception $e) 61. { * at sfFormField->__toString() in SF_ROOT_DIR/apps/frontend/modules/teller/templates/_form.php line 59 ... 56. <th><?php echo $form['contact_details_id']- >renderLabel() ?></th> 57. <td> 58. <?php //echo $form['contact_details_id']- >renderError() ?> 59. <?php echo $form['contact_details_id'] ?> 60. </td> 61. </tr> 62. * at require('/mnt/Target01/338166/www.mostsignificantchange.com/ web/apps/frontend/modules/teller/templates/_form.php') in SF_ROOT_DIR/lib/vendor/symfony/lib/view/sfPHPView.class.php line 75 ... 72. 73. try 74. { 75. require($_sfFile); 76. } 77. catch (Exception $e) 78. { * at sfPHPView->renderFile('/mnt/Target01/338166/ www.mostsignificantchange.com/web/apps/frontend/modules/teller/templates/_form.php') in SF_ROOT_DIR/lib/vendor/symfony/lib/view/ sfPartialView.class.php line 110 ... 107. $this->getAttributeHolder()->set('sf_type', 'partial'); 108. 109. // render template 110. $retval = $this->renderFile($this- >getDirectory().'/'.$this->getTemplate()); 111. } 112. catch (Exception $e) 113. { * at sfPartialView->render() in SF_ROOT_DIR/lib/vendor/symfony/lib/helper/PartialHelper.php line 218 ... 215. $view = new $class($context, $moduleName, $actionName, ''); 216. $view->setPartialVars(true === sfConfig::get('sf_escaping_strategy') ? sfOutputEscaper::unescape($vars) : $vars); 217. 218. return $view->render(); 219. } 220. 221. /** * at get_partial('form', array('form' => object('MscdbStorytellerForm'))) in SF_ROOT_DIR/lib/vendor/symfony/lib/helper/PartialHelper.php line 180 ... 177. */ 178. function include_partial($templateName, $vars = array()) 179. { 180. echo get_partial($templateName, $vars); 181. } 182. 183. /** * at include_partial('form', array('form' => object('MscdbStorytellerForm'))) in SF_ROOT_DIR/apps/frontend/modules/teller/templates/ editSuccess.php line 3 ... 1. <h1>Edit Storyteller</h1> 2. 3. <?php include_partial('form', array('form' => $form)) ?> 4. * at require('/mnt/Target01/338166/www.mostsignificantchange.com/ web/apps/frontend/modules/teller/templates/editSuccess.php') in SF_ROOT_DIR/lib/vendor/symfony/lib/view/sfPHPView.class.php line 75 ... 72. 73. try 74. { 75. require($_sfFile); 76. } 77. catch (Exception $e) 78. { * at sfPHPView->renderFile('/mnt/Target01/338166/ www.mostsignificantchange.com/web/apps/frontend/modules/teller/templates/editSuccess.php') in SF_ROOT_DIR/lib/vendor/symfony/lib/view/sfPHPView.class.php line 185 ... 182. $this->attributeHolder->set('sf_type', 'action'); 183. 184. // render template file 185. $content = $this->renderFile($this- >getDirectory().'/'.$this->getTemplate()); 186. 187. if (sfConfig::get('sf_cache') && null !== $uri) 188. { * at sfPHPView->render() in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfExecutionFilter.class.php line 155 ... 152. break; 153. 154. case sfView::RENDER_CLIENT: 155. $viewData = $view->render(); 156. $this->context->getResponse()- >setContent($viewData); 157. break; 158. * at sfExecutionFilter->executeView('teller', 'edit', 'Success', array('MscdbProject' => object('MscdbProject'), 'form' => object('MscdbStorytellerForm'))) in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfExecutionFilter.class.php line 116 ... 113. return; 114. } 115. 116. $this->executeView($actionInstance- >getModuleName(), $actionInstance->getActionName(), $viewName, $actionInstance->getVarHolder()->getAll()); 117. } 118. 119. /** * at sfExecutionFilter->handleView(object('sfFilterChain'), object('tellerActions'), 'Success') in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfExecutionFilter.class.php line 47 ... 44. $timer->addTime(); 45. $timer = sfTimerManager::getTimer(sprintf('View "%s" for "%s/%s"', $viewName, $actionInstance->getModuleName(), $actionInstance->getActionName())); 46. 47. $this->handleView($filterChain, $actionInstance, $viewName); 48. 49. $timer->addTime(); 50. } * at sfExecutionFilter->execute(object('sfFilterChain')) in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfFilterChain.class.php line 53 ... 50. } 51. 52. // execute the next filter 53. $this->chain[$this->index]->execute($this); 54. } 55. } 56. * at sfFilterChain->execute() in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfBasicSecurityFilter.class.php line 72 ... 69. } 70. 71. // the user has access, continue 72. $filterChain->execute(); 73. } 74. 75. /** * at sfBasicSecurityFilter->execute(object('sfFilterChain')) in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfFilterChain.class.php line 53 ... 50. } 51. 52. // execute the next filter 53. $this->chain[$this->index]->execute($this); 54. } 55. } 56. * at sfFilterChain->execute() in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfRenderingFilter.class.php line 33 ... 30. public function execute($filterChain) 31. { 32. // execute next filter 33. $filterChain->execute(); 34. 35. // get response object 36. $response = $this->context->getResponse(); * at sfRenderingFilter->execute(object('sfFilterChain')) in SF_ROOT_DIR/lib/vendor/symfony/lib/filter/ sfFilterChain.class.php line 53 ... 50. } 51. 52. // execute the next filter 53. $this->chain[$this->index]->execute($this); 54. } 55. } 56. * at sfFilterChain->execute() in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/ sfController.class.php line 233 ... 230. } 231. 232. // process the filter chain 233. $filterChain->execute(); 234. } 235. else 236. { * at sfController->forward('teller', 'edit') in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/ sfFrontWebController.class.php line 48 ... 45. } 46. 47. // make the first request 48. $this->forward($moduleName, $actionName); 49. } 50. catch (sfException $e) 51. { * at sfFrontWebController->dispatch() in SF_ROOT_DIR/lib/vendor/symfony/lib/util/sfContext.class.php line 170 ... 167. */ 168. public function dispatch() 169. { 170. $this->getController()->dispatch(); 171. } 172. 173. /** * at sfContext->dispatch() in SF_ROOT_DIR/content/frontend_dev.php line 13 ... -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en