website_form.py 966 B

12345678910111213141516171819202122
  1. # -*- coding: utf-8 -*-
  2. import logging
  3. from odoo.http import request
  4. from odoo.addons.website_helpdesk.controllers.main import WebsiteForm
  5. _logger = logging.getLogger(__name__)
  6. class WebsiteForm(WebsiteForm):
  7. def _handle_website_form(self, model_name, **kwargs):
  8. if model_name == "helpdesk.ticket":
  9. email = kwargs.get("partner_email") or request.params.get("partner_email")
  10. # Si no hay email o está vacío, y el usuario está logueado (no es público)
  11. if not email and not request.env.user._is_public():
  12. partner = request.env.user.partner_id
  13. _logger.info(
  14. f"Helpdesk Extras: Assigning partner_id {partner.id} to ticket (User: {request.env.user.name})"
  15. )
  16. request.params["partner_id"] = partner.id
  17. kwargs["partner_id"] = partner.id
  18. return super(WebsiteForm, self)._handle_website_form(model_name, **kwargs)