/**
  * guardAnswer
  *
  * @param Controller $controller controller(QuestionnaireAnswerController)
  * @param int $frameId frame id
  * @param int $questionnaireId questionnaire id
  * @return mixed
  * @throws NotFoundException
  */
 public function guardAnswer($controller, $frameId, $questionnaireId)
 {
     $Questionnaire = ClassRegistry::init('Questionnaire');
     // get conditions for finding specified Questionnaire
     $conditions = $Questionnaire->getConditionForAnswer($controller->viewVars['blockId'], $controller->Auth->user('id'), $controller->viewVars, $controller->getNowTime(), array('origin_id' => $questionnaireId));
     // get the specified questionnaire
     $questionnaire = $Questionnaire->find('first', array('conditions' => $conditions));
     if (!$questionnaire) {
         throw new NotFoundException(__d('questionnaires', 'Invalid questionnaire'));
     }
     // Guard Force URL hack
     if (!$this->__isAbleToAnswer($controller, $questionnaire)) {
         //throw new ForbiddenException(__d('net_commons', 'Permission denied'));
         return false;
     }
     /*
     if ($controller->request->params['action'] != 'pre_answer') {
     	if (!$this->isPreAnswer($controller, $questionnaire)) {
     		//$controller->redirect('pre_answer/' . $frameId . '/' . $questionnaireId);
     		return false;
     	}
     }
     */
     return $questionnaire;
 }