Browse Source

[REF] Contract Sale Invoicing: split from analytic account

[REF] Contract Sale Invoicing: update translations

[IMP] - Assert that the predecessor is available for new link at uncancel

[RMV] - remove usless changes

[RMV] - Remove usless field recurring_invoices

after the total isolation between contract model and account analytic one.
recurring_invoices which was used to mark analytic account as contract became usless

[IMP] - P3 syntax

[IMP] - use @openupgrade.migrate() and openupgrade.logged_query

[IMP] - drop transient table in migration script
pull/207/head
Thomas Binsfeld 5 years ago
committed by sbejaoui
parent
commit
a429b10c20
  1. 7
      contract/__manifest__.py
  2. 4
      contract/migrations/12.0.2.0.0/post-migration.py
  3. 2
      contract/migrations/12.0.2.0.0/pre-migration.py
  4. 1
      contract/migrations/12.0.3.0.0/post-migration.py
  5. 25
      contract/migrations/12.0.4.0.0/post-migration.py
  6. 22
      contract/migrations/12.0.4.0.0/pre-migration.py
  7. 24
      contract/models/contract.py
  8. 13
      contract/models/contract_line.py
  9. 49
      contract/models/res_partner.py
  10. 60
      contract/report/report_contract.xml
  11. 11
      contract/tests/test_contract.py
  12. 16
      contract/views/contract.xml
  13. 19
      contract_sale_invoicing/i18n/ca.po
  14. 14
      contract_sale_invoicing/i18n/contract_sale_invoicing.pot
  15. 31
      contract_sale_invoicing/i18n/de.po
  16. 19
      contract_sale_invoicing/i18n/el_GR.po
  17. 19
      contract_sale_invoicing/i18n/es.po
  18. 19
      contract_sale_invoicing/i18n/es_MX.po
  19. 19
      contract_sale_invoicing/i18n/fi.po
  20. 19
      contract_sale_invoicing/i18n/fr.po
  21. 19
      contract_sale_invoicing/i18n/gl.po
  22. 19
      contract_sale_invoicing/i18n/hi_IN.po
  23. 19
      contract_sale_invoicing/i18n/hr.po
  24. 19
      contract_sale_invoicing/i18n/hr_HR.po
  25. 19
      contract_sale_invoicing/i18n/hu.po
  26. 30
      contract_sale_invoicing/i18n/it.po
  27. 19
      contract_sale_invoicing/i18n/nl.po
  28. 15
      contract_sale_invoicing/i18n/pt.po
  29. 19
      contract_sale_invoicing/i18n/pt_PT.po
  30. 19
      contract_sale_invoicing/i18n/ro.po
  31. 19
      contract_sale_invoicing/i18n/sk_SK.po
  32. 19
      contract_sale_invoicing/i18n/sl.po
  33. 19
      contract_sale_invoicing/i18n/tr.po
  34. 19
      contract_sale_invoicing/i18n/tr_TR.po
  35. 19
      contract_sale_invoicing/i18n/zh.po
  36. 15
      contract_sale_invoicing/models/contract.py
  37. 4
      contract_sale_invoicing/tests/test_contract_sale_invoicing.py
  38. 16
      contract_sale_invoicing/views/contract_view.xml
  39. 5
      setup/contract/setup.py

7
contract/__manifest__.py

@ -13,10 +13,9 @@
'category': 'Contract Management',
'license': 'AGPL-3',
'author': "OpenERP SA, "
"Tecnativa, "
"LasLabs, "
"ACSONE SA/NV, "
"Odoo Community Association (OCA)",
"Tecnativa, "
"LasLabs, "
"Odoo Community Association (OCA)",
'website': 'https://github.com/oca/contract',
'depends': ['base', 'account', 'product'],
"external_dependencies": {"python": ["dateutil"]},

4
contract/migrations/12.0.2.0.0/post-migration.py

@ -11,7 +11,7 @@ _logger = logging.getLogger(__name__)
def migrate(cr, version):
"""Copy recurrence info from contract to contract lines and compute
last_date_invoiced"""
_logger.info(">> Post-Migration 12.0.2.0.0")
cr.execute(
"""UPDATE account_analytic_invoice_line AS contract_line
SET recurring_rule_type=contract.recurring_rule_type,
@ -23,8 +23,6 @@ def migrate(cr, version):
FROM account_analytic_account AS contract
WHERE contract.id=contract_line.contract_id"""
)
_logger.info("order all contract line")
env = api.Environment(cr, SUPERUSER_ID, {})
contract_lines = env["account.analytic.invoice.line"].search(
[("recurring_next_date", "!=", False)]

2
contract/migrations/12.0.2.0.0/pre-migration.py

@ -12,7 +12,7 @@ def migrate(cr, version):
"""
set recurring_next_date to false for finished contract
"""
_logger.info("order all contract line")
_logger.info(">> Pre-Migration 12.0.2.0.0")
with api.Environment(cr, SUPERUSER_ID, {}) as env:
contracts = env["account.analytic.account"].search([])
finished_contract = contracts.filtered(

1
contract/migrations/12.0.3.0.0/post-migration.py

@ -9,6 +9,7 @@ _logger = logging.getLogger(__name__)
def migrate(cr, version):
_logger.info(">> Post-Migration 12.0.3.0.0")
_logger.info("Populate invoicing partner field on contracts")
env = api.Environment(cr, SUPERUSER_ID, {})
contracts = env["account.analytic.account"].search([])

25
contract/migrations/12.0.4.0.0/post-migration.py

@ -8,8 +8,11 @@ from openupgradelib import openupgrade
_logger = logging.getLogger(__name__)
def migrate(cr, version):
cr.execute(
@openupgrade.migrate()
def migrate(env, version):
cr = env.cr
openupgrade.logged_query(
cr,
"""
INSERT INTO contract_contract (
id,
@ -24,7 +27,6 @@ def migrate(cr, version):
code,
group_id,
contract_template_id,
recurring_invoices,
user_id,
recurring_next_date,
date_end,
@ -49,7 +51,6 @@ def migrate(cr, version):
code,
group_id,
contract_template_id,
recurring_invoices,
user_id,
recurring_next_date,
date_end,
@ -62,10 +63,13 @@ def migrate(cr, version):
write_uid,
write_date
FROM account_analytic_account
WHERE recurring_invoices = TRUE
WHERE id in (
SELECT DISTINCT contract_id FROM account_analytic_invoice_line
)
"""
)
cr.execute(
openupgrade.logged_query(
cr,
"""
INSERT INTO contract_line (
id,
@ -126,18 +130,21 @@ def migrate(cr, version):
)
openupgrade.rename_models(cr, [('account.analytic.invoice.line',
'contract.line')])
cr.execute(
openupgrade.logged_query(
cr,
"""
DROP TABLE account_analytic_invoice_line
"""
)
cr.execute(
openupgrade.logged_query(
cr,
"""
UPDATE account_invoice_line
SET contract_line_id = contract_line_id_tmp
"""
)
cr.execute(
openupgrade.logged_query(
cr,
"""
ALTER TABLE account_invoice_line
DROP COLUMN contract_line_id_tmp

22
contract/migrations/12.0.4.0.0/pre-migration.py

@ -8,7 +8,16 @@ from openupgradelib import openupgrade
_logger = logging.getLogger(__name__)
def migrate(cr, version):
@openupgrade.migrate()
def migrate(env, version):
_logger.info(">> Pre-Migration 12.0.4.0.0")
cr = env.cr
openupgrade.logged_query(
cr,
"""
DROP TABLE IF EXISTS account_analytic_invoice_line_wizard
"""
)
models_to_rename = [
# Contract Line Wizard
('account.analytic.invoice.line.wizard', 'contract.line.wizard'),
@ -25,8 +34,6 @@ def migrate(cr, version):
('account.analytic.contract.line', 'contract.template.line'),
]
tables_to_rename = [
# Contract Line Wizard
('account_analytic_invoice_line_wizard', 'contract_line_wizard'),
# Contract Template
('account_analytic_contract', 'contract_template'),
# Contract Template Line
@ -53,19 +60,22 @@ def migrate(cr, version):
openupgrade.rename_xmlids(cr, xmlids_to_rename)
# A temporary column is needed to avoid breaking the foreign key constraint
# The temporary column is dropped in the post-migration script
cr.execute(
openupgrade.logged_query(
cr,
"""
ALTER TABLE account_invoice_line
ADD COLUMN contract_line_id_tmp INTEGER
"""
)
cr.execute(
openupgrade.logged_query(
cr,
"""
UPDATE account_invoice_line
SET contract_line_id_tmp = contract_line_id
"""
)
cr.execute(
openupgrade.logged_query(
cr,
"""
UPDATE account_invoice_line SET contract_line_id = NULL
"""

24
contract/models/contract.py

@ -45,9 +45,7 @@ class ContractContract(models.Model):
copy=True,
oldnae='contract_line_ids',
)
recurring_invoices = fields.Boolean(
string='Generate recurring invoices automatically'
)
user_id = fields.Many2one(
comodel_name='res.users',
string='Responsible',
@ -80,7 +78,9 @@ class ContractContract(models.Model):
ondelete='restrict',
)
partner_id = fields.Many2one(
comodel_name='res.partner', inverse='_inverse_partner_id'
comodel_name='res.partner',
inverse='_inverse_partner_id',
required=True
)
@api.multi
@ -225,15 +225,6 @@ class ContractContract(models.Model):
}
}
@api.constrains('partner_id', 'recurring_invoices')
def _check_partner_id_recurring_invoices(self):
for contract in self.filtered('recurring_invoices'):
if not contract.partner_id:
raise ValidationError(
_("You must supply a partner for the contract '%s'")
% contract.name
)
@api.multi
def _convert_contract_lines(self, contract):
self.ensure_one()
@ -393,12 +384,7 @@ class ContractContract(models.Model):
domain = []
if not date_ref:
date_ref = fields.Date.context_today(self)
domain.extend(
[
('recurring_invoices', '=', True),
('recurring_next_date', '<=', date_ref),
]
)
domain.extend([('recurring_next_date', '<=', date_ref)])
return domain
@api.multi

13
contract/models/contract_line.py

@ -455,7 +455,7 @@ class ContractLine(models.Model):
@api.constrains('recurring_next_date')
def _check_recurring_next_date_recurring_invoices(self):
for rec in self.filtered('contract_id.recurring_invoices'):
for rec in self:
if not rec.recurring_next_date and (
not rec.date_end
or not rec.last_date_invoiced
@ -916,9 +916,9 @@ class ContractLine(models.Model):
contract.message_post(body=msg)
for rec in self:
if rec.predecessor_contract_line_id:
rec.predecessor_contract_line_id.successor_contract_line_id = (
rec
)
predecessor_contract_line = rec.predecessor_contract_line_id
assert not predecessor_contract_line.successor_contract_line_id
predecessor_contract_line.successor_contract_line_id = rec
rec.is_canceled = False
rec.recurring_next_date = recurring_next_date
return True
@ -1052,7 +1052,6 @@ class ContractLine(models.Model):
return [
('is_auto_renew', '=', True),
('is_canceled', '=', False),
('contract_id.recurring_invoices', '=', True),
('termination_notice_date', '<=', fields.Date.context_today(self)),
]
@ -1080,7 +1079,7 @@ class ContractLine(models.Model):
view_id = self.env.ref(
'contract.contract_line_customer_form_view'
).id
return super(ContractLine, self).fields_view_get(
return super().fields_view_get(
view_id, view_type, toolbar, submenu
)
@ -1091,7 +1090,7 @@ class ContractLine(models.Model):
raise ValidationError(
_("Contract line must be canceled before delete")
)
return super(ContractLine, self).unlink()
return super().unlink()
@api.multi
def _get_quantity_to_invoice(

49
contract/models/res_partner.py

@ -8,43 +8,30 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
sale_contract_count = fields.Integer(
string='Sale Contracts', compute='_compute_contract_count'
string='Sale Contracts',
compute='_compute_contract_count',
)
purchase_contract_count = fields.Integer(
string='Purchase Contracts', compute='_compute_contract_count'
string='Purchase Contracts',
compute='_compute_contract_count',
)
def _compute_contract_count(self):
contract_model = self.env['contract.contract']
fetch_data = contract_model.read_group(
[
('recurring_invoices', '=', True),
('partner_id', 'child_of', self.ids),
],
['partner_id', 'contract_type'],
['partner_id', 'contract_type'],
lazy=False,
)
result = [
[data['partner_id'][0], data['contract_type'], data['__count']]
for data in fetch_data
]
fetch_data = contract_model.read_group([
('partner_id', 'child_of', self.ids)],
['partner_id', 'contract_type'], ['partner_id', 'contract_type'],
lazy=False)
result = [[data['partner_id'][0], data['contract_type'],
data['__count']] for data in fetch_data]
for partner in self:
partner_child_ids = partner.child_ids.ids + partner.ids
partner.sale_contract_count = sum(
[
r[2]
for r in result
if r[0] in partner_child_ids and r[1] == 'sale'
]
)
partner.purchase_contract_count = sum(
[
r[2]
for r in result
if r[0] in partner_child_ids and r[1] == 'purchase'
]
)
partner.sale_contract_count = sum([
r[2] for r in result
if r[0] in partner_child_ids and r[1] == 'sale'])
partner.purchase_contract_count = sum([
r[2] for r in result
if r[0] in partner_child_ids and r[1] == 'purchase'])
def act_show_contract(self):
""" This opens contract view
@ -57,12 +44,10 @@ class ResPartner(models.Model):
res.update(
context=dict(
self.env.context,
search_default_recurring_invoices=True,
search_default_partner_id=self.id,
default_partner_id=self.id,
default_recurring_invoices=True,
default_pricelist_id=self.property_product_pricelist.id,
)
),
)
return res

60
contract/report/report_contract.xml

@ -9,54 +9,34 @@
<div class="oe_structure"/>
<div class="row" id="partner_info">
<div class="col-xs-5 col-xs-offset-7">
<p id="partner_info">
<strong>Partner:</strong>
</p>
<div t-field="o.partner_id"
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "mobile", "fax", "email"], "no_marker": true, "phone_icons": true}'/>
<p t-if="o.partner_id.vat">VAT:
<span t-field="o.partner_id.vat"/>
</p>
<p id="partner_info"><strong>Partner:</strong></p>
<div t-field="o.partner_id" t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "mobile", "fax", "email"], "no_marker": true, "phone_icons": true}'/>
<p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></p>
</div>
</div>
<div class="row" id="header_info">
<div class="col-xs-3">
<strong>Responsible:</strong>
<p t-field="o.user_id"/>
<strong>Contract:</strong>
<p t-field="o.code"/>
<strong>Responsible: </strong><p t-field="o.user_id"/>
<strong>Contract: </strong><p t-field="o.code"/>
</div>
</div>
<div class="row" id="invoice_info">
<t t-set="total" t-value="0"/>
<div class="col-xs-12">
<t t-set="total" t-value="0"/>
<p id="services_info">
<strong>Recurring Items</strong>
</p>
<p id="services_info"><strong>Recurring Items</strong></p>
<table class="table table-condensed">
<thead>
<tr>
<th>
<strong>Description</strong>
</th>
<th class="text-right">
<strong>Quantity</strong>
</th>
<th class="text-right">
<strong>Unit Price</strong>
</th>
<th class="text-right">
<strong>Price</strong>
</th>
<th class="text-right">
<strong>Date Start</strong>
</th>
<th><strong>Description</strong></th>
<th class="text-right"><strong>Quantity</strong></th>
<th class="text-right"><strong>Unit Price</strong></th>
<th class="text-right"><strong>Price</strong></th>
<th class="text-right"><strong>Date Start</strong></th>
</tr>
</thead>
<tbody>
<tr t-foreach="o.contract_line_ids"
t-as="l">
<tr t-foreach="o.recurring_invoice_line_ids" t-as="l">
<td>
<span t-field="l.name"/>
</td>
@ -64,18 +44,15 @@
<span t-field="l.quantity"/>
</td>
<td class="text-right">
<span t-field="l.price_unit"
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
<span t-field="l.price_unit" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
<td class="text-right">
<span t-field="l.price_subtotal"
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
<span t-field="l.price_subtotal" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
<td>
<span t-field="l.date_start"/>
</td>
<t t-set="total"
t-value="total + l.price_subtotal"/>
<t t-set="total" t-value="total + l.price_subtotal"/>
</tr>
</tbody>
</table>
@ -83,12 +60,9 @@
<div class="col-xs-4 pull-right">
<table class="table table-condensed">
<tr class="border-black">
<td>
<strong>Total</strong>
</td>
<td><strong>Total</strong></td>
<td class="text-right">
<span t-esc="total"
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
<span t-esc="total" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
</table>

11
contract/tests/test_contract.py

@ -16,7 +16,7 @@ def to_date(date):
class TestContractBase(common.SavepointCase):
@classmethod
def setUpClass(cls):
super(TestContractBase, cls).setUpClass()
super().setUpClass()
cls.today = fields.Date.today()
cls.partner = cls.env.ref('base.res_partner_2')
cls.product_1 = cls.env.ref('product.product_product_1')
@ -56,7 +56,6 @@ class TestContractBase(common.SavepointCase):
'name': 'Test Contract',
'partner_id': cls.partner.id,
'pricelist_id': cls.partner.property_product_pricelist.id,
'recurring_invoices': True,
}
)
cls.contract2 = cls.env['contract.contract'].create(
@ -64,7 +63,6 @@ class TestContractBase(common.SavepointCase):
'name': 'Test Contract 2',
'partner_id': cls.partner.id,
'pricelist_id': cls.partner.property_product_pricelist.id,
'recurring_invoices': True,
'contract_type': 'purchase',
'contract_line_ids': [
(
@ -141,8 +139,6 @@ class TestContract(TestContractBase):
res = self.acct_line._onchange_product_id()
self.assertIn('uom_id', res['domain'])
self.acct_line.price_unit = 100.0
with self.assertRaises(ValidationError):
self.contract.partner_id = False
self.contract.partner_id = self.partner.id
self.contract.recurring_create_invoice()
self.invoice_monthly = self.contract._get_related_invoices()
@ -388,11 +384,6 @@ class TestContract(TestContractBase):
}
)
def test_check_recurring_next_date_recurring_invoices(self):
with self.assertRaises(ValidationError):
self.contract.write({'recurring_invoices': True})
self.acct_line.write({'recurring_next_date': False})
def test_onchange_contract_template_id(self):
"""It should change the contract values to match the template."""
self.contract.contract_template_id = False

16
contract/views/contract.xml

@ -74,11 +74,6 @@
context="{'default_contract_type': contract_type}"/>
</page>
<page name="info" string="Other Information">
<div invisible="1">
<field name="recurring_invoices"
class="oe_inline"/>
<label for="recurring_invoices"/>
</div>
<field name="create_invoice_visibility"
invisible="1"/>
<group>
@ -184,10 +179,6 @@
<field name="journal_id"/>
<field name="pricelist_id"/>
<separator/>
<filter name="recurring_invoices"
string="Recurring Invoices"
domain="[('recurring_invoices','=',True)]"
/>
<separator/>
<filter name="not_finished"
string="In progress"
@ -230,8 +221,6 @@
<field name="domain">[('contract_type', '=', 'sale')]</field>
<field name="context">{'is_contract':1,
'search_default_not_finished':1,
'search_default_recurring_invoices':1,
'default_recurring_invoices': 1,
'default_contract_type': 'sale'}
</field>
<field name="search_view_id" ref="contract_contract_search_view"/>
@ -271,10 +260,7 @@
<field name="domain">[('contract_type', '=', 'purchase')]</field>
<field name="context">{'is_contract':1,
'search_default_not_finished':1,
'search_default_recurring_invoices':1,
'default_recurring_invoices': 1,
'default_contract_type':
'purchase'}
'default_contract_type': 'purchase'}
</field>
<field name="search_view_id" ref="contract_contract_search_view"/>
<field name="help" type="html">

19
contract_sale_invoicing/i18n/ca.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Compte analític"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Compte analític"

14
contract_sale_invoicing/i18n/contract_sale_invoicing.pot

@ -6,6 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2019-05-29 14:59+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -14,17 +16,17 @@ msgstr ""
"Plural-Forms: \n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "If checked include sales with same analytic account to invoice in contract invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
msgid "If checked include sales with same analytic account to invoice in contract invoice creation."
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
msgid "Invoice Pending Sales Orders"
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""

31
contract_sale_invoicing/i18n/de.po

@ -8,33 +8,32 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"PO-Revision-Date: 2019-06-28 13:42+0000\n"
"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.6.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Kostenstelle"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Wenn der Haken gesetzt ist, dann werden alle noch abzurechnenden "
"Verkaufsaufträge mit derselben Kostenstelle bei der Rechnungserstellung für "
"den Vertrag einbezogen."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Ausstehende Verkaufsaufträge abrechnen"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Kostenstelle"

19
contract_sale_invoicing/i18n/el_GR.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
@ -20,18 +20,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Αναλυτικός Λογαριασμός"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Αναλυτικός Λογαριασμός"

19
contract_sale_invoicing/i18n/es.po

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-06 17:36+0200\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-06 17:38+0200\n"
"Last-Translator: Carlos Dauden <carlos.dauden@tecnativa.com>\n"
"Language-Team: \n"
@ -18,12 +18,7 @@ msgstr ""
"X-Generator: Poedit 1.8.7.1\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Cuenta analítica"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
@ -32,6 +27,14 @@ msgstr ""
"cuenta analítica en la creación de la factura del contrato"
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Facturar pedidos pendientes"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Cuenta analítica"

19
contract_sale_invoicing/i18n/es_MX.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
@ -20,18 +20,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Cuenta analítica"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Cuenta analítica"

19
contract_sale_invoicing/i18n/fi.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analyyttinen tili"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analyyttinen tili"

19
contract_sale_invoicing/i18n/fr.po

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-05 02:28+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-05-05 02:28+0000\n"
"Last-Translator: Quentin THEURET <odoo@kerpeo.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
@ -20,12 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Compte analytique"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
@ -34,6 +29,14 @@ msgstr ""
"de la création de facture du contrat."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Commandes avec une facture en attente"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Compte analytique"

19
contract_sale_invoicing/i18n/gl.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Conta analítica"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Conta analítica"

19
contract_sale_invoicing/i18n/hi_IN.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/"
@ -20,18 +20,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "विश्लेषणात्मक खाता"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "विश्लेषणात्मक खाता"

19
contract_sale_invoicing/i18n/hr.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
@ -20,18 +20,21 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitički konto"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitički konto"

19
contract_sale_invoicing/i18n/hr_HR.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
@ -21,18 +21,21 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Konto analitike"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Konto analitike"

19
contract_sale_invoicing/i18n/hu.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitikus gyűjtőkód könyvelés"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitikus gyűjtőkód könyvelés"

30
contract_sale_invoicing/i18n/it.po

@ -8,32 +8,32 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"PO-Revision-Date: 2019-06-26 15:42+0000\n"
"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.6.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Conto analitico"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Se selezionato, in fase di creazione del contratto aggiunge alla fattura le "
"vendite con lo stesso conto analitico."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Ordini di vendita in sospeso della fattura"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Conto Analitico"

19
contract_sale_invoicing/i18n/nl.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Kostenplaats"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Kostenplaats"

15
contract_sale_invoicing/i18n/pt.po

@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"PO-Revision-Date: 2019-08-14 13:44+0000\n"
"Last-Translator: Pedro Castro Silva <pedrocs@exo.pt>\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
@ -20,12 +20,7 @@ msgstr ""
"X-Generator: Weblate 3.7.1\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Conta Analítica"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
@ -34,6 +29,6 @@ msgstr ""
"faturas do contrato."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Faturar Encomendas de Venda Pendentes"

19
contract_sale_invoicing/i18n/pt_PT.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/"
@ -20,18 +20,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Conta Analítica"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Conta Analítica"

19
contract_sale_invoicing/i18n/ro.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
@ -20,18 +20,21 @@ msgstr ""
"2:1));\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Cont analitic"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Cont analitic"

19
contract_sale_invoicing/i18n/sk_SK.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/oca/teams/23907/"
@ -20,18 +20,21 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analytický účet"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analytický účet"

19
contract_sale_invoicing/i18n/sl.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
@ -20,18 +20,21 @@ msgstr ""
"%100==4 ? 2 : 3);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitični konto"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitični konto"

19
contract_sale_invoicing/i18n/tr.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitik Hesap"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitik Hesap"

19
contract_sale_invoicing/i18n/tr_TR.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
@ -20,18 +20,21 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitik Hesap"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitik Hesap"

19
contract_sale_invoicing/i18n/zh.po

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-27 01:12+0000\n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-27 01:12+0000\n"
"Last-Translator: DIT INTL <ditintlgroup@gmail.com>, 2018\n"
"Language-Team: Chinese (https://www.transifex.com/oca/teams/23907/zh/)\n"
@ -19,18 +19,21 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_account_analytic_account
msgid "Analytic Account"
msgstr "分析会计"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr "如果选中,则在销售发票中包含分析帐户。"
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_account_analytic_account__invoicing_sales
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "发票挂起的销售订单"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "contract.contract"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "分析会计"

15
contract_sale_invoicing/models/contract.py

@ -4,8 +4,8 @@
from odoo import api, fields, models
class AccountAnalyticAccount(models.Model):
_inherit = 'account.analytic.account'
class ContractContract(models.Model):
_inherit = 'contract.contract'
invoicing_sales = fields.Boolean(
string='Invoice Pending Sales Orders',
@ -14,11 +14,12 @@ class AccountAnalyticAccount(models.Model):
)
@api.multi
def _create_invoice(self, invoice=False):
def _recurring_create_invoice(self, date_ref=False):
invoices = super()._recurring_create_invoice(date_ref)
if not self.invoicing_sales:
return super(AccountAnalyticAccount, self)._create_invoice()
return invoices
sales = self.env['sale.order'].search([
('analytic_account_id', '=', self.id),
('analytic_account_id', '=', self.analytic_account_id.id),
('partner_invoice_id', 'child_of',
self.partner_id.commercial_partner_id.ids),
('invoice_status', '=', 'to invoice'),
@ -27,6 +28,4 @@ class AccountAnalyticAccount(models.Model):
])
if sales:
invoice_ids = sales.action_invoice_create()
invoice = self.env['account.invoice'].browse(invoice_ids)[:1]
return super(AccountAnalyticAccount, self)._create_invoice(
invoice=invoice)
invoices |= self.env['account.invoice'].browse(invoice_ids)[:1]

4
contract_sale_invoicing/tests/test_contract_sale_invoicing.py

@ -8,6 +8,8 @@ class TestContractSaleInvoicing(TestContractBase):
@classmethod
def setUpClass(cls):
super(TestContractSaleInvoicing, cls).setUpClass()
cls.contract.analytic_account_id = \
cls.env['account.analytic.account'].search([], limit=1)
cls.product_so = cls.env.ref(
'product.product_product_1')
cls.product_so.invoice_policy = 'order'
@ -21,7 +23,7 @@ class TestContractSaleInvoicing(TestContractBase):
'product_uom': cls.product_so.uom_id.id,
'price_unit': cls.product_so.list_price})],
'pricelist_id': cls.partner.property_product_pricelist.id,
'analytic_account_id': cls.contract.id,
'analytic_account_id': cls.contract.analytic_account_id.id,
'date_order': '2016-02-15',
})

16
contract_sale_invoicing/views/contract_view.xml

@ -4,14 +4,14 @@
<odoo>
<record id="account_analytic_account_recurring_form_form" model="ir.ui.view">
<field name="model">account.analytic.account</field>
<field name="inherit_id" ref="contract.account_analytic_account_recurring_form_form"/>
<field name="arch" type="xml">
<field name="recurring_next_date" position="after">
<field name="invoicing_sales"/>
<record id="contract_contract_form_view" model="ir.ui.view">
<field name="model">contract.contract</field>
<field name="inherit_id" ref="contract.contract_contract_form_view"/>
<field name="arch" type="xml">
<field name="recurring_next_date" position="after">
<field name="invoicing_sales"/>
</field>
</field>
</field>
</record>
</record>
</odoo>

5
setup/contract/setup.py

@ -1,3 +1,6 @@
import setuptools
setuptools.setup(setup_requires=['setuptools-odoo'], odoo_addon=True)
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
Loading…
Cancel
Save