/** * Process the creation of a new douche * @param sfWebRequest $request * @param sfForm $form */ protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $douche = $form->save(); $name = $douche->getTwitterScreenName(); } else { $params = $request->getParameter($form->getName()); $name = $params['twitter_screen_name']; $douche = DouchePeer::retrieveByTwitterScreenName($name); } if ($douche instanceof Douche && !$douche->isNew()) { $this->redirect('douche_view', $douche); } else { $this->getUser()->setFlash('error', "Yikes! Twitter either cut us off, or we couldn't find an account on twitter named " . $name . "... sorry :("); $this->redirect($request->getReferer()); } }