Ejemplo n.º 1
0
def create_account(request, group=""):
    """Account creating page view"""

    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = UserForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            # process the data in form.cleaned_data and create new user with processed data
            user = User.objects.create_user(
                username=form.cleaned_data['username'],
                first_name=form.cleaned_data['first_name'],
                last_name=form.cleaned_data['last_name'],
                email=form.cleaned_data['email'],
                password=form.cleaned_data['password'],
            )
            group = Group.objects.get(name=form.cleaned_data['groups'])
            user.groups.add(group)
            user.save()
            form.clean()

            # redirect to a new URL:
            return HttpResponseRedirect('/rules/')

    # if a GET (or any other method) we'll create a blank form
    else:
        if group:
            group = Group.objects.get(name=group)
            form = UserForm(initial={'groups': group})
        else:
            form = UserForm()

    return render(request, 'app/create-account.html', {'form': form})
Ejemplo n.º 2
0
    def test_account_creation_form(self):
        """Check that account creation form is valid"""

        form_data = {
            'username': '******',
            'password': '******',
            'first_name': 'test',
            'last_name': 'test',
            'email': '*****@*****.**',
            'groups': self.test_group.name
        }
        form = UserForm(data=form_data)
        self.assertTrue(form.is_valid())