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.
|
|
# © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields, api from datetime import datetime
class SaleOrder(models.Model): _inherit = 'sale.order'
vracoop_point_retrait_id = fields.Many2one( comodel_name='vracoop.point.retrait', string="Point retrait") day_retrait = fields.Date("Jour du retrait") hour_retrait = fields.Float("Heure du retrait") carrier_point_retrait = fields.Boolean( string='Point retrait', related='carrier_id.point_retrait')
def _check_retrait(self, force_retrait_id=None): self.ensure_one() PointRetrait = self.env['vracoop.point.retrait']
retrait = force_retrait_id and PointRetrait.browse(force_retrait_id) self.write({'vracoop_point_retrait_id': retrait.id}) return bool(retrait)
def _update_day_hour(self, hour_retrait=None): self.ensure_one() today = datetime.today() values = hour_retrait.split("-") day_retrait = datetime(today.year, int(values[1]), int(values[0]))
hour = values[2].split(":") hour_retrait = float('%s.%s' % (hour[0], hour[1]))
PointRetrait = self.env['vracoop.point.retrait'] retrait = PointRetrait.browse(values[3]) self.write({ 'hour_retrait': hour_retrait, 'day_retrait': day_retrait, 'vracoop_point_retrait_id': retrait.id}) return True
@api.multi def _prepare_invoice(self): self.ensure_one() res = super(SaleOrder, self)._prepare_invoice() res.update({ 'vracoop_point_retrait_id': self.vracoop_point_retrait_id.id, 'day_retrait': self.day_retrait, 'hour_retrait': self.hour_retrait, 'carrier_point_retrait': self.carrier_point_retrait }) return res
|