示例#1
0
 def account_data(self, test_value):
     """
     Returns a dict with test data for all the user/profile fields.
     """
     # User fields
     data = {"email": test_value + "@example.com"}
     for field in ("first_name", "last_name", "username",
                   "password1", "password2"):
         if field.startswith("password"):
             value = "x" * settings.ACCOUNTS_MIN_PASSWORD_LENGTH
         else:
             value = test_value
         data[field] = value
     # Profile fields
     try:
         profile_form = ProfileForm()
         ProfileFieldsForm = profile_form.get_profile_fields_form()
         for name, field in ProfileFieldsForm().fields.items():
             if name != "id":
                 if hasattr(field, "choices"):
                     value = list(field.choices)[0][0]
                 elif isinstance(field, (DateField, DateTimeField)):
                     value = "9001-04-20"
                 else:
                     value = test_value
                 data[name] = value
     except ProfileNotConfigured:
         pass
     return data
示例#2
0
def retail_signup(request, template="accounts/retail_signup.html"):
  form = ProfileForm(request.POST or None)
  if request.method == "POST" and form.is_valid():
    new_user = form.save()

    # Add to campaign monitor
    if bool(form.cleaned_data.get("optin")):
      cm_api = CampaignMonitorApi(settings.CM_API_KEY, settings.CM_CLIENT_ID)
      listid = settings.CM_RETAIL_LIST_ID
      custom_fields = {}
      #try:
      cm_api.subscriber_add(
          listid,
          form.cleaned_data.get("email"),
          form.cleaned_data.get("first_name") + ' ' + form.cleaned_data.get("last_name"),
          custom_fields=custom_fields)
      #except:
      #  pass

    if not new_user.is_active:
      send_verification_mail(request, new_user, "signup_verify")
      info(request, "A verification email has been sent with a link for activating your account.")
    else:
      info(request, "Successfully signed up")
      auth_login(request, new_user)
      return my_login_redirect(request)
  context = {"form": form, "title": "Customer Registration"}
  return render(request, template, context)
示例#3
0
 def account_data(self, test_value):
     """
     Returns a dict with test data for all the user/profile fields.
     """
     # User fields
     data = {"email": test_value + "@example.com"}
     for field in ("first_name", "last_name", "username",
                   "password1", "password2"):
         if field.startswith("password"):
             value = "x" * settings.ACCOUNTS_MIN_PASSWORD_LENGTH
         else:
             value = test_value
         data[field] = value
     # Profile fields
     try:
         profile_form = ProfileForm()
         ProfileFieldsForm = profile_form.get_profile_fields_form()
         for name, field in ProfileFieldsForm().fields.items():
             if name != "id":
                 if hasattr(field, "choices"):
                     value = list(field.choices)[0][0]
                 elif isinstance(field, (DateField, DateTimeField)):
                     value = "9001-04-20"
                 else:
                     value = test_value
                 data[name] = value
     except ProfileNotConfigured:
         pass
     return data
示例#4
0
def profile_update(request, template="accounts/account_profile_update.html"):
    """
    Profile update form.
    """
    form = ProfileForm(request.POST or None, instance=request.user)
    if request.method == "POST" and form.is_valid():
        user = form.save()
        info(request, _("Profile updated"))
        try:
            return redirect("profile", username=user.username)
        except NoReverseMatch:
            return redirect("profile_update")
    context = {"form": form, "title": _("Update Profile")}
    return render(request, template, context)
示例#5
0
文件: views.py 项目: a5an0/mezzanine
def signup(request, template="accounts/account_signup.html"):
    """
    Signup form.
    """
    form = ProfileForm(request.POST or None)
    if request.method == "POST" and form.is_valid():
        new_user = form.save()
        if not new_user.is_active:
            send_verification_mail(request, new_user, "signup_verify")
            info(request, _("A verification email has been sent with "
                            "a link for activating your account."))
        else:
            info(request, _("Successfully signed up"))
            auth_login(request, new_user)
            return login_redirect(request)
    context = {"form": form, "title": _("Signup")}
    return render(request, template, context)
示例#6
0
def wholesale_signup(request, template="accounts/wholesale_signup.html"):
  form = ProfileForm(request.POST or None)
  if request.method == "POST" and form.is_valid():
    new_user = form.save()
    g = Group.objects.get(name='Wholesale Customers')
    g.user_set.add(new_user)

    # Add to campaign monitor
    if bool(form.cleaned_data.get("optin")):
      cm_api = CampaignMonitorApi(settings.CM_API_KEY, settings.CM_CLIENT_ID)
      listid = settings.CM_WHOLESALE_LIST_ID

      usertype = ""
      if form.cleaned_data.get("user_type"):
        try:
          usertype = USER_TYPE_CHOICES[form.cleaned_data.get("user_type")]
        except:
          pass
      elif form.cleaned_data.get("user_type_other"):
        usertype = form.cleaned_data.get("user_type_other")

      custom_fields = {"CustomerType": usertype}
      try:
        cm_api.subscriber_add(
          listid,
          form.cleaned_data.get("email"),
          form.cleaned_data.get("first_name") + ' ' + form.cleaned_data.get("last_name"),
          custom_fields=custom_fields)
      except:
        pass

    if not new_user.is_active:
      send_verification_mail(request, new_user, "signup_verify")
      info(request, "A verification email has been sent with a link for activating your account.")
    else:
      info(request, "Successfully signed up")
      auth_login(request, new_user)
      send_registration_confirmation_email(request)
      return my_login_redirect(request, wholesale=True)
  context = {"form": form, "title": "Wholesale Customer Registration"}
  return render(request, template, context)