Skip to content

Commit fb2600b

Browse files
feature fix[register]: users can now sign up with the correct page
1 parent 2305993 commit fb2600b

4 files changed

Lines changed: 14 additions & 24 deletions

File tree

client/src/pages/register.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Link from "next/link";
22
import { useState } from "react";
3+
import { toast } from "sonner";
34

45
import { Button } from "@/components/ui/button";
56
import {
@@ -24,11 +25,17 @@ export default function Signup() {
2425
username: string,
2526
password: string,
2627
) => {
27-
await api.post("/user/register/", {
28-
email,
29-
username,
30-
password,
31-
});
28+
try {
29+
await api.post("/user/signup/", {
30+
email,
31+
username,
32+
password,
33+
});
34+
toast("Registration successful.");
35+
} catch (err) {
36+
console.log(err);
37+
toast("Registration failed. Please try again.");
38+
}
3239
};
3340

3441
return (

server/user/serializers.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,15 @@ class Meta:
2222
"profile",)
2323

2424
class SignupSerializer(serializers.ModelSerializer):
25-
password2 = serializers.CharField(write_only=True, required=True)
2625

2726
class Meta:
2827
model = User
29-
fields = ['username', 'email', 'first_name', 'last_name', 'password', 'password2']
28+
fields = ['username', 'email', 'first_name', 'last_name', 'password',]
3029
extra_kwargs = {'password': {'write_only': True}}
3130

3231
def validate(self, data):
33-
if data['password'] != data['password2']:
34-
raise serializers.ValidationError("Passwords do not match")
3532
return data
3633

3734
def create(self, validated_data):
38-
validated_data.pop('password2')
3935
user = User.objects.create_user(**validated_data)
4036
return user

server/user/urls.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@
77
path("profile/", views.UserProfileList.as_view(), name="profile-list"),
88
path("profile/<int:pk>/", views.UserProfileDetail.as_view(), name="user-profile-detail"),
99
path('signup/', views.SignupView.as_view(), name='signup'),
10-
path("register/", views.RegisterView.as_view(), name="user-register"),
1110
path("me/", views.MeView.as_view(), name="me"),
1211
]

server/user/views.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,4 @@ class MeView(APIView):
4242

4343
def get(self, request):
4444
serializer = self.serializer_class(request.user)
45-
return Response(serializer.data)
46-
47-
class RegisterView(APIView):
48-
authentication_classes = []
49-
permission_classes = [AllowAny]
50-
serializer_class = UserSerializer
51-
def post(self, request):
52-
serializer = RegisterSerializer(data=request.data)
53-
if serializer.is_valid():
54-
serializer.save()
55-
return Response(serializer.data, status=status.HTTP_201_CREATED)
56-
57-
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
45+
return Response(serializer.data)

0 commit comments

Comments
 (0)