Ejemplo n.º 1
0
    def post(self, request):
        """
        Create a user with e-mail address and password.
        """
        email = request.data.get('email')
        username = request.data.get('username')
        password = request.data.get('password')

        form = UserRegistrationForm({
            'email': email,
            'username': username,
            'password': password,
        })

        if not form.is_valid():
            return JsonResponse({'errors': form.errors}, status=HTTPStatus.BAD_REQUEST)

        try:
            RegisterUser(user=self.user).by_credentials(email=email, username=username, password=password)
        except (
            UserWithSpecifiedEmailAddressAlreadyExistsError,
            UserWithSpecifiedUsernameAlreadyExistsError,
        ) as error:
            return JsonResponse({'error': error.message}, status=HTTPStatus.BAD_REQUEST)

        return JsonResponse({'result': 'User has been created.'}, status=HTTPStatus.OK)
def register(request):
    if request.method == 'POST':
        u_form = UserRegistrationForm(request.POST)
        p_form = UserProfileForm(request.POST, request.FILES)
        if u_form.is_valid() and p_form.is_valid():
            check = User.objects.filter(
                email=u_form.cleaned_data.get('email')).exists()
            if check is False:
                user = u_form.save()
                user.save()
                designation = p_form.cleaned_data.get('designation')

                if designation == 'TEACHER':
                    group = Group.objects.get(name='TEACHERS')
                    user.groups.add(group)
                else:
                    group = Group.objects.get(name='STUDENTS')
                    user.groups.add(group)
                profile = p_form.save(commit=False)
                profile.user = user

                if 'profile_pic' in request.FILES:
                    profile.profile_pic = request.FILES['profile_pic']
                profile.save()
                messages.success(
                    request,
                    "Your account has been created. Click Log In to Sign In")
                return redirect('index')
            else:
                messages.warning(request, 'Email already exists')
                return redirect('index')

    return render(request, 'ams/index.html')
Ejemplo n.º 3
0
 def test_valid_form(self):
     """Test valid form"""
     form = UserRegistrationForm({
         "email": "*****@*****.**",
         "name": "Test User",
         "password1": "test@1234",
         "password2": "test@1234"
     })
     self.assertTrue(form.is_valid())
Ejemplo n.º 4
0
 def test_name_missing(self):
     """Test user submits empty name"""
     form = UserRegistrationForm({
         "email": "*****@*****.**",
         "name": "",
         "password1": "test@1234",
         "password2": "test@1234"
     })
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['name'], [u'This field is required.'])
Ejemplo n.º 5
0
 def test_password_mismatch(self):
     """Test password fields mismatch"""
     form = UserRegistrationForm({
         "email": "*****@*****.**",
         "name": "Test User",
         "password1": "testing123456",
         "password2": "123456testing"
     })
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['password2'], [u'Passwords do not match'])
Ejemplo n.º 6
0
 def test_unique_email(self):
     """Test email field """
     form = UserRegistrationForm({
         "email": "*****@*****.**",
         "name": "Test User",
         "password1": "testing123456",
         "password2": "123456testing"
     })
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['email'],
                      ['Email addresses must be unique.'])
Ejemplo n.º 7
0
class TestUserRegistrationForm(TestCase):
    def setUp(self):
        self.fakeUser = Faker()
        self.data = {
            'email':
            self.fakeUser.email(),
            'username':
            self.fakeUser.user_name(),
            'firstname':
            self.fakeUser.first_name(),
            'lastname':
            self.fakeUser.last_name(),
            'password1':
            'secretdeadlypassword',
            'password2':
            'secretdeadlypassword',
            'date_of_birth':
            self.fakeUser.date_of_birth(),
            'image':
            factory.django.ImageField(
                from_path=
                r"C:\Users\Elisha\Pictures\Screenshots\Screenshot (16).png",
                filename=r"\newimage",
                format="png")
        }
        self.form = UserRegistrationForm(data=self.data)
        self.request = HttpRequest()
        self.request.method = 'POST'
        self.request.FILES['image'] = self.data['image']
        self.request.POST = self.data
        self.form.is_valid()
        engine = import_module(settings.SESSION_ENGINE)
        session_key = None
        self.request.session = engine.SessionStore(session_key)
        self.request.META['SERVER_NAME'] = 'testserver'
        self.request.META['REQUEST_METHOD'] = 'POST'
        self.user = self.form.save(self.request)
        pass

    def test_form_is_valid(self):
        self.assertTrue(self.form.is_valid())

    def test_form_saved_data(self):
        self.assertTrue(self.user)

    def test_firstname_saved(self):
        self.assertEqual(self.user.firstname, self.form.data['firstname'])

    def test_lastname_saved(self):
        self.assertEqual(self.user.lastname, self.form.data['lastname'])

    def test_date_of_birth(self):
        self.assertEqual(self.user.profile.date_of_birth,
                         self.form.data['date_of_birth'])
Ejemplo n.º 8
0
def register(request):
    uform = UserRegistrationForm(request.POST or None)
    if request.method == "POST":
        if uform.is_valid():
            uform.save()
            user = authenticate(email=uform.cleaned_data.get('email'),
                                password=uform.cleaned_data.get('password1'))
            if user:
                login(request, user)
            return redirect(reverse('register-profile-page'))
    return render(request, 'user/register.html', locals())
Ejemplo n.º 9
0
def user_register(request):
    """
        View for registering new users. If user is already authenticated view redirects
            to index page.
    """

    register_form = UserRegistrationForm(request.POST)
    if register_form.is_valid():
        register_form.save()
        registered_user = authenticate(username=register_form.cleaned_data['username'],
                                    password=register_form.cleaned_data['password'])
        auth_login(request, registered_user)
        return redirect(settings.LOGIN_REDIRECT_URL)

    return render(request, 'index.html', {'register_form': register_form, 'display': 'block', 'active': 'register'})
Ejemplo n.º 10
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context['media_url'] = MEDIA_URL
     context['current_site'] = 'confirm_order'
     context['registration_form'] = UserRegistrationForm()
     context['profile_form'] = UserProfileForm()
     return context
Ejemplo n.º 11
0
    def get(self, request):
        user_registration_form = UserRegistrationForm()
        
        context = {
            'user_registration_form': user_registration_form
        }

        return render(request, 'user/register.html', context)
Ejemplo n.º 12
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            #do an early save so that if user input is invalid/ unauthorised new form can be loaded with valide details previously entered
            form.save()

            #user has a valid username and password, if not a user then we will drop out of this code and reload form on line X
            #else:
            #form= UserRegistrationForm()
            user = auth.authenticate(username=request.POST.get('username'),
                                     password=request.POST.get('password1'))

            #if valid user, then return success msg and redirect to profile. Else provide error msg.
            if user:
                auth.login(request, user)
                messages.success(
                    request,
                    "You have successfully registered and are now logged into your account"
                )
                return redirect(reverse('profile'))

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

    else:
        form = UserRegistrationForm()

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

    return render(request, 'register.html', args)
Ejemplo n.º 13
0
def user_registration(request):
    if request.method == "POST":
        link = make_password(
            str(request.POST["email"][0:5]) + request.POST["first_name"])
        c_link = link.replace("+", "")
        verify_link = "http://127.0.0.1:8000/link_created/?link=" + c_link
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            f = form.save(commit=False)
            f.first_name = request.POST['first_name']
            f.last_name = request.POST['last_name']
            f.email = request.POST['email']
            f.password = make_password(request.POST["password"])
            f.verify_link = c_link
            f.active = 0
            f.save()
            mail_sending(f.first_name, f.email, verify_link)
            return render(request, "user_registration.html", {'success': True})
        else:
            return render(request, "user_registration.html", {'fail': True})
    return render(request, "user_registration.html")
Ejemplo n.º 14
0
    def post(self, request):
        user_registration_form = UserRegistrationForm(request.POST)

        if user_registration_form.is_valid():
            user_registration_form.save()
            username = user_registration_form.cleaned_data.get('username')
            raw_password = user_registration_form.cleaned_data.get('password1')
            
            first_name = user_registration_form.cleaned_data["first_name"]
            last_name = user_registration_form.cleaned_data["last_name"]

            messages.success(request, f"Congrats, { first_name }, { last_name }, you've made an account!")
            user = authenticate(username=username, password=raw_password)
            login(request, user)

            return HttpResponseRedirect(reverse_lazy('blog:blog-list'))

        context = {
            'user_registration_form': user_registration_form
        }
        
        return render(request, 'user/register.html', context)
Ejemplo n.º 15
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)

        if form.is_valid():
            User.objects.create_user(
                username=form.cleaned_data.get('username'),
                email=form.cleaned_data.get('email'),
                first_name=form.cleaned_data.get('first_name'),
                last_name=form.cleaned_data.get('last_name'),
                password=form.cleaned_data.get('password1')
            )

            redirect_url = reverse_lazy('login')
            return HttpResponseRedirect(redirect_url)

    else:
        form = UserRegistrationForm()

    context = {
        'form': form
    }
    return render(request, 'register.html', context)
Ejemplo n.º 16
0
def register(request):
    if request.method == "POST":
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            messages.success(
                request,
                f"Hey {username}, your account has been created successfully!")
            return redirect('user-login')
    else:
        form = UserRegistrationForm()
    context = {'form': form}
    return render(request, "user/register.html", context)
Ejemplo n.º 17
0
def register(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST or None)
        if form.is_valid():
            new_user = form.save(commit=False)
            new_user.set_password(form.cleaned_data['password'])
            new_user.save()
            Profile.objects.create(user=new_user)
            return redirect('sell:home')
    else:
        form = UserRegistrationForm()
    return render(request, 'register.html', {'form': form})
Ejemplo n.º 18
0
def register(request):
    if request.method == "POST":
        form = UserRegistrationForm(request.POST)

        if form.is_valid():
            new_user = form.save(commit=False)
            new_user.set_password(form.cleaned_data["password"])

            new_user.save()
            messages.success(request, 'User created!')

            return redirect("accounts:login")
    else:
        form = UserRegistrationForm()

    context = {
    "form": form,

    }

    return render(request, "accounts/register.html", context)
Ejemplo n.º 19
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context['media_url'] = MEDIA_URL
     context['current_site'] = 'home'
     context['registration_form'] = UserRegistrationForm()
     return context
def index(request):
    u_form = UserRegistrationForm()
    p_form = UserProfileForm()
    context = {'u_form': u_form, 'p_form': p_form}
    return render(request, 'ams/index.html', context)
Ejemplo n.º 21
0
 def test_register_form(self):
     """
     Check if register form is valid
     """
     form = UserRegistrationForm(data=self.data)
     self.assertTrue(form.is_valid())