def vendor_register(request): validation_result = validate_register_request(request) serializer = address_serializer.AddressRequestSerializer(data=request.data["address"]) if validation_result[0] is False: context = { 'successful': False, 'message': validation_result[1] } return Response(context) if not serializer.is_valid(): context = { 'successful': False, 'message': "Invalid Address" } return Response(context) crypto = Crypto() username = request.data["username"] salt = crypto.getSalt() password_hash = crypto.getHashedPassword(request.data["password"], salt) existing_user = User.objects.filter(username=username).first() if existing_user is not None: context = { 'successful': False, 'message': 'Username is already in use' } return Response(context) user = User(username=request.data["username"], email=request.data["email"], password_salt=salt, password_hash=password_hash, role = Role.VENDOR.value) user.save() title = serializer.validated_data.get("title") name = serializer.validated_data.get("name") surname = serializer.validated_data.get("surname") address = serializer.validated_data.get("address") province = serializer.validated_data.get("province") city = serializer.validated_data.get("city") country = serializer.validated_data.get("country") phone = serializer.validated_data.get("phone") phone_country_code = phone.get("country_code") phone_number = phone.get("number") zip_code = serializer.validated_data.get("zip_code") vendor = Vendor(first_name=request.data["firstname"], last_name=request.data["lastname"], user=user) address = Address(user=user, title=title, address=address, province=province, city=city, name=name, surname=surname, country=country, phone_country_code=phone_country_code, phone_number=phone_number, zip_code=zip_code) vendor.save() address.save() context = { 'successful': True, 'message': 'Signup succeeded' } return Response(context)
def register(request): validation_result = validate_register_request(request) if validation_result[0] is False: context = { 'successful': False, 'message': validation_result[1] } return Response(context) crypto = Crypto() username = request.data["username"] salt = crypto.getSalt() password_hash = crypto.getHashedPassword(request.data["password"], salt) existing_user = User.objects.filter(username=username).first() if existing_user is not None: context = { 'successful': False, 'message': 'Username is already in use' } return Response(context) user = User(username=request.data["username"], email=request.data["email"], password_salt=salt, password_hash=password_hash, role = Role.CUSTOMER.value) user.save() customer = Customer(first_name=request.data["firstname"], last_name=request.data["lastname"], user=user) customer.save() context = { 'successful': True, 'message': 'Signup succeeded' } to_email = request.data["email"] current_site = request.META.get('HTTP_REFERER') verify_message = verify_email.email_send_verify(to_email=to_email, current_site=current_site, user=user) context = { 'successful': True, 'message': 'Signup succeeded, ' + verify_message } return Response(context)
def create(self, validated_data): user = User() user.username = validated_data.get('username') user.password = validated_data.get('password') user.save() return user