diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py index 44411cd637a..acb0e640a7a 100644 --- a/addons/account/account_bank.py +++ b/addons/account/account_bank.py @@ -65,12 +65,11 @@ class bank(osv.osv): # Find the code and parent of the bank account to create dig = 6 current_num = 1 - ids = obj_acc.search(cr, uid, [('type','=','liquidity'), ('company_id', '=', bank.company_id.id)], context=context) + ids = obj_acc.search(cr, uid, [('type','=','liquidity'), ('company_id', '=', bank.company_id.id), ('parent_id', '!=', False)], context=context) # No liquidity account exists, no template available if not ids: continue - ref_acc_bank_temp = obj_acc.browse(cr, uid, ids[0], context=context) - ref_acc_bank = ref_acc_bank_temp.parent_id + ref_acc_bank = obj_acc.browse(cr, uid, ids[0], context=context).parent_id while True: new_code = str(ref_acc_bank.code.ljust(dig-len(str(current_num)), '0')) + str(current_num) ids = obj_acc.search(cr, uid, [('code', '=', new_code), ('company_id', '=', bank.company_id.id)]) @@ -82,7 +81,7 @@ class bank(osv.osv): 'name': name, 'code': new_code, 'type': 'liquidity', - 'user_type': ref_acc_bank_temp.user_type.id, + 'user_type': ref_acc_bank.user_type.id, 'reconcile': False, 'parent_id': ref_acc_bank.id, 'company_id': bank.company_id.id, diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 01476374cf4..0fb6af05e58 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -51,9 +51,12 @@ class account_invoice(osv.osv): company_id = context.get('company_id', user.company_id.id) type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale_refund', 'in_refund': 'purchase_refund'} journal_obj = self.pool.get('account.journal') - res = journal_obj.search(cr, uid, [('type', '=', type2journal.get(type_inv, 'sale')), - ('company_id', '=', company_id)], - limit=1) + domain = [('company_id', '=', company_id)] + if isinstance(type_inv, list): + domain.append(('type', 'in', [type2journal.get(type) for type in type_inv if type2journal.get(type)])) + else: + domain.append(('type', '=', type2journal.get(type_inv, 'sale'))) + res = journal_obj.search(cr, uid, domain, limit=1) return res and res[0] or False def _get_currency(self, cr, uid, context=None): @@ -578,6 +581,10 @@ class account_invoice(osv.osv): return {'value': {}} def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id, context=None): + #TODO: add the missing context parameter when forward-porting in trunk so we can remove + # this hack! + context = self.pool['res.users'].context_get(cr, uid) + val = {} dom = {} obj_journal = self.pool.get('account.journal') @@ -634,14 +641,13 @@ class account_invoice(osv.osv): else: continue if company_id and type: - if type in ('out_invoice'): - journal_type = 'sale' - elif type in ('out_refund'): - journal_type = 'sale_refund' - elif type in ('in_refund'): - journal_type = 'purchase_refund' - else: - journal_type = 'purchase' + journal_mapping = { + 'out_invoice': 'sale', + 'out_refund': 'sale_refund', + 'in_refund': 'purchase_refund', + 'in_invoice': 'purchase', + } + journal_type = journal_mapping[type] journal_ids = obj_journal.search(cr, uid, [('company_id','=',company_id), ('type', '=', journal_type)]) if journal_ids: val['journal_id'] = journal_ids[0] @@ -651,7 +657,12 @@ class account_invoice(osv.osv): if r[1] == 'journal_id' and r[2] in journal_ids: val['journal_id'] = r[2] if not val.get('journal_id', False): - raise osv.except_osv(_('Configuration Error!'), (_('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration\Journals\Journals.') % (journal_type))) + journal_type_map = dict(obj_journal._columns['type'].selection) + journal_type_label = self.pool['ir.translation']._get_source(cr, uid, None, ('code','selection'), + context.get('lang'), + journal_type_map.get(journal_type)) + raise osv.except_osv(_('Configuration Error!'), + _('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration\Journals\Journals.') % ('"%s"' % journal_type_label)) dom = {'journal_id': [('id', 'in', journal_ids)]} else: journal_ids = obj_journal.search(cr, uid, []) @@ -968,7 +979,7 @@ class account_invoice(osv.osv): total, total_currency, iml = self.compute_invoice_totals(cr, uid, inv, company_currency, ref, iml, context=ctx) acc_id = inv.account_id.id - name = inv['name'] or '/' + name = inv['name'] or inv['supplier_invoice_number'] or '/' totlines = False if inv.payment_term: totlines = payment_term_obj.compute(cr, @@ -1167,12 +1178,12 @@ class account_invoice(osv.osv): if not ids: return [] types = { - 'out_invoice': 'Invoice ', - 'in_invoice': 'Sup. Invoice ', - 'out_refund': 'Refund ', - 'in_refund': 'Supplier Refund ', + 'out_invoice': _('Invoice'), + 'in_invoice': _('Supplier Invoice'), + 'out_refund': _('Refund'), + 'in_refund': _('Supplier Refund'), } - return [(r['id'], (r['number']) or types[r['type']] + (r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')] + return [(r['id'], '%s %s' % (r['number'] or types[r['type']], r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')] def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100): if not args: diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index e604cc6d1a4..314e3423996 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -1066,12 +1066,12 @@ class account_move_line(osv.osv): for line in self.browse(cr, uid, ids, context=context): ctx = context.copy() - if ('journal_id' not in ctx): + if not ctx.get('journal_id'): if line.move_id: ctx['journal_id'] = line.move_id.journal_id.id else: ctx['journal_id'] = line.journal_id.id - if ('period_id' not in ctx): + if not ctx.get('period_id'): if line.move_id: ctx['period_id'] = line.move_id.period_id.id else: diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index e921e639642..758385d66cb 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -585,7 +585,10 @@ - + diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 6ce97b5c868..21ea2a85f7f 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -363,7 +363,7 @@ - + diff --git a/addons/account/report/account_journal_sale_purchase.rml b/addons/account/report/account_journal_sale_purchase.rml index 236879669f9..3ee0b484c9a 100644 --- a/addons/account/report/account_journal_sale_purchase.rml +++ b/addons/account/report/account_journal_sale_purchase.rml @@ -239,7 +239,7 @@ [[ line.account_id.code ]] [[ line.partner_id and strip_name(line.partner_id.name,15) ]] [[ strip_name(line.name,25) ]] - [[ line.tax_code_id and (line.tax_code_id.code + ':') ]] + [[ line.tax_code_id and line.tax_code_id.code and (line.tax_code_id.code + ':') ]] [[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]] [[ formatLang(line.debit, currency_obj=company.currency_id) ]] [[ formatLang(line.credit, currency_obj=company.currency_id) ]] @@ -292,7 +292,7 @@ [[ line.account_id.code ]] [[ line.partner_id and strip_name(line.partner_id.name,12) ]] [[ strip_name(line.name,16) ]] - [[ line.tax_code_id and (line.tax_code_id.code + ':') ]] + [[ line.tax_code_id and line.tax_code_id.code and (line.tax_code_id.code + ':') ]] [[ line.tax_amount and formatLang(line.tax_amount, currency_obj=company.currency_id) ]] [[ formatLang(line.debit, currency_obj=company.currency_id) ]] [[ formatLang(line.credit, currency_obj=company.currency_id) ]] diff --git a/addons/account/wizard/account_fiscalyear_close.py b/addons/account/wizard/account_fiscalyear_close.py index 6ceb833816b..928f0647084 100644 --- a/addons/account/wizard/account_fiscalyear_close.py +++ b/addons/account/wizard/account_fiscalyear_close.py @@ -38,7 +38,7 @@ class account_fiscalyear_close(osv.osv_memory): 'report_name': fields.char('Name of new entries',size=64, required=True, help="Give name of the new entries"), } _defaults = { - 'report_name': _('End of Fiscal Year Entry'), + 'report_name': lambda self, cr, uid, context: _('End of Fiscal Year Entry'), } def data_save(self, cr, uid, ids, context=None): diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index 1696874f0f5..563a6a3eb9a 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -72,8 +72,8 @@ class account_invoice_line(osv.osv): _inherit = "account.invoice.line" _description = "Invoice Line" - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): - res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id) + def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): + res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id) rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context) if rec: res_prod['value'].update({'account_analytic_id': rec.analytic_id.id}) diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml index be46b9a6923..7fb4091b45f 100644 --- a/addons/account_analytic_plans/account_analytic_plans_view.xml +++ b/addons/account_analytic_plans/account_analytic_plans_view.xml @@ -10,7 +10,7 @@ - + diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py index 2b82257e1f0..f27d9b3ae72 100644 --- a/addons/account_anglo_saxon/invoice.py +++ b/addons/account_anglo_saxon/invoice.py @@ -136,9 +136,9 @@ class account_invoice_line(osv.osv): res += diff_res return res - def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): + def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None): fiscal_pool = self.pool.get('account.fiscal.position') - res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id) + res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id) if not product: return res if type in ('in_invoice','in_refund'): diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml index eb6403b6f48..9a154d8ec70 100644 --- a/addons/account_asset/account_asset_invoice_view.xml +++ b/addons/account_asset/account_asset_invoice_view.xml @@ -13,6 +13,17 @@ + + + account.invoice.supplier.form + account.invoice + + + + + + + diff --git a/addons/account_budget/account_budget_view.xml b/addons/account_budget/account_budget_view.xml index 9ad61d7c286..237406ff657 100644 --- a/addons/account_budget/account_budget_view.xml +++ b/addons/account_budget/account_budget_view.xml @@ -203,7 +203,9 @@ -

+

+ Click to create a new budget. +

A budget is a forecast of your company's income and/or expenses expected for a period in the future. A budget is defined on some financial accounts and/or analytic accounts (that may represent diff --git a/addons/account_followup/security/ir.model.access.csv b/addons/account_followup/security/ir.model.access.csv index 8774015efc6..591cc347563 100644 --- a/addons/account_followup/security/ir.model.access.csv +++ b/addons/account_followup/security/ir.model.access.csv @@ -3,5 +3,5 @@ access_account_followup_followup_line,account_followup.followup.line,model_accou access_account_followup_followup_line_manager,account_followup.followup.line.manager,model_account_followup_followup_line,account.group_account_manager,1,1,1,1 access_account_followup_followup_accountant,account_followup.followup user,model_account_followup_followup,account.group_account_invoice,1,0,0,0 access_account_followup_followup_manager,account_followup.followup.manager,model_account_followup_followup,account.group_account_manager,1,1,1,1 -access_account_followup_stat_invoice,account_followup.stat.invoice,model_account_followup_stat,account.group_account_invoice,1,1,1,1 -access_account_followup_stat_by_partner_manager,account_followup.stat.by.partner,model_account_followup_stat_by_partner,account.group_account_user,1,1,1,1 +access_account_followup_stat_invoice,account_followup.stat.invoice,model_account_followup_stat,account.group_account_invoice,1,1,0,0 +access_account_followup_stat_by_partner_manager,account_followup.stat.by.partner,model_account_followup_stat_by_partner,account.group_account_user,1,1,0,0 diff --git a/addons/account_payment/wizard/account_payment_order.py b/addons/account_payment/wizard/account_payment_order.py index 03e25dfbc45..de9c47ec005 100644 --- a/addons/account_payment/wizard/account_payment_order.py +++ b/addons/account_payment/wizard/account_payment_order.py @@ -88,6 +88,7 @@ class payment_order_create(osv.osv_memory): 'order_id': payment.id, 'partner_id': line.partner_id and line.partner_id.id or False, 'communication': line.ref or '/', + 'state': line.invoice and line.invoice.reference_type != 'none' and 'structured' or 'normal', 'date': date_to_pay, 'currency': (line.invoice and line.invoice.currency_id.id) or line.journal_id.currency.id or line.journal_id.company_id.currency_id.id, }, context=context) diff --git a/addons/account_voucher/i18n/ru.po b/addons/account_voucher/i18n/ru.po index ef38a07e478..16e03d424ef 100644 --- a/addons/account_voucher/i18n/ru.po +++ b/addons/account_voucher/i18n/ru.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-05-29 13:17+0000\n" +"PO-Revision-Date: 2013-06-13 11:30+0000\n" "Last-Translator: Chertykov Denis \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-05-30 05:45+0000\n" -"X-Generator: Launchpad (build 16652)\n" +"X-Launchpad-Export-Date: 2013-06-14 05:38+0000\n" +"X-Generator: Launchpad (build 16667)\n" #. module: account_voucher #: field:account.bank.statement.line,voucher_id:0 @@ -27,7 +27,7 @@ msgid "account.config.settings" msgstr "account.config.settings" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:369 +#: code:addons/account_voucher/account_voucher.py:417 #, python-format msgid "Write-Off" msgstr "Списание" @@ -129,7 +129,7 @@ msgid "Voucher Statistics" msgstr "" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1547 +#: code:addons/account_voucher/account_voucher.py:1641 #, python-format msgid "" "You can not change the journal as you already reconciled some statement " @@ -223,8 +223,8 @@ msgid "Journal Item" msgstr "Элемент журнала" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:508 -#: code:addons/account_voucher/account_voucher.py:981 +#: code:addons/account_voucher/account_voucher.py:558 +#: code:addons/account_voucher/account_voucher.py:1073 #, python-format msgid "Error!" msgstr "Ошибка!" @@ -251,7 +251,7 @@ msgid "Cancelled" msgstr "Отменено" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1153 +#: code:addons/account_voucher/account_voucher.py:1249 #, python-format msgid "" "You have to configure account base code and account tax code on the '%s' tax!" @@ -295,7 +295,7 @@ msgid "Tax" msgstr "Налог" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:879 +#: code:addons/account_voucher/account_voucher.py:971 #, python-format msgid "Invalid Action!" msgstr "Неверное действие!" @@ -348,7 +348,7 @@ msgid "Import Invoices" msgstr "Импорт счетов" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1112 +#: code:addons/account_voucher/account_voucher.py:1208 #, python-format msgid "Wrong voucher line" msgstr "" @@ -367,7 +367,7 @@ msgid "Receipt" msgstr "Приход" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1018 +#: code:addons/account_voucher/account_voucher.py:1110 #, python-format msgid "" "You should configure the 'Gain Exchange Rate Account' in the accounting " @@ -388,7 +388,7 @@ msgstr "Период" #. module: account_voucher #: view:account.voucher:0 -#: code:addons/account_voucher/account_voucher.py:211 +#: code:addons/account_voucher/account_voucher.py:231 #, python-format msgid "Supplier" msgstr "Поставщик" @@ -409,7 +409,7 @@ msgid "Debit" msgstr "Дебет" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1547 +#: code:addons/account_voucher/account_voucher.py:1641 #, python-format msgid "Unable to change journal !" msgstr "Невозможно изменить журнал!" @@ -515,7 +515,7 @@ msgid "Pay Invoice" msgstr "Оплата счета" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1153 +#: code:addons/account_voucher/account_voucher.py:1249 #, python-format msgid "No Account Base Code and Account Tax Code!" msgstr "" @@ -569,15 +569,15 @@ msgid "To Review" msgstr "Для проверки" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1025 -#: code:addons/account_voucher/account_voucher.py:1039 -#: code:addons/account_voucher/account_voucher.py:1194 +#: code:addons/account_voucher/account_voucher.py:1120 +#: code:addons/account_voucher/account_voucher.py:1134 +#: code:addons/account_voucher/account_voucher.py:1286 #, python-format msgid "change" msgstr "изменить" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1014 +#: code:addons/account_voucher/account_voucher.py:1106 #, python-format msgid "" "You should configure the 'Loss Exchange Rate Account' in the accounting " @@ -631,6 +631,7 @@ msgstr "Месяц" #. module: account_voucher #: field:account.voucher,currency_id:0 #: field:account.voucher.line,currency_id:0 +#: model:ir.model,name:account_voucher.model_res_currency #: field:sale.receipt.report,currency_id:0 msgid "Currency" msgstr "Валюта" @@ -674,7 +675,7 @@ msgid "Reconcile Payment Balance" msgstr "Сверка платежного баланса" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:975 +#: code:addons/account_voucher/account_voucher.py:1067 #, python-format msgid "Configuration Error !" msgstr "Ошибка конфигурации !" @@ -739,7 +740,7 @@ msgid "October" msgstr "Октябрь" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:976 +#: code:addons/account_voucher/account_voucher.py:1068 #, python-format msgid "Please activate the sequence of selected journal !" msgstr "Пожалуйста, включите нумерацию выбранного журнала!" @@ -819,7 +820,7 @@ msgid "Previous Payments ?" msgstr "Предыдущие платежи ?" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1112 +#: code:addons/account_voucher/account_voucher.py:1208 #, python-format msgid "The invoice you are willing to pay is not valid anymore." msgstr "Счет, который вы готовы платить, уже не актуален ." @@ -851,7 +852,7 @@ msgid "Active" msgstr "Активно" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:982 +#: code:addons/account_voucher/account_voucher.py:1074 #, python-format msgid "Please define a sequence on the journal." msgstr "Пожалуйста, определите нумерацию журнала." @@ -861,7 +862,7 @@ msgstr "Пожалуйста, определите нумерацию журна #: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt #: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt msgid "Customer Payments" -msgstr "Платежи клиентов" +msgstr "Платежи заказчиков" #. module: account_voucher #: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all @@ -979,7 +980,7 @@ msgid "Journal Items" msgstr "Элементы журнала" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:508 +#: code:addons/account_voucher/account_voucher.py:558 #, python-format msgid "Please define default credit/debit accounts on the journal \"%s\"." msgstr "" @@ -1188,7 +1189,7 @@ msgid "" msgstr "" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:879 +#: code:addons/account_voucher/account_voucher.py:971 #, python-format msgid "Cannot delete voucher(s) which are already opened or paid." msgstr "" @@ -1251,8 +1252,8 @@ msgid "Status changed" msgstr "" #. module: account_voucher -#: code:addons/account_voucher/account_voucher.py:1014 -#: code:addons/account_voucher/account_voucher.py:1018 +#: code:addons/account_voucher/account_voucher.py:1106 +#: code:addons/account_voucher/account_voucher.py:1110 #, python-format msgid "Insufficient Configuration!" msgstr "" diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py index 3f7ef2f3f0c..62eb2e812cc 100644 --- a/addons/auth_oauth/controllers/main.py +++ b/addons/auth_oauth/controllers/main.py @@ -102,7 +102,10 @@ class OAuthController(oeweb.Controller): registry = RegistryManager.get(dbname) with registry.cursor() as cr: IMD = registry['ir.model.data'] - model, provider_id = IMD.get_object_reference(cr, SUPERUSER_ID, 'auth_oauth', 'provider_openerp') + try: + model, provider_id = IMD.get_object_reference(cr, SUPERUSER_ID, 'auth_oauth', 'provider_openerp') + except ValueError: + return set_cookie_and_redirect(req, '/?db=%s' % dbname) assert model == 'auth.oauth.provider' state = { diff --git a/addons/base_import/static/csv/o2m_customers_contacts.csv b/addons/base_import/static/csv/o2m_customers_contacts.csv new file mode 100644 index 00000000000..9a2411b2bee --- /dev/null +++ b/addons/base_import/static/csv/o2m_customers_contacts.csv @@ -0,0 +1,9 @@ +Name,Is a company,Related company,Address type,Customer,Supplier,Street,ZIP,City,State,Country +Aurora Shelves,1,,,1,0,25 Pacific Road,95101,San José,CA,United States +Roger Martins,0,Aurora Shelves,Invoice,1,0,27 Pacific Road,95102,San José,CA,United States +House Sales Direct,1,,,1,0,104 Saint Mary Avenue,94059,Redwood,CA,United States +Yvan Holiday,0,House Sales Direct,Default,1,0,104 Saint Mary Avenue,94060,Redwood,CA,United States +Jack Unsworth,0,House Sales Direct,Invoice,1,0,227 Jackson Road,94061,Redwood,CA,United States +Michael Mason,0,,,1,0,16 5th Avenue,94104,San Francisco,CA,United States +International Wood,1,,,1,0,748 White House Boulevard,20004,Washington,DC,United States +Sharon Pecker,0,International Wood,Invoice,1,0,755 White House Boulevard,20005,Washington,DC,United States diff --git a/addons/base_import/static/csv/o2m_suppliers_contacts.csv b/addons/base_import/static/csv/o2m_suppliers_contacts.csv deleted file mode 100644 index 6c7be9037b8..00000000000 --- a/addons/base_import/static/csv/o2m_suppliers_contacts.csv +++ /dev/null @@ -1,8 +0,0 @@ -Name,Address type,Street,City,Country,Tags,Supplier,Customer,Is a company,Companies that refers to partner / Parent company -Wood y Wood Pecker,,"Snow Street, 25",Kainuu,Finland,Supplier,1,0,1, -Roger Pecker,Default,"Snow Street, 27",Kainuu,Finland,Supplier,1,0,0,Wood y Wood Pecker -Sharon Pecker,Delivery,"Snow Street, 28",Kainuu,Finland,Supplier,1,0,0,Wood y Wood Pecker -Thomas Pecker,Contact,"Snow Street, 27",Kainuu,Finland,Supplier,1,0,0,Wood y Wood Pecker -Vicking Direct,,"Atonium Street, 45a",Brussels,Belgium,Supplier,1,0,1, -Yvan Holiday,Invoice,"Atonium Street, 45b",Brussels,Belgium,Supplier,1,0,0,Vicking Direct -Jack Unsworth,Contact,"Atonium Street, 45a",Brussels,Belgium,Supplier,1,0,0,Vicking Direct diff --git a/addons/base_import/static/src/xml/import.xml b/addons/base_import/static/src/xml/import.xml index c8b2b2c63dd..97bf3e66f7a 100644 --- a/addons/base_import/static/src/xml/import.xml +++ b/addons/base_import/static/src/xml/import.xml @@ -229,8 +229,8 @@ orders with their respective purchase order lines:

Purchase orders with their respective purchase order lines

The following CSV file shows how to import - suppliers and their respective contacts

- Suppliers and their respective contacts + customers and their respective contacts

+ Customers and their respective contacts diff --git a/addons/base_report_designer/base_report_designer_installer.xml b/addons/base_report_designer/base_report_designer_installer.xml index 99898f5a703..61b7fbc4c1d 100644 --- a/addons/base_report_designer/base_report_designer_installer.xml +++ b/addons/base_report_designer/base_report_designer_installer.xml @@ -14,9 +14,13 @@