Exemple #1
0
def register(request):
    serializer = CustomUserSerializer(data=request.data)
    if serializer.is_valid():
        user = serializer.save()
        user.set_password(serializer.data['password'])
        user.save()
        token, _ = Token.objects.get_or_create(user=user)
        context = {
            'key': token.key,
        }
        if user.user_type == CLIENT:
            client = Client(user=user)
            client.save()
            context['client_id'] = user.client.pk
        elif user.user_type == MASTER:
            salon_id = int(request.data.get('salon_id'))
            salon = Salon.objects.get(pk=salon_id)
            master = Master(user=user, salon=salon)
            # user.save()
            master.save()
            context['master_id'] = user.master.pk
        elif user.user_type == PARTNER:
            partner = Partner(user=user)
            partner.save()
            context['partner_id'] = user.partner.pk

        if user:
            user.save()
            return Response(context)
    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemple #2
0
    def post(self, request, *args, **kwargs):

        #print('request.GET', request.GET, type(request.GET))
        #print('request.data', request.data, type(request.data))
        params = request.data
        # проверка параметров
        error = None
        if 'balance' not in params:
            error = 'Не указан параметр balance'
        if 'currency' not in params:
            error = 'Не указан параметр currency'
        if 'email' not in params:
            error = 'Не указан параметр email'
        if 'password' not in params:
            error = 'Не указан параметр password'
        if error is not None:
            res_json = json.dumps({
                'result': 'error',
                'error_text': error
            },
                                  ensure_ascii=False)
            return HttpResponse(res_json, content_type="application/json")
        # проверка валюты
        currency = params['currency']
        if not Currency.objects.filter(code=currency).exists():
            error = 'Валюта [%s] в системе отсутствует' % currency
            res_json = json.dumps({
                'result': 'error',
                'error_text': error
            },
                                  ensure_ascii=False)
            return HttpResponse(res_json, content_type="application/json")

        # проверка наличия такого клиента
        email = params['email']
        if Client.objects.filter(email=email).exists():
            error = 'Клиент с e-mail [%s] уже пристутствует в системе' % email
            res_json = json.dumps({
                'result': 'error',
                'error_text': error
            },
                                  ensure_ascii=False)
            return HttpResponse(res_json, content_type="application/json")

        # создание клиента
        client = Client()
        client.email = params['email']
        client.password = params['password']
        client.token = uuid.uuid1()
        client.save()

        # создание счета
        account = Account()
        account.client = client
        account.currency_id = params['currency']
        account.amount = params['balance']
        account.save()

        res_json = json.dumps({'result': 'ok'}, ensure_ascii=False)
        return HttpResponse(res_json, content_type="application/json")
Exemple #3
0
 def handle(self, *args, **options):
     Client.objects.all().delete()
     print('Load client')
     c = Client()
     c.name = 'wezom'
     c.secret = '123'
     c.save()
Exemple #4
0
 def create(self, validated_data):
     print(validated_data)
     client = Client(email=validated_data['email'],
                     fullname=validated_data['fullname'],
                     phone=validated_data['phone'],
                     cardno=validated_data['cardno'],
                     password=validated_data['password'])
     client.save()
     return client
Exemple #5
0
def client_create(request):
    client = Client(email=request.data.get("email"),
                    password=request.data.get("pass"),
                    firstname=request.data.get("fname"),
                    surname=request.data.get("lname"),
                    phone=request.data.get("phone"))
    client.save()
    report = {"token": client.token}
    return Response(report)
Exemple #6
0
    def create(self, validated_data):
        user_data = validated_data.pop('user')
        user = UserSerializer.create(UserSerializer(),
                                     validated_data=user_data)
        instance = Client()
        instance.user = user
        instance.cpf = validated_data.pop('cpf')
        instance.birthday = validated_data.pop('birthday')
        instance.gender = validated_data.pop('gender')
        instance.phone_number = validated_data.pop('phone_number')
        instance.save()

        return instance
Exemple #7
0
def add_user(request):
    if request.is_ajax() and request.method == 'POST':
        name = request.POST['name']
        email = request.POST['email'].lower()
        status = request.POST['status']
        username = request.POST['username']
        password = request.POST['password']

        if request.user.is_authenticated:
            client = Client.objects.get(account=request.user)
            if client.status != 'a':
                status = 'user'
        else:
            status = 'user'

        if len(User.objects.filter(username=username)) != 0:
            result = {
                'status': 'Not accepted',
                'message': 'This username is already taken'
            }
            return return_json_response(result)
        elif len(Client.objects.filter(email=email)) != 0:
            result = {
                'status': 'Not accepted',
                'message': 'This email is already taken'
            }
            return return_json_response(result)
        else:
            html_message = f'Congratulations, {name}!<br><br>\
							 Somebody (probably you) registered you in our\
							 <a href = "http://pdf.truckdispatch.pro" style = "color: blue; text-decoration: none;">site</a><br><br>\
							 Your username: {username}<br>\
							 Your password: {password}<br><br>\
							 Please send us your user experience to this email [email protected] most reasonable things will be implemented ASAP'

            send_mail('Scan PDF Account Registration',
                      '',
                      '', [email],
                      html_message=html_message)

            new_user = User.objects.create_user(username=username,
                                                password=password)
            if status == 'admin':
                new_user.is_staff = True
                new_user.is_superuser = True
            new_user.save()

            if not request.user.is_authenticated:
                auth.login(request, new_user)

            new_client = Client(
                name=name,
                email=email,
                status=status[0],
                account=new_user,
            )
            new_client.save()
            print('\n\nNew client was created\n\n')

            result = {'status': 'Accepted', 'message': 'OK'}
            return return_json_response(result, 201)
    else:
        result = {'status': 'Not accepted', 'message': 'Wrong method'}
        return return_json_response(result, 400)
Exemple #8
0
                            SALES_COLUMN_IDX_FOR_INVOICE) == 'Invoice':
            break
        startRow += 1

    for rowIdx in range(startRow, sheet.nrows):
        if sheet.cell_value(rowIdx, 0) == '':
            break

        if sheet.cell_value(rowIdx, SALES_COLUMN_IDX_FOR_INVOICE) == 'Invoice':
            name = sheet.cell_value(rowIdx, SALES_COLUMN_IDX_FOR_CLIENT_NAME)
            if (name in dic):
                client = dic[name]
            else:
                client = Client(
                    name=sheet.cell_value(rowIdx,
                                          SALES_COLUMN_IDX_FOR_CLIENT_NAME),
                    region=random.choice(regions),
                    salesman=random.choice(salesmans),
                )
                dic[name] = client
                clients.append(client)

            time_tuple = xlrd.xldate_as_tuple(
                sheet.cell_value(rowIdx, SALES_COLUMN_IDX_FOR_DATE), 0)
            date = datetime.datetime(*time_tuple)

        else:
            name = sheet.cell_value(rowIdx, SALES_COLUMN_IDX_FOR_PRODUCT_NAME)
            if name in ProductDic:
                product = ProductDic[name]
            else:
                product = Product(name=sheet.cell_value(
Exemple #9
0
def add_user(request):
    if request.user.is_authenticated:
        if request.is_ajax() and request.method == 'POST':
            name = request.POST['name']
            surname = request.POST['surname']
            email = request.POST['email'].lower()
            status = request.POST['status']
            username = request.POST['username']
            password = request.POST['password']

            client = Client.objects.get(account=request.user)
            if client.status != 'a':
                status = 'user'

            if len(User.objects.filter(username=username)) != 0:
                result = {
                    'status': 'Not accepted',
                    'message': 'Existing username'
                }
                return return_json_response(result)
            elif len(Client.objects.filter(email=email)) != 0:
                result = {
                    'status': 'Not accepted',
                    'message': 'Existing email'
                }
                return return_json_response(result)
            else:
                html_message = f'Congratulations, {name}!<br><br>\
								 Somebody (probably you) registered you in our\
								 <a href = "https://127.0.0.1:8000/" style = "color: blue; text-decoration: none;">small developing site</a><br><br>\
								 Your username: {username}<br>\
								 Your password: {password}<br><br>\
								 Enjoy!'

                send_mail('Account verification',
                          'Lol',
                          'Kek', [email],
                          html_message=html_message)

                new_user = User.objects.create_user(username=username,
                                                    password=password)
                if status == 'admin':
                    new_user.is_staff = True
                new_user.save()

                if not request.user.is_authenticated:
                    auth.login(request, new_user)

                new_client = Client(name=name,
                                    surname=surname,
                                    email=email,
                                    status=status[0],
                                    account=new_user)
                new_client.save()
                print('\n\nNew client was created\n\n')

                result = {'status': 'accepted', 'message': 'OK'}
                return return_json_response(result, 201)
        else:
            result = {'status': 'Not accepted', 'message': 'Wrong method'}
            return return_json_response(result, 400)
    else:
        result = {
            'status': 'Not accepted',
            'message': 'Authentication required'
        }
        return return_json_response(result, 401)