コード例 #1
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():

            form.save()

            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password1'))

            if user:
                auth.login(request, user)
                messages.success(request, "You have successfully registered")
                return redirect(reverse('profile'))

            else:
                messages.error(request, "unable to log you in at this time!")

    else:
        today = datetime.date.today()
        form = UserRegistrationForm()

    args = {'form': form}
    args.update(csrf(request))

    return render(request, 'register.html', args)
コード例 #2
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password1'))

            if user:
                auth.login(request, user)
                messages.success(request, "You have successfully registered")
                return redirect(reverse('profile'))

            else:
                messages.error(request, "unable to log you in at this time!!!")
        else:
            return render(request, 'register.html', {'form': form})

    else:
        args = {}
        args.update(csrf(request))

        args['form'] = UserRegistrationForm()

        return render(request, 'register.html', args)
コード例 #3
0
ファイル: views.py プロジェクト: HawkEyeSL/YouthJobs
def register_user(request):
  if request.method == 'POST':
    form = UserRegistrationForm(request.POST)
    if form.is_valid():
      form.save()
      return HttpResponseRedirect('/register_success')

  args = {}
  args.update(csrf(request))

  args['form'] = UserRegistrationForm()

  return render_to_response('register.html', args)
コード例 #4
0
ファイル: views.py プロジェクト: spicywhitefish/fiora
def register(request):
    if request.method == 'POST':
        urf = UserRegistrationForm(request.POST)
        if(urf.is_valid()):
            urf.save()
            return redirect('home')
        else:
            print(urf.errors)
            context = RequestContext(request)
            context['urf'] = urf
            return render_to_response('register.html', context)
            
    else:
        return HttpResponseNotAllowed('POST requests only')
コード例 #5
0
ファイル: views.py プロジェクト: LeeGeonU/hive
def register_userinfo_page(request, key):
    if request.method != "POST" :
        return HttpResponseRedirect('/')
    else:
        userinfo_form = UserRegistrationForm(request.POST)
        
        if userinfo_form.is_valid():
            try:
                user = EmailActivation.objects.get(activation_key=key)
                
                userinfo_form.clean_username()
                userinfo_form.clean_password2()
                new_user = userinfo_form.save()
                
                # Enroll Email
                new_user.email = user.email
                
                if User.objects.all().count() is 1:
                    new_user.is_staff = True
                    new_user.is_superuser = True
                
                new_user.save()
                # Delete Activation Key 
                user.delete() 
                
                # Self-Following
                UserProfile.objects.create(user=new_user)
                Following.objects.create(followee=new_user,
                                         followee_str = new_user.username,
                                         follower=new_user,
                                         follower_str = new_user.username)
            except ObjectDoesNotExist:
                return HttpResponseRedirect('/')    
                        
        return HttpResponseRedirect('/')            
コード例 #6
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            # Create a new user object but avoid saving it yet
            new_user = form.save(commit=False)
            # Set the chosen password
            new_user.set_password(form.cleaned_data['password'])
            # Save the User object
            new_user.save()
            profile = Profile(user=new_user)
            profile.save()
            # 記錄系統事件
            if is_event_open(request):
                log = Log(user_id=new_user.id, event='註冊帳號成功')
                log.save()

            # create Message
            title = "請洽詢任課教師課程名稱及選課密碼"
            url = "/student/classroom/add"
            message = Message.create(title=title, url=url, time=timezone.now())
            message.save()

            # message for group member
            messagepoll = MessagePoll.create(message_id=message.id,
                                             reader_id=new_user.id)
            messagepoll.save()
            return render(request, 'account/register_done.html',
                          {'new_user': new_user})
    else:
        form = UserRegistrationForm()
    return render(request, 'account/register.html', {'form': form})
コード例 #7
0
ファイル: views.py プロジェクト: aregee/network-admin
def user_register(request, template_name="users/user_registration.html"):
    registration_form = UserRegistrationForm()
    if request.method == 'POST':
        registration_form = UserRegistrationForm(request.POST)
        if registration_form.is_valid():
            user = registration_form.save()
            # generate random activation code
            random.seed()
            code = random.getrandbits(128)
            activation = UserActivationCode(user=user, code=code)
            activation.save()
            
            code_url = reverse('user_activation', args=[code])
            activation_url = "http://%s%s" % (SITE_DOMAIN, code_url)
            send_mail(ACTIVATION_MAIL_SUBJECT,
                      ACTIVATION_MAIL_CONTENT % activation_url,
                      GAE_MAIL_ACCOUNT, [user.email])
            
            return direct_to_template(request,
                        "users/user_registration_confirm.html")
    extra_context = {
        'registration_form': registration_form
    }
    return direct_to_template(request, template_name,
                              extra_context=extra_context)
コード例 #8
0
def user_register(request, template_name="users/user_registration.html"):
    registration_form = UserRegistrationForm()
    if request.method == 'POST':
        registration_form = UserRegistrationForm(request.POST)
        if registration_form.is_valid():
            user = registration_form.save()
            # generate random activation code
            random.seed()
            code = random.getrandbits(128)
            activation = UserActivationCode(user=user, code=code)
            activation.save()
            
            code_url = reverse('user_activation', args=[code])
            activation_url = "http://%s%s" % (settings.SITE_DOMAIN, code_url)
            send_mail(ACTIVATION_MAIL_SUBJECT,
                      ACTIVATION_MAIL_CONTENT % activation_url,
                      settings.ACTIVATION_FROM_EMAIL, [user.email])
            
            return direct_to_template(request,
                        "users/user_registration_confirm.html")
    extra_context = {
        'registration_form': registration_form
    }
    return direct_to_template(request, template_name,
                              extra_context=extra_context)
コード例 #9
0
ファイル: views.py プロジェクト: jeankao/scratch_old
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            # Create a new user object but avoid saving it yet
            new_user = form.save(commit=False)
            # Set the chosen password                 
            new_user.set_password(
                form.cleaned_data['password'])
            # Save the User object
            new_user.save()
            profile = Profile(user=new_user)
            profile.save()
            # 記錄系統事件
            if is_event_open(request) :   
                log = Log(user_id=new_user.id, event='註冊帳號成功')
                log.save()                
        
            # create Message
            title = "請洽詢任課教師課程名稱及選課密碼"
            url = "/student/classroom/add"
            message = Message.create(title=title, url=url, time=timezone.now())
            message.save()                        
                    
            # message for group member
            messagepoll = MessagePoll.create(message_id = message.id,reader_id=new_user.id)
            messagepoll.save()               
            return render(request,
                          'account/register_done.html',
                          {'new_user': new_user})
    else:
        form = UserRegistrationForm()
    return render(request,
                  'account/register.html',
                  {'form': form})
コード例 #10
0
def register(request):
  is_post = request.method == 'POST'

  if is_post:
    form = UserRegistrationForm(request.POST)

    if form.is_valid():
      form.save()
      data = create_user_json(request)

      return HttpResponse(data, mimetype='application/json')

    return HttpResponse(status=401)

  args = {}
  args.update(csrf(request))
  args['form'] = UserRegistrationForm()

  return render_to_response('users/register.html', args)
コード例 #11
0
def register(request):
    is_post = request.method == 'POST'

    if is_post:
        form = UserRegistrationForm(request.POST)

        if form.is_valid():
            form.save()
            data = create_user_json(request)

            return HttpResponse(data, mimetype='application/json')

        return HttpResponse(status=401)

    args = {}
    args.update(csrf(request))
    args['form'] = UserRegistrationForm()

    return render_to_response('users/register.html', args)
コード例 #12
0
def registration_view(request):
    if request.method == 'POST':
        user_form = UserRegistrationForm(request.POST)
        userprofile_form = UserProfileRegistrationForm(request.POST)
        if user_form.is_valid() and userprofile_form.is_valid():
            user = user_form.save(commit=False)
            user.is_active = False
            new_profile = userprofile_form.save(commit=False)

            #attempt = try_user_sending(request, u'Невозможно завершить регистрацию', settings.STORAGE_CREATE_USER_HOST,
            #                           user=user)

            #if attempt:  # if something went wrong
            #    return attempt

            user.save()

            salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
            activation_key = hashlib.sha1(salt + user.email).hexdigest()
            new_profile.user = user
            new_profile.activation_key = activation_key
            activation_link = u'{}/accounts/confirm/{}'.format(request.get_host(), activation_key)
            email_subject = '[Томограф] Подтверждение регистрации'
            email_body = u"Приветствуем Вас на сайте Robo-Tom, {}!\n\
             Для активации аккаунта пройдите по следующей ссылке: {}".format(user.username, activation_link)

            try:
                send_mail(email_subject, email_body, '*****@*****.**',
                          [user.email], fail_silently=False)
            except BaseException as e:
                import traceback
                main_logger.error(traceback.print_exc()) 
                main_logger.error(e)  
                messages.warning(request,
                                 'Произошла ошибка при отправке письма о подтверждении регистрации. Попробуйте \
                                 зарегистрироваться повторно, указав корректный email')
            else:
                messages.success(request,
                                 'На указанный Вами адрес было отправлено письмо. Для завершения регистрации и \
                                 подтверждения адреса перейдите по ссылке, указанной в письме')
            new_profile.save()
            userprofile_form.save_m2m()
            return redirect(reverse('main:done'))
        else:
            return render(request, 'registration/registration_form.html', {
                'user_form': user_form,
                'userprofile_form': userprofile_form,
                'caption': 'Регистрация'
            })

    return render(request, 'registration/registration_form.html', {
        'user_form': UserRegistrationForm(),
        'userprofile_form': UserProfileRegistrationForm(),
        'caption': 'Регистрация'
    })
コード例 #13
0
ファイル: views.py プロジェクト: meerstein/rbtm
def registration_view(request):
    if request.method == 'POST':
        user_form = UserRegistrationForm(request.POST)
        userprofile_form = UserProfileRegistrationForm(request.POST)
        if user_form.is_valid() and userprofile_form.is_valid():
            user = user_form.save(commit=False)
            user.is_active = False
            new_profile = userprofile_form.save(commit=False)

            #attempt = try_user_sending(request, u'Невозможно завершить регистрацию', settings.STORAGE_CREATE_USER_HOST,
            #                           user=user)

            #if attempt:  # if something went wrong
            #    return attempt

            user.save()

            salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
            activation_key = hashlib.sha1(salt + user.email).hexdigest()
            new_profile.user = user
            new_profile.activation_key = activation_key
            activation_link = u'{}/accounts/confirm/{}'.format(request.get_host(), activation_key)
            email_subject = '[Томограф] Подтверждение регистрации'
            email_body = u"Приветствуем Вас на сайте Robo-Tom, {}!\n\
             Для активации аккаунта пройдите по следующей ссылке: {}".format(user.username, activation_link)

            try:
                send_mail(email_subject, email_body, '*****@*****.**',
                          [user.email], fail_silently=False)
            except BaseException as e:
                import traceback
                main_logger.error(traceback.print_exc()) 
                main_logger.error(e)  
                messages.warning(request,
                                 'Произошла ошибка при отправке письма о подтверждении регистрации. Попробуйте \
                                 зарегистрироваться повторно, указав корректный email')
            else:
                messages.success(request,
                                 'На указанный Вами адрес было отправлено письмо. Для завершения регистрации и \
                                 подтверждения адреса перейдите по ссылке, указанной в письме')
            new_profile.save()
            userprofile_form.save_m2m()
            return redirect(reverse('main:done'))
        else:
            return render(request, 'registration/registration_form.html', {
                'user_form': user_form,
                'userprofile_form': userprofile_form,
                'caption': 'Регистрация'
            })

    return render(request, 'registration/registration_form.html', {
        'user_form': UserRegistrationForm(),
        'userprofile_form': UserProfileRegistrationForm(),
        'caption': 'Регистрация'
    })
コード例 #14
0
ファイル: views.py プロジェクト: zb46392/npwaok_seminar
def registerUser(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            user = authenticate(username=form.cleaned_data['username'],
                password=form.cleaned_data['password1'])
            if form.cleaned_data['choice'] == 'advertiser':
                folderPath = ADVERTISERS_ROOT + 'user_' + str(user.id)
                advertisersGrp = Group.objects.get(name='Advertisers')
                advertisersGrp.user_set.add(user)
                advertisersGrp.save()
                user.is_staff = True
                user.save()
                os.mkdir(folderPath)

            login(request,user)
            return redirect(reverse('index'))
    else:
        form = UserRegistrationForm()
    return render(request, 'oglasnik/userRegistration.html', {'form': form})
コード例 #15
0
ファイル: views.py プロジェクト: fcharming/bookmark
def register(request):
    if request.method == "POST":
        user_form = UserRegistrationForm(request.POST)
        if user_form.is_valid():
            new_user = user_form.save(commit=False)
            new_user.set_password(user_form.cleaned_data['password'])
            new_user.save()
            profile = Profile.objects.create(user=new_user)
            create_action(new_user,'has created an account')
            return render(request,'account/register_done.html',{'new_user':new_user})
    else:
        user_form = UserRegistrationForm()
    return render(request,'account/register.html',{'user_form': user_form})
コード例 #16
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            # Check if user already exists in database
            if User.objects.filter(
                    email=request.POST.get('email').strip().lower()).exists():
                messages.error(
                    request,
                    'An account with this email address already exists. Please try to reset your password from the login page.'
                )
            else:
                form.save()

                user = auth.authenticate(
                    email=request.POST.get('email').lower(),
                    password=request.POST.get('password1'))

                if user:
                    messages.success(
                        request,
                        "You have successfully registered and been logged in.")
                    auth.login(request, user)
                    return redirect(
                        reverse('account', kwargs={'user_id': user.id}))
                else:
                    messages.error(request,
                                   'Something went wrong, please try again.')

    else:
        form = UserRegistrationForm()

    args = {'form': form}
    args.update(csrf(request))

    return render(request, 'accounts/register.html', args)
コード例 #17
0
ファイル: views.py プロジェクト: bxm156/ServicePad
def register(request, **kwargs):
    if request.POST:
        new_data = request.POST.copy()
        #Create form with user data

        account_type = int(new_data['form_type'])
        if account_type is UserProfile.ACCOUNT_VOLUNTEER:
            registration = UserRegistrationForm(new_data)
        elif account_type is UserProfile.ACCOUNT_ORGANIZATION:
            registration = OrganizationRegistrationForm(new_data)
        else:
            raise InvalidRegistrationRequest

        #Process data
        if registration.is_valid():
            #Create user
            new_user = registration.save()

            try:
                activation_key = get_object_or_404(ActivationKey,
                                                   user=new_user)
            except MultipleObjectsReturned:
                return render_to_response('confirm.djhtml', {'success': False})

            #Activation URL
            url = request.get_host() + "/register/confirm/%u/%s" % (
                new_user.id, activation_key.activation_key)
            #Send email
            send_email(new_user.username, "Activation Email", url)
            return render_to_response('register_thankyou.djhtml', {'url': url})
        else:
            context = RequestContext(request, {
                'errors': registration.errors,
                'form': registration
            })
            return render_to_response('register_manual.djhtml', context)

    #Show new form
    if kwargs['type'] == UserProfile.ACCOUNT_VOLUNTEER:
        registration = UserRegistrationForm()
    elif kwargs['type'] == UserProfile.ACCOUNT_ORGANIZATION:
        registration = OrganizationRegistrationForm()
    else:
        registration = UserRegistrationForm()
    context = RequestContext(request, {'form': registration})
    return render_to_response('register_manual.djhtml', context)
コード例 #18
0
ファイル: views.py プロジェクト: Apothys/ServicePad
def register(request,**kwargs):    
    if request.POST:
        new_data = request.POST.copy()
        #Create form with user data
        
        account_type = int(new_data['form_type'])
        if account_type is UserProfile.ACCOUNT_VOLUNTEER:
            registration = UserRegistrationForm(new_data)
        elif account_type is UserProfile.ACCOUNT_ORGANIZATION:
            registration = OrganizationRegistrationForm(new_data)
        else:
            raise InvalidRegistrationRequest
        
        #Process data
        if registration.is_valid():
            #Create user
            new_user = registration.save()
            
            try:
                activation_key = get_object_or_404(ActivationKey,user=new_user)
            except MultipleObjectsReturned:
                return render_to_response('confirm.djhtml',{'success':False})
            
            #Activation URL
            url = request.get_host() + "/register/confirm/%u/%s" % (new_user.id,activation_key.activation_key)
            #Send email
            send_email(new_user.username,"Activation Email",url)
            return render_to_response('register_thankyou.djhtml',{'url':url})
        else:
            context = RequestContext(request,
                                     {'errors':registration.errors,
                                     'form':registration})
            return render_to_response('register_manual.djhtml', context)
    
    #Show new form
    if kwargs['type'] == UserProfile.ACCOUNT_VOLUNTEER:
        registration = UserRegistrationForm()
    elif kwargs['type'] == UserProfile.ACCOUNT_ORGANIZATION:
        registration = OrganizationRegistrationForm()
    else:
        registration = UserRegistrationForm()
    context = RequestContext(request,
           {'form':registration}
    )
    return render_to_response('register_manual.djhtml', context)
コード例 #19
0
def userRegistration(request):
    
    if request.method == 'POST':
        
        form = UserRegistrationForm(request.POST)
        
        if form.is_valid():
            try:
                user = form.save()
                user.backend = 'django.contrib.auth.backends.ModelBackend'
                login(request, user)
                return HttpResponseRedirect("/tasks")
                
            except Exception as error:
                return HttpResponseRedirect('/?error='+str(error)[1:-1])
            return HttpResponseRedirect('/')
        return HttpResponseRedirect('/?error=invalid_input')
	return HttpResponse(403)
コード例 #20
0
ファイル: views.py プロジェクト: romantix74/Raduga
def register_view(request):
    args = {}
    args.update(csrf(request))
    #args['form'] = UserCreationForm()
    args['form'] = UserRegistrationForm()
    args['title'] = u'Форма регистрации'
    args['year'] = datetime.now().year

    if request.POST:
        #newuser_form = UserCreationForm(request.POST)
        newuser_form = UserRegistrationForm(request.POST)
        if newuser_form.is_valid():
            newuser_form.save()
            newuser = auth.authenticate(
                username=newuser_form.cleaned_data['username'],
                password=newuser_form.cleaned_data['password2'])
            # сразу залогиниваемся под только что созданным акком
            auth.login(request, newuser)
            # после создания логина , создадим соотвествующего Директора(Руководителя), к которому все привязано
            new_dir = Director()
            new_dir.user = auth.get_user(request)
            new_dir.date_change_dir = datetime.now()
            # после сохранения в базу , копируем адрес почты в таблицу Director
            new_dir.email = newuser_form.cleaned_data["email"]
            new_dir.save()
            messages.add_message(request, messages.SUCCESS,
                                 'Аккаунт создан успешно')

            #отправляем админам письмо о создании коллектива
            _mails_admin = User.objects.filter(is_superuser=1).values_list(
                'email', flat=True)
            for mail in _mails_admin:
                try:
                    send_mail('Subject here',
                              u'Зарегистрировался пользователь {0}'.format(
                                  new_dir.user),
                              '*****@*****.**', [mail],
                              fail_silently=False)
                except Exception as ex:
                    print ex.message

            # отправляем письмо самому юзеру об успешном создании логина и пароля
            message_for_user = u'Вы успешно зарегистрировались в личном кабинете Межданродного конкурса-фестиваля "Радуга-танца" \
                 г. Чебоксары. \n Ваши данные для входа: \n Логин: {0} \n Пароль: {1}  \n ссылка для входа в личный кабинет: http://cabinet.radugafest.com/login/'\
                 .format(newuser_form.cleaned_data['username'], newuser_form.cleaned_data['password2'])
            #_html_message = render_to_string('app/mail_after_registration.html', context)
            try:
                send_mail(
                    u'Вы успешно зарегистрировались на сайте radugafest.com',
                    message_for_user,
                    '*****@*****.**',
                    [newuser_form.cleaned_data['email']],
                    fail_silently=False,
                )
                #html_message= _html_message)
            except Exception as ex:
                print ex.message

            # после регистрации перенаправляем пользователя заполнять страницу профиля
            #return redirect(reverse('editDir'))   # пока отменили эту функцию
            return redirect('/')
        else:
            args['form'] = newuser_form
    return render_to_response('register.html', args)
コード例 #21
0
ファイル: views.py プロジェクト: vitaliyharchenko/sportcourts
def reg(request, token):
    if request.user.is_authenticated():
        return render(request, 'index.html')
    else:
        try:
            activation = Activation.objects.get(token=token)
        except Activation.DoesNotExist:
            raise Exception("Неверный код")
        if activation.status == activation.REGISTERED:
            return render(request, 'login.html')
        elif activation.status == activation.EMAIL_SENT:
            raise Exception("Сначала подтвердите емейл")
        context = dict()
        email = Activation.objects.get(token=token).email
        shortcut = lambda: render(request, 'reg.html', context)

        if 'code' in request.GET and not 'vkuserid' in request.POST:
            code = request.GET['code']
            try:
                access_token, user_id = vkontakte.auth_code(code, request.path)
            except vkontakte.AuthError as e:
                messages.warning(request, 'Ошибка авторизации')
                context['form'] = UserRegistrationForm(request.POST)
                return shortcut()
            if User.objects.filter(vkuserid=user_id).count() == 0:
                vkuser = vkontakte.api(access_token, 'users.get', fields=['sex', 'bdate', 'city',
                                                                          'photo_max', 'contacts'])[0]
                vkdata = dict()
                vkdata['vkuserid'] = user_id

                vkdata['first_name'] = vkuser['first_name']
                vkdata['last_name'] = vkuser['last_name']

                if 'mobile_phone' in vkuser:
                    vkdata['phone'] = vkuser['mobile_phone']
                elif 'home_phone' in vkuser:
                    vkdata['phone'] = vkuser['home_phone']
                else:
                    vkdata['phone'] = None

                if vkuser['sex']:
                    if vkuser['sex'] == 2:
                        vkdata['sex'] = 'm'
                    elif vkuser['sex'] == 1:
                        vkdata['sex'] = 'f'
                else:
                    vkdata['sex'] = None

                if 'bdate' in vkuser:
                    if len(vkuser['bdate']) >= 8:
                        vkdata['bdate'] = vkuser['bdate']
                    elif vkuser['bdate'] != '':
                        messages.warning(request, 'Неполная дата')
                        vkdata['bdate'] = vkuser['bdate']
                else:
                    vkdata['bdate'] = ''

                if 'photo_max' in vkuser:
                    url = vkuser['photo_max']
                    vkdata['avatar'] = url
                    context['avatar_url'] = url

                context['vkdata'] = vkdata
                context['vkuserid'] = user_id

                initial = {'email': email,
                           'sex': vkdata['sex'],
                           'first_name': vkdata['first_name'],
                           'last_name': vkdata['last_name'],
                           'phone': vkdata['phone'],
                           'bdate': vkdata['bdate'],
                           'vkuserid': user_id,
                           'avatar': vkdata['avatar']
                           }

                context['form'] = UserRegistrationForm(initial=initial)
                return shortcut()
            else:
                messages.warning(request, 'Такой пользователь уже зарегестрирован в системе')

        if request.method == 'POST':
            form = UserRegistrationForm(request.POST)
            if form.is_valid():
                print form.cleaned_data
                user = form.save(commit=False)
                user.set_password(user.password)
                activation = Activation.objects.get(email=user.email)
                activation.status = activation.REGISTERED
                activation.save()
                user.save()
                newuser = auth.authenticate(username=form.cleaned_data['email'], password=form.cleaned_data['password'])
                auth.login(request, newuser)
                return redirect('index')
            else:
                context['form'] = form
                messages.success(request, "Form is not valid!")
                return shortcut()
        context['form'] = UserRegistrationForm(initial={'email': email})
        return shortcut()