# -*- coding: utf-8 -*- # Copyright 2018 Youssef El Ouahby # Copyright 2018 Fabien Bourgeois # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . """ GOLEM Resource Reservation Adaptation""" from odoo import models, api, _ from odoo.exceptions import ValidationError class AccountInvoice(models.Model): """ Account Invoice """ _inherit = 'account.invoice' @api.multi def add_to_invoice(self): """Add reservation to existing invoice """ for invoice in self: reservation_id = self._context.get('reservation_id') if not reservation_id: raise ValidationError(_('There is no reservation passed through ' 'context. Please contact your administrator.')) reservation = self.env['golem.resource.reservation'].browse(reservation_id) if not reservation: raise ValidationError(_('No reservation has been found with {} ' 'reservation ID. Please contact your ' 'administrator.'.format(reservation_id))) reservation.create_invoice_line(invoice)