summaryrefslogtreecommitdiff
path: root/addons/l10n_de_purchase/models/purchase.py
blob: 6b7ea195c68d39e50481dfb64e6364e3693b13a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from odoo import models, fields, api, _
from odoo.tools import format_date


class PurchaseOrder(models.Model):
    _inherit = 'purchase.order'

    l10n_de_template_data = fields.Binary(compute='_compute_l10n_de_template_data')
    l10n_de_document_title = fields.Char(compute='_compute_l10n_de_document_title')
    l10n_de_addresses = fields.Binary(compute='_compute_l10n_de_addresses')

    def _compute_l10n_de_template_data(self):
        for record in self:
            record.l10n_de_template_data = data = []
            if record.state == 'draft':
                data.append((_("Request for Quotation No."), record.name))
            elif record.state in ['sent', 'to approve', 'purchase', 'done']:
                data.append((_("Purchase Order No."), record.name))
            elif record.state == 'cancel':
                data.append((_("Cancelled Purchase Order No."), record.name))

            if record.user_id:
                data.append((_("Purchase Representative"), record.user_id.name))
            if record.partner_ref:
                data.append((_("Order Reference"), record.partner_ref))
            if record.date_order:
                data.append((_("Order Date"), format_date(self.env, record.date_order)))
            if record.incoterm_id:
                data.append((_("Incoterm"), record.incoterm_id.code))



    def _compute_l10n_de_document_title(self):
        for record in self:
            if record.state == 'draft':
                record.l10n_de_document_title = _("Request for Quotation")
            elif record.state in ['sent', 'to approve', 'purchase', 'done']:
                record.l10n_de_document_title = _("Purchase Order")
            elif record.state == 'cancel':
                record.l10n_de_document_title = _("Cancelled Purchase Order")

    def _compute_l10n_de_addresses(self):
        for record in self:
            record.l10n_de_addresses = data = []
            if record.dest_address_id:
                data.append((_("Shipping Address:"), record.dest_address_id))
            elif 'picking_type_id' in record._fields and record.picking_type_id.warehouse_id:
                data.append((_("Shipping Address:"), record.picking_type_id.warehouse_id.partner_id))