From ebd56999ff5e8a777caa6ec85d61ab1dd253c030 Mon Sep 17 00:00:00 2001 From: Stefan Katzensteiner Date: Tue, 16 Dec 2014 16:11:02 +0100 Subject: [PATCH] Added cam_invoice_skonto --- .../cam_invoice_skonto/__init__.py | 27 ++++++ .../cam_invoice_skonto/__openerp__.py | 45 ++++++++++ .../cam_invoice_skonto/cam_invoice_skonto.py | 85 ++++++++++++++++++ .../cam_invoice_skonto_data.xml | 38 ++++++++ .../cam_invoice_skonto_view.xml | 65 ++++++++++++++ .../static/src/img/icon.png | Bin 0 -> 11169 bytes setup/lib/config_at.py | 5 +- 7 files changed, 263 insertions(+), 2 deletions(-) create mode 100644 ext/custom-addons/cam_invoice_skonto/__init__.py create mode 100644 ext/custom-addons/cam_invoice_skonto/__openerp__.py create mode 100644 ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto.py create mode 100644 ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_data.xml create mode 100644 ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_view.xml create mode 100644 ext/custom-addons/cam_invoice_skonto/static/src/img/icon.png diff --git a/ext/custom-addons/cam_invoice_skonto/__init__.py b/ext/custom-addons/cam_invoice_skonto/__init__.py new file mode 100644 index 00000000..e9c3887f --- /dev/null +++ b/ext/custom-addons/cam_invoice_skonto/__init__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# cam_invoice_skonto, Custom Module for OpenERP +# Copyright (C) 2014 Camadeus Consulting GmbH (). +# +# 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 . +# +############################################################################## + +import cam_invoice_skonto + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/ext/custom-addons/cam_invoice_skonto/__openerp__.py b/ext/custom-addons/cam_invoice_skonto/__openerp__.py new file mode 100644 index 00000000..543479a1 --- /dev/null +++ b/ext/custom-addons/cam_invoice_skonto/__openerp__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# cam_invoice_skonto, Custom Module for OpenERP +# Copyright (C) 2014 Camadeus Consulting GmbH (). +# +# 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 . +# +############################################################################## + +{ + 'name': 'Camadeus Invoice Skonto', + 'version': '1.0', + 'category': 'Custom', + 'description': + """ + - Fügt die Felder Netto Tage, Skonto Tage, Skonto Prozent zu Zahlungsbedingungen (account.payment.term) hinzu. + - Fügt die Felder Skonto Fälligkeit und Betrag inkl. Skonto zur Rechnung (account.invoice) hinzu. + """, + 'author': 'camadeus GmbH', + 'website': 'http://www.camadeus.at', + 'depends': ['account'], + 'data': [ + 'cam_invoice_skonto_view.xml', + 'cam_invoice_skonto_data.xml', + ], + 'installable': True, + 'auto_install': False, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto.py b/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto.py new file mode 100644 index 00000000..f9f26bc5 --- /dev/null +++ b/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# cam_invoice_skonto, Custom Module for OpenERP +# Copyright (C) 2014 Camadeus Consulting GmbH (). +# +# 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 . +# +############################################################################## + +from openerp.osv import fields, osv +from openerp import models, fields as f, api +import openerp.addons.decimal_precision as dp +from datetime import date, timedelta, datetime + +class account_payment_term(osv.osv): + _inherit = 'account.payment.term' + + _columns = { + 'netto_tage': fields.integer('Netto Tage'), + 'skonto_tage': fields.integer('Skonto Tage'), + 'skonto_prozent': fields.float('Skonto Prozent'), + } + + def write(self, cr, uid, ids, values, context=None): + if context is None: + context = {} + + tl_obj = self.pool.get('account.payment.term.line') + for pay_term in self.browse(cr, uid, ids, context=context): + # Delete old account.payment.term.line + for tl_id in pay_term.line_ids: + tl_obj.unlink(cr, uid, tl_id.id, context=context) + # Create new account.payment.term.line based on netto_tage + days = 0 + if('netto_tage' in values): + days = values['netto_tage'] + else: + days = pay_term.netto_tage + values['line_ids'] = [(0,0, {'payment_id':pay_term.id, 'value': 'balance', 'days': days, 'days2':0})] + + return super(account_payment_term, self).write(cr, uid, ids, values, context=context) + + def create(self, cr, uid, vals, context=None): + if context is None: + context = {} + + new_id = super(account_payment_term, self).create(cr, uid, vals, context=context) + self.write(cr, uid, new_id, {'netto_tage': vals['netto_tage']}, context=context) + + return new_id + +class account_invoice(models.Model): + _inherit = 'account.invoice' + + @api.one + def _skonto_betrag_inkl(self): + if self.payment_term and self.payment_term.skonto_prozent: + self.skonto_betrag_inkl = self.amount_total * (1 - self.payment_term.skonto_prozent/100.0) + + skonto_faelligkeit = f.Date(string=u'Skonto Fälligkeit', readonly=True) + skonto_betrag_inkl = f.Float(string='Betrag inkl. Skonto', digits=dp.get_precision('Account'), readonly=True, compute='_skonto_betrag_inkl') + + @api.multi + def action_skonto_faelligkeit_assign(self): + for inv in self: + if inv.payment_term and inv.payment_term.skonto_tage: + inv.write({'skonto_faelligkeit': datetime.strptime(inv.date_invoice, '%Y-%m-%d') + timedelta(days=inv.payment_term.skonto_tage)}) + return True + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_data.xml b/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_data.xml new file mode 100644 index 00000000..6e2a8349 --- /dev/null +++ b/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_data.xml @@ -0,0 +1,38 @@ + + + + + + + + action_date_assign() +action_move_create() +action_number() +invoice_validate() +action_skonto_faelligkeit_assign() + + + diff --git a/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_view.xml b/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_view.xml new file mode 100644 index 00000000..9d3f7915 --- /dev/null +++ b/ext/custom-addons/cam_invoice_skonto/cam_invoice_skonto_view.xml @@ -0,0 +1,65 @@ + + + + + + + + + + cam_invoice_skonto.payment.term.form + account.payment.term + + + + + + + + + + + + + + + + + cam_invoice_skonto.invoice.form + account.invoice + + + + + + + + + + + + + diff --git a/ext/custom-addons/cam_invoice_skonto/static/src/img/icon.png b/ext/custom-addons/cam_invoice_skonto/static/src/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad73d74e66cc4b16f1901d708c576c2bbac87d7 GIT binary patch literal 11169 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 literal 0 HcmV?d00001 diff --git a/setup/lib/config_at.py b/setup/lib/config_at.py index 51722c02..ffbac02b 100644 --- a/setup/lib/config_at.py +++ b/setup/lib/config_at.py @@ -103,9 +103,10 @@ class Config(): 'cam_max_width', 'oerp_no_phoning_home', 'cam_custom', - 'custom_reports', + 'custom_reports', + 'cam_invoice_skonto', #'crm', #'sale', #'cam_hr_overtime', #'cam_hr', - ] \ No newline at end of file + ]