changes
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
# Part of the Fusion Plating product family.
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class FpProofOfDelivery(models.Model):
|
||||
"""Proof of delivery record — captured at the delivery point.
|
||||
|
||||
Captures:
|
||||
* recipient name
|
||||
* recipient signature (binary image)
|
||||
* photos of the delivered load
|
||||
* GPS coordinates at time of capture
|
||||
* delivery timestamp
|
||||
|
||||
A POD is typically created via the delivery's "Create POD" action,
|
||||
which pre-fills the delivery_id and timestamps the record.
|
||||
"""
|
||||
_name = 'fusion.plating.proof.of.delivery'
|
||||
_description = 'Fusion Plating — Proof of Delivery'
|
||||
_order = 'delivered_at desc, id desc'
|
||||
|
||||
name = fields.Char(
|
||||
string='Reference',
|
||||
required=True,
|
||||
copy=False,
|
||||
default=lambda self: self._default_name(),
|
||||
)
|
||||
delivery_id = fields.Many2one(
|
||||
'fusion.plating.delivery',
|
||||
string='Delivery',
|
||||
ondelete='cascade',
|
||||
)
|
||||
partner_id = fields.Many2one(
|
||||
'res.partner',
|
||||
related='delivery_id.partner_id',
|
||||
store=True,
|
||||
readonly=True,
|
||||
)
|
||||
recipient_name = fields.Char(
|
||||
string='Recipient Name',
|
||||
)
|
||||
recipient_signature = fields.Binary(
|
||||
string='Signature',
|
||||
attachment=True,
|
||||
)
|
||||
delivered_at = fields.Datetime(
|
||||
string='Delivered At',
|
||||
default=fields.Datetime.now,
|
||||
)
|
||||
photo_ids = fields.Many2many(
|
||||
'ir.attachment',
|
||||
'fp_pod_photo_rel',
|
||||
'pod_id',
|
||||
'attachment_id',
|
||||
string='Photos',
|
||||
)
|
||||
notes = fields.Text(
|
||||
string='Notes',
|
||||
)
|
||||
gps_lat = fields.Float(
|
||||
string='GPS Latitude',
|
||||
digits=(9, 6),
|
||||
)
|
||||
gps_lon = fields.Float(
|
||||
string='GPS Longitude',
|
||||
digits=(9, 6),
|
||||
)
|
||||
|
||||
@api.model
|
||||
def _default_name(self):
|
||||
seq = self.env['ir.sequence'].next_by_code('fusion.plating.proof.of.delivery')
|
||||
return seq or '/'
|
||||
Reference in New Issue
Block a user