public function executeUpdatedeadline(sfWebRequest $request)
 {
     $this->forward404Unless($this->getUser()->isAuthenticated());
     $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT));
     $auth_key = $this->getUser()->getApiAuthKey();
     $deadline_data = Api::getInstance()->setUser($auth_key)->get('subredditdeadline/' . $request->getParameter('id'), true);
     $deadline = ApiDoctrine::createObject('Deadline', $deadline_data['body']);
     if (!$deadline || !$deadline->getId()) {
         $deadline = new Deadline();
         $deadline->setSubredditId($request->getParameter('subreddit_id'));
     }
     $this->subreddit_id = $deadline->getSubredditId();
     $subreddit_data = Api::getInstance()->setUser($auth_key)->get('subreddit/' . $this->subreddit_id, true);
     $this->subreddit = ApiDoctrine::createQuickObject($subreddit_data['body']);
     $my_membership_data = Api::getInstance()->setUser($auth_key)->get('subredditmembership?sf_guard_user_id=' . $this->getUser()->getApiUserId() . '&subreddit_id=' . $this->subreddit_id, true);
     $my_membership = is_array($my_membership_data['body']) && array_key_exists(0, $my_membership_data['body']) ? ApiDoctrine::createQuickObject($my_membership_data['body'][0]) : null;
     $this->forward404Unless($my_membership instanceof ApiDoctrineQuick && in_array($my_membership->getMembership()->getType(), array('admin')));
     $this->form = new DeadlineForm($deadline);
     unset($this->form['subreddit_id']);
     $this->processDeadlineForm($request, $this->form);
     if ($deadline && $deadline->getIncremented()) {
         $this->setTemplate('edit_deadline');
     } else {
         $this->setTemplate('add_deadline');
     }
 }