Example #1
0
 def save(self, domain_override=None, email_template_name='registration/password_reset_email.html',
          use_https=False, token_generator=default_token_generator, from_email=None, request=None):
     """
     Generates a one-use only link for resetting password and sends to the user
     """
     for user in self.users_cache:
         password = int(random.random() * 100000)
         user.user.set_password(password)
         user.user.save(force_update=True)
         sms_object = sms()
         content = u'您的密码已变更为%s,现在您可以使用这个新密码登录!' % password
         sms_object.post_sms(u'找回密码', user.mobile, content)
Example #2
0
 def send_sms(self, request, queryset, *arg1, **arg2):
     sms_object = sms()
     for user_object in queryset:
         send_users = ''
         try:
             password = int(random.random() * 100000)
         except:
             password = 123456
         send_users = user_object.get_profile().mobile
         user_object.set_password(password)
         user_object.save()
         send_result = sms_object.post_sms(u'管理员重设密码短信', send_users, u'您的新密码是%s' % password)
         self.message_user(request, send_result)
Example #3
0
 def send_sms(self, request, queryset, *arg1, **arg2):
     """
     用于发送中奖短信
     """
     send_users = ''
     sms_object = sms()
     for sms_item in queryset:
         for user_object in sms_item.UserProfile.all():
             try:
                 send_users += user_object.mobile + ','
             except:
                 send_users += user_object.user.username + ','
         send_result = sms_object.post_sms(u'抽奖中奖通知短信', send_users, sms_item.sms_content)
         
         self.message_user(request, send_result)
Example #4
0
 def send_sms(self, request, queryset, *arg1, **arg2):
     send_users = ''
     sms_object = sms()
     errors = ''
     stat = 0
     for sms_item in queryset:
         for user_object in sms_item.sms_users.all():
             try:
                 send_users += user_object.get_profile().mobile + ','
             except Exception, e:
                 stat = 4
                 errors += e.message
                 
         for group_object in sms_item.sms_groups.all():
             for user_object in group_object.user_set.all():
                 try:
                     send_users += user_object.get_profile().mobile + ','
                 except Exception, e:
                     stat = 4
                     errors += e.message
Example #5
0
def signup(request, signup_form=SignupForm,
           template_name='userena/signup_form.html', success_url=None,
           extra_context=None):
    """
    Signup of an account.

    Signup requiring a username, email and password. After signup a user gets
    an email with an activation link used to activate their account. After
    successful signup redirects to ``success_url``.

    :param signup_form:
        Form that will be used to sign a user. Defaults to userena's
        :class:`SignupForm`.

    :param template_name:
        String containing the template name that will be used to display the
        signup form. Defaults to ``userena/signup_form.html``.

    :param success_url:
        String containing the URI which should be redirected to after a
        successfull signup. If not supplied will redirect to
        ``userena_signup_complete`` view.

    :param extra_context:
        Dictionary containing variables which are added to the template
        context. Defaults to a dictionary with a ``form`` key containing the
        ``signup_form``.

    **Context**

    ``form``
        Form supplied by ``signup_form``.

    """
    # If no usernames are wanted and the default form is used, fallback to the
    # default form that doesn't display to enter the username.
    if userena_settings.USERENA_WITHOUT_USERNAMES and (signup_form == SignupForm):
        signup_form = SignupFormOnlyEmail
        
    if userena_settings.USERENA_WITH_MOBILE and (signup_form == SignupForm):
        signup_form = SignupFormOnlyMobile

    form = signup_form()

    if request.method == 'POST':
        form = signup_form(request.POST, request.FILES)
        if form.is_valid():
            user = form.save(request)
            
            if success_url: redirect_to = success_url
            else: redirect_to = reverse('userena_signup_complete',
                                        kwargs={'username': user.username})

            # A new signed user should logout the old one.
            if request.user.is_authenticated():
                logout(request)
            """
            自动登录
            """
            user = authenticate(identification=user.email, check_password=False)
            login(request, user)
            sms_object = sms()
            content = u'您的初始密码是%s,您可以在『个人中心』中修改您的密码。畅享吃喝玩乐就在娱讯互动平台' % user.get_profile().mac
            sms_object.post_sms(u'注册发送初始密码', user.get_profile().mobile, content)
            request.session.set_expiry(userena_settings.USERENA_REMEMBER_ME_DAYS[1] * 86400)
            return redirect(redirect_to)

    if not extra_context: extra_context = dict()
    extra_context['form'] = form
    return direct_to_template(request,
                              template_name,
                              extra_context=extra_context)