[FIX]pms_api_rest: Add DELETE reservation line service

This commit is contained in:
Darío Lodeiros
2022-07-13 17:03:11 +02:00
parent 2ef996da8b
commit 639e7fe10b
2 changed files with 25 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ from odoo.addons.component.core import Component
class PmsReservationLineService(Component):
_inherit = "base.rest.service"
_name = "pms.reservation.line.service"
_name = "pms.reservationline.service"
_usage = "reservation-lines"
_collection = "pms.services"

View File

@@ -248,6 +248,30 @@ class PmsReservationService(Component):
)
return result_lines
@restapi.method(
[
(
[
"/<int:reservation_id>/reservation-lines/<int:reservation_line_id>",
],
"DELETE",
)
],
auth="jwt_api_pms",
)
def delete_reservation_line(self, reservation_id, reservation_line_id):
reservation = self.env["pms.reservation"].search([("id", "=", reservation_id)])
line = reservation.reservation_line_ids.filtered(lambda l: l.id == reservation_line_id)
if (
line
and len(reservation.reservation_line_ids) == 1
and line.date > min(reservation.reservation_line_ids.mapped("date"))
and line.date < max(reservation.reservation_line_ids.mapped("date"))
):
line.unlink()
else:
raise MissingError(_("It was not possible to remove the reservation line"))
@restapi.method(
[
(