You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
868 B

  1. import json
  2. import logging
  3. from odoo import http
  4. from odoo.http import Response, request
  5. _logger = logging.getLogger(__name__)
  6. class PartnerGogocartojs(http.Controller):
  7. @http.route(
  8. '/web/<company_id>/get_http_gogocarto_elements',
  9. methods=['GET'],
  10. type='http',
  11. csrf=False,
  12. auth="public",
  13. website=True)
  14. def get_gogocarto_elements_http(self, company_id):
  15. data = self._jsonify_get_partner(company_id)
  16. return Response(json.dumps(data))
  17. def _jsonify_get_partner(self, company_id):
  18. PartnerSudo = request.env['res.partner'].sudo()
  19. parser = PartnerSudo._get_gogocarto_parser(company_id)
  20. partners = PartnerSudo.with_context(force_company=company_id).search(
  21. PartnerSudo._get_gogocarto_domain(company_id)
  22. )
  23. return partners.jsonify(parser)