Well your code is not redunant until you use the same code in mutliple actions.
To make it reusable, you can make use of the options
parameter in the the form constructor and change the form as follows:
class NewsForm extends ... {
public function configure() {
//Whatever you do here
//....
// if a news is set we configure certain fields
if($news = $this->getOption('news', false)) {
$this->setWidget('thumbnail', new sfWidgetFormSelect(array('choices' => $news['images'])));
$this->setDefault('summarize', $news['summarize']);
$this->setDefault('title', $news['title']);
}
}
}
The you can create the form with:
$form = new NewsForm(array(), array('news' => $news));
Reference: sfForm - getOption