Ejemplo n.º 1
0
def registration_view(request):
    if request.method == 'POST':
        data = {}
        email = request.data.get('email', '0')
        if validate_email(email) != None:
            data['error_message'] = 'That email is already in use.'
            data['response'] = 'Error'
            return Response(data, status=status.HTTP_400_BAD_REQUEST)

        username = request.data.get('username', '0')
        if validate_username(username) != None:
            data['error_message'] = 'That username is already in use.'
            data['response'] = 'Error'
            return Response(data, status=status.HTTP_400_BAD_REQUEST)
        serializer = RegistrationSerializer(data=request.data)
        if serializer.is_valid():
            account = serializer.save()
            data['response'] = 'successfully registered new user.'
            data['email'] = account.email
            data['username'] = account.username
            data['pk'] = account.pk
            token = Token.objects.get(user=account).key
            data['token'] = token
            return Response(data, status=status.HTTP_201_CREATED)
        else:
            data = serializer.errors
            return Response(data, status=status.HTTP_204_NO_CONTENT)
Ejemplo n.º 2
0
def registration_view(request):
    if request.method == 'POST':

        django_statsd.incr('api.registerUser')
        django_statsd.start('api.registerUser.time.taken')
        serializer = RegistrationSerializer(data=request.data)
        data = {}
        if serializer.is_valid():
            django_statsd.start('api.registerUser.db')
            account = serializer.save()
            django_statsd.stop('api.registerUser.db')
            data['response'] = 'successfully registered new user.'
            data['uuid_id'] = account.uuid_id
            data['email'] = account.email
            data['first_name'] = account.first_name
            data['last_name'] = account.last_name
            data['account_created'] = account.account_created
            data['account_updated'] = account.account_updated
            logger.info("POST: User Created with uuid: %s", account.uuid_id)
            django_statsd.stop('api.registerUser.time.taken')
            return Response(data, status=status.HTTP_201_CREATED)

        logger.error("ERROR: Something Happened: %s", serializer.errors)
        django_statsd.stop('api.registerUser.time.taken')
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
 def add_user(self, data):
     serializer = RegistrationSerializer(data=data)
     results = {}
     if serializer.is_valid():
         account = serializer.save()
         results['key'] = Token.objects.get(user=account).key
         return results
     else:
         results = serializer.errors
         if 'error' not in results:
             if 'username' in results and 'email' in results:
                 if 'exists' in results.get('username')[0]:
                     results[
                         'error'] = "Ta nazwa użytkownika jest już zajęta"
                 if 'exists' in results.get('email')[0]:
                     results['error'] = results[
                         'error'] + ' \nTen adres email jest już zajęty'
             elif 'username' in results:
                 if 'exists' in results.get('username')[0]:
                     results[
                         'error'] = "Ta nazwa użytkownika jest już zajęta"
             else:
                 if 'exists' in results.get('email')[0]:
                     results['error'] = 'Ten adres email jest już zajęty'
             return results
         else:
             return results
Ejemplo n.º 4
0
def registration_view(request):
    user = request.data['username']
    string2 = 'W0' + ''.join(choice(digits) for i in range(7))
    randomstring = string2
    serializer = RegistrationSerializer(data=request.data)
    data = {}
    if serializer.is_valid():
        unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
        now_aware = unaware.replace(tzinfo=pytz.UTC)
        account = serializer.save()
        account.username = randomstring
        account.is_active = False
        account.tz = now_aware
        account.save()
        # EMAIL VERIFICATION
        current_site = get_current_site(request)
        html_content = render_to_string(
            'acc_active_email.html', {
                'user': account,
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(account.pk)),
                'token': account_activation_token.make_token(account),
            })
        email = EmailMultiAlternatives('Confirm your Artomate Account')
        email.attach_alternative(html_content, "text/html")
        email.to = [request.data['email']]
        email.send()
        data['response'] = 'successfully registered new user and ' \
                           'Please confirm your email address to complete the registration '
        data['status'] = 100

    else:
        data = serializer.errors
    return Response(data)
Ejemplo n.º 5
0
    def create(self, validated_data):

        if self.initial_data.get('newEmail'):
            mail = self.initial_data.get('newEmail')
            rpass = User.objects.make_random_password()
            usr = {"email": mail, "password": rpass}
            regSerializer = RegistrationSerializer(data=usr)

            if (regSerializer.is_valid()):
                regSerializer.save()
                newUser = User.objects.get(id=regSerializer.data['id'])
                validated_data['user'] = newUser
                add = Address.objects.create(
                    user=newUser, title=self.initial_data.get('newAddress'))
                validated_data['address'] = add

        if self.initial_data.get('user') and self.initial_data.get(
                'newAddress'):
            anotherAdd = Address.objects.create(
                user=validated_data['user'],
                title=self.initial_data.get('newAddress'))
            validated_data['address'] = anotherAdd

        orderItems_data = validated_data.pop('orderitem_set')
        validated_data['transactionId'] = (
            datetime.datetime.now().timestamp()).__str__().replace('.', '')
        order = Order.objects.create(**validated_data)

        for item_data in orderItems_data:
            item_data.order = order
            OrderItem.objects.create(order=order, **item_data)

        return order
Ejemplo n.º 6
0
def registration_view(request):

    if request.method == 'POST':
        data = {}
        email = request.data.get('email', '0').lower()
        if validate_email(email) != None:
            data['error_message'] = 'That email is already in use.'
            data['response'] = 'Error'
            return Response(data)

        username = request.data.get('username', '0')
        if validate_username(username) != None:
            data['error_message'] = 'That username is already in use.'
            data['response'] = 'Error'
            return Response(data)

        serializer = RegistrationSerializer(data=request.data)

        if serializer.is_valid():
            account = serializer.save()
            data['response'] = 'successfully registered new user.'
            data['email'] = account.email
            data['username'] = account.username
            data['pk'] = account.pk
            token = RefreshToken.for_user(account)
            data['refresh'] = str(token)
            data['access'] = str(token.access_token)
        else:
            data = serializer.errors
        return Response(data)
Ejemplo n.º 7
0
def register(request):
    serializer = RegistrationSerializer(data=request.data)
    if serializer.is_valid():
        new_user = User.objects.create(
            username=serializer.validated_data.get('username'),
            password=make_password(serializer.validated_data.get('password')),
            first_name=serializer.validated_data.get('first_name'),
            last_name=serializer.validated_data.get('last_name'),
            email=serializer.validated_data.get('email'))
        new_user_profile = UserProfile(account=new_user)
        new_user_profile.save()
        return Response(status=status.HTTP_200_OK)
    else:
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 8
0
def registration_view(request):
    serializer = RegistrationSerializer(data=request.data)
    data = {}
    if serializer.is_valid():
        account = serializer.save()
        data['response'] = 'successfully registered a new user'
        data['email'] = account.email
        data['username'] = account.username
        data['first_name'] = account.first_name
        data['last_name'] = account.last_name
        token = Token.objects.get(user=account).key
        data['token'] = token
    else:
        data = serializer.errors
    return Response(data)
Ejemplo n.º 9
0
def registration_view(request):
    if request.method == 'POST':  #checking if a valid request of type 'POST'
        serializer = RegistrationSerializer(
            data=request.data)  #intializing the Registration Serializer
        if serializer.is_valid(
        ):  #check if the serializer is valid with all required fields
            account = serializer.save()  #if valid save the serializer
            token = Token.objects.get(user=account).key
            return Response(
                {
                    'id': account.pk,
                    'first_name': account.first_name,
                    'last_name': account.last_name,
                    'email': account.email
                },
                content_type='application/json',
                status=200)
        else:  #if the serializer is not valid return appropriate error
            data = serializer.errors
            return Response({'error': data},
                            content_type='application/json',
                            status=500)
Ejemplo n.º 10
0
def registration_view(request):

    if request.method == 'POST':
        serializer = RegistrationSerializer(data=request.data)
        data = {}
        if serializer.is_valid():
            account = serializer.save()
            data['response'] = 'Successfully registered a new user'
            data['email'] = account.email
            data['username'] = account.username
        else:
            data = serializer.errors
        return Response(data)

    if request.method == 'GET':
        accounts = Account.objects.all()
        serializer = RegistrationSerializer(accounts, many=True)
        return Response(serializer.data)
Ejemplo n.º 11
0
def regiUser(request):
	serializer=RegistrationSerializer(data=request.data)
	if serializer.is_valid():
		serializer.save()
		return Response(serializer.data)
	return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)