예제 #1
0
def register_view(request):
    """
    Handle user registration
    :param request: Request to handle
    """
    context = {}
    if request.method == 'POST':
        # handle submitted registration forms
        # TODO refactor RegisterForm creation to somewhere else
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            # TODO verify user was actually created
            try:
                create_new_user(data)
            except IntegrityError:
                form.add_error('username', 'Username taken.')
            else:
                user = authenticate(username=data.get('username'),
                                    password=data.get('password'))
                login(request, user)
                return redirect('index')
    else:
        # display blank form
        form = RegisterForm()
    context['form'] = form

    # assemble page title
    title_elements = [_('REGISTRATION')]
    create_page_title(context, title_elements)

    return render(request, 'register.html', context)
예제 #2
0
def create_some_users():
    return [create_new_user(user_data) for user_data in SAMPLE_USER_DATA]