def save(self, commit=True): email = self.cleaned_data["email"] if user_exists(email): # A 'User Seed' existing for this email address. user = get_user(email) user.set_password(self.cleaned_data["password1"]) seed_group = Group.objects.get(name=SEED_GROUP) user.groups.remove(seed_group) else: user = super(NewUserForm, self).save(commit=False) user.first_name = self.cleaned_data["first_name"] user.last_name = self.cleaned_data["last_name"] if commit: user.save() mailingLists = [] if self.cleaned_data["subscribe_announce"]: mailingLists.append("Announcements_General") mailingLists.append("Signed_Up_on_Sefaria") if self.cleaned_data["subscribe_educator"]: mailingLists.append("Announcements_Edu") if mailingLists: try: subscribe_to_list(mailingLists, user.email, first_name=user.first_name, last_name=user.last_name) except: pass return user
def save(self, commit=True): email = self.cleaned_data["email"] if user_exists(email): # A 'User Seed' existing for this email address. user = get_user(email) user.set_password(self.cleaned_data["password1"]) seed_group = Group.objects.get(name=SEED_GROUP) user.groups.remove(seed_group) else: user = super(SefariaNewUserForm, self).save(commit=False) user.first_name = self.cleaned_data["first_name"] user.last_name = self.cleaned_data["last_name"] if commit: user.save() mailingLists = [] language = get_language() list_name = "Announcements_General_Hebrew" if language == "he" else "Announcements_General" mailingLists.append(list_name) if self.cleaned_data["subscribe_educator"]: list_name = "Announcements_Edu_Hebrew" if language == "he" else "Announcements_Edu" mailingLists.append(list_name) if mailingLists: mailingLists.append("Signed_Up_on_Sefaria") try: subscribe_to_list(mailingLists, user.email, first_name=user.first_name, last_name=user.last_name) except: pass return user
def subscribe(request, email): """ API for subscribg is mailing lists, in `lists` url param. Currently active lists are: "Announcements_General", "Announcements_General_Hebrew", "Announcements_Edu", "Announcements_Edu_Hebrew" """ lists = request.GET.get("lists", "") lists = lists.split("|") if len(lists) == 0: return jsonResponse({"error": "Please specifiy a list."}) if subscribe_to_list(lists + ["Newsletter_Sign_Up"], email, direct_sign_up=True): return jsonResponse({"status": "ok"}) else: return jsonResponse({"error": _("Sorry, there was an error.")})
def subscribe_educators(request, email): if subscribe_to_list(["Announcements_General", "Announcements_Edu"], email, direct_sign_up=True): return jsonResponse({"status": "ok"}) else: return jsonResponse({"error": "Sorry, there was an error."})