Exemplo n.º 1
0
    def get(self, request, *args, **kwargs):
        if request.user:
            if not request.user.banque:
                res = reponses_generale(
                    msg_code='MG000',
                    sucess=0,
                    error_code='NotBank',
                    error_msg="cet utilisateur n'a pas de banque")
                return Response(res)
            # items = models.TappelFonds.objects.filter(client_id=request.user.id, banque_id=request.user.banque)
            items = models.TappelFonds.objects.filter(
                client_id=request.user.id)
            paginator = Paginator(items, 5)
            page = request.query_params['page']
            items = paginator.get_page(page)
            output_serializer = appelsSerializers(items, many=True)
            counts = paginator.num_pages
            res_pages = {
                'total_page': counts,
                "content": output_serializer.data
            }
            res = reponses_generale(msg_code='MG0025',
                                    sucess=1,
                                    results=res_pages)
            return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 2
0
    def put(self, request, *args, **kwargs):
        if request.user.is_authenticated:
            if 'pk' in request.query_params:
                item = self.get_object(request.query_params['pk'])

                output_serializer = plafondSerializers(
                    instance=item, data=request.query_params, partial=True)
                output_serializer.is_valid(raise_exception=True)
                if output_serializer.is_valid(raise_exception=True):
                    output_serializer.save()

                    res = reponses_generale(msg_code='MG0024',
                                            sucess=1,
                                            results=output_serializer.data)
                    return Response(res)
                else:
                    res = reponses_generale(msg_code='MG000',
                                            sucess=0,
                                            results=output_serializer.errors,
                                            error_code='invalid',
                                            error_msg="données invalide")
                    return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 3
0
    def get(self, request, *args, **kwargs):
        if request.user.is_authenticated:
            # print(request.query_params['pk'])
            if 'pk' in request.query_params:
                # http://localhost:8000/%5Ebanques/?page=1/?banq_id=1
                items = models.Tbanque.objects.filter(
                    pk=request.query_params['pk'])
            elif 'pk' not in request.query_params:

                # http://localhost:8000/%5Ebanques/?page=1
                items = models.Tbanque.objects.all()
            paginator = Paginator(items, 5)
            page = request.query_params['page']
            items = paginator.get_page(page)
            print(items)
            output_serializer = banqSerializers(items, many=True)
            counts = paginator.num_pages
            res_pages = {
                'total_page': counts,
                "content": output_serializer.data
            }
            res = reponses_generale(msg_code='MG0021',
                                    sucess=1,
                                    results=res_pages)
            return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 4
0
    def post(self, request, *args, **kwargs):
        print('#####################')
        print(request.query_params)
        if request.user.is_authenticated:
            intput_serializer = plafondSerializers(data=request.query_params)
            intput_serializer.is_valid(raise_exception=True)
            if intput_serializer.is_valid(raise_exception=True):
                #         instance = models.Tbanque.Meta.model(**validated_data)
                instance = intput_serializer.save()
                output_serializer = plafondSerializers(instance)
                res = reponses_generale(msg_code='MG0024',
                                        sucess=1,
                                        results=output_serializer.data)
                return Response(res)
            else:
                res = reponses_generale(msg_code='MG000',
                                        sucess=0,
                                        results=intput_serializer.errors,
                                        error_code='invalid',
                                        error_msg="données invalide")
                return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 5
0
    def put(self, request, *args, **kwargs):
        if request.user.is_authenticated:
            if 'pk' in request.query_params:
                if 'status' in request.query_params:
                    # item = models.TappelFonds.objects.get(pk=request.query_params['pk'])
                    item = self.get_object(request.query_params['pk'])
                    item.status = request.query_params['status']

                    output_serializer = appelsSerializers(instance=item,
                                                          data=request.data,
                                                          partial=True)
                    output_serializer.is_valid(raise_exception=True)
                    if output_serializer.is_valid(raise_exception=True):

                        output_serializer.save()
                        # SI CEST VALIDER ON CONTACTE LE CORE
                        print(item.status)
                        if item.status == "FINISH":
                            pass
                            # ENVOI LAPPEL DE FONDS AU CORE ELOGE
                            # r = requests.get('url', auth=('iccsoft', 'Iccsoft2019!'))
                            # print(r.status_code) #donne le code reponse

                            # CHANGEMENT DU STATUS SELON LA REPONSE
                            # if r.status_code = 200:
                            #     instance.status = 'FINISH'
                            #     instance.save()
                            # res = reponses_generale(msg_code='MG0020', sucess=1, results=output_serializer.data)
                            # return Response(res)
                        if item.status == "CANCEL":
                            res = reponses_generale(
                                msg_code='MG0020',
                                sucess=1,
                                results=output_serializer.data)
                            return Response(res)

                    else:
                        res = reponses_generale(
                            msg_code='MG000',
                            sucess=0,
                            results=intput_serializer.errors,
                            error_code='invalid',
                            error_msg="données invalide")
                        return Response(res)
            # return Response([{'content': output_serializer.data}])
            else:
                res = reponses_generale(msg_code='MG000',
                                        sucess=0,
                                        results=output_serializer.errors,
                                        error_code='invalid',
                                        error_msg="le pk est invalide")
                return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 6
0
    def get(self, request, *args, **kwargs):
        if request.user:
            #if not request.user.banque:
            #    res = reponses_generale(msg_code='MG000', sucess=0, error_code='NotBank',
            #                            error_msg="cet utilisateur n'a pas de banque")
            #    return Response(res)
            socket_obj = SocketHandler(sock=None)
            # envoi au serveur
            print(request.user.id)
            data = {'user_id': request.user.id}
            # s = "[{'msg_code': 'MG001', 'params': %s}]" % (data)
            # socket_obj.send(bytes(s, encoding='utf8'))
            # #  transfert la reponse
            # recep = socket_obj.receive()
            # ''' formatage de la reponse en json '''
            # rep_json = recep.decode('utf-8').replace("'", '"')
            # ''' formatage json enliste '''
            # data_list = json.loads(rep_json)
            MSG_CODE = "MG001"
            data_list = socket_obj.get_response(MSG_CODE, data)
            return Response(data_list)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 7
0
    def get(self, request, *args, **kwargs):
        if request.user.is_authenticated:
            items = ''
            if 'page' in request.query_params:
                if request.query_params.get('pk', False) != False:
                    # CONSULTER LE STATUS
                    # http://localhost:8000/%5Eappels/?page=1/?pk=1
                    items = models.TappelFonds.objects.filter(
                        pk=request.query_params['pk'])
                if request.query_params.get('client_id', False) != False:
                    # CONSULTER L'HISTORIQUE DES APPELS DE FONDS D'UN CLIENT
                    # http://localhost:8000/%5Eappels/?page=1/?client_id=1
                    items = models.TappelFonds.objects.filter(
                        client_id=request.query_params['client_id'])
                if request.query_params.get('banque_id', False) != False:
                    # CONSULTER L'HISTORIQUE DES APPELS DE FONDS D'UNE BANQUE
                    # http://localhost:8000/%5Eappels/?page=1/?banque_id=1
                    items = models.TappelFonds.objects.filter(
                        banque_id=request.query_params['banque_id'])
                else:
                    # CONSULTER TOUS LES APPELS DE FONDS
                    # http://localhost:8000/%5Eappels/?page=1
                    items = models.TappelFonds.objects.all()
                print(items)
                paginator = Paginator(items, 5)
                page = request.query_params['page']
                items = paginator.get_page(page)
                output_serializer = appelsSerializers(items, many=True)
                counts = paginator.num_pages
                res_pages = {
                    'total_page': counts,
                    "content": output_serializer.data
                }
                # return Response([{'content': output_serializer.data}])
                res = reponses_generale(msg_code='MG0011',
                                        sucess=1,
                                        results=res_pages)
                return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 8
0
    def get(self, request, *args, **kwargs):
        # print(request.query_params['pk'])
        if request.user:
            # les comptes de quelqu'un dans une banque'
            if 'pk' in request.query_params:
                if 'banque_id' in request.query_params:
                    # envoi au serveur
                    socket_obj = SocketHandler(sock=None)
                    data = {
                        'user_id': request.query_params['pk'],
                        'banque_id': request.query_params['banque_id']
                    }
                    # s = "[{'msg_code': 'MG001', 'params': %s}]" % (data)
                    # socket_obj.send(bytes(s, encoding='utf8'))
                    #
                    # #  transfert la reponse
                    # recep = socket_obj.receive()
                    # ''' formatage de la reponse en json '''
                    # rep_json = recep.decode('utf-8').replace("'", '"')
                    # ''' formatage json enliste '''
                    # data_list = json.loads(rep_json)
                    MSG_CODE = 'MG001'
                    data_list = socket_obj.get_response(MSG_CODE, data)
                    return Response(data_list)
                else:
                    res = reponses_generale(msg_code='MG000',
                                            sucess=0,
                                            error_code='invalid',
                                            error_msg="invalide banque_id")
                    return Response(res)

            else:
                res = reponses_generale(msg_code='MG000',
                                        sucess=0,
                                        error_code='invalid',
                                        error_msg="invalide pk")
                return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 9
0
    def post(self, request, *args, **kwargs):
        # print('#####################')
        # print(request.query_params)
        print(request.user.is_authenticated)
        if request.user.is_authenticated:
            if request.query_params:
                intput_serializer = banqSerializers(data=request.query_params)
                intput_serializer.is_valid(raise_exception=True)
                # return Response(intput_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
                if intput_serializer.is_valid(raise_exception=True):
                    #         instance = models.Tbanque.Meta.model(**validated_data)
                    instance = intput_serializer.save()
                    output_serializer = banqSerializers(instance)
                    res = reponses_generale(msg_code='MG0022',
                                            sucess=1,
                                            results=output_serializer.data)
                    return Response(res)

                # instance = get_object_or_404(models.Tbanque, pk=intput_serializer.data['banq_id'])
                # output_serializer = banqSerializers(instance)
                else:
                    return Response(intput_serializer.errors,
                                    status=status.HTTP_400_BAD_REQUEST)
                    res = reponses_generale(
                        msg_code='MG000',
                        sucess=0,
                        results=intput_serializer.errors,
                        error_code='invalid',
                        error_msg='les données sont invalide')
                    return Response(res)
            else:
                res = reponses_generale(msg_code='MG000',
                                        sucess=0,
                                        results=status.HTTP_400_BAD_REQUEST,
                                        error_code='invalid',
                                        error_msg="vous n'avez rien saisi")
                return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 10
0
    def get(self, request, *args, **kwargs):
        if request.user:
            # if not request.user.banque:
            #     res = reponses_generale(msg_code='MG000', sucess=0, error_code='NotBank', error_msg="cet utilisateur n'a pas de banque")
            #     return Response(res)

            socket_obj = SocketHandler(sock=None)
            # msg = [1, 2]
            # msg2 = {}
            # msg3 = b"[{'1', '2'}]"
            # socket_obj.send(bytes('auclert ca marche', encoding='utf8'))
            # socket_obj.send(bytes(msg))
            # socket_obj.send(bytes(msg2))

            data = {
                'user_id': request.user.id,
                'account_number': request.query_params['compte_numero']
            }
            # s = "[{'msg_code': 'MG001', 'params': %s}]" % (data)
            # socket_obj.send(bytes(s, encoding='utf8'))

            # recep = socket_obj.receive()
            # print(recep)  # en bytes code
            # ''' formatage de la reponse en json '''
            # rep_json = recep.decode('utf-8').replace("'", '"')
            # ''' formatage json enliste '''
            # data_list = json.loads(rep_json)
            # final = json.dumps(data_list, indent=4, sort_keys=True)
            MSG_CODE = "MG003"
            data_list = socket_obj.get_response(MSG_CODE, data)
            #res = reponses_generale(msg_code='MG003', sucess=1,results=data_list, error_code='',error_msg='')
            return Response(data_list)

        res = reponses_generale(msg_code='MG003',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)
Exemplo n.º 11
0
    def post(self, request, *args, **kwargs):
        # cal = calendar.weekday(2019,8,1)
        # week = datetime.date(2019,8,1).isocalendar()
        # print(cal)
        # print(week[1])
        # d = datetime.date(2019,8,1).timetuple()
        # print(d)
        # print(d[1])
        print(request)
        if request.user.is_authenticated:
            data_query = {
                'montant': request.data['montant'],
                'compte_id': request.data['compte_id'],
                'compte_numero': request.data['compte_numero'],
                'numero_recharge': request.data['numero_recharge'],
                'client_id': request.user.id,
                'client_nom': request.user.username,
                'banque_id': request.user.banque,
                'status': 'PROGRESS'
            }

            intput_serializer = appelsSerializers(data=data_query)
            intput_serializer.is_valid(raise_exception=True)
            if intput_serializer.is_valid(raise_exception=True):
                #         instance = models.Tbanque.Meta.model(**validated_data)
                # if not data_query['banque_id']:
                #     res = reponses_generale(msg_code='MG000', sucess=0, error_code='NotBank',
                #                             error_msg="cet utilisateur n'a pas de banque")
                #     return Response(res)
                # SAUVEGARDE APPEL DE FONDS
                instance = intput_serializer.save()
                # VERIFICATION DES PLAFONDS
                if request.user.type_plafond == USER:
                    verif = self.verifPlafondUser(instance)
                    print(verif)

                    if verif == 'montant_max':
                        # return Response([
                        #     {'content':{'msg': 'votre montant dépasse le montant maximal que vous pouvez effectuer, veuillez patienter svp!'}}
                        #     ])
                        msg = 'votre montant dépasse le montant maximal que vous pouvez effectuer, veuillez patienter svp!'
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                    elif verif == 'montant_min':
                        plafond_client = models.TPlafond.objects.get(
                            client_id=instance.client_id)
                        # return Response([
                        #     {'content':{'msg': 'vous ne pouvez faire une opération en dessous de %s' % (plafond_client.montant_min)}}
                        #     ])
                        msg = 'vous ne pouvez faire une opération en dessous de %s' % (
                            plafond_client.montant_min)
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                    elif verif == 'montant_cumul_max_week':
                        # return Response([
                        #     {'content':{'msg': 'cette demande a fait dépasser le maximum de la semaine, veuillez patienter svp!'}}
                        #     ])
                        msg = 'cette demande a fait dépasser le maximum de la semaine, veuillez patienter svp!'
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                    elif verif == 'montant_cumul_max_month':
                        # return Response([
                        #     {'content':{'msg': 'cette demande a fait dépasser le maximum du mois, veuillez patienter svp!'}}
                        #     ])
                        msg = 'cette demande a fait dépasser le maximum du mois, veuillez patienter svp!'
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                # if request.user.type_plafond == BANK:
                else:
                    verif = self.verifPlafondBank(instance)
                    print(verif)

                    if verif == 'montant_max':
                        # return Response([
                        #     {'content':{'msg': 'votre montant dépasse le maximum autorisé par votre banque, veuillez patienter svp!'}}
                        #     ])
                        msg = 'votre montant dépasse le maximum autorisé par votre banque, veuillez patienter svp!'
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                    elif verif == 'montant_min':
                        plafond_client = models.TPlafond.objects.get(
                            banque_id=instance.banq_id)
                        # return Response([
                        #     {'content':{'msg': 'Pour cette banque vous ne pouvez faire une opération en dessous de %s' % (plafond_client.montant_min)}}
                        #     ])
                        msg = 'Pour cette banque vous ne pouvez faire une opération en dessous de %s' % (
                            plafond_client.montant_min)
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                    elif verif == 'montant_cumul_max_week':
                        # return Response([
                        #     {'content':{'msg': 'cette demande a fait dépasser le maximum de la semaine autorisé par cette banque, veuillez patienter !'}}
                        #     ])
                        msg = 'cette demande a fait dépasser le maximum de la semaine autorisé par cette banque, veuillez patienter !'
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)
                    elif verif == 'montant_cumul_max_month':
                        # return Response([
                        #     {'content':{'msg': 'cette demande a fait dépasser le maximum du mois autorisé par cette banque, veuillez patienter svp!'}}
                        #     ])
                        msg = 'cette demande a fait dépasser le maximum du mois autorisé par cette banque, veuillez patienter svp!'
                        res = reponses_generale(msg_code='MG011',
                                                sucess=0,
                                                results=intput_serializer.data,
                                                error_code='plafond',
                                                error_msg=msg)
                        return Response(res)

                # ENVOI LAPPEL DE FONDS AU CORE ELOGE
                data = {
                    'user_id': instance.client_id.id,
                    'transaction_key': instance.id,
                    'account_number': instance.compte_numero,
                    'phone_number': instance.numero_recharge,
                    'date': instance.date,
                    'amount': instance.montant,
                }
                #s = "[{'msg_code': 'MG001', 'params': %s}]" % (data)
                socket_obj = SocketHandler(sock=None)
                MSG_CODE = 'MG002'
                data_list = socket_obj.get_response(MSG_CODE, data)
                # CHANGEMENT DU STATUS SELON LA REPONSE
                #if data_list[0].has_key('success'):
                if data_list[0]['success']:
                    instance.status = 'FINISH'
                    instance.save()
                    # appel_obj = self.get_object(data_list[0]['transaction_key'])
                    # appel_obj.status = 'FINISH'
                    # appel_obj.save()
                else:
                    res = reponses_generale(
                        msg_code=MSG_CODE,
                        sucess=0,
                        results='',
                        error_code=data_list[0]['error'][0]['err_code'],
                        error_msg=data_list[0]['error'][0]['err_msg'])
                    return Response(res)
                return Response(data_list)

                # output_serializer = appelsSerializers(instance)
                # # return Response([{'content': output_serializer.data}], status=status.HTTP_201_CREATED)
                # res = reponses_generale(msg_code='MG0011', sucess=1, results=output_serializer.data)
                # return Response(res)
            else:
                # Response(output_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
                res = reponses_generale(msg_code='MG000',
                                        sucess=0,
                                        results=intput_serializer.errors,
                                        error_code='invalid',
                                        error_msg="données invalide")
                return Response(res)

        res = reponses_generale(msg_code='MG001',
                                sucess=0,
                                error_code='auth1',
                                error_msg='vous devez vous authentifier')
        return Response(res)