[census] instead of disallowing suspicious answers, mark them
This commit is contained in:
parent
0d65127eb4
commit
ca0eaa2056
|
@ -547,6 +547,7 @@ census:
|
||||||
- ['osobą niebinarną']
|
- ['osobą niebinarną']
|
||||||
- ['osobą cispłciową']
|
- ['osobą cispłciową']
|
||||||
- ['binarną osobą transpłciową']
|
- ['binarną osobą transpłciową']
|
||||||
|
# - ['nie wiem']
|
||||||
-
|
-
|
||||||
type: 'number'
|
type: 'number'
|
||||||
min: 1900
|
min: 1900
|
||||||
|
|
|
@ -966,7 +966,7 @@ census:
|
||||||
By uniknąć tendencyjności, <strong>kolejność propozycji jest losowa</strong>.
|
By uniknąć tendencyjności, <strong>kolejność propozycji jest losowa</strong>.
|
||||||
agree: >
|
agree: >
|
||||||
Wyrażam zgodę na przetwarzanie moich odpowiedzi
|
Wyrażam zgodę na przetwarzanie moich odpowiedzi
|
||||||
oraz na użycie zanonimizowanej wersji mojego adresu IP oraz fingerprintu przeglądarki
|
oraz na użycie mojego adresu IP oraz fingerprintu przeglądarki
|
||||||
do przeciwdziałania wandalizmom i spamowi.
|
do przeciwdziałania wandalizmom i spamowi.
|
||||||
Dane te nie są w stanie zidentyfikować żadnej osoby,
|
Dane te nie są w stanie zidentyfikować żadnej osoby,
|
||||||
zostaną użyte wyłącznie w celu zapewnienia unikalności odpowiedzi
|
zostaną użyte wyłącznie w celu zapewnienia unikalności odpowiedzi
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- Up
|
||||||
|
|
||||||
|
ALTER TABLE census ADD COLUMN ip TEXT NULL DEFAULT NULL;
|
||||||
|
ALTER TABLE census ADD COLUMN userAgent TEXT NULL DEFAULT NULL;
|
||||||
|
ALTER TABLE census ADD COLUMN acceptLanguage TEXT NULL DEFAULT NULL;
|
||||||
|
ALTER TABLE census ADD COLUMN suspicious INTEGER NOT NULL DEFAULT 0;
|
||||||
|
|
||||||
|
-- Down
|
|
@ -168,6 +168,11 @@
|
||||||
countResponses,
|
countResponses,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
if (process.client) {
|
||||||
|
this.finished = !!parseInt(window.localStorage.getItem('census-finished') || 0);
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
startSurvey() {
|
startSurvey() {
|
||||||
this.q = 0;
|
this.q = 0;
|
||||||
|
@ -224,6 +229,7 @@
|
||||||
writins: JSON.stringify(this.writins),
|
writins: JSON.stringify(this.writins),
|
||||||
});
|
});
|
||||||
this.finished = true;
|
this.finished = true;
|
||||||
|
window.localStorage.setItem('census-finished', '1');
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.$refs.questionform) {
|
if (this.$refs.questionform) {
|
||||||
|
|
|
@ -38,19 +38,21 @@ router.get('/census/finished', async (req, res) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post('/census/submit', async (req, res) => {
|
router.post('/census/submit', async (req, res) => {
|
||||||
if (await hasFinished(req)) {
|
const suspicious = await hasFinished(req);
|
||||||
return res.status(401).json({error: 'Unauthorised'});
|
|
||||||
}
|
|
||||||
|
|
||||||
const id = ulid();
|
const id = ulid();
|
||||||
await req.db.get(SQL`INSERT INTO census (id, locale, edition, userId, fingerprint, answers, writins) VALUES (
|
await req.db.get(SQL`INSERT INTO census (id, locale, edition, userId, fingerprint, answers, writins, ip, userAgent, acceptLanguage, suspicious) VALUES (
|
||||||
${id},
|
${id},
|
||||||
${req.config.locale},
|
${req.config.locale},
|
||||||
${req.config.census.edition},
|
${req.config.census.edition},
|
||||||
${req.user ? req.user.id : null},
|
${req.user ? req.user.id : null},
|
||||||
${buildFingerprint(req)},
|
${buildFingerprint(req)},
|
||||||
${req.body.answers},
|
${req.body.answers},
|
||||||
${req.body.writins}
|
${req.body.writins},
|
||||||
|
${req.ip},
|
||||||
|
${req.headers['user-agent']},
|
||||||
|
${req.headers['accept-language']},
|
||||||
|
${suspicious}
|
||||||
)`);
|
)`);
|
||||||
|
|
||||||
return res.json(id);
|
return res.json(id);
|
||||||
|
|
Reference in New Issue