first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,82 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import ModelView, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.transaction import Transaction
from trytond.wizard import Button, StateAction, StateView, Wizard
class Invoice(metaclass=PoolMeta):
__name__ = 'account.invoice'
@classmethod
def __setup__(cls):
super().__setup__()
cls._buttons.update({
'correct': {
'invisible': Eval('state') != 'posted',
'depends': ['state', 'type'],
},
})
@classmethod
@ModelView.button_action(
'account_invoice_correction.wizard_invoice_correct')
def correct(cls, invoices):
pass
class InvoiceCorrectStart(ModelView):
__name__ = 'account.invoice.correct.start'
invoice = fields.Many2One('account.invoice', 'Invoice', readonly=True)
lines = fields.Many2Many('account.invoice.line', None, None,
'Invoice Lines',
domain=[
('invoice', '=', Eval('invoice', -1)),
('type', '=', 'line'),
])
class InvoiceCorrect(Wizard):
__name__ = 'account.invoice.correct'
start = StateView('account.invoice.correct.start',
'account_invoice_correction.correct_start_view_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Correct', 'correct', 'tryton-ok', default=True),
])
correct = StateAction('account_invoice.act_invoice_form')
def default_start(self, fields):
context = Transaction().context
return {
'invoice': context['active_id'],
'lines': [],
}
def do_correct(self, action):
pool = Pool()
Invoice = self.model
Line = pool.get('account.invoice.line')
invoice = self.record
with Transaction().set_context(_account_invoice_correction=True):
correction, = Invoice.copy([invoice], default={
'lines': [],
})
# Copy each line one by one to get negative and positive lines
# following each other
for line in self.start.lines:
Line.copy([line], default={
'invoice': correction.id,
'quantity': -line.quantity,
})
Line.copy([line], default={
'invoice': correction.id,
})
correction.update_taxes()
data = {'res_id': [correction.id]}
return action, data

View File

@@ -0,0 +1,29 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="invoice_view_form">
<field name="model">account.invoice</field>
<field name="inherit" ref="account_invoice.invoice_view_form"/>
<field name="name">invoice_form</field>
</record>
<record model="ir.ui.view" id="correct_start_view_form">
<field name="model">account.invoice.correct.start</field>
<field name="type">form</field>
<field name="name">correct_start_view_form</field>
</record>
<record model="ir.action.wizard" id="wizard_invoice_correct">
<field name="name">Correct</field>
<field name="wiz_name">account.invoice.correct</field>
<field name="model">account.invoice</field>
</record>
<record model="ir.model.button" id="invoice_correct_button">
<field name="model">account.invoice</field>
<field name="name">correct</field>
<field name="string">Correct</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Factura"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Línies de factura"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr "Inici corregir factura"
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Corregeix"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Corregeix"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Tria les línies a corregir:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Corregeix"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Cancel·la"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Rechnung"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Rechnungspositionen"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr "Rechnungskorrektur Start"
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Korrigieren"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Korrigieren"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Positionen zur Korrektur auswählen:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Korrigieren"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Abbrechen"

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Factura"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Lineas de factura"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr "Inicio corregir factura"
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Corregir"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Corregir"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Elige las líneas a corregir:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Corregir"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr ""
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr ""
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Arve"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Arve read"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Paranda"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Paranda"
#, fuzzy
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Vali read, mida parandada"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Paranda"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Tühista"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "صورت حساب"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "خطوط صورتحساب"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "صحیح"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
#, fuzzy
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "انتخاب خطوط برای اصلاح"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "اصلاح"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "انصراف"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Facture"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Lignes de facture"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr "Correction de facture comptable début"
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Corriger"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Corriger"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Choisissez les lignes à corriger :"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Corriger"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Annuler"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Faktur"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Baris Faktur"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr ""
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr ""
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Batal"

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Fattura"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Righe Fattura"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Corretto"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Corretto"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Scegli le righe da correggere:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Corretto"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Annulla"

View File

@@ -0,0 +1,37 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "ໃບເກັບເງິນ"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "ລາຍການເກັບເງິນ"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
#, fuzzy
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "ເລືອກລາຍການທີ່ຈະກວດແກ້"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "ກວດແກ້"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "ຍົກເລີກ"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Sąskaita faktūra"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Sąskaitos faktūros eilutės"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Taisyti"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Taisyti"
#, fuzzy
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Pasirinkite eilutes taisymui"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Taisyti"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Atsisakyti"

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Factuur"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Factuurregels"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr "Factuur correctie start"
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Corrigeer"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Corrigeer"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Kies regels om te corrigeren:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Corrigeer"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Annuleren"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Faktura"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Anuluj"

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Fatura"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Linhas de Faturas"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correto"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Escolha linhas para corrigir:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correto"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Factura"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Rânduri Factura"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr "Factura Început Corect"
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Corect"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Corect"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Selecție rânduri de corectat:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Corect"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Anulare"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr "Račun"
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr "Postavke računa"
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Popravek"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Popravek"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr "Izberite vrstice za popravek:"
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Popravi"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr "Prekliči"

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,35 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr ""
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr ""
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,36 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.invoice.correct.start,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.correct.start,lines:"
msgid "Invoice Lines"
msgstr ""
msgctxt "model:account.invoice.correct.start,string:"
msgid "Account Invoice Correct Start"
msgstr ""
msgctxt "model:ir.action,name:wizard_invoice_correct"
msgid "Correct"
msgstr "Correct"
msgctxt "model:ir.model.button,string:invoice_correct_button"
msgid "Correct"
msgstr "Correct"
msgctxt "view:account.invoice.correct.start:"
msgid "Choose lines to correct:"
msgstr ""
#, fuzzy
msgctxt "wizard_button:account.invoice.correct,start,correct:"
msgid "Correct"
msgstr "Correct"
msgctxt "wizard_button:account.invoice.correct,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,67 @@
===========================
Invoice Correction Scenario
===========================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_fiscalyear, get_accounts)
>>> from trytond.modules.account_invoice.tests.tools import (
... set_fiscalyear_invoice_sequences)
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules
Activate modules::
>>> config = activate_modules(
... 'account_invoice_correction', create_company, create_chart)
Create fiscal year::
>>> fiscalyear = set_fiscalyear_invoice_sequences(
... create_fiscalyear())
>>> fiscalyear.click('create_period')
Get accounts::
>>> accounts = get_accounts()
>>> revenue = accounts['revenue']
Create party::
>>> Party = Model.get('party.party')
>>> party = Party(name='Party')
>>> party.save()
Create invoice::
>>> Invoice = Model.get('account.invoice')
>>> invoice = Invoice()
>>> invoice.party = party
>>> line = invoice.lines.new()
>>> line.account = revenue
>>> line.description = "Revenue 1"
>>> line.quantity = 5
>>> line.unit_price = Decimal('30')
>>> line = invoice.lines.new()
>>> line.account = revenue
>>> line.description = "Revenue 2"
>>> line.quantity = 10
>>> line.unit_price = Decimal('40')
>>> invoice.click('post')
>>> invoice.state
'posted'
Correct invoice::
>>> correct = invoice.click('correct')
>>> correct.form.lines.extend(correct.form.lines.find(
... [('description', '=', "Revenue 1")]))
>>> correct.execute('correct')
>>> invoices, = correct.actions
>>> invoice, = invoices
>>> [(l.quantity, l.unit_price) for l in invoice.lines]
[(-5.0, Decimal('30')), (5.0, Decimal('30'))]

View File

@@ -0,0 +1,12 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import ModuleTestCase
class AccountInvoiceCorrectionTestCase(ModuleTestCase):
'Test Account Invoice Correction module'
module = 'account_invoice_correction'
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,14 @@
[tryton]
version=7.8.0
depends:
ir
account_invoice
xml:
invoice.xml
[register]
model:
invoice.Invoice
invoice.InvoiceCorrectStart
wizard:
invoice.InvoiceCorrect

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="2">
<image name="tryton-question" xexpand="0" xfill="0"/>
<label string="Choose lines to correct:" id="choose"
yalign="0.5" xalign="0.0" xexpand="1"/>
<field name="lines" colspan="2" widget="multiselection"/>
</form>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//group[@id='buttons']" position="inside">
<button name="correct" icon="tryton-launch"/>
</xpath>
</data>