コード例 #1
0
ファイル: main.py プロジェクト: mausvt/flectra
    def survey_retry(self, survey_token, answer_token, **post):
        """ This route is called whenever the user has attempts left and hits the 'Retry' button
        after failing the survey."""
        access_data = self._get_access_data(survey_token,
                                            answer_token,
                                            ensure_token=True)
        if access_data['validity_code'] is not True:
            return self._redirect_with_error(access_data,
                                             access_data['validity_code'])

        survey_sudo, answer_sudo = access_data['survey_sudo'], access_data[
            'answer_sudo']
        if not answer_sudo:
            # attempts to 'retry' without having tried first
            return werkzeug.utils.redirect("/")

        try:
            retry_answer_sudo = survey_sudo._create_answer(
                user=request.env.user,
                partner=answer_sudo.partner_id,
                email=answer_sudo.email,
                invite_token=answer_sudo.invite_token,
                test_entry=answer_sudo.test_entry,
                **self._prepare_retry_additional_values(answer_sudo))
        except:
            return werkzeug.utils.redirect("/")
        return request.redirect(
            '/survey/start/%s?%s' %
            (survey_sudo.access_token,
             keep_query('*', answer_token=retry_answer_sudo.access_token)))
コード例 #2
0
ファイル: main.py プロジェクト: mausvt/flectra
 def survey_test(self, survey_token, **kwargs):
     """ Test mode for surveys: create a test answer, only for managers or officers
     testing their surveys """
     survey_sudo, dummy = self._fetch_from_access_token(survey_token, False)
     try:
         answer_sudo = survey_sudo._create_answer(user=request.env.user,
                                                  test_entry=True)
     except:
         return werkzeug.utils.redirect('/')
     return request.redirect(
         '/survey/start/%s?%s' %
         (survey_sudo.access_token,
          keep_query('*', answer_token=answer_sudo.access_token)))