liquid_feedback_frontend

view app/main/survey/_action/participate.lua @ 1735:5a8a09119865

Added survey feature
author bsw
date Fri Oct 08 00:09:23 2021 +0200 (2021-10-08)
parents
children 2d4136357989
line source
1 local skip_survey = param.get("skip_survey")
3 local survey = Survey:get_open()
5 local survey_member = SurveyMember:by_pk(survey.id, app.session.member_id)
7 if survey_member and not skip_survey then
8 return true
9 end
11 local secret_length = 24
12 local secret_alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
13 local secret_purposes = { "oauth", "_other" }
14 for idx, purpose in ipairs(secret_purposes) do
15 secret_purposes[purpose] = idx
16 end
18 local function random_string(length_multiplier)
19 return multirand.string(
20 secret_length * (length_multiplier or 1),
21 secret_alphabet
22 )
23 end
25 if not survey_member then
26 survey_member = SurveyMember:new()
27 survey_member.survey_id = survey.id
28 survey_member.member_id = app.session.member_id
29 end
31 if skip_survey then
32 local answer_set = survey_member.answer_set
33 if answer_set then
34 survey_member.survey_answer_set_ident = nil
35 survey_member:save()
36 answer_set:destroy()
37 end
38 survey_member.rejected = 'now'
39 else
40 local answer_set = SurveyAnswerSet:new()
41 answer_set.ident = random_string()
42 answer_set.survey_id = survey.id
43 answer_set:save()
44 survey_member.survey_answer_set_ident = answer_set.ident
45 end
47 survey_member:save()
49 if skip_survey then
50 return "skip_survey"
51 end
53 return true

Impressum / About Us