def updated(request): """View that users come to after submitting on the `existing` or `updated` pages. Optional query args: :param unsub: '1' means we are coming here after the user requested to unsubscribe all. We want to ask them why. '2' means we are coming back here after they submitted the form saying why they unsubscribed all. """ unsub = request.REQUEST.get('unsub', '0') try: unsub = int(unsub) except ValueError: unsub = 0 # Did they do an unsubscribe all? then unsub=1 was passed unsubscribed_all = unsub == UNSUB_UNSUBSCRIBED_ALL # Did they submit their reason? then unsub=2 was passed reasons_submitted = unsub == UNSUB_REASONS_SUBMITTED # Token might also have been passed (on remove_all only) token = request.REQUEST.get('token', None) # token must be a UUID if token is not None and not UUID_REGEX.match(token): token = None # Say thank you unless we're saying something more specific if not unsub: messages.add_message(request, messages.INFO, thank_you) if request.method == 'POST' and reasons_submitted and token: # Tell basket about their reasons reasons = [] # Paste together all the reasons that they submitted. Actually, # paste together the English versions of the reasons they submitted, # so we can read them. (Well, except for the free-form reason.) for i, reason in enumerate(REASONS): if 'reason%d' % i in request.REQUEST: reasons.append(unicode(reason)) if 'reason-text-p' in request.REQUEST: reasons.append(request.REQUEST.get('reason-text', '')) reason_text = "\n\n".join(reasons) + "\n\n" utils.custom_unsub_reason(token, reason_text) context = { 'unsubscribed_all': unsubscribed_all, 'reasons_submitted': reasons_submitted, 'token': token, 'reasons': enumerate(REASONS), } return l10n_utils.render(request, 'newsletter/updated.html', context)
def updated(request): """View that users come to after submitting on the `existing` or `updated` pages. Optional query args: :param unsub: '1' means we are coming here after the user requested to unsubscribe all. We want to ask them why. '2' means we are coming back here after they submitted the form saying why they unsubscribed all. """ unsub = _post_or_get(request, "unsub", "0") try: unsub = int(unsub) except ValueError: unsub = 0 # Did they do an unsubscribe all? then unsub=1 was passed unsubscribed_all = unsub == UNSUB_UNSUBSCRIBED_ALL # Did they submit their reason? then unsub=2 was passed reasons_submitted = unsub == UNSUB_REASONS_SUBMITTED # Token might also have been passed (on remove_all only) token = _post_or_get(request, "token", None) # token must be a UUID if token is not None and not UUID_REGEX.match(token): token = None # Say thank you unless we're saying something more specific if not unsub: messages.add_message(request, messages.INFO, thank_you) if request.method == "POST" and reasons_submitted and token: # Tell basket about their reasons reasons = [] # Paste together all the reasons that they submitted. Actually, # paste together the English versions of the reasons they submitted, # so we can read them. (Well, except for the free-form reason.) for i, reason in enumerate(REASONS): if _post_or_get(request, f"reason{i}"): reasons.append(str(reason)) if _post_or_get(request, "reason-text-p"): reasons.append(_post_or_get(request, "reason-text", "")) reason_text = "\n\n".join(reasons) + "\n\n" utils.custom_unsub_reason(token, reason_text) context = { "unsubscribed_all": unsubscribed_all, "reasons_submitted": reasons_submitted, "token": token, "reasons": enumerate(REASONS), } return l10n_utils.render(request, "newsletter/updated.html", context, ftl_files=FTL_FILES)
def updated(request): """View that users come to after submitting on the `existing` or `updated` pages. Optional query args: :param unsub: '1' means we are coming here after the user requested to unsubscribe all. We want to ask them why. '2' means we are coming back here after they submitted the form saying why they unsubscribed all. """ unsub = request.REQUEST.get('unsub', '0') try: unsub = int(unsub) except ValueError: unsub = 0 # Did they do an unsubscribe all? then unsub=1 was passed unsubscribed_all = unsub == UNSUB_UNSUBSCRIBED_ALL # Did they submit their reason? then unsub=2 was passed reasons_submitted = unsub == UNSUB_REASONS_SUBMITTED # Token might also have been passed (on remove_all only) token = request.REQUEST.get('token', None) # token must be a UUID if token is not None and not UUID_REGEX.match(token): token = None # Say thank you unless we're saying something more specific if not unsub: messages.add_message(request, messages.INFO, thank_you) if request.method == 'POST' and reasons_submitted and token: # Tell basket about their reasons reasons = [] # Paste together all the reasons that they submitted. Actually, # paste together the English versions of the reasons they submitted, # so we can read them. (Well, except for the free-form reason.) for i, reason in enumerate(REASONS): if 'reason%d' % i in request.REQUEST: reasons.append(unicode(reason)) if 'reason-text-p' in request.REQUEST: reasons.append(request.REQUEST.get('reason-text', '')) reason_text = "\n\n".join(reasons) + "\n\n" utils.custom_unsub_reason(token, reason_text) context = { 'unsubscribed_all': unsubscribed_all, 'reasons_submitted': reasons_submitted, 'token': token, 'reasons': enumerate(REASONS), } return l10n_utils.render(request, 'newsletter/updated.html', context)
def updated(request): """View that users come to after submitting on the `existing` or `updated` pages. Optional query args: :param unsub: '1' means we are coming here after the user requested to unsubscribe all. We want to ask them why. '2' means we are coming back here after they submitted the form saying why they unsubscribed all. """ unsub = request.REQUEST.get("unsub", "0") try: unsub = int(unsub) except ValueError: unsub = 0 # Did they do an unsubscribe all? then unsub=1 was passed unsubscribed_all = unsub == UNSUB_UNSUBSCRIBED_ALL # Did they submit their reason? then unsub=2 was passed reasons_submitted = unsub == UNSUB_REASONS_SUBMITTED # Token might also have been passed (on remove_all only) token = request.REQUEST.get("token", None) if request.method == "POST" and reasons_submitted and token: # Tell basket about their reasons reasons = [] # Paste together all the reasons that they submitted. Actually, # paste together the English versions of the reasons they submitted, # so we can read them. (Well, except for the free-form reason.) for i, reason in enumerate(REASONS): if "reason%d" % i in request.REQUEST: reasons.append(unicode(reason)) if "reason-text-p" in request.REQUEST: reasons.append(request.REQUEST.get("reason-text", "")) reason_text = "\n\n".join(reasons) + "\n\n" utils.custom_unsub_reason(token, reason_text) context = { "unsubscribed_all": unsubscribed_all, "reasons_submitted": reasons_submitted, "token": token, "reasons": enumerate(REASONS), } return l10n_utils.render(request, "newsletter/updated.html", context)