示例#1
0
def user_register(request):

    device = TrackCommunicator(internal_id='amrita', longitude='34.19', latitude='45.34')
    device.save()
    if request.method == 'POST':
        user_register_form = UserRegisterForm(request.POST)
        valid_user_form = user_register_form.is_valid()
        if valid_user_form:
            form_data = user_register_form.save(commit=False)
            form_data.internal_id = get_object_or_404(TrackCommunicator, internal_id='amrita')
            cleaned_user_form_data = user_register_form.cleaned_data
            cleaned_userid = cleaned_user_form_data['user_id']
            request.session['loggedInside'] = True
            request.session['user_id'] = cleaned_userid
            user_register_form.save()
            return HttpResponseRedirect("/crisis/")
        else:
            return render_to_response('general/register.html',{'register_form':UserRegisterForm(), 'error':'You have an error'}, RequestContext(request))

    else:
        initial = {
            'user_id':str(request.GET['user_id']),
            'name':str(request.GET['name']),
        }
        return render_to_response('general/register.html',{'register_form':UserRegisterForm(initial)},RequestContext(request))
示例#2
0
def register(request):
    redirect_to = request.REQUEST.get('next', '')
    if request.method == 'POST':        
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            if form.cleaned_data['password'] == form.cleaned_data['confirm_password']:
                try:
                    new_user = User.objects.create_user(username=form.cleaned_data['username'], 
                                                        email=form.cleaned_data['username'], 
                                                        password=form.cleaned_data['password'], 
                                                        )
                    
                except Exception as e:
                    return HttpResponse(str(e))
                Privacy.objects.create(user=new_user)
                Profile.objects.create(user=new_user, real_name=form.cleaned_data['realname'])
                user = authenticate(username=request.POST['username'], password=request.POST['password'])
                if user is not None:
                    auth_login(request, user)
                if not redirect_to or ' ' in redirect_to:
                    redirect_to = '/person/settings'
                return redirect(redirect_to)
            form.errors["password"] = "******"
        form.errors["all"] = "form not valid"
    else:
        form = UserRegisterForm()
    return render_to_response('accounts/register.html', {'form': form,
                                                         'next': redirect_to}, 
                              context_instance=RequestContext(request))
示例#3
0
def register():
    """This function add new user.
    
    It can be accessed using two http methods. If the method is GET it ruturns
    the user registration form else it adds the user to database.
    """

    if not is_authenticated() or not is_admin():
        return redirect(url_for('login'))
        
    form = UserRegisterForm()
    if request.method == "GET":
        return render_template("admin/register.html", form = form)
    else:
        if form.validate():
            if not email_is_unique(UserModel, form.email.data, "add"):
                flash("email already taken", category="emailNotUnique")
                return render_template("admin/register.html", form = form)
            else: 
                user = UserModel(form.name.data, form.address.data, 
                    form.email.data.lower(), form.password.data)
                db.session.add(user)
                db.session.commit()
                flash("User Created", category="addSuccess")
                return redirect(url_for('register'))
        else:
            return render_template("admin/register.html", form = form)
示例#4
0
def register():
    """Handle user signup.
    Create new user and add to DB. Redirect to home page.
    If form not valid, present form.
    If the there already is a user with that username: flash message
    and re-present form.
    """

    # Get our register form from forms.py
    form = UserRegisterForm()

    if form.validate_on_submit():

        # Did the user confirm their password upon registering?
        if form.password.data != form.password2.data:
            flash('The confirmed password is incorrect.', 'error')
            return redirect('/register')

        # There should be no duplicate usernames.
        try:
            user = User.signup(username=form.username.data,
                               email=form.email.data,
                               password=form.password.data)
            db.session.commit()

        except IntegrityError:
            flash("Username already taken.", 'error')
            return render_template('users/register.html', form=form)

        # Upon successful user register, add new user to session and redirect to home page ('index.html').
        do_login(user)
        return redirect("/")
    else:
        return render_template('users/register.html', form=form)
示例#5
0
def register():
    form = UserRegisterForm()
    if form.validate_on_submit():
        # If user email already exists
        if User.query.filter_by(email=form.email.data).first():
            print(User.query.filter_by(email=form.email.data).first())
            # user already exists
            flash("You've already signed up with that email, log in instead!")
            return redirect(url_for('login'))

        hash_and_salted_password = generate_password_hash(
            password=form.password.data, method='pbkdf2:sha256', salt_length=8)

        # Create a new_user object
        new_user = User(name=form.name.data,
                        email=form.email.data,
                        password=hash_and_salted_password)

        # Add new user to db
        db.session.add(new_user)
        db.session.commit()

        login_user(new_user)
        return redirect(url_for('get_all_posts'))

    return render_template("register.html",
                           form=form,
                           current_user=current_user)
示例#6
0
def register_user():
    form = UserRegisterForm()

    if form.validate_on_submit():
        first_name = form.first_name.data
        last_name = form.last_name.data
        email = form.email.data
        username = form.username.data
        password = form.password.data

        new_user = User.register(first_name, last_name, email, username,
                                 password)

        db.session.add(new_user)
        try:
            db.session.commit()
            session["username"] = new_user.username
            flash("Account created", "success")

            return redirect(f"/users/{new_user.username}")
        except IntegrityError:
            form.username.errors.append(
                "Username already taken. Please choose another.")
            return render_template("register.html", form=form)

    return render_template("register.html", form=form)
示例#7
0
def UserRegistration(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            send_mail('Success', 'You have registered successfully!', '*****@*****.**', [ request.POST['email']])
            return HttpResponseRedirect("/signin/")
        return render_to_response("register.html", {'form': form, }, RequestContext(request))
    else:
        form = UserRegisterForm()
        return  render_to_response("register.html", {'form': form, }, RequestContext(request))
示例#8
0
 def post(self):
     """create user"""
     form = UserRegisterForm(data=request.get_json())
     if form.validate():
         user_service = service.UserService()
         try:
             u = user_service.create(form)
             return success({'user_info': u}, code=201)
         except Exception as ex:
             return fail({'message': ex.message}, code=400)
     else:
         return fail({'errors': form.errors}, code=400)
示例#9
0
文件: views.py 项目: ssssergey/Feniks
def register_view(request, template_name="registration/register.html"):
    page_title = u'Регистрация'
    form = UserRegisterForm(request.POST or None)
    if form.is_valid():
        user = form.save(commit=False)
        password = form.cleaned_data.get('password')
        user.set_password(password)
        user.save()
        new_user = authenticate(username=user.username, password=password)
        login(request, new_user)
        return redirect('/')
    context = {'form': form, 'title': page_title}
    return render(request, "registration/register.html", context)
示例#10
0
文件: views.py 项目: huy8989/huy
def register(request):
    #注册提交
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        print(form.is_valid())
        if form.is_valid():
            new_user = User.objects.create_user(request.POST['username'], request.POST['email'], request.POST['password'])
            new_user.save()
            return render(request,'index.htm')
        else:
            return render(request,'register.htm', {'form':form})
    #超链接点击过来的注册
    else:
        return render(request,'register.htm')
示例#11
0
def register():
    if not app.config["CAN_REGISTER"]:
        abort(403)
    form = UserRegisterForm()
    if form.validate_on_submit():
        u = User()
        pm = bMan()
        form.populate_obj(u)
        u.password = pm.encode(form.password.data)
        db.session.add(u)
        db.session.commit()
        flash("New user %s registered" % (form.username.data), category="info")
        return redirect(url_for("login"))
    return render_template("register.html", form=form, title="Register")
示例#12
0
def user_register(request):

    device = TrackCommunicator(internal_id='amrita',
                               longitude='34.19',
                               latitude='45.34')
    device.save()
    if request.method == 'POST':
        user_register_form = UserRegisterForm(request.POST)
        valid_user_form = user_register_form.is_valid()
        if valid_user_form:
            form_data = user_register_form.save(commit=False)
            form_data.internal_id = get_object_or_404(TrackCommunicator,
                                                      internal_id='amrita')
            cleaned_user_form_data = user_register_form.cleaned_data
            cleaned_userid = cleaned_user_form_data['user_id']
            request.session['loggedInside'] = True
            request.session['user_id'] = cleaned_userid
            user_register_form.save()
            return HttpResponseRedirect("/crisis/")
        else:
            return render_to_response(
                'general/register.html', {
                    'register_form': UserRegisterForm(),
                    'error': 'Invalid Username/UserID'
                }, RequestContext(request))

    else:
        initial = {
            'user_id': str(request.GET['user_id']),
            'name': str(request.GET['name']),
        }
        return render_to_response('general/register.html',
                                  {'register_form': UserRegisterForm(initial)},
                                  RequestContext(request))
示例#13
0
def register():
    if not app.config['CAN_REGISTER']:
        abort(403)
    form = UserRegisterForm()
    if form.validate_on_submit():
        u = User()
        pm = bMan()
        form.populate_obj(u)
        u.password = pm.encode(form.password.data)
        db.session.add(u)
        db.session.commit()
        flash('New user %s registered' % (form.username.data), category='info')
        return redirect(url_for('login'))
    return render_template('register.html', form=form, title='Register')
示例#14
0
def register(person):
    """
        register specified user
    """
    form = UserRegisterForm()
    name = form.name.data
    surname = form.surname.data
    username = form.username.data
    password = form.password.data

    db_link = get_db()
    cur = db_link.execute('SELECT * FROM Osoba WHERE email = ?', [username])
    if cur.fetchone():
        flash("uzytkownik z tym emailem juz istnieje")
        return redirect(url_for('register', person=person))

    salt = os.urandom(4).encode('hex')
    pass_hash = hashlib.sha256(password + salt).hexdigest()

    db_link.execute('insert into Osoba values (?, ?, ?, ?, ?);',
                    [name, surname, username, salt, pass_hash])

    table_map = {
        'player': 'Zawodnik',
        'referee': 'Sedzia',
        'admin': 'ZarzadcaLigi',
        'coach': 'Trener'
    }
    table_name = table_map[person]

    db_link.execute(
        'insert into {table} (\'email\') values (?)'.format(table=table_name),
        [username])
    db_link.commit()
    return redirect(url_for('login_form'))
示例#15
0
def register_user():
    form = UserRegisterForm()
    if form.validate_on_submit():
        try:
            data = {k: v for k, v in form.data.items() if k != "csrf_token"}
            new_user = User.register(User(**data))
            User.save(new_user)
        except IntegrityError:
            form.username.errors.append('Username taken. Please pick another')
            return render_template("register.html", form=form)

        do_login(new_user)
        flash("Welcome! Successfully Created Your Account!", "success")
        return redirect(f'/users/{new_user.id}/calendar')
    else:

        return render_template('register.html', form=form)
示例#16
0
def register():
    if not app.config['CAN_REGISTER']:
        abort(403)
    form = UserRegisterForm()
    if form.validate_on_submit():
        u = User()
        pm = bMan()
        form.populate_obj(u)
        u.password = pm.encode(form.password.data)
        db.session.add(u)
        db.session.commit()
        flash('New user %s registered' % (form.username.data), category='info')
        return redirect(url_for('login'))
    return render_template('account/register.html',
                           form=form,
                           title='Register',
                           )
示例#17
0
def register(request):
    if request.method == 'POST' and request.POST:
        form = UserRegisterForm(request.POST)
        if User.objects.filter(email=request.POST['email_address']).count() != 0:
            form.errors['email_address']=['That email is already registered on this database.']
        if len(request.POST['password'])<8:
            form.errors['password']=['Password must be 8 or more characters long.']
        else:
            # Custom error checking ok
            if form.is_valid():
                #do valid stuff
                new_user = User()
                new_user.first_name = form.cleaned_data['first_name']
                new_user.last_name = form.cleaned_data['last_name']
                new_user.email = form.cleaned_data['email_address']
                new_user.set_password(form.cleaned_data['password'])
                new_user.username = base64.b64encode(new_user.email)
                new_user.save()
                user = authenticate(username=new_user.username, password=form.cleaned_data['password'])
                del form.cleaned_data['password']
                dj_login(request, user)
                return redirect('/')
            else:
                pass
    else:
        form = UserRegisterForm()
    return render(request,'frontend_register.html', {'form': form})
示例#18
0
def user_register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)

        if not form.is_valid():
            return render(request, 'sign_up_or_login.html', {
                'form': form,
            })
        else:
            data = form.cleaned_data
            del data['confirm_password']
            User.objects.create_user(**data)
            return HttpResponseRedirect(reverse('users:login'))
    else:
        form = UserRegisterForm()
        return render(request, 'sign_up_or_login.html', {
            'form': form,
        })
示例#19
0
def user_register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)

        if not form.is_valid():
            return render(request, 'sign_up_or_login.html', {
                'form': form,
            })
        else:
            data = form.cleaned_data
            del data['confirm_password']
            User.objects.create_user(**data)
            return HttpResponseRedirect(reverse('users:login'))
    else:
        form = UserRegisterForm()
        return render(request, 'sign_up_or_login.html', {
            'form': form,
        })
示例#20
0
def register():
    form = UserRegisterForm()
    if form.validate_on_submit():
        if User.query.filter_by(email=form.email.data).first() is None:
            hashed_password = generate_password_hash(form.password.data,
                                                     "pbkdf2:sha256", 10)
            new_user = User(username=form.username.data,
                            password=hashed_password,
                            email=form.email.data)
            db.session.add(new_user)
            db.session.commit()
            login_user(new_user)
            return redirect(url_for("get_all_posts"))
        else:
            flash("You have already registered. Log in instead!")
            return redirect(url_for("login"))
    return render_template("register.html",
                           form=form,
                           current_user=current_user)
示例#21
0
文件: views.py 项目: hoodsy/UI
def register(request):
	"""
	Register new user with keystone; called from login page
	Needs error checking
	"""
	if request.method == "POST":
		form = UserRegisterForm(request.POST)
		if form.is_valid():
			request.session['username'] = form.cleaned_data['userName']
           	     	request.session['password'] = form.cleaned_data['userPwd']
               		email = form.cleaned_data['userEmail']
			# Work around - login as admin keystone client for user creation
			# then logged into new user from projects page arrival
			api.joinTenant('admin', 'admin', 'demo')
			# register user with keystone
			api.registerUser(request.session['username'], request.session['password'], email)	
			# login as new user
			#api.login(request.session['username'], request.session['password'])
	return HttpResponseRedirect('/projects/')
示例#22
0
def register_page(request):
    form = UserRegisterForm(data=request.POST or None)
    acc_form = AccRegisterForm(data=request.POST or None)
    errors = []
    if request.method == 'POST':
        if form.is_valid() == True and acc_form.is_valid() == True:
            form.instance.set_password(form.cleaned_data['password'])
            form.save()
            acc_form.instance.user = form.instance
            acc_form.save()
            user = authenticate(username=form.instance.username,
                                password=form.cleaned_data['password'])
            login(request, user)
            return redirect('/')
    return render(request, "authentication/register.html", {
        'form': form,
        'acc_form' : acc_form,
        'errors': errors
    })
def register_user():
    form = UserRegisterForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        user = User.register(username, password, email, first_name, last_name)

        db.session.add(user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append('Username taken.  Please pick another')
            return render_template('register.html', form=form)
        session['username'] = user.username
        flash('Welcome! Successfully Created Your Account!', "success")
        return redirect(f"/users/{user.username}")

    return render_template('register.html', form=form)
示例#24
0
def register():
    form = UserRegisterForm()
    if form.validate_on_submit():
        if User.query.filter_by(email=form.email.data).first():
            # User already exists
            flash("You've already signed up with that email, log in instead!")
            return redirect(url_for('login'))

        hash_and_salted_password = generate_password_hash(
            form.password.data, method='pbkdf2:sha256', salt_length=8)
        new_user = User(email=form.email.data,
                        name=form.name.data,
                        password=hash_and_salted_password,
                        enabled=0)
        db.session.add(new_user)
        db.session.commit()
        send_registration_alert(form.email.data)
        flash("Your user will be enabled soon. Try to login in a few minutes")
        return redirect(url_for('login'))

    return render_template("register.html", form=form)
示例#25
0
def register_user():
    username = session.get('username')
    if username:
        return redirect(f'/users/{username}')

    form = UserRegisterForm()

    if form.validate_on_submit():
        username, password, email, first_name, last_name = parse_user_form(form)
        
        new_user = Users.register(username=username, password=password, 
                        email=email, first_name=first_name, last_name=last_name)
        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append('Username taken. Please choose another')
            return render_template('register.html', form=form)
        
        session['username'] = new_user.username
        return redirect(f'/users/{new_user.username}')
    
    return render_template('register.html', form=form)
示例#26
0
def register():
    """This view function handles the registeration of a new user.

       It creates a new user and adds to the dateMeet DB, then redirects to the home page.

       If form is not valid, present form.

       If there is already an existing user with the entered username: flash message 
       and represent form.
    """

    logout_user()

    form = UserRegisterForm()

    if form.validate_on_submit():
        try:
            user = User.register(first_name=form.first_name.data,
                                 last_name=form.last_name.data,
                                 username=form.username.data,
                                 email=form.email.data,
                                 password=form.password.data,
                                 image_url=form.image_url.data,
                                 header_url=form.header_url.data)

            db.session.commit()

        except IntegrityError:
            flash("Username already exist", 'danger')
            return render_template('users/register.html', form=form)

        login_user(user)

        return redirect("/")

    else:
        return render_template('users/register.html', form=form)
示例#27
0
def register_user():
    form = UserRegisterForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data

        new_user = User.register(username=username,
                                 password=password,
                                 email=email,
                                 first_name=first_name,
                                 last_name=last_name)
        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            form.errors.append("User Alredy exsists")

        session['user_id'] = new_user.id
        flash('Wolcome! You have successfully registered', 'success')
        return redirect(f'/users/{new_user.username}')
    return render_template('register.html', form=form)
示例#28
0
def UserRegistration(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            send_mail('Success', 'You have registered successfully!',
                      '*****@*****.**', [request.POST['email']])
            return HttpResponseRedirect("/signin/")
        return render_to_response("register.html", {
            'form': form,
        }, RequestContext(request))
    else:
        form = UserRegisterForm()
        return render_to_response("register.html", {
            'form': form,
        }, RequestContext(request))
示例#29
0
def signup(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            user = form.save()
            user = auth.authenticate(username=request.POST.get('username'), password=request.POST.get('password'))
            auth.login(request, user)
            return HttpResponseRedirect('/')
    else:
        form = UserRegisterForm()
    return render(request, 'registration/register.html', {
        'form': form
    })
示例#30
0
def register_form(person):
    """
        send user register form
    """
    if person not in ['player', 'referee', 'admin', 'coach']:
        return abort(404)

    welcome_texts = {
        'player': 'zawodnik',
        'referee': u'sędzia',
        'admin': u'zarządca ligi',
        'coach': u'trener'
    }
    p_text = welcome_texts[person]
    form = UserRegisterForm()
    return render_template('register.html',
                           person=person,
                           form=form,
                           welcome=p_text)
示例#31
0
文件: views.py 项目: ssssergey/Feniks
def order_info(request, template_name="registration/order_info.html"):
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = UserRegisterForm(postdata)
        if form.is_valid():
            profile_form = UserRegisterForm(request.POST, instance=request.user)
            profile_form.save()
            url = urlresolvers.reverse('my_account')
            return HttpResponseRedirect(url)
    else:
        user_profile = request.user
        form = UserRegisterForm(instance=user_profile)
    page_title = u'Редактирование регистрационных данных'
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
示例#32
0
def register(request):
    context = RequestContext(request)
    registered = False
    if request.method == 'POST':
        form = UserRegisterForm(data=request.POST)
        if form.is_valid():
            user = form.save()
            user.set_password(user.password)
            user.save()
            return HttpResponseRedirect('/accounts/login/')
        else:
            return render(request, 'accounts/register.html',
                {'form': form}, context)
    else:
        form = UserRegisterForm()

    return render(request, 'accounts/register.html',
            {'form': form}, context)
示例#33
0
 def tests_form_validates_valid_data(self):
     form = UserRegisterForm(data=self.data_valid)
     self.assertTrue(form.is_valid())
示例#34
0
 def test_form_existing_email(self):
     form = UserRegisterForm(data=self.data_for_existing_user)
     self.assertIn('User with this email already exists',
                   form.errors['email'])
示例#35
0
 def test_form_confirm_password_is_not_equal_to_password(self):
     form = UserRegisterForm(data=self.data_for_password_ne_confirm)
     self.assertIn('Password and Confirm password should be equal',
                   form.errors['__all__'])
示例#36
0
 def tests_form_validates_valid_data(self):
     form = UserRegisterForm(data=self.data_valid)
     self.assertTrue(form.is_valid())