DigitalSignage/models/dss_invoices.py

60 lines
2.4 KiB
Python
Executable File

import uuid
import logging
#from symbol import return_stmt
#sys.path.append('/opt/odoo')
from odoo import api, fields, models, _
from odoo import tools
from odoo.exceptions import ValidationError
from . import dss_settings
from datetime import date
from datetime import datetime
from dateutil.relativedelta import relativedelta
_logger = logging.getLogger(__name__)
class dssinvoices(models.Model):
_name = "dss.invoices"
_description = "DigitalSignage Rechnungen"
_inherit = ['mail.thread','mail.activity.mixin','dss.triggermodel']
_rec_name = "invoiceid"
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
date_create = fields.Date('Erstellungsdatum',default=lambda self: self._default_create_date())
user_create = fields.Char('Erstellungsuser',default=lambda self: self._default_create_user())
from_import = fields.Many2one("dss.importinvoicelist",string="Importdatensatz",tracking=True)
from_import_name = fields.Char(related="from_import.autoimportname")
contract = fields.Many2one("dss.contracts",string="Importdatensatz",tracking=True)
contract_name = fields.Char(related="contract.contract_auto_name",tracking=True)
invoiceid = fields.Char("Rechnungsnummer",required=True,tracking=True)
invoicename = fields.Char("Rechnungsempfänger",tracking=True)
invoiceclientnr = fields.Char("Rechnungskundennummer",tracking=True)
invoice_date = fields.Date("Rechnungsdatum",tracking=True)
is_printed = fields.Boolean("Gedruckt",tracking=True)
ammount_netto = fields.Char("Rechnungsbetrag Nettobetrag",tracking=True)
ammount_ust = fields.Char("Rechnungs-ust",tracking=True)
ammount_brutto = fields.Char("Rechnungs Bruttobetrag",tracking=True)
is_payed = fields.Boolean("Bezahlt",tracking=True)
is_payed_date = fields.Date("Zahlung erkannt",tracking=True)
invoice_type = fields.Char("Vorgangsart",tracking=True)
invoice_reference = fields.Char("Auftragsnummer",tracking=True)
def _track_template(self, changes):
res = super()._track_template(changes)
self.trigger_track_template(changes, self)
return res
@api.model
def _default_uuid(self):
return str(uuid.uuid4())
def _default_create_date(self):
return str(date.today())
def _default_create_user(self):
return str(self.env.user.name)