Initial import from Docker volume
This commit is contained in:
26
modules/account_deposit/__init__.py
Executable file
26
modules/account_deposit/__init__.py
Executable file
@@ -0,0 +1,26 @@
|
||||
# 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.pool import Pool
|
||||
|
||||
from . import account, invoice, party
|
||||
|
||||
|
||||
def register():
|
||||
Pool.register(
|
||||
account.AccountTypeTemplate,
|
||||
account.AccountType,
|
||||
invoice.Invoice,
|
||||
invoice.InvoiceLine,
|
||||
invoice.DepositRecallStart,
|
||||
party.Party,
|
||||
module='account_deposit', type_='model')
|
||||
Pool.register(
|
||||
account.Reconcile,
|
||||
invoice.DepositRecall,
|
||||
party.Erase,
|
||||
module='account_deposit', type_='wizard')
|
||||
Pool.register(
|
||||
account.Payment,
|
||||
module='account_deposit', type_='model',
|
||||
depends=['account_payment_clearing'])
|
||||
BIN
modules/account_deposit/__pycache__/__init__.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/__pycache__/__init__.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/__init__.cpython-311.pyc
Executable file
BIN
modules/account_deposit/__pycache__/__init__.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/account.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/__pycache__/account.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/account.cpython-311.pyc
Executable file
BIN
modules/account_deposit/__pycache__/account.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/exceptions.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/__pycache__/exceptions.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/exceptions.cpython-311.pyc
Executable file
BIN
modules/account_deposit/__pycache__/exceptions.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/invoice.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/__pycache__/invoice.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/invoice.cpython-311.pyc
Executable file
BIN
modules/account_deposit/__pycache__/invoice.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/party.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/__pycache__/party.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/__pycache__/party.cpython-311.pyc
Executable file
BIN
modules/account_deposit/__pycache__/party.cpython-311.pyc
Executable file
Binary file not shown.
64
modules/account_deposit/account.py
Executable file
64
modules/account_deposit/account.py
Executable file
@@ -0,0 +1,64 @@
|
||||
# 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 fields
|
||||
from trytond.pool import PoolMeta
|
||||
from trytond.pyson import Bool, Eval, If
|
||||
|
||||
|
||||
def AccountTypeMixin(template=False):
|
||||
|
||||
class Mixin:
|
||||
__slots__ = ()
|
||||
deposit = fields.Boolean(
|
||||
"Deposit",
|
||||
domain=[
|
||||
If(~Eval('statement').in_(['off-balance', 'balance']),
|
||||
('deposit', '=', False), ()),
|
||||
],
|
||||
states={
|
||||
'invisible': ~Eval('statement').in_(
|
||||
['off-balance', 'balance']),
|
||||
})
|
||||
if not template:
|
||||
for fname in dir(Mixin):
|
||||
field = getattr(Mixin, fname)
|
||||
if not isinstance(field, fields.Field):
|
||||
continue
|
||||
field.states['readonly'] = (
|
||||
Bool(Eval('template', -1)) & ~Eval('template_override', False))
|
||||
return Mixin
|
||||
|
||||
|
||||
class AccountTypeTemplate(AccountTypeMixin(template=True), metaclass=PoolMeta):
|
||||
__name__ = 'account.account.type.template'
|
||||
|
||||
def _get_type_value(self, type=None):
|
||||
values = super()._get_type_value(type=type)
|
||||
if not type or type.deposit != self.deposit:
|
||||
values['deposit'] = self.deposit
|
||||
return values
|
||||
|
||||
|
||||
class AccountType(AccountTypeMixin(), metaclass=PoolMeta):
|
||||
__name__ = 'account.account.type'
|
||||
|
||||
|
||||
class Reconcile(metaclass=PoolMeta):
|
||||
__name__ = 'account.reconcile'
|
||||
|
||||
def get_currencies(self, account, party, currency=None, _balanced=False):
|
||||
if account.type.deposit:
|
||||
_balanced = True
|
||||
return super().get_currencies(
|
||||
account, party, currency=None, _balanced=_balanced)
|
||||
|
||||
|
||||
class Payment(metaclass=PoolMeta):
|
||||
__name__ = 'account.payment'
|
||||
|
||||
@classmethod
|
||||
def _account_type_domain(cls):
|
||||
return ['OR',
|
||||
super()._account_type_domain(),
|
||||
('type.deposit', '=', True),
|
||||
]
|
||||
50
modules/account_deposit/account.xml
Executable file
50
modules/account_deposit/account.xml
Executable file
@@ -0,0 +1,50 @@
|
||||
<?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="account_type_template_view_form">
|
||||
<field name="model">account.account.type.template</field>
|
||||
<field name="inherit" ref="account.account_type_template_view_form"/>
|
||||
<field name="name">account_type_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="account_type_view_form">
|
||||
<field name="model">account.account.type</field>
|
||||
<field name="inherit" ref="account.account_type_view_form"/>
|
||||
<field name="name">account_type_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="move_line_view_list_deposit">
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="priority" eval="30"/>
|
||||
<field name="name">move_line_list_deposit</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_move_line_deposit">
|
||||
<field name="name">Deposit Lines</field>
|
||||
<field name="res_model">account.move.line</field>
|
||||
<field
|
||||
name="domain"
|
||||
eval="[('account.type.deposit', '=', True), If(Eval('active_ids', []) == [Eval('active_id')], ('party', '=', Eval('active_id')), ('party', 'in', Eval('active_ids')))]"
|
||||
pyson="1"/>
|
||||
<field name="search_value" eval="[('reconciliation', '=', None)]" pyson="1"/>
|
||||
<field name="order" eval="[('date', 'DESC')]" pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_move_line_deposit_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="move_line_view_list_deposit"/>
|
||||
<field name="act_window" ref="act_move_line_deposit"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_move_line_deposit_keyword1">
|
||||
<field name="keyword">form_relate</field>
|
||||
<field name="model">party.party,-1</field>
|
||||
<field name="action" ref="act_move_line_deposit"/>
|
||||
</record>
|
||||
<record model="ir.action-res.group" id="act_move_line_deposit-group_account">
|
||||
<field name="action" ref="act_move_line_deposit"/>
|
||||
<field name="group" ref="account.group_account"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
8
modules/account_deposit/exceptions.py
Executable file
8
modules/account_deposit/exceptions.py
Executable 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.model.exceptions import ValidationError
|
||||
|
||||
|
||||
class DepositError(ValidationError):
|
||||
pass
|
||||
160
modules/account_deposit/invoice.py
Executable file
160
modules/account_deposit/invoice.py
Executable file
@@ -0,0 +1,160 @@
|
||||
# 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 decimal import Decimal
|
||||
|
||||
from trytond.i18n import gettext
|
||||
from trytond.model import ModelView, fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Eval
|
||||
from trytond.wizard import Button, StateTransition, StateView, Wizard
|
||||
|
||||
from .exceptions import DepositError
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class Invoice(metaclass=PoolMeta):
|
||||
__name__ = 'account.invoice'
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
cls._buttons.update({
|
||||
'recall_deposit': {
|
||||
'invisible': Eval('state') != 'draft',
|
||||
'depends': ['state'],
|
||||
},
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def _post(cls, invoices):
|
||||
super()._post(invoices)
|
||||
cls.check_deposit(invoices)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button_action('account_deposit.wizard_recall_deposit')
|
||||
def recall_deposit(cls, invoices):
|
||||
pass
|
||||
|
||||
def call_deposit(self, account, description, maximum=None):
|
||||
pool = Pool()
|
||||
InvoiceLine = pool.get('account.invoice.line')
|
||||
|
||||
balance = self.party.get_deposit_balance(
|
||||
account, currency=self.currency)
|
||||
if maximum is None:
|
||||
maximum = self.total_amount
|
||||
total_amount = min(maximum, self.total_amount, key=abs)
|
||||
|
||||
amount = Decimal(0)
|
||||
logger.info("BALANCE:%s",balance)
|
||||
logger.info("TOTAL AMOUNT:%s",total_amount)
|
||||
logger.info("TYPE:%s",self.type)
|
||||
if self.type.startswith('in'):
|
||||
if balance > 0 and total_amount > 0:
|
||||
amount = -min(balance, total_amount)
|
||||
else:
|
||||
if balance < 0 and total_amount > 0:
|
||||
amount = -min(-balance, total_amount)
|
||||
to_delete = []
|
||||
for line in self.lines:
|
||||
if line.account == account:
|
||||
to_delete.append(line)
|
||||
logger.info("AMOUNT:%s",amount)
|
||||
if amount < 0:
|
||||
line = self._get_deposit_recall_invoice_line(
|
||||
amount, account, description)
|
||||
logger.info("LINE:%s",line)
|
||||
try:
|
||||
line.sequence = max(l.sequence for l in self.lines
|
||||
if l.sequence is not None)
|
||||
except ValueError:
|
||||
pass
|
||||
line.save()
|
||||
else:
|
||||
amount = Decimal(0)
|
||||
if to_delete:
|
||||
InvoiceLine.delete(to_delete)
|
||||
return amount
|
||||
|
||||
def _get_deposit_recall_invoice_line(self, amount, account, description):
|
||||
pool = Pool()
|
||||
Line = pool.get('account.invoice.line')
|
||||
|
||||
line = Line(
|
||||
invoice=self,
|
||||
company=self.company,
|
||||
type='line',
|
||||
quantity=1,
|
||||
account=account,
|
||||
unit_price=amount,
|
||||
description=description,
|
||||
)
|
||||
# Set taxes
|
||||
line.on_change_account()
|
||||
return line
|
||||
|
||||
@classmethod
|
||||
def check_deposit(cls, invoices):
|
||||
to_check = set()
|
||||
for invoice in invoices:
|
||||
for line in invoice.lines:
|
||||
if line.type != 'line':
|
||||
continue
|
||||
if line.account.type.deposit:
|
||||
if line.amount < 0:
|
||||
sign = 1 if invoice.type.startswith('in') else -1
|
||||
to_check.add((invoice.party, line.account, sign))
|
||||
|
||||
for party, account, sign in to_check:
|
||||
if not party.check_deposit(account, sign):
|
||||
raise DepositError(
|
||||
gettext('account_deposit.msg_deposit_not_enough',
|
||||
account=account.rec_name,
|
||||
party=party.rec_name))
|
||||
|
||||
|
||||
class InvoiceLine(metaclass=PoolMeta):
|
||||
__name__ = 'account.invoice.line'
|
||||
|
||||
@classmethod
|
||||
def _account_domain(cls, type_):
|
||||
domain = super(InvoiceLine, cls)._account_domain(type_)
|
||||
return domain + [('type.deposit', '=', True)]
|
||||
|
||||
|
||||
class DepositRecall(Wizard):
|
||||
'Recall deposit on Invoice'
|
||||
__name__ = 'account.invoice.recall_deposit'
|
||||
start = StateView('account.invoice.recall_deposit.start',
|
||||
'account_deposit.recall_deposit_start_view_form', [
|
||||
Button('Cancel', 'end', 'tryton-cancel'),
|
||||
Button('Recall', 'recall', 'tryton-ok', default=True),
|
||||
])
|
||||
recall = StateTransition()
|
||||
|
||||
def default_start(self, fields):
|
||||
return {
|
||||
'company': self.record.company.id,
|
||||
'currency': self.record.currency.id,
|
||||
}
|
||||
|
||||
def transition_recall(self):
|
||||
self.record.call_deposit(self.start.account, self.start.description)
|
||||
return 'end'
|
||||
|
||||
|
||||
class DepositRecallStart(ModelView):
|
||||
'Recall deposit on Invoice'
|
||||
__name__ = 'account.invoice.recall_deposit.start'
|
||||
company = fields.Many2One('company.company', 'Company', readonly=True)
|
||||
currency = fields.Many2One('currency.currency', "Currency", readonly=True)
|
||||
account = fields.Many2One('account.account', 'Account', required=True,
|
||||
domain=[
|
||||
('type.deposit', '=', True),
|
||||
('company', '=', Eval('company', -1)),
|
||||
['OR',
|
||||
('currency', '=', Eval('currency', -1)),
|
||||
('second_currency', '=', Eval('currency', -1)),
|
||||
],
|
||||
])
|
||||
description = fields.Text('Description', required=True)
|
||||
29
modules/account_deposit/invoice.xml
Executable file
29
modules/account_deposit/invoice.xml
Executable 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.action.wizard" id="wizard_recall_deposit">
|
||||
<field name="name">Recall Deposit</field>
|
||||
<field name="wiz_name">account.invoice.recall_deposit</field>
|
||||
<field name="model">account.invoice</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="recall_deposit_start_view_form">
|
||||
<field name="model">account.invoice.recall_deposit.start</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">recall_deposit_form</field>
|
||||
</record>
|
||||
|
||||
<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.model.button" id="invoice_recall_deposit_button">
|
||||
<field name="model">account.invoice</field>
|
||||
<field name="name">recall_deposit</field>
|
||||
<field name="string">Recall Deposit</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
69
modules/account_deposit/locale/bg.po
Executable file
69
modules/account_deposit/locale/bg.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Фактури"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Фирма"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Отказване"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
67
modules/account_deposit/locale/ca.po
Executable file
67
modules/account_deposit/locale/ca.po
Executable file
@@ -0,0 +1,67 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Dipòsit"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Dipòsit"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Descripció"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Bestreta"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Recuperació de bestreta en factura"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Línies de dipòsit"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recupera bestreta"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr "El compte \"%(account)s\" no te suficient diposit pel tercer \"%(party)s\"."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"No es pot eliminar el tercer \"%(party)s\" mentre tingui diposit a l'empresa"
|
||||
" \"%(company)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recupera bestreta"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Recupera"
|
||||
65
modules/account_deposit/locale/cs.po
Executable file
65
modules/account_deposit/locale/cs.po
Executable file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
69
modules/account_deposit/locale/de.po
Executable file
69
modules/account_deposit/locale/de.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anzahlung"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anzahlung"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Währung"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anzahlung"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Anzahlung auf Rechnung verrechnen"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Anzahlungspositionen"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Anzahlung verrechnen"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
"Auf Konto \"%(account)s\" ist nicht genügend Guthaben von Partei "
|
||||
"\"%(party)s\" vorhanden."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"Partei \"%(party)s\" kann nicht gelöscht werden, solange Sie noch ein "
|
||||
"Guthaben bei Unternehmen \"%(company)s\" hat."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Anzahlung verrechnen"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Verrechnen"
|
||||
69
modules/account_deposit/locale/es.po
Executable file
69
modules/account_deposit/locale/es.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anticipo"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anticipo"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Cuenta"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anticipo"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Recuperación de anticipo en factura"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Líneas de anticipo"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recuperar anticipo"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
"La cuenta \"%(account)s\" no tiene suficiente anticipo para el tercero "
|
||||
"\"%(party)s\"."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"No puede eliminar el tercero \"%(party)s\" mientras tenga un anticipo en la "
|
||||
"empresa \"%(company)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recuperar anticipo"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Recuperar"
|
||||
68
modules/account_deposit/locale/es_419.po
Executable file
68
modules/account_deposit/locale/es_419.po
Executable file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anticipo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anticipo"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Cuenta"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Anticipo"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Recuperación de anticipo en factura"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recuperar anticipo"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recuperar anticipo"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Recuperar"
|
||||
67
modules/account_deposit/locale/et.po
Executable file
67
modules/account_deposit/locale/et.po
Executable file
@@ -0,0 +1,67 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Deposiit"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Deposiit"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Ettevõte"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Kirjeldus"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Deposiit"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Tagasta arve deposiit"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Deposiidi read"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Tagasta deposiit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr "Kontol \"%(account)s\" pole piisavalt osapoole \"%(party)s\" deposiiti."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"Ei saa kustutada osapoolt \"%(party)s\" kui neil on ettevõttes "
|
||||
"\"%(company)s\" deposiit."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Tühista deposiit."
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Tühista"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Tühista"
|
||||
69
modules/account_deposit/locale/fa.po
Executable file
69
modules/account_deposit/locale/fa.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "سپرده"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "سپرده"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "حساب"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "شرکت"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "شرح"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "سپرده"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "فراخوانی سپرده در صورتحساب"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "یادآوری سپرده"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr "حساب : \"%(account)s\" سپرده کافی از طرف نهاد/سازمان: \"%(party)s\" ندارد."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"شما نمیتوانید نهاد/سازمان : \"%(party)s\" را حذف کنید، در حالی که آنها در "
|
||||
"شرکت : \"%(company)s\" سپرده دارند."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "انصراف"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "فراخوانی"
|
||||
65
modules/account_deposit/locale/fi.po
Executable file
65
modules/account_deposit/locale/fi.po
Executable file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
68
modules/account_deposit/locale/fr.po
Executable file
68
modules/account_deposit/locale/fr.po
Executable file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Dépôt"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Dépôt"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Société"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Devise"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Dépôt"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Rappeler les dépôts sur la facture"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Lignes de dépôt"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Rappeler les dépôts"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
"Le compte « %(account)s » n'a pas assez de dépôt du tiers « %(party)s »."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas effacer le tiers « %(party)s » tant qu'il a un dépôt dans"
|
||||
" la société « %(company)s »."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Rappeler les dépôts"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Rappeler"
|
||||
69
modules/account_deposit/locale/hu.po
Executable file
69
modules/account_deposit/locale/hu.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Számla"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Társaság"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Leírás"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
67
modules/account_deposit/locale/id.po
Executable file
67
modules/account_deposit/locale/id.po
Executable file
@@ -0,0 +1,67 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Setoran"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Setoran"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Akun"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Perusahaan"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Deskripsi"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Simpanan"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"Anda tidak dapat menghapus pihak \"%(party)s\" saat mereka memiliki setoran "
|
||||
"di perusahaan \"%(company)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
69
modules/account_deposit/locale/it.po
Executable file
69
modules/account_deposit/locale/it.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Deposito"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Deposito"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Conto"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Azienda"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Descrizione"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Deposito"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Richiama il deposito sulla fattura"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Linee di deposito"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Richiama deposito"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
"L'account \"%(account)s\" non ha abbastanza deposito dalla controparte "
|
||||
"\"%(party)s\"."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"Non è possibile cancellare la controparte \"%(party)s\" mentre hanno un "
|
||||
"deposito presso la società \"%(company)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Richiama Deposito"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Richiama"
|
||||
68
modules/account_deposit/locale/lo.po
Executable file
68
modules/account_deposit/locale/lo.po
Executable file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "ເງິນມັດຈໍາ"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "ເງິນມັດຈໍາ"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "ບັນຊີ"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "ບໍລິສັດ"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "ເນື້ອໃນລາຍການ"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "ເງິນມັດຈໍາ"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "ຮຽກເງິນມັດຈໍາໃນໃບເກັບເງິນ"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "ຍົກເລີກ"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "ຮຽກຄືນ"
|
||||
65
modules/account_deposit/locale/lt.po
Executable file
65
modules/account_deposit/locale/lt.po
Executable file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Organizacija"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
69
modules/account_deposit/locale/nl.po
Executable file
69
modules/account_deposit/locale/nl.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Storting"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Storting"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Rekening"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Specificatie"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "storting"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "herinnering ??( Recall deposit on Invoice)"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Stortingsregels"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Stort terug"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
"De rekening \"%(account)s\" heeft niet voldoende krediet van relatie "
|
||||
"\"%(party)s\"."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"U kunt relatie \"%(party)s\" niet wissen terwijl ze een tegoed hebben bij "
|
||||
"bedrijf \"%(company)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Stort terug"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Terugroepen"
|
||||
68
modules/account_deposit/locale/pl.po
Executable file
68
modules/account_deposit/locale/pl.po
Executable file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Wpłata"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Wpłata"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Firma"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Opis"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Wpłata"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
68
modules/account_deposit/locale/pt.po
Executable file
68
modules/account_deposit/locale/pt.po
Executable file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depósito"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depósito"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Conta"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Descrição"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depósito"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Recuperar o depósito na fatura"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Linhas de Depósito"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Recuperar"
|
||||
69
modules/account_deposit/locale/ro.po
Executable file
69
modules/account_deposit/locale/ro.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Cont"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Companie"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valută"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Descriere"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Rechemare depozit pe Factura"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr "Rânduri Depozit"
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Rechemare Depozit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
"Contul \"%(notification)s\" nu are destul de mult depozit de la parte "
|
||||
"\"%(party)s\"."
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
"Nu se poate şterge parte\"%(party)s\" când au depozit la compania "
|
||||
"\"%(company)s\"."
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Rechemare Depozit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Anulare"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Rechemare"
|
||||
69
modules/account_deposit/locale/ru.po
Executable file
69
modules/account_deposit/locale/ru.po
Executable file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Счет"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Учет.орг."
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
68
modules/account_deposit/locale/sl.po
Executable file
68
modules/account_deposit/locale/sl.po
Executable file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Konto"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Družba"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Opis"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr "Odpoklic depozita za račun"
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr "Odpoklic"
|
||||
67
modules/account_deposit/locale/tr.po
Executable file
67
modules/account_deposit/locale/tr.po
Executable file
@@ -0,0 +1,67 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr "Hesap"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr "Şirket"
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "Tanım"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr "Depozit"
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Vazgeç"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
65
modules/account_deposit/locale/uk.po
Executable file
65
modules/account_deposit/locale/uk.po
Executable file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
67
modules/account_deposit/locale/zh_CN.po
Executable file
67
modules/account_deposit/locale/zh_CN.po
Executable file
@@ -0,0 +1,67 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.account.type,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.account.type.template,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,account:"
|
||||
msgid "Account"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:account.invoice.recall_deposit.start,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.recall_deposit.start,description:"
|
||||
msgid "Description"
|
||||
msgstr "描述"
|
||||
|
||||
msgctxt "field:party.party,deposit:"
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:account.invoice.recall_deposit.start,name:"
|
||||
msgid "Recall deposit on Invoice"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_move_line_deposit"
|
||||
msgid "Deposit Lines"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_recall_deposit"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_deposit_not_enough"
|
||||
msgid "The account \"%(account)s\" has not enough deposit from party \"%(party)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.message,text:msg_erase_party_deposit"
|
||||
msgid ""
|
||||
"You cannot erase party \"%(party)s\" while they have deposit at company "
|
||||
"\"%(company)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:invoice_recall_deposit_button"
|
||||
msgid "Recall Deposit"
|
||||
msgstr "Recall Deposit"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
msgctxt "wizard_button:account.invoice.recall_deposit,start,recall:"
|
||||
msgid "Recall"
|
||||
msgstr ""
|
||||
13
modules/account_deposit/message.xml
Executable file
13
modules/account_deposit/message.xml
Executable file
@@ -0,0 +1,13 @@
|
||||
<?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 grouped="1">
|
||||
<record model="ir.message" id="msg_erase_party_deposit">
|
||||
<field name="text">You cannot erase party "%(party)s" while they have deposit at company "%(company)s".</field>
|
||||
</record>
|
||||
<record model="ir.message" id="msg_deposit_not_enough">
|
||||
<field name="text">The account "%(account)s" has not enough deposit from party "%(party)s".</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_bg.xml
Executable file
40
modules/account_deposit/minimal_chart_bg.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="bg">
|
||||
<record id="account_type_template_deposit_bg" model="account.account.type.template">
|
||||
|
||||
<field name="name">депозит</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_bg"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_bg" model="account.account.template">
|
||||
|
||||
<field name="name">депозит</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_bg"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_bg"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_ca.xml
Executable file
40
modules/account_deposit/minimal_chart_ca.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="ca">
|
||||
<record id="account_type_template_deposit_ca" model="account.account.type.template">
|
||||
|
||||
|
||||
<field name="name">Dipòsit</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_ca"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_ca" model="account.account.template">
|
||||
|
||||
|
||||
<field name="name">Dipòsit</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_ca"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_ca"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_de.xml
Executable file
40
modules/account_deposit/minimal_chart_de.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="de">
|
||||
<record id="account_type_template_deposit_de" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
<field name="name">Anzahlung</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_de"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_de" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
<field name="name">Anzahlung</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_de"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_de"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_en.xml
Executable file
40
modules/account_deposit/minimal_chart_en.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="en">
|
||||
<record id="account_type_template_deposit_en" model="account.account.type.template">
|
||||
<field name="name">Deposit</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_en"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_en" model="account.account.template">
|
||||
<field name="name">Deposit</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_en"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_en"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_es.xml
Executable file
40
modules/account_deposit/minimal_chart_es.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="es">
|
||||
<record id="account_type_template_deposit_es" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Depósito</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_es"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_es" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Depósito</field>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_es"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_es"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_fr.xml
Executable file
40
modules/account_deposit/minimal_chart_fr.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="fr">
|
||||
<record id="account_type_template_deposit_fr" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Dépôt</field>
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_fr"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_fr" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Dépôt</field>
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_fr"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_fr"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_nl.xml
Executable file
40
modules/account_deposit/minimal_chart_nl.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="nl">
|
||||
<record id="account_type_template_deposit_nl" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Afzetting</field>
|
||||
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_nl"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_nl" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Afzetting</field>
|
||||
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_nl"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_nl"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_pt.xml
Executable file
40
modules/account_deposit/minimal_chart_pt.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="pt">
|
||||
<record id="account_type_template_deposit_pt" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Depositar</field>
|
||||
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_pt"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_pt" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Depositar</field>
|
||||
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_pt"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_pt"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_ru.xml
Executable file
40
modules/account_deposit/minimal_chart_ru.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="ru">
|
||||
<record id="account_type_template_deposit_ru" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">депозит</field>
|
||||
|
||||
<field name="parent" ref="account.account_type_template_off_balance_ru"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_ru" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">депозит</field>
|
||||
|
||||
<field name="type" ref="account_type_template_deposit_ru"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_ru"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
40
modules/account_deposit/minimal_chart_sl.xml
Executable file
40
modules/account_deposit/minimal_chart_sl.xml
Executable file
@@ -0,0 +1,40 @@
|
||||
<?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 language="sl">
|
||||
<record id="account_type_template_deposit_sl" model="account.account.type.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Polog</field>
|
||||
<field name="parent" ref="account.account_type_template_off_balance_sl"/>
|
||||
<field name="statement">off-balance</field>
|
||||
<field name="deposit" eval="True"/>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="account_template_deposit_sl" model="account.account.template">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<field name="name">Polog</field>
|
||||
<field name="type" ref="account_type_template_deposit_sl"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
<field name="parent" ref="account.account_template_root_sl"/>
|
||||
<field name="party_required" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
159
modules/account_deposit/party.py
Executable file
159
modules/account_deposit/party.py
Executable file
@@ -0,0 +1,159 @@
|
||||
# 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 decimal import Decimal
|
||||
|
||||
from sql import For, Literal, Null
|
||||
from sql.aggregate import Sum
|
||||
from sql.conditionals import Case, Coalesce
|
||||
|
||||
from trytond.i18n import gettext
|
||||
from trytond.model import fields
|
||||
from trytond.modules.currency.fields import Monetary
|
||||
from trytond.modules.party.exceptions import EraseError
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.tools import grouped_slice, reduce_ids
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
|
||||
class Party(metaclass=PoolMeta):
|
||||
__name__ = 'party.party'
|
||||
|
||||
deposit = fields.Function(Monetary(
|
||||
"Deposit", currency='currency', digits='currency'),
|
||||
'get_deposit', searcher='search_deposit')
|
||||
|
||||
@classmethod
|
||||
def get_deposit(cls, parties, name):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
Account = pool.get('account.account')
|
||||
AccountType = pool.get('account.account.type')
|
||||
User = pool.get('res.user')
|
||||
cursor = Transaction().connection.cursor()
|
||||
|
||||
line = MoveLine.__table__()
|
||||
account = Account.__table__()
|
||||
account_type = AccountType.__table__()
|
||||
|
||||
values = {p.id: Decimal(0) for p in parties}
|
||||
|
||||
user = User(Transaction().user)
|
||||
if not user.company:
|
||||
return values
|
||||
currency = user.company.currency
|
||||
|
||||
line_clause, _ = MoveLine.query_get(line)
|
||||
|
||||
for sub_parties in grouped_slice(parties):
|
||||
party_clause = reduce_ids(line.party, [p.id for p in sub_parties])
|
||||
cursor.execute(*line
|
||||
.join(account, condition=account.id == line.account)
|
||||
.join(account_type, condition=account.type == account_type.id)
|
||||
.select(line.party,
|
||||
# Use credit - debit to positive deposit amount
|
||||
Sum(Coalesce(line.credit, 0) - Coalesce(line.debit, 0)),
|
||||
where=account_type.deposit
|
||||
& party_clause
|
||||
& (line.reconciliation == Null)
|
||||
& (account.company == user.company.id)
|
||||
& line_clause,
|
||||
group_by=line.party))
|
||||
for party_id, value in cursor:
|
||||
# SQLite uses float for SUM
|
||||
if not isinstance(value, Decimal):
|
||||
value = currency.round(Decimal(str(value)))
|
||||
values[party_id] = value
|
||||
return values
|
||||
|
||||
@classmethod
|
||||
def search_deposit(cls, name, clause):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
Account = pool.get('account.account')
|
||||
AccountType = pool.get('account.account.type')
|
||||
User = pool.get('res.user')
|
||||
|
||||
line = MoveLine.__table__()
|
||||
account = Account.__table__()
|
||||
account_type = AccountType.__table__()
|
||||
|
||||
user = User(Transaction().user)
|
||||
if not user.company:
|
||||
return []
|
||||
|
||||
line_clause, _ = MoveLine.query_get(line)
|
||||
Operator = fields.SQL_OPERATORS[clause[1]]
|
||||
|
||||
query = (line
|
||||
.join(account, condition=account.id == line.account)
|
||||
.join(account_type, condition=account.type == account_type.id)
|
||||
.select(line.party,
|
||||
where=account.active
|
||||
& account_type.deposit
|
||||
& (line.party != Null)
|
||||
& (line.reconciliation == Null)
|
||||
& (account.company == user.company.id)
|
||||
& line_clause,
|
||||
group_by=line.party,
|
||||
having=Operator(
|
||||
Sum(Coalesce(line.debit, 0) - Coalesce(line.credit, 0)),
|
||||
Decimal(clause[2] or 0))))
|
||||
return [('id', 'in', query)]
|
||||
|
||||
def get_deposit_balance(self, deposit_account, currency=None):
|
||||
'Return the deposit account balance (debit - credit) for the party'
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
transaction = Transaction()
|
||||
cursor = transaction.connection.cursor()
|
||||
|
||||
line = MoveLine.__table__()
|
||||
if currency is None:
|
||||
currency = deposit_account.currency
|
||||
assert deposit_account.type.deposit
|
||||
|
||||
where = ((line.account == deposit_account.id)
|
||||
& (line.party == self.id)
|
||||
& (line.reconciliation == Null))
|
||||
if transaction.database.has_select_for():
|
||||
cursor.execute(*line.select(
|
||||
Literal(1),
|
||||
where=where,
|
||||
for_=For('UPDATE', nowait=True)))
|
||||
else:
|
||||
MoveLine.lock()
|
||||
|
||||
if currency == deposit_account.currency:
|
||||
amount = Sum(Coalesce(line.debit, 0) - Coalesce(line.credit, 0))
|
||||
else:
|
||||
amount = Sum(Case(
|
||||
(line.second_currency == currency.id,
|
||||
line.amount_second_currency),
|
||||
else_=0))
|
||||
|
||||
cursor.execute(*line.select(amount, where=where))
|
||||
amount, = cursor.fetchone()
|
||||
if amount is None:
|
||||
amount = Decimal(0)
|
||||
if not isinstance(amount, Decimal):
|
||||
amount = Decimal(str(amount))
|
||||
return currency.round(amount)
|
||||
|
||||
def check_deposit(self, deposit_account, sign=1):
|
||||
'''Check if the deposit account balance (debit - credit) has the same
|
||||
sign for the party'''
|
||||
assert sign in (1, -1)
|
||||
amount = self.get_deposit_balance(
|
||||
deposit_account, currency=deposit_account.second_currency)
|
||||
return not amount or ((amount < 0) == (sign < 0))
|
||||
|
||||
|
||||
class Erase(metaclass=PoolMeta):
|
||||
__name__ = 'party.erase'
|
||||
|
||||
def check_erase_company(self, party, company):
|
||||
if party.deposit:
|
||||
raise EraseError(
|
||||
gettext('account_deposit.msg_erase_party_deposit',
|
||||
party=party.rec_name,
|
||||
company=company.rec_name))
|
||||
17
modules/account_deposit/party.xml
Executable file
17
modules/account_deposit/party.xml
Executable file
@@ -0,0 +1,17 @@
|
||||
<?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="party_view_tree">
|
||||
<field name="model">party.party</field>
|
||||
<field name="inherit" ref="party.party_view_tree"/>
|
||||
<field name="name">party_tree</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="party_view_form">
|
||||
<field name="model">party.party</field>
|
||||
<field name="inherit" ref="party.party_view_form"/>
|
||||
<field name="name">party_form</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
2
modules/account_deposit/tests/__init__.py
Executable file
2
modules/account_deposit/tests/__init__.py
Executable 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.
|
||||
BIN
modules/account_deposit/tests/__pycache__/__init__.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/__init__.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/__init__.cpython-311.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/__init__.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/test_module.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/test_module.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/test_module.cpython-311.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/test_module.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/test_scenario.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/test_scenario.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/test_scenario.cpython-311.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/test_scenario.cpython-311.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/tools.cpython-311.opt-1.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/tools.cpython-311.opt-1.pyc
Executable file
Binary file not shown.
BIN
modules/account_deposit/tests/__pycache__/tools.cpython-311.pyc
Executable file
BIN
modules/account_deposit/tests/__pycache__/tools.cpython-311.pyc
Executable file
Binary file not shown.
107
modules/account_deposit/tests/scenario_deposit.rst
Executable file
107
modules/account_deposit/tests/scenario_deposit.rst
Executable file
@@ -0,0 +1,107 @@
|
||||
================
|
||||
Deposit 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_deposit.tests.tools import add_deposit_accounts
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company, get_company
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('account_deposit')
|
||||
|
||||
Create company::
|
||||
|
||||
>>> _ = create_company()
|
||||
>>> company = get_company()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(
|
||||
... create_fiscalyear(company))
|
||||
>>> fiscalyear.click('create_period')
|
||||
|
||||
Create chart of accounts::
|
||||
|
||||
>>> _ = create_chart(company)
|
||||
>>> accounts = add_deposit_accounts(get_accounts(company))
|
||||
|
||||
Create party::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> party = Party(name='Party')
|
||||
>>> party.save()
|
||||
|
||||
Create payment_term::
|
||||
|
||||
>>> payment_term = create_payment_term()
|
||||
>>> payment_term.save()
|
||||
|
||||
Create deposit invoice::
|
||||
|
||||
>>> Invoice = Model.get('account.invoice')
|
||||
>>> invoice = Invoice(party=party, payment_term=payment_term)
|
||||
>>> line = invoice.lines.new()
|
||||
>>> line.account = accounts['deposit']
|
||||
>>> line.description = 'Deposit'
|
||||
>>> line.quantity = 1
|
||||
>>> line.unit_price = Decimal(100)
|
||||
>>> invoice.click('post')
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('100.00')
|
||||
|
||||
Check party deposit::
|
||||
|
||||
>>> party.reload()
|
||||
>>> party.deposit
|
||||
Decimal('100.00')
|
||||
|
||||
Create final invoice::
|
||||
|
||||
>>> invoice = Invoice(party=party, payment_term=payment_term)
|
||||
>>> line = invoice.lines.new()
|
||||
>>> line.account = accounts['revenue']
|
||||
>>> line.description = 'Revenue'
|
||||
>>> line.quantity = 1
|
||||
>>> line.unit_price = Decimal(500)
|
||||
>>> invoice.save()
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('500.00')
|
||||
|
||||
Recall deposit::
|
||||
|
||||
>>> recall_deposit = invoice.click('recall_deposit')
|
||||
>>> recall_deposit.form.account = accounts['deposit']
|
||||
>>> recall_deposit.form.description = 'Recall Deposit'
|
||||
>>> recall_deposit.execute('recall')
|
||||
>>> invoice.reload()
|
||||
>>> deposit_line, = [l for l in invoice.lines
|
||||
... if l.account == accounts['deposit']]
|
||||
>>> deposit_line.amount
|
||||
Decimal('-100.00')
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('400.00')
|
||||
|
||||
Recall too much::
|
||||
|
||||
>>> deposit_line.unit_price = Decimal('-200.00')
|
||||
>>> deposit_line.save()
|
||||
>>> invoice.click('post')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
DepositError: ...
|
||||
|
||||
Recall available::
|
||||
|
||||
>>> deposit_line.unit_price = Decimal('-100.00')
|
||||
>>> deposit_line.save()
|
||||
>>> invoice.click('post')
|
||||
117
modules/account_deposit/tests/scenario_deposit_second_currency.rst
Executable file
117
modules/account_deposit/tests/scenario_deposit_second_currency.rst
Executable file
@@ -0,0 +1,117 @@
|
||||
=====================================
|
||||
Deposit with Second Currency Scenario
|
||||
=====================================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime as dt
|
||||
>>> 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_deposit.tests.tools import add_deposit_accounts
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.modules.currency.tests.tools import get_currency
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
>>> today = dt.date.today()
|
||||
>>> yesterday = today - dt.timedelta(days=1)
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('account_deposit')
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Invoice = Model.get('account.invoice')
|
||||
|
||||
Create company::
|
||||
|
||||
>>> currency = get_currency('USD')
|
||||
>>> eur = get_currency('EUR')
|
||||
>>> _ = create_company(currency=currency)
|
||||
|
||||
Set alternate currency rates::
|
||||
|
||||
>>> rate = eur.rates.new()
|
||||
>>> rate.date = yesterday
|
||||
>>> rate.rate = Decimal('1.20')
|
||||
>>> rate = eur.rates.new()
|
||||
>>> rate.date = today
|
||||
>>> rate.rate = Decimal('1.10')
|
||||
>>> eur.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
>>> fiscalyear.click('create_period')
|
||||
|
||||
Create chart of accounts::
|
||||
|
||||
>>> _ = create_chart()
|
||||
>>> accounts = add_deposit_accounts(get_accounts())
|
||||
>>> accounts['deposit'].second_currency = eur
|
||||
>>> accounts['deposit'].save()
|
||||
|
||||
Create party::
|
||||
|
||||
>>> party = Party(name='Party')
|
||||
>>> party.save()
|
||||
|
||||
Create deposit invoice::
|
||||
|
||||
>>> invoice = Invoice(party=party, currency=eur, invoice_date=yesterday)
|
||||
>>> line = invoice.lines.new()
|
||||
>>> line.account = accounts['deposit']
|
||||
>>> line.description = "Deposit"
|
||||
>>> line.quantity = 1
|
||||
>>> line.unit_price = Decimal(100)
|
||||
>>> invoice.click('post')
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('100.00')
|
||||
|
||||
Check party deposit::
|
||||
|
||||
>>> party.reload()
|
||||
>>> party.deposit
|
||||
Decimal('83.33')
|
||||
|
||||
Create final invoice::
|
||||
|
||||
>>> invoice = Invoice(party=party, currency=eur, invoice_date=today)
|
||||
>>> line = invoice.lines.new()
|
||||
>>> line.account = accounts['revenue']
|
||||
>>> line.description = "Revenue"
|
||||
>>> line.quantity = 1
|
||||
>>> line.unit_price = Decimal(500)
|
||||
>>> invoice.save()
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('500.00')
|
||||
|
||||
Recall deposit::
|
||||
|
||||
>>> recall_deposit = invoice.click('recall_deposit')
|
||||
>>> recall_deposit.form.account = accounts['deposit']
|
||||
>>> recall_deposit.form.description = "Recall Deposit"
|
||||
>>> recall_deposit.execute('recall')
|
||||
>>> invoice.reload()
|
||||
>>> deposit_line, = [l for l in invoice.lines
|
||||
... if l.account == accounts['deposit']]
|
||||
>>> deposit_line.amount
|
||||
Decimal('-100.00')
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('400.00')
|
||||
>>> invoice.click('post')
|
||||
|
||||
Check party deposit::
|
||||
|
||||
>>> party.reload()
|
||||
>>> party.deposit
|
||||
Decimal('-7.58')
|
||||
>>> accounts['deposit'].reload()
|
||||
>>> accounts['deposit'].balance
|
||||
Decimal('7.58')
|
||||
>>> accounts['deposit'].amount_second_currency
|
||||
Decimal('0.00')
|
||||
16
modules/account_deposit/tests/test_module.py
Executable file
16
modules/account_deposit/tests/test_module.py
Executable file
@@ -0,0 +1,16 @@
|
||||
# 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.modules.company.tests import (
|
||||
CompanyTestMixin, PartyCompanyCheckEraseMixin)
|
||||
from trytond.tests.test_tryton import ModuleTestCase
|
||||
|
||||
|
||||
class AccountDepositTestCase(
|
||||
PartyCompanyCheckEraseMixin, CompanyTestMixin, ModuleTestCase):
|
||||
'Test Account Deposit module'
|
||||
module = 'account_deposit'
|
||||
extras = ['account_payment_clearing']
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
8
modules/account_deposit/tests/test_scenario.py
Executable file
8
modules/account_deposit/tests/test_scenario.py
Executable 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)
|
||||
19
modules/account_deposit/tests/tools.py
Executable file
19
modules/account_deposit/tests/tools.py
Executable file
@@ -0,0 +1,19 @@
|
||||
# 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 proteus import Model
|
||||
from trytond.modules.company.tests.tools import get_company
|
||||
|
||||
|
||||
def add_deposit_accounts(accounts, company=None, config=None):
|
||||
'Add deposit to accounts'
|
||||
Account = Model.get('account.account', config=config)
|
||||
|
||||
if not company:
|
||||
company = get_company(config=config)
|
||||
|
||||
accounts['deposit'], = Account.find([
|
||||
('type.deposit', '=', True),
|
||||
('company', '=', company.id),
|
||||
('name', '=', 'Deposit'),
|
||||
])
|
||||
return accounts
|
||||
26
modules/account_deposit/tryton.cfg
Executable file
26
modules/account_deposit/tryton.cfg
Executable file
@@ -0,0 +1,26 @@
|
||||
[tryton]
|
||||
version=7.2.0
|
||||
depends:
|
||||
account
|
||||
account_invoice
|
||||
company
|
||||
ir
|
||||
party
|
||||
res
|
||||
extras_depend:
|
||||
account_payment_clearing
|
||||
xml:
|
||||
account.xml
|
||||
invoice.xml
|
||||
party.xml
|
||||
minimal_chart_bg.xml
|
||||
minimal_chart_ca.xml
|
||||
minimal_chart_de.xml
|
||||
minimal_chart_en.xml
|
||||
minimal_chart_es.xml
|
||||
minimal_chart_fr.xml
|
||||
minimal_chart_nl.xml
|
||||
minimal_chart_pt.xml
|
||||
minimal_chart_ru.xml
|
||||
minimal_chart_sl.xml
|
||||
message.xml
|
||||
9
modules/account_deposit/view/account_type_form.xml
Executable file
9
modules/account_deposit/view/account_type_form.xml
Executable 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. -->
|
||||
<data>
|
||||
<xpath expr="//group[@id='checkboxes']" position="inside">
|
||||
<label name="deposit"/>
|
||||
<field name="deposit" xexpand="0" width="25"/>
|
||||
</xpath>
|
||||
</data>
|
||||
8
modules/account_deposit/view/invoice_form.xml
Executable file
8
modules/account_deposit/view/invoice_form.xml
Executable 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="//field[@name='total_amount']" position="after">
|
||||
<button name="recall_deposit" colspan="2"/>
|
||||
</xpath>
|
||||
</data>
|
||||
14
modules/account_deposit/view/move_line_list_deposit.xml
Executable file
14
modules/account_deposit/view/move_line_list_deposit.xml
Executable file
@@ -0,0 +1,14 @@
|
||||
<?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. -->
|
||||
<tree>
|
||||
<field name="date"/>
|
||||
<field name="party"/>
|
||||
<field name="amount"/>
|
||||
<field name="amount_currency"/>
|
||||
<field name="move"/>
|
||||
<field name="origin"/>
|
||||
<field name="move_description_used"/>
|
||||
<field name="description_used"/>
|
||||
<field name="reconciliation" tree_invisible="1"/>
|
||||
</tree>
|
||||
12
modules/account_deposit/view/party_form.xml
Executable file
12
modules/account_deposit/view/party_form.xml
Executable file
@@ -0,0 +1,12 @@
|
||||
<?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="/form/notebook/page[@id='accounting']/field[@name='payable']"
|
||||
position="after">
|
||||
<newline/>
|
||||
<label name="deposit"/>
|
||||
<field name="deposit"/>
|
||||
<newline/>
|
||||
</xpath>
|
||||
</data>
|
||||
10
modules/account_deposit/view/party_tree.xml
Executable file
10
modules/account_deposit/view/party_tree.xml
Executable file
@@ -0,0 +1,10 @@
|
||||
<?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="/tree/field[@name='payable_today']"
|
||||
position="after">
|
||||
<field name="deposit"/>
|
||||
</xpath>
|
||||
</data>
|
||||
9
modules/account_deposit/view/recall_deposit_form.xml
Executable file
9
modules/account_deposit/view/recall_deposit_form.xml
Executable 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>
|
||||
<label name="account"/>
|
||||
<field name="account"/>
|
||||
<separator name="description" colspan="4"/>
|
||||
<field name="description" colspan="4"/>
|
||||
</form>
|
||||
Reference in New Issue
Block a user