Skip to Content
Menu
This question has been flagged
681 Views

Please i need help 

i'm trying to send a request from odoo to an api ,i create a function to send the request but i have an error 


import requests

from requests.auth import HTTPBasicAuth

from odoo import models, fields, api

from odoo.exceptions import UserError

import logging


_logger = logging.getLogger(__name__)


class LaboratoryRequest(models.Model):

    _inherit = 'acs.laboratory.request'


    def send_request_to_api(self,**kwargs):

        # Préparer les données

        try:

            data = {

                "count": 1,

                "results": [

                    {

                        "request_id": self.id,

                        "x_studio_code_demande": self.x_studio_code_demande or "",

                        "id": self.id,

                        "name": self.name,

                        "patient_id": self.patient_id.id,

                        "x_studio_nom_patient": self.patient_id.name or "",

                        "x_studio_code_patient": self.x_studio_code_patient or "",

                        "x_studio_date_naissance": self.x_studio_date_naissance or "",

                        "x_studio_sexe": self.x_studio_sexe or "",

                        "sample_ids": [

                            {

                                "id": sample.id,

                                "name": sample.name,

                                "test_ids": [

                                    {

                                        "id": test.id,

                                        "name": test.name,

                                        "x_studio_valeur_automate": test.x_studio_valeur_automate or "",

                                        "x_studio_unit_automate": test.x_studio_unit_automate or ""

                                    } for test in sample.test_ids

                                ]

                            } for sample in self.sample_ids

                        ],

                        "user_id": self.user_id.id,

                        "x_studio_automate": self.x_studio_automate or "",

                        "date_requested": self.date_requested,

                        "date_analysis": self.date_analysis,

                    }

                ]

            }


            # URL et authentification

            url = "https://..................."

            auth = HTTPBasicAuth('SIL_......', '.......')


            # Envoyer les données avec une requête POST

            _logger.info(f"Envoi des données à {url} : {data}")

            response = requests.post(url, json=data, auth=auth)


            # Vérifier la réponse

            response.raise_for_status()  # Cela lèvera une exception pour les statuts d'erreur HTTP

            _logger.info(f"Réponse de l'API : {response.json()}")

        except requests.exceptions.RequestException as e:

            raise UserError(f"Erreur de connexion à l'API : {str(e)}")

        except Exception as e:

            raise UserError(f"Erreur : {str(e)}")


        return True


and the error when i click on the button 


RPC_ERROR

Odoo Server Error

Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/odoo/https://erp.cliniquebiasa.org/web/assets/b766502/web.assets_web.min.js:2877:13)

Avatar
Discard
Related Posts Replies Views Activity
2
Aug 18
3525
2
Sep 22
7541
4
Mar 19
9124
1
Oct 15
9097
3
Dec 23
19201