Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 def create(self, validated_data):
     user = User()
     user.username = validated_data.get('username')
     user.password = validated_data.get('password')
     user.save()
     return user