[MERGE] forward port branch saas-13 up to 25f271c
This commit is contained in:
+11
-25
@@ -77,6 +77,11 @@ file_filter = addons/anonymization/i18n/<lang>.po
|
||||
source_file = addons/anonymization/i18n/anonymization.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.association]
|
||||
file_filter = addons/association/i18n/<lang>.po
|
||||
source_file = addons/association/i18n/association.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.auth_crypt]
|
||||
file_filter = addons/auth_crypt/i18n/<lang>.po
|
||||
source_file = addons/auth_crypt/i18n/auth_crypt.pot
|
||||
@@ -317,6 +322,7 @@ file_filter = addons/l10n_multilang/i18n/<lang>.po
|
||||
source_file = addons/l10n_multilang/i18n/l10n_multilang.pot
|
||||
source_lang = en
|
||||
|
||||
|
||||
[odoo-master.link_tracker]
|
||||
file_filter = addons/link_tracker/i18n/<lang>.po
|
||||
source_file = addons/link_tracker/i18n/link_tracker.pot
|
||||
@@ -462,6 +468,11 @@ file_filter = addons/pos_cache/i18n/<lang>.po
|
||||
source_file = addons/pos_cache/i18n/pos_cache.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.pos_data_drinks]
|
||||
file_filter = addons/pos_data_drinks/i18n/<lang>.po
|
||||
source_file = addons/pos_data_drinks/i18n/pos_data_drinks.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.pos_discount]
|
||||
file_filter = addons/pos_discount/i18n/<lang>.po
|
||||
source_file = addons/pos_discount/i18n/pos_discount.pot
|
||||
@@ -517,11 +528,6 @@ file_filter = addons/product_margin/i18n/<lang>.po
|
||||
source_file = addons/product_margin/i18n/product_margin.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.product_visible_discount]
|
||||
file_filter = addons/product_visible_discount/i18n/<lang>.po
|
||||
source_file = addons/product_visible_discount/i18n/product_visible_discount.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.project]
|
||||
file_filter = addons/project/i18n/<lang>.po
|
||||
source_file = addons/project/i18n/project.pot
|
||||
@@ -592,11 +598,6 @@ file_filter = addons/sale_crm/i18n/<lang>.po
|
||||
source_file = addons/sale_crm/i18n/sale_crm.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.sale_expense]
|
||||
file_filter = addons/sale_expense/i18n/<lang>.po
|
||||
source_file = addons/sale_expense/i18n/sale_expense.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.sale_margin]
|
||||
file_filter = addons/sale_margin/i18n/<lang>.po
|
||||
source_file = addons/sale_margin/i18n/sale_margin.pot
|
||||
@@ -677,16 +678,6 @@ file_filter = addons/survey_crm/i18n/<lang>.po
|
||||
source_file = addons/survey_crm/i18n/survey_crm.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.theme_bootswatch]
|
||||
file_filter = addons/theme_bootswatch/i18n/<lang>.po
|
||||
source_file = addons/theme_bootswatch/i18n/theme_bootswatch.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.theme_default]
|
||||
file_filter = addons/theme_default/i18n/<lang>.po
|
||||
source_file = addons/theme_default/i18n/theme_default.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.utm]
|
||||
file_filter = addons/utm/i18n/<lang>.po
|
||||
source_file = addons/utm/i18n/utm.pot
|
||||
@@ -802,11 +793,6 @@ file_filter = addons/website_gengo/i18n/<lang>.po
|
||||
source_file = addons/website_gengo/i18n/website_gengo.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.website_google_map]
|
||||
file_filter = addons/website_google_map/i18n/<lang>.po
|
||||
source_file = addons/website_google_map/i18n/website_google_map.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-master.website_hr]
|
||||
file_filter = addons/website_hr/i18n/<lang>.po
|
||||
source_file = addons/website_hr/i18n/website_hr.pot
|
||||
|
||||
@@ -63,7 +63,7 @@ from ${object.company_id.name}.
|
||||
<field name="body_html"><![CDATA[<html>
|
||||
<head></head>
|
||||
<body style="margin: 0; padding: 0;">
|
||||
<table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed" class="o_mail_notification">
|
||||
<table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed" summary="o_mail_notification">
|
||||
<tbody>
|
||||
|
||||
<!-- HEADER -->
|
||||
|
||||
@@ -1343,9 +1343,10 @@ class AccountInvoiceTax(models.Model):
|
||||
base = 0.0
|
||||
for line in tax.invoice_id.invoice_line_ids:
|
||||
if tax.tax_id in line.invoice_line_tax_ids:
|
||||
base += line.price_subtotal
|
||||
# To add include base amount taxes
|
||||
base += sum((line.invoice_line_tax_ids.filtered(lambda t: t.include_base_amount) - tax.tax_id).mapped('amount'))
|
||||
price_unit = line.price_unit * (1 - (line.discount or 0.0) / 100.0)
|
||||
base += (line.invoice_line_tax_ids - tax.tax_id).compute_all(
|
||||
price_unit, line.invoice_id.currency_id, line.quantity, line.product_id, line.invoice_id.partner_id
|
||||
)['base']
|
||||
tax.base = base
|
||||
|
||||
invoice_id = fields.Many2one('account.invoice', string='Invoice', ondelete='cascade', index=True)
|
||||
|
||||
@@ -13,22 +13,22 @@
|
||||
<menuitem id="menu_finance_payables" name="Purchases" parent="menu_finance" sequence="3"/>
|
||||
<menuitem id="menu_finance_entries" name="Adviser" parent="menu_finance" sequence="4" groups="group_account_manager"/>
|
||||
<menuitem id="menu_finance_reports" name="Reports" parent="menu_finance" sequence="5" groups="group_account_invoice"/>
|
||||
<!-- Reporting sub-menus -->
|
||||
<menuitem id="account_reports_management_menu" name="Management" parent="account.menu_finance_reports" sequence="4" groups="group_account_user"/>
|
||||
<menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="group_account_invoice"/>
|
||||
<menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports" groups="group_account_user"/>
|
||||
|
||||
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="15" groups="group_account_invoice"/>
|
||||
<!-- Configuration Sub-Menu -->
|
||||
<menuitem id="account_account_menu" name="Accounting" parent="account.menu_finance_configuration" sequence="2" groups="group_account_invoice"/>
|
||||
<menuitem id="account_management_menu" name="Management" parent="account.menu_finance_configuration" sequence="3" groups="group_account_manager"/>
|
||||
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="analytic.group_analytic_accounting" sequence="5"/>
|
||||
<menuitem id="menu_config_multi_currency" name="Multi-Currencies" parent="menu_finance_configuration" sequence="9" groups="base.group_multi_currency"/>
|
||||
<!-- Reporting sub-menus -->
|
||||
<menuitem id="account_reports_management_menu" name="Management" parent="account.menu_finance_reports" sequence="4" groups="group_account_user"/>
|
||||
<menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="group_account_invoice"/>
|
||||
<!-- Configuration Sub-Menu -->
|
||||
<menuitem id="account_account_menu" name="Accounting" parent="account.menu_finance_configuration" sequence="2" groups="group_account_invoice"/>
|
||||
<menuitem id="account_management_menu" name="Management" parent="account.menu_finance_configuration" sequence="3" groups="group_account_manager"/>
|
||||
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="analytic.group_analytic_accounting" sequence="5"/>
|
||||
<menuitem id="menu_config_multi_currency" name="Multi-Currencies" parent="menu_finance_configuration" sequence="9" groups="base.group_multi_currency"/>
|
||||
<menuitem id="menu_action_currency_form" action="base.action_currency_form" name="Currencies" parent="menu_config_multi_currency" sequence="20" groups="base.group_no_one"/>
|
||||
|
||||
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" groups="group_account_user"/>
|
||||
|
||||
|
||||
<menuitem id="menu_action_currency_form" name="Currencies" parent="menu_config_multi_currency" sequence="20" groups="base.group_no_one"/>
|
||||
|
||||
<menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports" groups="group_account_user"/>
|
||||
|
||||
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" groups="group_account_user"/>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
<field name="code"/>
|
||||
<field name="refund_sequence" attrs="{'invisible': [('type', 'not in', ['sale', 'purchase'])]}" groups="base.group_no_one"/>
|
||||
<field name="sequence_id" required="0" attrs="{'readonly': 1}" groups="base.group_no_one"/>
|
||||
<field name="refund_sequence_id" attrs="{'required': [('refund_sequence', '=', True)], 'invisible': ['|',('type', 'not in', ['sale', 'purchase']), ('refund_sequence', '!=', True)]}" required="0" groups="base.group_no_one"/>
|
||||
<field name="refund_sequence_id" attrs="{'invisible': ['|',('type', 'not in', ['sale', 'purchase']), ('refund_sequence', '!=', True)], 'required': [('type', 'in', ['sale', 'purchase']), ('refund_sequence', '=', True)]}" groups="base.group_no_one"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="default_debit_account_id" domain="[('deprecated', '=', False)]" />
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
<field name="overdue_msg"/>
|
||||
</group>
|
||||
<div>
|
||||
<span>(*) This configuration value is related to the company you're logged in.</span>
|
||||
<span>(*) This configuration is related to the company you're logged into.</span>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -7,7 +7,7 @@ from dateutil.relativedelta import relativedelta
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT as DF
|
||||
from openerp.tools import float_compare
|
||||
from odoo.tools import float_compare
|
||||
|
||||
|
||||
class AccountAssetCategory(models.Model):
|
||||
@@ -455,7 +455,7 @@ class AccountAssetDepreciationLine(models.Model):
|
||||
current_currency = line.asset_id.currency_id
|
||||
amount = current_currency.compute(line.amount, company_currency)
|
||||
sign = (category_id.journal_id.type == 'purchase' or category_id.journal_id.type == 'sale' and 1) or -1
|
||||
asset_name = line.asset_id.name + ' (%s/%s)' % (line.sequence, line.asset_id.method_number)
|
||||
asset_name = line.asset_id.name + ' (%s/%s)' % (line.sequence, len(line.asset_id.depreciation_line_ids))
|
||||
prec = self.env['decimal.precision'].precision_get('Account')
|
||||
move_line_1 = {
|
||||
'name': asset_name,
|
||||
|
||||
@@ -51,15 +51,15 @@ class AccountInvoiceLine(models.Model):
|
||||
|
||||
@api.one
|
||||
def asset_create(self):
|
||||
if self.asset_category_id and self.asset_category_id.method_number > 1:
|
||||
if self.asset_category_id:
|
||||
vals = {
|
||||
'name': self.name,
|
||||
'code': self.invoice_id.number or False,
|
||||
'category_id': self.asset_category_id.id,
|
||||
'value': self.price_subtotal,
|
||||
'value': self.price_subtotal_signed,
|
||||
'partner_id': self.invoice_id.partner_id.id,
|
||||
'company_id': self.invoice_id.company_id.id,
|
||||
'currency_id': self.invoice_id.currency_id.id,
|
||||
'currency_id': self.invoice_id.company_currency_id.id,
|
||||
'date': self.asset_start_date or self.invoice_id.date_invoice,
|
||||
'invoice_id': self.invoice_id.id,
|
||||
}
|
||||
|
||||
@@ -8,19 +8,22 @@ from odoo.exceptions import UserError
|
||||
class AccountPartialReconcileCashBasis(models.Model):
|
||||
_inherit = 'account.partial.reconcile'
|
||||
|
||||
def create_tax_cash_basis_entry(self, value_before_reconciliation):
|
||||
def _get_tax_cash_basis_lines(self, value_before_reconciliation):
|
||||
# Search in account_move if we have any taxes account move lines
|
||||
tax_group = {}
|
||||
total_by_cash_basis_account = {}
|
||||
line_to_create = []
|
||||
move_date = self.debit_move_id.date
|
||||
for move in (self.debit_move_id.move_id, self.credit_move_id.move_id):
|
||||
if move_date < move.date:
|
||||
move_date = move.date
|
||||
for line in move.line_ids:
|
||||
#TOCHECK: normal and cash basis taxes shoudn't be mixed together (on the same invoice line for example) as it will
|
||||
#create reporting issues. Not sure of the behavior to implement in that case, though.
|
||||
# amount to write is the current cash_basis amount minus the one before the reconciliation
|
||||
matched_percentage = value_before_reconciliation[move.id]
|
||||
amount = (line.credit_cash_basis - line.debit_cash_basis) - (line.credit - line.debit) * matched_percentage
|
||||
if not line.tax_exigible:
|
||||
# amount to write is the current cash_basis amount minus the one before the reconciliation
|
||||
matched_percentage = value_before_reconciliation[move.id]
|
||||
amount = (line.credit_cash_basis - line.debit_cash_basis) - (line.credit - line.debit) * matched_percentage
|
||||
if line.tax_line_id and line.tax_line_id.use_cash_basis:
|
||||
# group by line account
|
||||
acc = line.account_id.id
|
||||
@@ -28,7 +31,6 @@ class AccountPartialReconcileCashBasis(models.Model):
|
||||
tax_group[acc] += amount
|
||||
else:
|
||||
tax_group[acc] = amount
|
||||
|
||||
# Group by cash basis account and tax
|
||||
acc = line.tax_line_id.cash_basis_account.id
|
||||
key = (acc, line.tax_line_id.id)
|
||||
@@ -36,8 +38,8 @@ class AccountPartialReconcileCashBasis(models.Model):
|
||||
total_by_cash_basis_account[key] += amount
|
||||
else:
|
||||
total_by_cash_basis_account[key] = amount
|
||||
for tax in line.tax_ids:
|
||||
if tax.use_cash_basis:
|
||||
if any([tax.use_cash_basis for tax in line.tax_ids]):
|
||||
for tax in line.tax_ids:
|
||||
line_to_create.append((0, 0, {
|
||||
'name': '/',
|
||||
'debit': line.debit_cash_basis - line.debit * matched_percentage,
|
||||
@@ -45,13 +47,14 @@ class AccountPartialReconcileCashBasis(models.Model):
|
||||
'account_id': line.account_id.id,
|
||||
'tax_ids': [(6, 0, [tax.id])],
|
||||
'tax_exigible': True,
|
||||
}))
|
||||
}))
|
||||
line_to_create.append((0, 0, {
|
||||
'name': '/',
|
||||
'credit': line.debit_cash_basis - line.debit * matched_percentage,
|
||||
'debit': line.credit_cash_basis - line.credit * matched_percentage,
|
||||
'account_id': line.account_id.id,
|
||||
}))
|
||||
'tax_exigible': True,
|
||||
}))
|
||||
|
||||
for k, v in tax_group.items():
|
||||
line_to_create.append((0, 0, {
|
||||
@@ -59,7 +62,8 @@ class AccountPartialReconcileCashBasis(models.Model):
|
||||
'debit': v if v > 0 else 0.0,
|
||||
'credit': abs(v) if v < 0 else 0.0,
|
||||
'account_id': k,
|
||||
}))
|
||||
'tax_exigible': True,
|
||||
}))
|
||||
|
||||
# Create counterpart vals
|
||||
for key, v in total_by_cash_basis_account.items():
|
||||
@@ -71,19 +75,29 @@ class AccountPartialReconcileCashBasis(models.Model):
|
||||
'account_id': k,
|
||||
'tax_line_id': tax_id,
|
||||
'tax_exigible': True,
|
||||
}))
|
||||
}))
|
||||
return line_to_create, move_date
|
||||
|
||||
# Create move
|
||||
def create_tax_cash_basis_entry(self, value_before_reconciliation):
|
||||
line_to_create, move_date = self._get_tax_cash_basis_lines(value_before_reconciliation)
|
||||
if len(line_to_create) > 0:
|
||||
# Check if company_journal for cash basis is set if not, raise exception
|
||||
if not self.company_id.tax_cash_basis_journal_id:
|
||||
raise UserError(_('There is no tax cash basis journal defined ' \
|
||||
'for this company: "%s" \nConfigure it in Accounting/Configuration/Settings') % \
|
||||
(self.company_id.name))
|
||||
move = self.env['account.move'].with_context(dont_create_taxes=True).create({
|
||||
raise UserError(_('There is no tax cash basis journal defined '
|
||||
'for this company: "%s" \nConfigure it in Accounting/Configuration/Settings') %
|
||||
(self.company_id.name))
|
||||
move_vals = {
|
||||
'journal_id': self.company_id.tax_cash_basis_journal_id.id,
|
||||
'line_ids': line_to_create,
|
||||
'tax_cash_basis_rec_id': self.id})
|
||||
'tax_cash_basis_rec_id': self.id
|
||||
}
|
||||
# The move date should be the maximum date between payment and invoice (in case
|
||||
# of payment in advance). However, we should make sure the move date is not
|
||||
# recorded after the period lock date as the tax statement for this period is
|
||||
# probably already sent to the estate.
|
||||
if move_date > self.company_id.period_lock_date:
|
||||
move_vals['date'] = move_date
|
||||
move = self.env['account.move'].with_context(dont_create_taxes=True).create(move_vals)
|
||||
# post move
|
||||
move.post()
|
||||
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
</div>
|
||||
</group>
|
||||
<div name="company_dependent_settings_message">
|
||||
<span>(*) This configuration value is related to the company you're logged in.</span>
|
||||
<span>(*) This configuration is related to the company you're logged into.</span>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -474,13 +474,11 @@
|
||||
<span class="panel-title">
|
||||
<span class="fa" data-icon=""/>
|
||||
<strong> Create manually</strong><br/>
|
||||
<span class="small">Recommended if <100 products</span>
|
||||
<span class="small">Recommended if <50 items</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><a t-att-href="prepare_backend_url('product.product_template_action', 'form')">Create your products</a></li>
|
||||
</ul>
|
||||
<a t-att-href="prepare_backend_url('product.product_template_action', 'form')" target="_blank">Create your product items</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -490,51 +488,46 @@
|
||||
<span class="panel-title">
|
||||
<span class="fa" data-icon=""/>
|
||||
<strong>Import a file</strong><br/>
|
||||
<span class="small">Recommended if >100 products</span>
|
||||
<span class="small">Recommended if >50 items</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
We can handle the whole import process
|
||||
for you: simply send your Odoo project
|
||||
manager a CSV file containing all your
|
||||
products.
|
||||
</p><p>
|
||||
If you want to do it yourself:
|
||||
<a href="/base_import/static/csv/products.xls" target="_blank">Use our import templates to get your catalog ready in no time!</a>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Download the <a href="/base_import/static/csv/products.xls">Excel template</a></li>
|
||||
<li>Import using the top left button in <a t-att-href="prepare_backend_url('product.product_template_action','list')">the list of products</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="alert alert-info info_icon" role="alert">
|
||||
<span class="fa fa-lightbulb-o fa-lg"/>
|
||||
<strong>Tip:</strong>
|
||||
You can also use our API to load data automatically through scripts: read this <a href="https://www.odoo.com/documentation/9.0/api_integration.html" target="_blank">technical documentation</a>.
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-xs-12">
|
||||
<div class="well well-lg">
|
||||
<strong>For complex imports</strong> (>5000 items, product variants, pictures, etc.):
|
||||
|
||||
<li>Online users: we do it for you! <a href="https://www.odoo.com/help" target="_blank"><i class="fa fa-envelope-o"/> Ask Our Experts</a></li>
|
||||
<li>Community & Enterprise users: <a href="https://www.odoo.com/documentation/9.0/api_integration.html" target="_blank">use Odoo API to import through scripts</a></li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-call="web_planner.page">
|
||||
<t t-set="page_title">Prices</t>
|
||||
<t t-set="page_title">Pricing & Discounts</t>
|
||||
<p class="text-muted">
|
||||
In Odoo, there are 3 different ways to manage your products prices.<br/>
|
||||
In Odoo, there are 3 different ways to manage your prices.<br/>
|
||||
</p>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<span class="panel-title">
|
||||
<strong>Unique price</strong>
|
||||
<strong>Unique Price (default)</strong>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
Each product can only have one price. (but you can change it when doing a quotation)
|
||||
Each product has only one price.
|
||||
<br/>
|
||||
Note: your product needs to be marked as 'Can be Sold' to have a Sale Price.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -543,23 +536,13 @@
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<span class="panel-title">
|
||||
<strong> Price per Customer</strong>
|
||||
<strong>Specific Price per Audience</strong>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
You may have a different sale price for different
|
||||
groups of customers:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Consumers</li>
|
||||
<li>Retailers</li>
|
||||
<li>Company XYZ</li>
|
||||
</ul>
|
||||
<p>
|
||||
Change the <i>Sale Price</i> option in
|
||||
<a t-att-href="prepare_backend_url('sales_team.action_sale_config')">Sales Settings</a>
|
||||
</p>
|
||||
<li>Basic, Premium</li>
|
||||
<li>Consumers, Retailers</li>
|
||||
<li>USD, EUR, GBP</li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -572,28 +555,24 @@
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
Prices can be computed using advanced formulas.<br/>
|
||||
Example: 15% discount when buying more than 3 t-shirts.
|
||||
</p>
|
||||
<p>
|
||||
You can also combine several rules into a sequence.<br/>
|
||||
Example: additional 10% discount during summer sales
|
||||
</p>
|
||||
<p>
|
||||
Change the <i>Sale Price</i> option in
|
||||
<a t-att-href="prepare_backend_url('sales_team.action_sale_config')">Sales Settings</a>
|
||||
Create and combine rules:<br/>
|
||||
<li>e.g. 15% discount when buying more than 3 t-shirts</li>
|
||||
<li>additional 10% during summer sales</li>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="alert alert-info info_icon" role="alert">
|
||||
<span class="fa fa-lightbulb-o fa-lg"/>
|
||||
<p>
|
||||
You can change the pricing method at anytime. We
|
||||
recommend you to select the easiest option that
|
||||
suits your needs for now on.
|
||||
</p>
|
||||
<span class="fa fa-lightbulb-o fa-2x"></span><p>To stimulate your customers, show them the public price and the discount applied to it. This is settable in the pricelist configuration if you allow discounts.</p>
|
||||
</div>
|
||||
|
||||
<div class="well well-lg">
|
||||
<strong>Next actions:</strong>
|
||||
<li><a t-att-href="prepare_backend_url('sales_team.action_sale_config')" target="blank"> Select your pricing preference and allow discounts</a></li>
|
||||
<li><a t-att-href="prepare_backend_url('product.product_pricelist_action2')" target="blank"> Configure your pricelists</a></li>
|
||||
<li><a t-att-href="prepare_backend_url('account.action_account_config')" target="blank"> Apply multi-currencies</a></li>
|
||||
<li><a href="https://www.odoo.com/documentation/user/9.0/sales.html" target="blank"> Read the documentation about pricing & discounts</a></li>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ class Stage(models.Model):
|
||||
on_change = fields.Boolean('Change Probability Automatically', help="Setting this stage will change the probability automatically on the opportunity.")
|
||||
requirements = fields.Text('Requirements', help="Enter here the internal requirements for this stage (ex: Offer sent to customer). It will appear as a tooltip over the stage's name.")
|
||||
team_id = fields.Many2one('crm.team', string='Team', ondelete='set null',
|
||||
help='Specific team that uses this stage. Other teams will not ne able to see or use this stage.')
|
||||
help='Specific team that uses this stage. Other teams will not be able to see or use this stage.')
|
||||
legend_priority = fields.Text('Priority Management Explanation', translate=True,
|
||||
help='Explanation text to help users using the star and priority mechanism on stages or issues that are in this stage.')
|
||||
fold = fields.Boolean('Folded in Pipeline',
|
||||
|
||||
@@ -17,18 +17,18 @@ class HrExpense(models.Model):
|
||||
_description = "Expense"
|
||||
_order = "date desc, id desc"
|
||||
|
||||
name = fields.Char(string='Expense Description', readonly=True, required=True, states={'draft': [('readonly', False)]})
|
||||
date = fields.Date(readonly=True, states={'draft': [('readonly', False)]}, default=fields.Date.context_today, string="Date")
|
||||
employee_id = fields.Many2one('hr.employee', string="Employee", required=True, readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1))
|
||||
product_id = fields.Many2one('product.product', string='Product', readonly=True, states={'draft': [('readonly', False)]}, domain=[('can_be_expensed', '=', True)], required=True)
|
||||
product_uom_id = fields.Many2one('product.uom', string='Unit of Measure', required=True, readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env['product.uom'].search([], limit=1, order='id'))
|
||||
unit_amount = fields.Float(string='Unit Price', readonly=True, required=True, states={'draft': [('readonly', False)]}, digits=dp.get_precision('Product Price'))
|
||||
quantity = fields.Float(required=True, readonly=True, states={'draft': [('readonly', False)]}, digits=dp.get_precision('Product Unit of Measure'), default=1)
|
||||
name = fields.Char(string='Expense Description', readonly=True, required=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]})
|
||||
date = fields.Date(readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, default=fields.Date.context_today, string="Date")
|
||||
employee_id = fields.Many2one('hr.employee', string="Employee", required=True, readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, default=lambda self: self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1))
|
||||
product_id = fields.Many2one('product.product', string='Product', readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, domain=[('can_be_expensed', '=', True)], required=True)
|
||||
product_uom_id = fields.Many2one('product.uom', string='Unit of Measure', required=True, readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, default=lambda self: self.env['product.uom'].search([], limit=1, order='id'))
|
||||
unit_amount = fields.Float(string='Unit Price', readonly=True, required=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, digits=dp.get_precision('Product Price'))
|
||||
quantity = fields.Float(required=True, readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, digits=dp.get_precision('Product Unit of Measure'), default=1)
|
||||
tax_ids = fields.Many2many('account.tax', 'expense_tax', 'expense_id', 'tax_id', string='Taxes', states={'done': [('readonly', True)], 'post': [('readonly', True)]})
|
||||
untaxed_amount = fields.Float(string='Subtotal', store=True, compute='_compute_amount', digits=dp.get_precision('Account'))
|
||||
total_amount = fields.Float(string='Total', store=True, compute='_compute_amount', digits=dp.get_precision('Account'))
|
||||
company_id = fields.Many2one('res.company', string='Company', readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env.user.company_id)
|
||||
currency_id = fields.Many2one('res.currency', string='Currency', readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env.user.company_id.currency_id)
|
||||
company_id = fields.Many2one('res.company', string='Company', readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, default=lambda self: self.env.user.company_id)
|
||||
currency_id = fields.Many2one('res.currency', string='Currency', readonly=True, states={'draft': [('readonly', False)], 'refused': [('readonly', False)]}, default=lambda self: self.env.user.company_id.currency_id)
|
||||
analytic_account_id = fields.Many2one('account.analytic.account', string='Analytic Account', states={'post': [('readonly', True)], 'done': [('readonly', True)]}, oldname='analytic_account')
|
||||
account_id = fields.Many2one('account.account', string='Account', states={'post': [('readonly', True)], 'done': [('readonly', True)]}, default=lambda self: self.env['ir.property'].get('property_account_expense_categ_id', 'product.category'))
|
||||
description = fields.Text()
|
||||
@@ -280,7 +280,7 @@ class HrExpense(models.Model):
|
||||
if help_message:
|
||||
alias_record = self.env.ref('hr_expense.mail_alias_expense')
|
||||
if alias_record and alias_record.alias_domain and alias_record.alias_name:
|
||||
link = "<a id='o_mail_test' href='mailto:%(email)s&subject=Lunch+with+customer%%3A+%%2412.32'>%(email)s</a>" % {
|
||||
link = "<a id='o_mail_test' href='mailto:%(email)s?subject=Lunch%%20with%%20customer%%3A%%20%%2412.32'>%(email)s</a>" % {
|
||||
'email': '%s@%s' % (alias_record.alias_name, alias_record.alias_domain)
|
||||
}
|
||||
return '<p class="oe_view_nocontent_create">%s<br/>%s</p>%s' % (
|
||||
|
||||
@@ -278,7 +278,7 @@ class Holidays(models.Model):
|
||||
|
||||
if employee_id:
|
||||
employee = self.env['hr.employee'].browse(employee_id)
|
||||
resource = self.env['resource.resource'].sudo().search([('user_id', '=', employee.user_id.id)], limit=1)
|
||||
resource = employee.resource_id
|
||||
if resource and resource.calendar_id:
|
||||
hours = resource.calendar_id.get_working_hours(from_dt, to_dt, resource_id=resource.id, compute_leaves=True)
|
||||
uom_hour = resource.calendar_id.uom_id
|
||||
|
||||
@@ -55,7 +55,7 @@ class Task(models.Model):
|
||||
|
||||
parent_id = fields.Many2one('project.task', string='Parent Task')
|
||||
child_ids = fields.One2many('project.task', 'parent_id', string="Sub-tasks")
|
||||
subtask_project_id = fields.Many2one('project.project', related="project_id.subtask_project_id", string='Sub-task Project')
|
||||
subtask_project_id = fields.Many2one('project.project', related="project_id.subtask_project_id", string='Sub-task Project', readonly=True)
|
||||
subtask_count = fields.Integer(compute='_get_subtask_count', type='integer', string="Sub-task count")
|
||||
|
||||
_constraints = [(models.BaseModel._check_recursion, 'Circular references are not permitted between tasks and sub-tasks', ['parent_id'])]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0\n"
|
||||
"Project-Id-Version: Odoo Server 10.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-09-18 14:42+0000\n"
|
||||
"PO-Revision-Date: 2015-09-18 14:42+0000\n"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0\n"
|
||||
"Project-Id-Version: Odoo Server 10.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-11-03 22:23+0000\n"
|
||||
"PO-Revision-Date: 2015-11-03 22:23+0000\n"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0\n"
|
||||
"Project-Id-Version: Odoo Server 10.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-09-18 08:20+0000\n"
|
||||
"PO-Revision-Date: 2015-09-18 08:20+0000\n"
|
||||
|
||||
@@ -10,6 +10,7 @@ from odoo.http import request
|
||||
class LinkTracker(http.Controller):
|
||||
@http.route('/r/<string:code>', type='http', auth='none', website=True)
|
||||
def full_url_redirect(self, code, **post):
|
||||
request.env['link.tracker.click'].add_click(code, request.httprequest.remote_addr, request.session['geoip'].get('country_code'), stat_id=False)
|
||||
country_code = request.session.geoip and request.session.geoip.get('country_code') or False
|
||||
request.env['link.tracker.click'].add_click(code, request.httprequest.remote_addr, country_code, stat_id=False)
|
||||
redirect_url = request.env['link.tracker'].get_url_from_code(code)
|
||||
return werkzeug.utils.redirect(redirect_url or '', 301)
|
||||
|
||||
@@ -2024,13 +2024,6 @@ class MailThread(models.AbstractModel):
|
||||
auto_delete=True,
|
||||
auto_delete_message=True,
|
||||
subtype_id=self.env.ref('mail.mt_note').id)
|
||||
messages = self.env['mail.message'].sudo().search([
|
||||
('model', '=', self._name),
|
||||
('res_id', '=', record.id),
|
||||
('subtype_id', '!=', False),
|
||||
('subtype_id.internal', '=', False)], limit=1)
|
||||
if messages:
|
||||
messages.write({'needaction_partner_ids': [(4, pid) for pid in partner_ids]})
|
||||
|
||||
@api.multi
|
||||
def message_auto_subscribe(self, updated_fields, values=None):
|
||||
|
||||
@@ -26,8 +26,8 @@ class PublisherWarrantyContract(AbstractModel):
|
||||
Users = self.env['res.users']
|
||||
IrParamSudo = self.env['ir.config_parameter'].sudo()
|
||||
|
||||
dbuuid = IrParamSudo('database.uuid')
|
||||
db_create_date = IrParamSudo('database.create_date')
|
||||
dbuuid = IrParamSudo.get_param('database.uuid')
|
||||
db_create_date = IrParamSudo.get_param('database.create_date')
|
||||
limit_date = datetime.datetime.now()
|
||||
limit_date = limit_date - datetime.timedelta(15)
|
||||
limit_date_str = limit_date.strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
@@ -42,9 +42,9 @@ class PublisherWarrantyContract(AbstractModel):
|
||||
domain = [('application', '=', True), ('state', 'in', ['installed', 'to upgrade', 'to remove'])]
|
||||
apps = self.env['ir.module.module'].sudo().search_read(domain, ['name'])
|
||||
|
||||
enterprise_code = IrParamSudo('database.enterprise_code')
|
||||
enterprise_code = IrParamSudo.get_param('database.enterprise_code')
|
||||
|
||||
web_base_url = IrParamSudo('web.base.url')
|
||||
web_base_url = IrParamSudo.get_param('web.base.url')
|
||||
msg = {
|
||||
"dbuuid": dbuuid,
|
||||
"nbr_users": nbr_users,
|
||||
@@ -60,7 +60,7 @@ class PublisherWarrantyContract(AbstractModel):
|
||||
"enterprise_code": enterprise_code,
|
||||
}
|
||||
if user.partner_id.company_id:
|
||||
company_id = user.partner_id.company_id.id
|
||||
company_id = user.partner_id.company_id
|
||||
msg.update(company_id.read(["name", "email", "phone"])[0])
|
||||
return msg
|
||||
|
||||
@@ -101,7 +101,7 @@ class PublisherWarrantyContract(AbstractModel):
|
||||
raise UserError(_("Error during communication with the publisher warranty server."))
|
||||
# old behavior based on res.log; now on mail.message, that is not necessarily installed
|
||||
user = self.env['res.users'].sudo().browse(SUPERUSER_ID)
|
||||
poster = self.env.sudo().ref('mail.channel_all_employees')
|
||||
poster = self.sudo().env.ref('mail.channel_all_employees')
|
||||
if not (poster and poster.exists()):
|
||||
if not user.exists():
|
||||
return True
|
||||
|
||||
@@ -672,7 +672,7 @@ var chat_manager = {
|
||||
// post a message in a channel or execute a command
|
||||
return ChannelModel.call(data.command ? 'execute_command' : 'message_post', [options.channel_id], _.extend(msg, {
|
||||
message_type: 'comment',
|
||||
content_subtype: 'plaintext',
|
||||
content_subtype: 'html',
|
||||
subtype: 'mail.mt_comment',
|
||||
command: data.command,
|
||||
}));
|
||||
|
||||
@@ -72,7 +72,7 @@ var PartnerInviteDialog = Dialog.extend({
|
||||
var data = this.$input.select2('data');
|
||||
if(data.length >= 1){
|
||||
var ChannelModel = new Model('mail.channel');
|
||||
return ChannelModel.call('channel_invite', [], {ids : [this.channel_id], partner_ids: _.pluck(data, 'id')})
|
||||
return ChannelModel.call('channel_invite', [this.channel_id], {partner_ids: _.pluck(data, 'id')})
|
||||
.then(function(){
|
||||
var names = _.escape(_.pluck(data, 'text').join(', '));
|
||||
var notification = _.str.sprintf(_t('You added <b>%s</b> to the conversation.'), names);
|
||||
|
||||
@@ -466,8 +466,9 @@ class MailComposer(models.TransientModel):
|
||||
bodies = self.render_template(self.body, self.model, res_ids, post_process=True)
|
||||
emails_from = self.render_template(self.email_from, self.model, res_ids)
|
||||
replies_to = self.render_template(self.reply_to, self.model, res_ids)
|
||||
|
||||
default_recipients = self.env['mail.thread'].message_get_default_recipients(res_model=self.model, res_ids=res_ids)
|
||||
default_recipients = {}
|
||||
if not self.partner_ids:
|
||||
default_recipients = self.env['mail.thread'].message_get_default_recipients(res_model=self.model, res_ids=res_ids)
|
||||
|
||||
results = dict.fromkeys(res_ids, False)
|
||||
for res_id in res_ids:
|
||||
|
||||
@@ -7,7 +7,7 @@ import random
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.tools.safe_eval import safe_eval
|
||||
from openerp.tools.translate import html_translate
|
||||
from odoo.tools.translate import html_translate
|
||||
|
||||
|
||||
class MassMailingTag(models.Model):
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<field name="open"/>
|
||||
<field name="memo"/>
|
||||
<field name="date_done"/>
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="message_partner_ids"/>
|
||||
<field name="tag_ids"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
@@ -101,9 +101,9 @@
|
||||
<!-- title -->
|
||||
<field name="name"/>
|
||||
</span>
|
||||
<t t-if="record.message_follower_ids.raw_value.length > 1">
|
||||
<t t-if="record.message_partner_ids.raw_value.length > 1">
|
||||
<div class="clearfix"></div>
|
||||
<t t-foreach="record.message_follower_ids.raw_value" t-as="follower">
|
||||
<t t-foreach="record.message_partner_ids.raw_value" t-as="follower">
|
||||
<img t-att-src="kanban_image('res.partner', 'image_small', follower)" width="24" height="24" class="oe_kanban_avatar pull-right" t-att-data-member_id="follower"/>
|
||||
</t>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -20,9 +20,9 @@ class AcquirerAdyen(models.Model):
|
||||
_inherit = 'payment.acquirer'
|
||||
|
||||
provider = fields.Selection(selection_add=[('adyen', 'Adyen')])
|
||||
adyen_merchant_account = fields.Char('Merchant Account', required_if_provider='adyen')
|
||||
adyen_skin_code = fields.Char('Skin Code', required_if_provider='adyen')
|
||||
adyen_skin_hmac_key = fields.Char('Skin HMAC Key', required_if_provider='adyen')
|
||||
adyen_merchant_account = fields.Char('Merchant Account', required_if_provider='adyen', groups='base.group_user')
|
||||
adyen_skin_code = fields.Char('Skin Code', required_if_provider='adyen', groups='base.group_user')
|
||||
adyen_skin_hmac_key = fields.Char('Skin HMAC Key', required_if_provider='adyen', groups='base.group_user')
|
||||
|
||||
@api.model
|
||||
def _get_adyen_urls(self, environment):
|
||||
|
||||
@@ -21,8 +21,8 @@ class PaymentAcquirerAuthorize(models.Model):
|
||||
_inherit = 'payment.acquirer'
|
||||
|
||||
provider = fields.Selection(selection_add=[('authorize', 'Authorize.Net')])
|
||||
authorize_login = fields.Char(string='API Login Id', required_if_provider='authorize')
|
||||
authorize_transaction_key = fields.Char(string='API Transaction Key', required_if_provider='authorize')
|
||||
authorize_login = fields.Char(string='API Login Id', required_if_provider='authorize', groups='base.group_user')
|
||||
authorize_transaction_key = fields.Char(string='API Transaction Key', required_if_provider='authorize', groups='base.group_user')
|
||||
|
||||
def _get_feature_support(self):
|
||||
"""Get advanced feature support by provider.
|
||||
|
||||
@@ -26,8 +26,8 @@ class AcquirerBuckaroo(models.Model):
|
||||
_inherit = 'payment.acquirer'
|
||||
|
||||
provider = fields.Selection(selection_add=[('buckaroo', 'Buckaroo')])
|
||||
brq_websitekey = fields.Char('WebsiteKey', required_if_provider='buckaroo')
|
||||
brq_secretkey = fields.Char('SecretKey', required_if_provider='buckaroo')
|
||||
brq_websitekey = fields.Char('WebsiteKey', required_if_provider='buckaroo', groups='base.group_user')
|
||||
brq_secretkey = fields.Char('SecretKey', required_if_provider='buckaroo', groups='base.group_user')
|
||||
|
||||
def _get_buckaroo_urls(self, environment):
|
||||
""" Buckaroo URLs
|
||||
|
||||
@@ -27,11 +27,11 @@ class PaymentAcquirerOgone(models.Model):
|
||||
_inherit = 'payment.acquirer'
|
||||
|
||||
provider = fields.Selection(selection_add=[('ogone', 'Ogone')])
|
||||
ogone_pspid = fields.Char('PSPID', required_if_provider='ogone')
|
||||
ogone_userid = fields.Char('API User ID', required_if_provider='ogone')
|
||||
ogone_password = fields.Char('API User Password', required_if_provider='ogone')
|
||||
ogone_shakey_in = fields.Char('SHA Key IN', size=32, required_if_provider='ogone')
|
||||
ogone_shakey_out = fields.Char('SHA Key OUT', size=32, required_if_provider='ogone')
|
||||
ogone_pspid = fields.Char('PSPID', required_if_provider='ogone', groups='base.group_user')
|
||||
ogone_userid = fields.Char('API User ID', required_if_provider='ogone', groups='base.group_user')
|
||||
ogone_password = fields.Char('API User Password', required_if_provider='ogone', groups='base.group_user')
|
||||
ogone_shakey_in = fields.Char('SHA Key IN', size=32, required_if_provider='ogone', groups='base.group_user')
|
||||
ogone_shakey_out = fields.Char('SHA Key OUT', size=32, required_if_provider='ogone', groups='base.group_user')
|
||||
ogone_alias_usage = fields.Char('Alias Usage', default="Allow saving my payment data",
|
||||
help="If you want to use Ogone Aliases, this default "
|
||||
"Alias Usage will be presented to the customer as the "
|
||||
|
||||
@@ -62,7 +62,7 @@ class PaypalController(http.Controller):
|
||||
self.paypal_validate_data(**post)
|
||||
return ''
|
||||
|
||||
@http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST'], csrf=False)
|
||||
@http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST', 'GET'], csrf=False)
|
||||
def paypal_dpn(self, **post):
|
||||
""" Paypal DPN """
|
||||
_logger.info('Beginning Paypal DPN form_feedback with post data %s', pprint.pformat(post)) # debug
|
||||
|
||||
@@ -17,17 +17,17 @@ class AcquirerPaypal(models.Model):
|
||||
_inherit = 'payment.acquirer'
|
||||
|
||||
provider = fields.Selection(selection_add=[('paypal', 'Paypal')])
|
||||
paypal_email_account = fields.Char('Paypal Email ID', required_if_provider='paypal')
|
||||
paypal_email_account = fields.Char('Paypal Email ID', required_if_provider='paypal', groups='base.group_user')
|
||||
paypal_seller_account = fields.Char(
|
||||
'Paypal Merchant ID',
|
||||
'Paypal Merchant ID', groups='base.group_user',
|
||||
help='The Merchant ID is used to ensure communications coming from Paypal are valid and secured.')
|
||||
paypal_use_ipn = fields.Boolean('Use IPN', default=True, help='Paypal Instant Payment Notification')
|
||||
paypal_use_ipn = fields.Boolean('Use IPN', default=True, help='Paypal Instant Payment Notification', groups='base.group_user')
|
||||
# Server 2 server
|
||||
paypal_api_enabled = fields.Boolean('Use Rest API', default=False)
|
||||
paypal_api_username = fields.Char('Rest API Username')
|
||||
paypal_api_password = fields.Char('Rest API Password')
|
||||
paypal_api_access_token = fields.Char('Access Token')
|
||||
paypal_api_access_token_validity = fields.Datetime('Access Token Validity')
|
||||
paypal_api_username = fields.Char('Rest API Username', groups='base.group_user')
|
||||
paypal_api_password = fields.Char('Rest API Password', groups='base.group_user')
|
||||
paypal_api_access_token = fields.Char('Access Token', groups='base.group_user')
|
||||
paypal_api_access_token_validity = fields.Datetime('Access Token Validity', groups='base.group_user')
|
||||
# Default paypal fees
|
||||
fees_dom_fixed = fields.Float(default=0.35)
|
||||
fees_dom_var = fields.Float(default=3.4)
|
||||
|
||||
@@ -26,7 +26,7 @@ class SipsController(http.Controller):
|
||||
|
||||
def sips_validate_data(self, **post):
|
||||
sips = request.env['payment.acquirer'].search([('provider', '=', 'sips')], limit=1)
|
||||
security = sips._sips_generate_shasign(post)
|
||||
security = sips.sudo()._sips_generate_shasign(post)
|
||||
if security == post['Seal']:
|
||||
_logger.debug('Sips: validated data')
|
||||
return request.env['payment.transaction'].sudo().form_feedback(post, 'sips')
|
||||
|
||||
@@ -37,8 +37,8 @@ class AcquirerSips(models.Model):
|
||||
_inherit = 'payment.acquirer'
|
||||
|
||||
provider = fields.Selection(selection_add=[('sips', 'Sips')])
|
||||
sips_merchant_id = fields.Char('SIPS API User Password', required_if_provider='sips')
|
||||
sips_secret = fields.Char('SIPS Secret', size=64, required_if_provider='sips')
|
||||
sips_merchant_id = fields.Char('SIPS API User Password', required_if_provider='sips', groups='base.group_user')
|
||||
sips_secret = fields.Char('SIPS Secret', size=64, required_if_provider='sips', groups='base.group_user')
|
||||
|
||||
def _get_sips_urls(self, environment):
|
||||
""" Worldline SIPS URLS """
|
||||
|
||||
@@ -57,6 +57,7 @@ Main Features
|
||||
'views/res_config_view.xml',
|
||||
'views/report_statement.xml',
|
||||
'views/report_userlabel.xml',
|
||||
'views/report_saledetails.xml',
|
||||
'views/point_of_sale.xml',
|
||||
'views/point_of_sale_dashboard.xml',
|
||||
],
|
||||
|
||||
@@ -22,3 +22,10 @@ class PosController(http.Controller):
|
||||
'session_info': json.dumps(request.env['ir.http'].session_info())
|
||||
}
|
||||
return request.render('point_of_sale.index', qcontext=context)
|
||||
|
||||
@http.route('/pos/sale_details_report', type='http', auth='user')
|
||||
def print_sale_details(self, date_start=False, date_stop=False, **kw):
|
||||
r = request.env['report.point_of_sale.report_saledetails']
|
||||
pdf = request.env['report'].with_context(date_start=date_start, date_stop=date_stop).get_pdf(r, 'point_of_sale.report_saledetails')
|
||||
pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf))]
|
||||
return request.make_response(pdf, headers=pdfhttpheaders)
|
||||
|
||||
@@ -71,7 +71,7 @@ class PosConfig(models.Model):
|
||||
iface_invoicing = fields.Boolean(string='Invoicing', help='Enables invoice generation from the Point of Sale', default=True)
|
||||
iface_big_scrollbars = fields.Boolean('Large Scrollbars', help='For imprecise industrial touchscreens')
|
||||
iface_print_auto = fields.Boolean(string='Automatic Receipt Printing', default=False,
|
||||
help='The receipt will automatically be p-rinted at the end of each order')
|
||||
help='The receipt will automatically be printed at the end of each order')
|
||||
iface_print_skip_screen = fields.Boolean(string='Skip Receipt Screen', default=True,
|
||||
help='The receipt screen will be skipped if the receipt can be printed automatically.')
|
||||
iface_precompute_cash = fields.Boolean(string='Prefill Cash Payment',
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
from functools import partial
|
||||
|
||||
import psycopg2
|
||||
@@ -8,7 +9,7 @@ import psycopg2
|
||||
from odoo import api, fields, models, tools, _
|
||||
from odoo.tools import float_is_zero
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
from odoo.http import request
|
||||
import odoo.addons.decimal_precision as dp
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
@@ -781,3 +782,104 @@ class PosOrderLineLot(models.Model):
|
||||
order_id = fields.Many2one('pos.order', related="pos_order_line_id.order_id")
|
||||
lot_name = fields.Char('Lot Name')
|
||||
product_id = fields.Many2one('product.product', related='pos_order_line_id.product_id')
|
||||
|
||||
|
||||
class ReportSaleDetails(models.AbstractModel):
|
||||
|
||||
_name = 'report.point_of_sale.report_saledetails'
|
||||
|
||||
|
||||
@api.model
|
||||
def get_sale_details(self, date_start=False, date_stop=False, company=False):
|
||||
""" Serialise the orders of the day information
|
||||
|
||||
params: date_start, date_stop string representing the day of order
|
||||
"""
|
||||
if not company:
|
||||
company = self.env.user.company_id
|
||||
|
||||
today = fields.Datetime.from_string(fields.Date.context_today(self))
|
||||
if date_start:
|
||||
date_start = fields.Datetime.from_string(date_start)
|
||||
else:
|
||||
# start by default today 00:00:00
|
||||
date_start = today
|
||||
|
||||
if date_stop:
|
||||
# set time to 23:59:59
|
||||
date_stop = fields.Datetime.from_string(date_stop) + timedelta(days=1, seconds=-1)
|
||||
else:
|
||||
# stop by default today 23:59:59
|
||||
date_stop = today + timedelta(days=1, seconds=-1)
|
||||
|
||||
# avoid a date_stop smaller than date_start
|
||||
date_stop = max(date_stop, date_start)
|
||||
|
||||
date_start = fields.Datetime.to_string(date_start)
|
||||
date_stop = fields.Datetime.to_string(date_stop)
|
||||
orders = self.env['pos.order'].search([('date_order', '>=', date_start), ('date_order', '<=', date_stop),
|
||||
('state', 'in', ['paid','invoiced','done']),
|
||||
('company_id', '=', company.id)])
|
||||
user_currency = self.env.user.company_id.currency_id
|
||||
|
||||
total = 0.0
|
||||
products_sold = {}
|
||||
taxes = {}
|
||||
for order in orders:
|
||||
if user_currency != order.pricelist_id.currency_id:
|
||||
total += order.pricelist_id.currency_id.compute(order.amount_total, user_currency)
|
||||
else:
|
||||
total += order.amount_total
|
||||
currency = order.session_id.currency_id
|
||||
|
||||
for line in order.lines:
|
||||
key = (line.product_id, line.price_unit, line.discount)
|
||||
products_sold.setdefault(key, 0.0)
|
||||
products_sold[key] += line.qty
|
||||
|
||||
if line.tax_ids_after_fiscal_position:
|
||||
line_taxes = line.tax_ids_after_fiscal_position.compute_all(line.price_unit * (1-(line.discount or 0.0)/100.0), currency, line.qty, product=line.product_id, partner=line.order_id.partner_id or False)
|
||||
for tax in line_taxes['taxes']:
|
||||
taxes.setdefault(tax['id'], {'name': tax['name'], 'total':0.0})
|
||||
taxes[tax['id']]['total'] += tax['amount']
|
||||
|
||||
st_line_ids = self.env["account.bank.statement.line"].search([('pos_statement_id', 'in', orders.ids)]).ids
|
||||
if st_line_ids:
|
||||
self.env.cr.execute("""
|
||||
SELECT aj.name, sum(amount) total
|
||||
FROM account_bank_statement_line AS absl,
|
||||
account_bank_statement AS abs,
|
||||
account_journal AS aj
|
||||
WHERE absl.statement_id = abs.id
|
||||
AND abs.journal_id = aj.id
|
||||
AND absl.id IN %s
|
||||
GROUP BY aj.name
|
||||
""", (tuple(st_line_ids),))
|
||||
payments = self.env.cr.dictfetchall()
|
||||
else:
|
||||
payments = []
|
||||
|
||||
return {
|
||||
'total_paid': user_currency.round(total),
|
||||
'payments': payments,
|
||||
'company_name': self.env.user.company_id.name,
|
||||
'taxes': taxes.values(),
|
||||
'products': [{
|
||||
'product_id': product.id,
|
||||
'product_name': product.name[:20],
|
||||
'code': product.default_code,
|
||||
'quantity': qty,
|
||||
'price_unit': price_unit,
|
||||
'discount': discount,
|
||||
'uom': product.uom_id.name
|
||||
} for (product, price_unit, discount), qty in products_sold.items()]
|
||||
}
|
||||
|
||||
@api.multi
|
||||
def render_html(self, data=None):
|
||||
company = request.env.user.company_id
|
||||
date_start = self.env.context.get('date_start', False)
|
||||
date_stop = self.env.context.get('date_stop', False)
|
||||
data = dict(data or {}, date_start=date_start, date_stop=date_stop)
|
||||
data.update(self.get_sale_details(date_start, date_stop, company))
|
||||
return self.env['report'].render('point_of_sale.report_saledetails', data)
|
||||
@@ -32,7 +32,7 @@
|
||||
<section class="oe_container">
|
||||
<div class="oe_row oe_spaced">
|
||||
<h2 class="oe_slogan" style="color:#A24689;">An interface designed for productivity</h2>
|
||||
<h3 class="oe_slogan oe_mb32">The Point of Sales that keeps everything where you need it</h3>
|
||||
<h3 class="oe_slogan oe_mb32">The point of sale that keeps everything where you need it</h3>
|
||||
<div class="oe_span4 text-center">
|
||||
<span class="fa fa-paint-brush fa-2x"/>
|
||||
<h4 class="oe_mt16 oe_mb8">
|
||||
@@ -80,7 +80,7 @@
|
||||
While an Internet connection is required to start the Point of Sale, it will stay operational even after complete disconnection. Because it's extremely flexible, you can configure Odoo POS to meet your precise needs.
|
||||
</p>
|
||||
<p class="oe_mt8">
|
||||
No installation and no specific hardware is required to use Odoo POS. Our solution for point of sales is compatible with desktop PCs, iPads and other tablet computers, laptops and industrial POS machines.
|
||||
No installation and no specific hardware is required to use Odoo POS. Our solution for points of sale is compatible with desktop PCs, iPads and other tablet computers, laptops and industrial POS machines.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -128,7 +128,7 @@
|
||||
<div class="oe_row oe_spaced">
|
||||
<div class="lead text-center">
|
||||
<p>
|
||||
Odoo Point of Sales is more than an ordinary POS.
|
||||
Odoo Point of Sale is more than an ordinary POS.
|
||||
<br/>
|
||||
Our app provides extra features to deliver awesome customer service.
|
||||
</p>
|
||||
@@ -145,7 +145,7 @@
|
||||
</div>
|
||||
<div class='oe_span6'>
|
||||
<p class="oe_mt32 text-justify">
|
||||
Give your shopper a positive experience by improving your services. Handle refunds, track warranties, follow customer claims, plan order deliveries, etc... in one interface. Bring your sales at the next level. Odoo POS can produce customer invoices in just a few clicks and synchronize with Odoo Accounting. Your accounting will be easier and more accurate. Our Point of Sales helps you to control sales and cash in real time but also to keep your whole operations under control.
|
||||
Give your shopper a positive experience by improving your services. Handle refunds, track warranties, follow customer claims, plan order deliveries, etc... in one interface. Bring your sales at the next level. Odoo POS can produce customer invoices in just a few clicks and synchronize with Odoo Accounting. Your accounting will be easier and more accurate. Our Point of Sale helps you to control sales and cash in real time but also to keep your whole operations under control.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -406,6 +406,23 @@ var ProxyStatusWidget = StatusWidget.extend({
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
/* --------- The Sale Details --------- */
|
||||
|
||||
// Generates a report to print the sales of the
|
||||
// day on a ticket
|
||||
|
||||
var SaleDetailsButton = PosBaseWidget.extend({
|
||||
template: 'SaleDetailsButton',
|
||||
start: function(){
|
||||
var self = this;
|
||||
this.$el.click(function(){
|
||||
self.pos.proxy.print_sale_details();
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
/*--------------------------------------*\
|
||||
| THE CHROME |
|
||||
\*======================================*/
|
||||
@@ -662,6 +679,11 @@ var Chrome = PosBaseWidget.extend({
|
||||
'name': 'order_selector',
|
||||
'widget': OrderSelectorWidget,
|
||||
'replace': '.placeholder-OrderSelectorWidget',
|
||||
},{
|
||||
'name': 'sale_details',
|
||||
'widget': SaleDetailsButton,
|
||||
'append': '.pos-rightheader',
|
||||
'condition': function(){ return this.pos.config.use_proxy; },
|
||||
},{
|
||||
'name': 'proxy_status',
|
||||
'widget': ProxyStatusWidget,
|
||||
@@ -769,6 +791,7 @@ return {
|
||||
HeaderButtonWidget: HeaderButtonWidget,
|
||||
OrderSelectorWidget: OrderSelectorWidget,
|
||||
ProxyStatusWidget: ProxyStatusWidget,
|
||||
SaleDetailsButton: SaleDetailsButton,
|
||||
StatusWidget: StatusWidget,
|
||||
SynchNotificationWidget: SynchNotificationWidget,
|
||||
UsernameWidget: UsernameWidget,
|
||||
|
||||
@@ -2,8 +2,10 @@ odoo.define('point_of_sale.devices', function (require) {
|
||||
"use strict";
|
||||
|
||||
var core = require('web.core');
|
||||
var Model = require('web.DataModel');
|
||||
var Session = require('web.Session');
|
||||
|
||||
var QWeb = core.qweb;
|
||||
var _t = core._t;
|
||||
|
||||
// the JobQueue schedules a sequence of 'jobs'. each job is
|
||||
@@ -434,6 +436,23 @@ var ProxyDevice = core.Class.extend(core.mixins.PropertiesMixin,{
|
||||
send_printing_job();
|
||||
},
|
||||
|
||||
print_sale_details: function() {
|
||||
var self = this;
|
||||
new Model('report.point_of_sale.report_saledetails').call('get_sale_details').then(function(result){
|
||||
var env = {
|
||||
company: self.pos.company,
|
||||
pos: self.pos,
|
||||
products: result.products,
|
||||
payments: result.payments,
|
||||
taxes: result.taxes,
|
||||
total_paid: result.total_paid,
|
||||
date: (new Date()).toLocaleString(),
|
||||
};
|
||||
var report = QWeb.render('SaleDetailsReport', env);
|
||||
self.print_receipt(report);
|
||||
})
|
||||
},
|
||||
|
||||
// asks the proxy to log some information, as with the debug.log you can provide several arguments.
|
||||
log: function(){
|
||||
return this.message('log',{'arguments': _.toArray(arguments)});
|
||||
|
||||
@@ -1405,13 +1405,14 @@ exports.Orderline = Backbone.Model.extend({
|
||||
},
|
||||
compute_all: function(taxes, price_unit, quantity, currency_rounding) {
|
||||
var self = this;
|
||||
var total_excluded = round_pr(price_unit * quantity, currency_rounding);
|
||||
var total_included = total_excluded;
|
||||
var base = total_excluded;
|
||||
var list_taxes = [];
|
||||
var currency_rounding_bak = currency_rounding;
|
||||
if (this.pos.company.tax_calculation_rounding_method == "round_globally"){
|
||||
currency_rounding = currency_rounding * 0.00001;
|
||||
}
|
||||
var total_excluded = round_pr(price_unit * quantity, currency_rounding);
|
||||
var total_included = total_excluded;
|
||||
var base = total_excluded;
|
||||
_(taxes).each(function(tax) {
|
||||
tax = self._map_tax_fiscal_position(tax);
|
||||
if (tax.amount_type === 'group'){
|
||||
@@ -1445,7 +1446,11 @@ exports.Orderline = Backbone.Model.extend({
|
||||
}
|
||||
}
|
||||
});
|
||||
return {taxes: list_taxes, total_excluded: total_excluded, total_included: total_included};
|
||||
return {
|
||||
taxes: list_taxes,
|
||||
total_excluded: round_pr(total_excluded, currency_rounding_bak),
|
||||
total_included: round_pr(total_included, currency_rounding_bak)
|
||||
};
|
||||
},
|
||||
get_all_prices: function(){
|
||||
var price_unit = this.get_unit_price() * (1.0 - (this.get_discount() / 100.0));
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
odoo.define('point_of_sale.report', function (require) {
|
||||
"use strict";
|
||||
|
||||
var chat_manager = require('mail.chat_manager');
|
||||
var composer = require('mail.composer');
|
||||
var ChatThread = require('mail.ChatThread');
|
||||
var utils = require('mail.utils');
|
||||
|
||||
var config = require('web.config');
|
||||
var core = require('web.core');
|
||||
var data = require('web.data');
|
||||
var Dialog = require('web.Dialog');
|
||||
var framework = require('web.framework');
|
||||
var Model = require('web.Model');
|
||||
|
||||
var pyeval = require('web.pyeval');
|
||||
var SearchView = require('web.SearchView');
|
||||
|
||||
var ActionManager = require('web.ActionManager');
|
||||
var ControlPanelMixin = require('web.ControlPanelMixin');
|
||||
var datepicker = require('web.datepicker');
|
||||
var Widget = require('web.Widget');
|
||||
|
||||
var QWeb = core.qweb;
|
||||
var _t = core._t;
|
||||
|
||||
// TODO replace in v10 with proper wizard
|
||||
var PosDetailsWidget = Widget.extend(ControlPanelMixin, {
|
||||
template: 'WizardSaleDetailsReport',
|
||||
events: {
|
||||
"click .js_generate": "renderReport",
|
||||
},
|
||||
|
||||
renderElement: function() {
|
||||
this._super();
|
||||
|
||||
var current_date = new moment();
|
||||
this.dp_start = new datepicker.DateWidget(this);
|
||||
this.dp_start.insertBefore(this.$el.find('.js_date_start'));
|
||||
this.dp_start.set_value(current_date.format('YYYY-MM-DD'));
|
||||
|
||||
this.dp_stop = new datepicker.DateWidget(this);
|
||||
this.dp_stop.insertAfter(this.$el.find('.js_date_stop'));
|
||||
this.dp_stop.set_value(current_date.format('YYYY-MM-DD'));
|
||||
|
||||
},
|
||||
|
||||
renderReport: function() {
|
||||
var start = this.dp_start.get_value();
|
||||
var stop = this.dp_stop.get_value();
|
||||
var url = '/pos/sale_details_report?date_start='+start+'&date_stop='+stop;
|
||||
window.open(url, '_blank');
|
||||
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
core.action_registry.add('report_pos_details', PosDetailsWidget);
|
||||
|
||||
return PosDetailsWidget;
|
||||
|
||||
});
|
||||
@@ -38,7 +38,7 @@ var PosBaseWidget = Widget.extend({
|
||||
var currency = (this.pos && this.pos.currency) ? this.pos.currency : {symbol:'$', position: 'after', rounding: 0.01, decimals: 2};
|
||||
var decimals = currency.decimals;
|
||||
|
||||
if (precision && (typeof this.pos.dp[precision]) !== undefined) {
|
||||
if (precision && this.pos.dp[precision] !== undefined) {
|
||||
decimals = this.pos.dp[precision];
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,14 @@
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-name="SaleDetailsButton">
|
||||
<div class="oe_status">
|
||||
<div class="js_connected oe_icon">
|
||||
<i class='fa fa-fw fa-print'></i>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-name="HeaderButtonWidget">
|
||||
<div class="header-button">
|
||||
<t t-esc="widget.label" />
|
||||
@@ -846,6 +854,114 @@
|
||||
</receipt>
|
||||
</t>
|
||||
|
||||
<t t-name="SaleDetailsReport">
|
||||
<receipt align='center' width='40' value-thousands-separator='' >
|
||||
<t t-if='pos.company_logo_base64'>
|
||||
<img t-att-src='pos.company_logo_base64' />
|
||||
<br/>
|
||||
</t>
|
||||
<t t-if='!pos.company_logo_base64'>
|
||||
<h1><t t-esc='company.name' /></h1>
|
||||
<br/>
|
||||
</t>
|
||||
<br /><br />
|
||||
|
||||
<!-- Orderlines -->
|
||||
|
||||
<div class='orderlines' line-ratio='0.6'>
|
||||
<t t-foreach='products' t-as='line'>
|
||||
<line>
|
||||
<left><t t-esc='line.product_name' /></left>
|
||||
<right>
|
||||
<value value-decimals='2' value-autoint='on'>
|
||||
<t t-esc='line.quantity' />
|
||||
</value>
|
||||
<t t-if='line.uom !== "Unit(s)"'>
|
||||
<t t-esc='line.uom' />
|
||||
</t>
|
||||
</right>
|
||||
<right>
|
||||
<value><t t-esc='line.price_unit' /></value>
|
||||
</right>
|
||||
</line>
|
||||
<t t-if='line.discount !== 0'>
|
||||
<line indent='1'><left>Discount: <t t-esc='line.discount' />%</left></line>
|
||||
</t>
|
||||
</t>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<line><left>------------------------</left></line>
|
||||
<br/>
|
||||
|
||||
<line>
|
||||
<left>Payments:</left>
|
||||
</line>
|
||||
<line t-foreach='payments' t-as='payment'>
|
||||
<left><t t-esc='payment.name' /></left>
|
||||
<right>
|
||||
<t t-esc='payment.total'/>
|
||||
</right>
|
||||
</line>
|
||||
|
||||
<br/>
|
||||
<line><left>------------------------</left></line>
|
||||
<br/>
|
||||
|
||||
<line>
|
||||
<left>Taxes:</left>
|
||||
</line>
|
||||
<line t-foreach='taxes' t-as='taxe'>
|
||||
<left><t t-esc='taxe.name' /></left>
|
||||
<right>
|
||||
<t t-esc='taxe.total'/>
|
||||
</right>
|
||||
</line>
|
||||
|
||||
<br/>
|
||||
<line><left>------------------------</left></line>
|
||||
<br/>
|
||||
|
||||
<line>
|
||||
<left>Total:</left>
|
||||
<right>
|
||||
<t t-esc='total_paid'/>
|
||||
</right>
|
||||
</line>
|
||||
|
||||
<br/>
|
||||
<div font='b'>
|
||||
<div><t t-esc='date' /></div>
|
||||
</div>
|
||||
|
||||
</receipt>
|
||||
</t>
|
||||
|
||||
|
||||
<t t-name="WizardSaleDetailsReport">
|
||||
<div class="o_form_view"><div class="oe_form_sheetbg o_form_sheet_bg"><div class="oe_form_sheet oe_form_sheet_width o_form_sheet">
|
||||
<div class="pos_details_dates">
|
||||
<h3>Select Dates for the report</h3>
|
||||
<table class="table-condensed">
|
||||
<tr>
|
||||
<td><strong>Start date</strong></td>
|
||||
<td><div class="js_date_start"></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Stop date</strong></td>
|
||||
<td><div class="js_date_stop"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
<button class="js_generate">Generate report</button>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div></div></div>
|
||||
</t>
|
||||
|
||||
|
||||
<t t-name="PopupWidget">
|
||||
<div class="modal-dialog">
|
||||
<div class="popup popup-alert">
|
||||
|
||||
@@ -17,5 +17,11 @@
|
||||
<field name="report_name">point_of_sale.report_invoice</field>
|
||||
</record>
|
||||
|
||||
<record id="sale_details_report" model="ir.actions.report.xml">
|
||||
<field name="name">Sale Details</field>
|
||||
<field name="model">report.point_of_sale.details</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">point_of_sale.report_saledetails</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href="/point_of_sale/static/src/less/pos_dashboard.less"/>
|
||||
<script type="text/javascript" src="/point_of_sale/static/src/js/tour.js"></script>
|
||||
<script type="text/javascript" src="/point_of_sale/static/src/js/report.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
@@ -68,5 +68,11 @@
|
||||
<field name="context">{'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_pos_details" model="ir.actions.client">
|
||||
<field name="name">Sale Details</field>
|
||||
<field name="tag">report_pos_details</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_report_pos_order_all" name="Orders" action="action_report_pos_order_all" parent="menu_point_rep" sequence="3"/>
|
||||
<menuitem id="menu_report_order_details" name="Sale Details" action="action_report_pos_details" parent="menu_point_rep" sequence="4"/>
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="report_saledetails">
|
||||
<t t-call="report.html_container">
|
||||
<t t-call="report.internal_layout">
|
||||
<div class="page">
|
||||
|
||||
<div class="text-center">
|
||||
<h2>Sale Details</h2>
|
||||
|
||||
<strong><t t-esc="date_start"/> - <t t-esc="date_stop"/></strong>
|
||||
</div>
|
||||
|
||||
<!-- Orderlines -->
|
||||
<h3>Products</h3>
|
||||
<table class="table table-condensed">
|
||||
<thead><tr>
|
||||
<th>Product</th>
|
||||
<th>Quantity</th>
|
||||
<th>Price Unit</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr t-foreach='products' t-as='line'>
|
||||
<td><t t-esc="line['product_name']" /></td>
|
||||
<td>
|
||||
<t t-esc="line['quantity']" />
|
||||
<t t-if='line["uom"] != "Unit(s)"'>
|
||||
<t t-esc='line["uom"]' />
|
||||
</t>
|
||||
</td>
|
||||
<td>
|
||||
<t t-esc='line["price_unit"]' />
|
||||
<t t-if='line["discount"] != 0'>
|
||||
Disc: <t t-esc='line["discount"]' />%
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
|
||||
<h3>Payments</h3>
|
||||
<table class="table table-condensed">
|
||||
<thead><tr>
|
||||
<th>Name</th>
|
||||
<th>Total</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr t-foreach='payments' t-as='payment'>
|
||||
<td><t t-esc="payment['name']" /></td>
|
||||
<td><t t-esc="payment['total']" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
|
||||
<h3>Taxes</h3>
|
||||
<table class="table table-condensed">
|
||||
<thead><tr>
|
||||
<th>Name</th>
|
||||
<th>Total</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr t-foreach='taxes' t-as='tax'>
|
||||
<td><t t-esc="tax['name']" /></td>
|
||||
<td><t t-esc="tax['total']" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<strong>Total: <t t-esc='total_paid'/></strong>
|
||||
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -9,7 +9,7 @@
|
||||
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
|
||||
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
|
||||
</header>
|
||||
<group string="Importable Point of Sales Data">
|
||||
<group string="Importable Point of Sale Data">
|
||||
<label for="div" string="Beverages"/>
|
||||
<div>
|
||||
<div>
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
'version': '1.0',
|
||||
'category': 'Point of Sale',
|
||||
'sequence': 99,
|
||||
'summary': 'Common Drinks data for point of sales',
|
||||
'summary': 'Common Drinks data for points of sale',
|
||||
'description': """
|
||||
Common drinks data for point of sales
|
||||
Common drinks data for points of sale
|
||||
""",
|
||||
'depends': ['point_of_sale'],
|
||||
'data': [
|
||||
|
||||
@@ -196,13 +196,5 @@ parameter) will see those record just disappear.
|
||||
<field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/>
|
||||
<field eval="'product.pricelist,'+str(ref('list0'))" name="value"/>
|
||||
</record>
|
||||
|
||||
<record forcecreate="True" id="property_product_pricelist_demo" model="ir.property">
|
||||
<field name="name">property_product_pricelist</field>
|
||||
<field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/>
|
||||
<field eval="'product.pricelist,'+str(ref('list0'))" name="value"/>
|
||||
<field eval="'res.partner,'+str(ref('base.partner_demo'))" name="res_id"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -716,5 +716,12 @@ QWERTY keyboard</field>
|
||||
<field name="price">13.50</field>
|
||||
</record>
|
||||
|
||||
<record forcecreate="True" id="property_product_pricelist_demo" model="ir.property">
|
||||
<field name="name">property_product_pricelist</field>
|
||||
<field name="fields_id" search="[('model','=','res.partner'),('name','=','property_product_pricelist')]"/>
|
||||
<field eval="'product.pricelist,'+str(ref('list0'))" name="value"/>
|
||||
<field eval="'res.partner,'+str(ref('base.partner_demo'))" name="res_id"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -116,7 +116,7 @@ class ProductProduct(models.Model):
|
||||
help="This is the sum of the extra price of all attributes")
|
||||
lst_price = fields.Float(
|
||||
'Sale Price', compute='_compute_product_lst_price',
|
||||
digits=dp.get_precision('Product Price'), inverse='_set_product_price',
|
||||
digits=dp.get_precision('Product Price'), inverse='_set_product_lst_price',
|
||||
help="The sale price is managed from the product template. Click on the 'Variant Prices' button to set the extra attribute prices.")
|
||||
|
||||
default_code = fields.Char('Internal Reference', index=True)
|
||||
@@ -198,6 +198,15 @@ class ProductProduct(models.Model):
|
||||
value -= product.price_extra
|
||||
product.write({'list_price': value})
|
||||
|
||||
def _set_product_lst_price(self):
|
||||
for product in self:
|
||||
if self._context.get('uom'):
|
||||
value = self.env['product.uom'].browse(self._context['uom'])._compute_price(product.lst_price, product.uom_id)
|
||||
else:
|
||||
value = product.lst_price
|
||||
value -= product.price_extra
|
||||
product.write({'list_price': value})
|
||||
|
||||
@api.depends('attribute_value_ids.price_ids.price_extra', 'attribute_value_ids.price_ids.product_tmpl_id')
|
||||
def _compute_product_price_extra(self):
|
||||
# TDE FIXME: do a real multi and optimize a bit ?
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
<field name="res_model">product.template</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to define a new product.
|
||||
|
||||
@@ -12,7 +12,7 @@ class ProjectConfiguration(models.TransientModel):
|
||||
default=lambda self: self.env.user.company_id)
|
||||
project_time_mode_id = fields.Many2one(related='company_id.project_time_mode_id', string="Project Time Unit *")
|
||||
module_pad = fields.Selection([
|
||||
(0, "Task description is a plain text"),
|
||||
(0, "Task description is plain text"),
|
||||
(1, "Collaborative rich text on task description")
|
||||
], string="Pads",
|
||||
help='Lets the company customize which Pad installation should be used to link to new pads '
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</group>
|
||||
<group name="timesheets"/>
|
||||
<div>
|
||||
<span>(*) This configuration value is related to the company you're logged in.</span>
|
||||
<span>(*) This configuration is related to the company you're logged into.</span>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<field name="module_stock_dropshipping" widget="radio"/>
|
||||
</group>
|
||||
<div>
|
||||
<span>(*) This configuration value is related to the company you're logged in.</span>
|
||||
<span>(*) This configuration is related to the company you're logged into.</span>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -80,9 +80,10 @@ class RatingMixin(models.AbstractModel):
|
||||
def rating_get_access_token(self, partner=None):
|
||||
if not partner:
|
||||
partner = self.rating_get_partner_id()
|
||||
rated_partner = self.rating_get_rated_partner_id()
|
||||
ratings = self.rating_ids.filtered(lambda x: x.partner_id.id == partner.id and not x.consumed)
|
||||
if not ratings:
|
||||
rating = self.env['rating.rating'].create({'partner_id': partner.id, 'res_model': self._name, 'res_id': self.id})
|
||||
rating = self.env['rating.rating'].create({'partner_id': partner.id, 'rated_partner_id': rated_partner.id, 'res_model': self._name, 'res_id': self.id})
|
||||
else:
|
||||
rating = ratings[0]
|
||||
return rating.access_token
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
</p>
|
||||
<form class="form-horizontal" t-attf-action="/rating/#{token}/#{rate}/submit_feedback" method="post">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
|
||||
<textarea class="form-control" name="feedback" rows="8" t-esc="rating.feedback"></textarea>
|
||||
<textarea class="form-control" name="feedback" rows="8" t-att-value="rating.feedback"></textarea>
|
||||
<button type="submit" class="btn btn-primary" style="margin-top:8px;">Send Feedback</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<p>This customer survey has been sent because your task has been moved to the stage <b>${object.stage_id.name}</b></p>
|
||||
% endif
|
||||
% if object.project_id.rating_status == 'periodic':
|
||||
<p>This customer survey is send <b>${object.project_id.rating_status_period}</b> as long as the task is in the <b>${object.stage_id.name}</b> stage.
|
||||
<p>This customer survey is sent <b>${object.project_id.rating_status_period}</b> as long as the task is in the <b>${object.stage_id.name}</b> stage.
|
||||
% endif
|
||||
<p>Email automatically sent by <a href="https://www.odoo.com/page/project-management" style="color:#a24689;text-decoration:none;">Odoo Project</a> for <a href="${object.project_id.company_id.website}" style="color:#a24689;text-decoration:none;">${object.project_id.company_id.name}</a></p>
|
||||
</td></tr>
|
||||
|
||||
@@ -64,7 +64,7 @@ from ${object.company_id.name}.
|
||||
<field name="body_html"><![CDATA[<html>
|
||||
<head></head>
|
||||
<body style="margin: 0; padding: 0;">
|
||||
<table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed" class="o_mail_notification">
|
||||
<table border="0" width="100%" cellpadding="0" bgcolor="#ededed" style="padding: 20px; background-color: #ededed" summary="o_mail_notification">
|
||||
<tbody>
|
||||
|
||||
<!-- HEADER -->
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<!-- Salesteam-related subtypes for messaging / Chatter -->
|
||||
<record id="mt_salesteam_order_sent" model="mail.message.subtype">
|
||||
<field name="name">Quotation Send</field>
|
||||
<field name="name">Quotation sent</field>
|
||||
<field name="sequence">20</field>
|
||||
<field name="res_model">crm.team</field>
|
||||
<field name="parent_id" eval="ref('sale.mt_order_sent')"/>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
</div>
|
||||
<form name="sale_config_form" position="inside">
|
||||
<div>
|
||||
<span>(*) This configuration value is related to the company you're logged in.</span>
|
||||
<span>(*) This configuration is related to the company you're logged into.</span>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-07 15:30+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Afrikaans (http://www.transifex.com/odoo/odoo-9/language/"
|
||||
"af/)\n"
|
||||
"Language: af\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Produk Profielvorm"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,51 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 07:59+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Amharic (http://www.transifex.com/odoo/odoo-9/language/am/)\n"
|
||||
"Language: am\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "የእቃው ማሳያ"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,61 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-10-12 18:35+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/odoo/odoo-9/language/ar/)\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"#-#-#-#-# ar.po (Odoo 9.0) #-#-#-#-#\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
"#-#-#-#-# ar.po (Odoo 9.0) #-#-#-#-#\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "سياسة فاتورة المصاريف"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"إذا كنت الفاتورة بسعر التكلفة، سيتم اصدار الفواتير حسب تكلفة أمر البيع "
|
||||
"بناء على الخط التحليلي، وإذا كنت الفاتورة بسعر البيع فسيتم استخدام سعر "
|
||||
"المنتج بدلا من ذلك."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "قالب المنتج"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "البند التحليلي"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 07:59+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/odoo/odoo-9/language/"
|
||||
"bg/)\n"
|
||||
"Language: bg\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Шаблон за продукт"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Аналитичен ред"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 07:59+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Bosnian (http://www.transifex.com/odoo/odoo-9/language/bs/)\n"
|
||||
"Language: bs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Šablon proizvoda"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analitička stavka"
|
||||
@@ -1,56 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-05-04 16:24+0000\n"
|
||||
"Last-Translator: Marc Tormo i Bochaca <mtbochaca@gmail.com>\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/odoo/odoo-9/language/ca/)\n"
|
||||
"Language: ca\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "A Cost"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "A Preu de Venda"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de facturació de despeses"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si factureu a cost, les despeses es facturaran a la comanda de venda al cost "
|
||||
"de la línia analítica; si factureu a preu de venda, el preu del producte "
|
||||
"s'utilitzarà al seu lloc."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producte"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línia analítica"
|
||||
@@ -1,56 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 07:59+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/odoo/odoo-9/language/cs/)\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"#-#-#-#-# cs.po (Odoo 9.0) #-#-#-#-#\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"#-#-#-#-# cs.po (Odoo 9.0) #-#-#-#-#\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Pravidla výdajových faktur"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Šablona výrobku"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analytický řádek"
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 07:59+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/odoo/odoo-9/language/da/)\n"
|
||||
"Language: da\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Produktskabelon"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analytisk linie"
|
||||
@@ -1,58 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Ralf Hilgenstock <rh@dialoge.info>, 2016
|
||||
# Thorsten Vocks <thorsten.vocks@openbig.org>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-06-09 16:13+0000\n"
|
||||
"Last-Translator: Thorsten Vocks <thorsten.vocks@openbig.org>\n"
|
||||
"Language-Team: German (http://www.transifex.com/odoo/odoo-9/language/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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Zu Selbstkosten"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Zum Verkaufspreis"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Regeln zur Spesenabrechnung"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Wenn Sie eine Rechnung über die Kosten erstellen, wird der Aufwand "
|
||||
"abgerechnet über den Vertriebsauftrag basierend auf den Kosten der "
|
||||
"analytischen Linie; Wenn Sie die Rechnung über den Verkaufspreis erstellen, "
|
||||
"wird stattdessen der Preis des Produkts verwendet werden."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Produktvorlage"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analytischer Buchungssatz"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Goutoudis Kostas <goutoudis@gmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-11-09 23:53+0000\n"
|
||||
"Last-Translator: Goutoudis Kostas <goutoudis@gmail.com>\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/odoo/odoo-9/language/el/)\n"
|
||||
"Language: el\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Στο Κόστος"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Στην Τιμή Πώλησης"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Πολιτική Τιμολογίου Εξόδων"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Πρότυπο Προϊόντος"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Γραμμή Αναλυτικής"
|
||||
@@ -1,56 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-16 17:58+0000\n"
|
||||
"Last-Translator: James Dove <james@oceancave.com>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/odoo/"
|
||||
"odoo-9/language/en_GB/)\n"
|
||||
"Language: en_GB\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Product Template"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analytic Line"
|
||||
@@ -1,58 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# José Vicente <txusev@gmail.com>, 2016
|
||||
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2016
|
||||
# Daniel Santibáñez Polanco <dansanti@gmail.com>, 2016
|
||||
# Ivan Nieto <ivan.n.s@tuta.io>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.saas~10c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-08-18 14:07+0000\n"
|
||||
"Last-Translator: Ivan Nieto <ivan.n.s@tuta.io>, 2016\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al Coste"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "A Precio de Venta"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de facturación de gastos"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si factura sobre coste, se facturará el gasto en el pedido de venta al coste"
|
||||
" de la línea analítica; si factura sobre precio de venta, se usará en su "
|
||||
"lugar el precio del producto."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Argentina) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_AR/)\n"
|
||||
"Language: es_AR\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de Producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea Analítica"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-07 15:30+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Spanish (Bolivia) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_BO/)\n"
|
||||
"Language: es_BO\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea analítica"
|
||||
@@ -1,57 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Daniel Santibáñez Polanco <dansanti@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-04-14 23:17+0000\n"
|
||||
"Last-Translator: Daniel Santibáñez Polanco <dansanti@gmail.com>\n"
|
||||
"Language-Team: Spanish (Chile) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_CL/)\n"
|
||||
"Language: es_CL\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al Costo"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "A Precio de Venta"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de Facturación de Gastos"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si factura al coste, se facturará el gasto en el pedido de venta al coste de "
|
||||
"la línea analítica; si factura a precio de venta, se usará en su lugar el "
|
||||
"precio del producto."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea Analítica"
|
||||
@@ -1,58 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Esteban Echeverry <tebanep@nubark.com>, 2016
|
||||
# Mateo Tibaquirá <nestormateo@gmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-02-05 21:30+0000\n"
|
||||
"Last-Translator: Esteban Echeverry <tebanep@nubark.com>\n"
|
||||
"Language-Team: Spanish (Colombia) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_CO/)\n"
|
||||
"Language: es_CO\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al Costo"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "A Precio de Venta"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de Facturación de Gastos"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si factura al costo, el gasto será facturado en la orden de venta al costo "
|
||||
"de la línea analítica; en cambio, si factura a precio de venta, el precio "
|
||||
"del producto será usado."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla del Producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea Analítica"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Costa Rica) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_CR/)\n"
|
||||
"Language: es_CR\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea Analítica"
|
||||
@@ -1,57 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Juliano Henriquez <juliano@consultoriahenca.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-03-22 15:04+0000\n"
|
||||
"Last-Translator: Juliano Henriquez <juliano@consultoriahenca.com>\n"
|
||||
"Language-Team: Spanish (Dominican Republic) (http://www.transifex.com/odoo/"
|
||||
"odoo-9/language/es_DO/)\n"
|
||||
"Language: es_DO\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al Costo"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Al Precio de Venta"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de facturación de gastos"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si factura sobre coste, se facturará el gasto en el pedido de venta al coste "
|
||||
"de la línea analítica; si factura sobre precio de venta, se usará en su "
|
||||
"lugar el precio del producto."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea analítica"
|
||||
@@ -1,57 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Rick Hunter <rick_hunter_ec@yahoo.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-11-27 06:24+0000\n"
|
||||
"Last-Translator: Rick Hunter <rick_hunter_ec@yahoo.com>\n"
|
||||
"Language-Team: Spanish (Ecuador) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_EC/)\n"
|
||||
"Language: es_EC\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al costo"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Al precio de venta"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de Facturación de Gastos"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si es una factura tiene costo, el gasto será facturado en la Orden de Venta "
|
||||
"al costo de la línea analítica; Si su factura es a precio de venta, el "
|
||||
"precio del producto será utilizado inmediatamente."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Linea Analitica"
|
||||
@@ -1,57 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# David Hernandez <davidhernandez.ctam@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-01-12 06:37+0000\n"
|
||||
"Last-Translator: David Hernandez <davidhernandez.ctam@gmail.com>\n"
|
||||
"Language-Team: Spanish (Mexico) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_MX/)\n"
|
||||
"Language: es_MX\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al Costo"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Al Precio de Ventas"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de Facturas de Gastos"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si tienes una factura a un costo, el gasto podrá ser facturado dentro de la "
|
||||
"ordene de venta al costo de la Línea Analítica; si tienes una factura a un "
|
||||
"precio de venta, el precio de el producto será usado en su lugar."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea analítica"
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Panama) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_PA/)\n"
|
||||
"Language: es_PA\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,57 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Carlos Eduardo Rodriguez Rossi <crodriguez@samemotion.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-06-16 20:04+0000\n"
|
||||
"Last-Translator: Carlos Eduardo Rodriguez Rossi <crodriguez@samemotion.com>\n"
|
||||
"Language-Team: Spanish (Peru) (http://www.transifex.com/odoo/odoo-9/language/"
|
||||
"es_PE/)\n"
|
||||
"Language: es_PE\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Al Costo"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Al Precio de Ventas"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Política de Factura de Gasto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si se factura al costo, el gasto será facturado en el pedido de venta al "
|
||||
"costo de la línea analítica; si se factura a precio de venta, el precio del "
|
||||
"producto será utilizado en su lugar."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de Producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea Analítica"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Paraguay) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_PY/)\n"
|
||||
"Language: es_PY\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea analítica"
|
||||
@@ -1,56 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-05-15 18:47+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Venezuela) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_VE/)\n"
|
||||
"Language: es_VE\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Expensas, la política de facturación"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Si se factura al costo, el gasto será facturado en la orden de venta en el "
|
||||
"costo de la línea analítica; si se factura a precio de venta, el precio del "
|
||||
"producto será utilizado en su lugar."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Línea analítica"
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-03-12 20:20+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Estonian (http://www.transifex.com/odoo/odoo-9/language/et/)\n"
|
||||
"Language: et\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Toote mall"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analüütiline rida"
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-07 15:30+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/odoo/odoo-9/language/eu/)\n"
|
||||
"Language: eu\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Product Template"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Lerro analitikoa"
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-07 15:30+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/odoo/odoo-9/language/fa/)\n"
|
||||
"Language: fa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "قالب محصول"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "سطرتحلیلی"
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Finnish (http://www.transifex.com/odoo/odoo-9/language/fi/)\n"
|
||||
"Language: fi\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Tuotemalli"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analyyttinen rivi"
|
||||
@@ -1,56 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Nancy Bolognesi <nb@microcom.ca>, 2016
|
||||
# Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.saas~10c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-08-18 14:07+0000\n"
|
||||
"Last-Translator: Maxime Chambreuil <mchambreuil@ursainfosystems.com>, 2016\n"
|
||||
"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Au prix coûtant"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Au prix de vente"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Politique de facturation des notes de frais"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Pour la facturation au coût, les frais seront facturés sur l'ordre de vente "
|
||||
"au coût de la ligne analytique; pour la facturation au prix de vente, c'est "
|
||||
"le prix de l'article qui sera utilisé."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modèle d'article"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-07 15:30+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: French (Belgium) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/fr_BE/)\n"
|
||||
"Language: fr_BE\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Ligne analytique"
|
||||
@@ -1,53 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Jason Ouellet, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-10-09 06:36+0000\n"
|
||||
"Last-Translator: Jason Ouellet\n"
|
||||
"Language-Team: French (Canada) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/fr_CA/)\n"
|
||||
"Language: fr_CA\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Coutant"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Prix de vente"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Politique de facturation des dépenses"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modèle de produit"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,52 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Galician (http://www.transifex.com/odoo/odoo-9/language/gl/)\n"
|
||||
"Language: gl\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modelo de produto"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Liña analítica"
|
||||
@@ -1,51 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/odoo/odoo-9/language/he/)\n"
|
||||
"Language: he\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "תבנית לפריט"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,51 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 08:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Hindi (http://www.transifex.com/odoo/odoo-9/language/hi/)\n"
|
||||
"Language: hi\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"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "उत्पाद प्रारूप"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
@@ -1,57 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# Karolina Tonković <karolina.tonkovic@storm.hr>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-10-15 16:21+0000\n"
|
||||
"Last-Translator: Davor Bojkić <bole@dajmi5.com>\n"
|
||||
"Language-Team: Croatian (http://www.transifex.com/odoo/odoo-9/language/hr/)\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Po trošku"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Po prodajnoj cijeni"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Politika troška računa"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Ako izdate račun po trošku, trošak će se fakturirati po trošku retka "
|
||||
"prodajnog naloga; ako izdate račun po prodajnoj cijeni, umjesto toga će se "
|
||||
"koristiti cijena proizvoda."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Predložak proizvoda"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
#, fuzzy
|
||||
msgid "account analytic line"
|
||||
msgstr "Analitičke stavke"
|
||||
@@ -1,55 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * sale_expense
|
||||
#
|
||||
# Translators:
|
||||
# krnkris <krnkris@freemail.hu>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.saas~10c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2016-08-18 14:07+0000\n"
|
||||
"Last-Translator: krnkris <krnkris@freemail.hu>, 2016\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Cost"
|
||||
msgstr "Költségen"
|
||||
|
||||
#. module: sale_expense
|
||||
#: selection:product.template,expense_policy:0
|
||||
msgid "At Sales Price"
|
||||
msgstr "Eladási áron"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,field_description:sale_expense.field_product_template_expense_policy
|
||||
msgid "Expense Invoice Policy"
|
||||
msgstr "Költség számla szabály"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model.fields,help:sale_expense.field_product_template_expense_policy
|
||||
msgid ""
|
||||
"If you invoice at cost, the expense will be invoiced on the sale order at "
|
||||
"the cost of the analytic line;if you invoice at sales price, the price of "
|
||||
"the product will be used instead."
|
||||
msgstr ""
|
||||
"Ha költségre számlát ad ki, a kiadás az értékesítési megbízás gyűjtő/elemző "
|
||||
"tételsorra létrehozott költség; ha a termék értékesítési árra számláz, akkor"
|
||||
" helyette a termék listaára kerül felhasználásra."
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Terméksablon"
|
||||
|
||||
#. module: sale_expense
|
||||
#: model:ir.model,name:sale_expense.model_account_analytic_line
|
||||
msgid "account analytic line"
|
||||
msgstr ""
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user