diff --git a/member-form.js b/member-form.js index d479ed91..fa37486a 100644 --- a/member-form.js +++ b/member-form.js @@ -137,16 +137,38 @@ return d; } - // Wire to a Google Form: set action + entry IDs (see MEMBERSHIP_FORM_SETUP). - var GOOGLE_FORM = { action: '', fields: {} }; + // Google Form (membership). "city"/"membership" are derived; "summary" holds everything. + var GOOGLE_FORM = { + action: 'https://docs.google.com/forms/d/e/1FAIpQLSeaNQr05ba9TpJUfMHkj_FExcc4DVCGor0GZvV0PMMNWsW7lg/formResponse', + fields: { + type: 'entry.206257317', + firstName: 'entry.1213078413', + lastName: 'entry.845432178', + email: 'entry.858040424', + phone: 'entry.1768532046', + city: 'entry.120922456', + university: 'entry.1976875358', + membership: 'entry.1099851320', + consent: 'entry.867370083', + summary: 'entry.627782554' + } + }; function sendToForm(d) { if (!GOOGLE_FORM.action) { console.log('[MSOS membership] not wired yet, payload:', d); return; } + var m = { + type: d.type || '', + firstName: d.firstName || '', + lastName: d.lastName || '', + email: d.email || '', + phone: d.phone || '', + city: d.connectCity || d.cityNow || '', + university: d.university || '', + membership: d.type === 'supporter' ? (d.support || '') : (d.intention || ''), + consent: (d.consentContact === 'yes' && d.consentPrivacy === 'yes') ? 'yes' : 'no', + summary: Object.keys(d).map(function (k) { return k + ': ' + d[k]; }).join('\n') + }; var params = new URLSearchParams(); - Object.keys(GOOGLE_FORM.fields).forEach(function (k) { if (d[k]) params.append(GOOGLE_FORM.fields[k], d[k]); }); - if (GOOGLE_FORM.fields.summary) { - var lines = Object.keys(d).map(function (k) { return k + ': ' + d[k]; }).join('\n'); - params.set(GOOGLE_FORM.fields.summary, lines); - } + Object.keys(GOOGLE_FORM.fields).forEach(function (k) { if (m[k]) params.append(GOOGLE_FORM.fields[k], m[k]); }); try { fetch(GOOGLE_FORM.action, { method: 'POST', mode: 'no-cors', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params.toString() }); } catch (e) { } }