diff --git a/pms/controllers/pms_portal.py b/pms/controllers/pms_portal.py index 4f854a17e..afbca3a70 100644 --- a/pms/controllers/pms_portal.py +++ b/pms/controllers/pms_portal.py @@ -220,16 +220,22 @@ class PortalPrecheckin(CustomerPortal): def _prepare_home_portal_values(self, counters): partner = request.env.user.partner_id values = super()._prepare_home_portal_values(counters) - Reservation = request.env["pms.reservation"].search([("partner_id", "=", partner.id)]) + Reservation = request.env["pms.reservation"].search( + [("partner_id", "=", partner.id)] + ) if "checkin_count" in counters: checkin_partner_count = len(Reservation.checkin_partner_ids) - values["checkin_count"] = checkin_partner_count if Reservation.check_access_rights("read", raise_exception=False) else 0 + values["checkin_count"] = ( + checkin_partner_count + if Reservation.check_access_rights("read", raise_exception=False) + else 0 + ) return values - def _precheckin_get_page_view_values(self, precheckin, access_token, **kwargs): - values = {"precheckin": precheckin, "token": access_token} + def _precheckin_get_page_view_values(self, checkin_partner, access_token, **kwargs): + values = {"checkin_partner": checkin_partner, "token": access_token} return self._get_page_view_values( - precheckin, + checkin_partner, access_token, values, "my_precheckins_history", @@ -282,3 +288,23 @@ class PortalPrecheckin(CustomerPortal): } ) return request.render("pms.portal_my_precheckin", values) + + @http.route( + ["/my/precheckin/"], + type="http", + auth="user", + website=True, + ) + def portal_my_precheckin_detail(self, checkin_partner_id, access_token=None, **kw): + try: + checkin_sudo = self._document_check_access( + "pms.checkin.partner", + checkin_partner_id, + access_token=access_token, + ) + except (AccessError, MissingError): + return request.redirect("/my") + # for attachment in reservation_sudo.attachment_ids: + # attachment.generate_access_token() + values = self._precheckin_get_page_view_values(checkin_sudo, access_token, **kw) + return request.render("pms.portal_my_precheckin_detail", values) diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index a46ed8e7f..7603a2575 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -12,6 +12,7 @@ from odoo.tools.safe_eval import safe_eval class PmsCheckinPartner(models.Model): _name = "pms.checkin.partner" _description = "Partner Checkins" + _inherit = ["portal.mixin"] _rec_name = "identifier" _check_pms_properties_auto = True diff --git a/pms/views/precheckin_portal_templates.xml b/pms/views/precheckin_portal_templates.xml index 881ff24dc..a3ea82c54 100644 --- a/pms/views/precheckin_portal_templates.xml +++ b/pms/views/precheckin_portal_templates.xml @@ -1,4 +1,4 @@ - + + +