Merge lp:~arthru/e-commerce-addons/payment-method-multicompany into lp:~extra-addons-commiter/e-commerce-addons/7.0

Proposed by arthru
Status: Rejected
Rejected by: Guewen Baconnier @ Camptocamp
Proposed branch: lp:~arthru/e-commerce-addons/payment-method-multicompany
Merge into: lp:~extra-addons-commiter/e-commerce-addons/7.0
Diff against target: 9198 lines (+3797/-4475) (has conflicts)
80 files modified
base_sale_export_partner/__openerp__.py (+1/-1)
base_sale_export_partner/wizard/export_partner.py (+1/-1)
base_sale_export_product/__openerp__.py (+1/-1)
base_sale_export_product/wizard/export_product.py (+1/-1)
base_sale_multichannels/connector.py (+0/-37)
base_sale_multichannels/delivery.py (+0/-29)
base_sale_multichannels/delivery_view.xml (+0/-20)
base_sale_multichannels/external_referential.py (+0/-83)
base_sale_multichannels/i18n/base_sale_multichannels.pot (+0/-306)
base_sale_multichannels/i18n/ca.po (+0/-380)
base_sale_multichannels/i18n/ca_ES.po (+0/-334)
base_sale_multichannels/i18n/es.po (+0/-379)
base_sale_multichannels/i18n/fr.po (+0/-356)
base_sale_multichannels/i18n/pt.po (+0/-379)
base_sale_multichannels/i18n/sv.po (+0/-327)
base_sale_multichannels/partner.py (+0/-54)
base_sale_multichannels/partner_view.xml (+0/-28)
base_sale_multichannels/sale.py (+0/-971)
base_sale_multichannels/settings/external.referential.category.csv (+0/-2)
base_sale_multichannels/settings/sale.exception.csv (+0/-12)
base_sale_multichannels/wizard/__init__.py (+0/-23)
base_sale_multichannels/wizard/import_order.py (+0/-42)
base_sale_multichannels/wizard/import_order.xml (+0/-35)
base_sale_report_synchronizer/__openerp__.py (+1/-1)
base_sale_report_synchronizer/sale_view.xml (+1/-1)
connector_ecommerce/__init__.py (+12/-16)
connector_ecommerce/__openerp__.py (+67/-65)
connector_ecommerce/account.py (+20/-20)
connector_ecommerce/account_view.xml (+1/-4)
connector_ecommerce/ecommerce_data.xml (+32/-0)
connector_ecommerce/event.py (+87/-0)
connector_ecommerce/i18n/connector_ecommerce.pot (+354/-0)
connector_ecommerce/i18n/fr.po (+360/-0)
connector_ecommerce/invoice.py (+52/-38)
connector_ecommerce/invoice_view.xml (+9/-8)
connector_ecommerce/payment_method.py (+52/-36)
connector_ecommerce/payment_method_view.xml (+27/-14)
connector_ecommerce/product.py (+162/-139)
connector_ecommerce/product_view.xml (+29/-0)
connector_ecommerce/sale.py (+408/-0)
connector_ecommerce/sale_view.xml (+41/-199)
connector_ecommerce/security/ir.model.access.csv (+0/-15)
connector_ecommerce/security/security.xml (+22/-0)
connector_ecommerce/stock.py (+64/-42)
connector_ecommerce/stock_view.xml (+8/-6)
connector_ecommerce/tests/__init__.py (+32/-0)
connector_ecommerce/tests/test_invoice_event.py (+97/-0)
connector_ecommerce/tests/test_onchange.py (+94/-0)
connector_ecommerce/unit/__init__.py (+2/-0)
connector_ecommerce/unit/sale_order_onchange.py (+223/-0)
connector_ecommerce/wizard/__init__.py (+3/-0)
connector_ecommerce/wizard/sale_ignore_cancel.py (+46/-0)
connector_ecommerce/wizard/sale_ignore_cancel_view.xml (+43/-0)
product_custom_attributes_shop/__openerp__.py (+1/-1)
product_custom_attributes_shop/sale_view.xml (+1/-1)
product_images_sync/__openerp__.py (+2/-2)
product_images_sync/product_images_sync.py (+1/-1)
product_links_sync/product.py (+2/-2)
sale_automatic_workflow/__openerp__.py (+28/-0)
sale_automatic_workflow/automatic_workflow_data.xml (+39/-2)
sale_automatic_workflow/automatic_workflow_job.py (+120/-0)
sale_automatic_workflow/invoice.py (+22/-0)
sale_automatic_workflow/sale.py (+73/-27)
sale_automatic_workflow/sale_workflow.xml (+1/-1)
sale_automatic_workflow/sale_workflow_process.py (+41/-4)
sale_automatic_workflow/sale_workflow_process_view.xml (+10/-0)
sale_exceptions/i18n/fr.po (+177/-0)
sale_exceptions/i18n/sale_exceptions.pot (+177/-0)
sale_exceptions/sale_view.xml.OTHER (+109/-0)
sale_payment_method/__init__.py (+27/-0)
sale_payment_method/__openerp__.py (+42/-7)
sale_payment_method/account_move.py (+33/-0)
sale_payment_method/payment_method.py (+58/-0)
sale_payment_method/payment_method_view.xml (+48/-22)
sale_payment_method/sale.py (+256/-0)
sale_payment_method/security/rules.xml (+13/-0)
sale_quick_payment/__init__.py (+25/-0)
sale_quick_payment/__openerp__.py (+58/-0)
sale_quick_payment/sale_view.xml (+35/-0)
sale_quick_payment/wizard/pay_sale_order.py (+45/-0)
Text conflict in sale_automatic_workflow/__openerp__.py
Text conflict in sale_automatic_workflow/automatic_workflow_data.xml
Text conflict in sale_automatic_workflow/automatic_workflow_job.py
Text conflict in sale_automatic_workflow/invoice.py
Text conflict in sale_automatic_workflow/sale.py
Text conflict in sale_automatic_workflow/sale_workflow_process.py
Text conflict in sale_automatic_workflow/sale_workflow_process_view.xml
Conflict adding files to sale_exceptions.  Created directory.
Conflict because sale_exceptions is not versioned, but has versioned children.  Versioned directory.
Contents conflict in sale_exceptions/sale_view.xml
Text conflict in sale_payment_method/__init__.py
Text conflict in sale_payment_method/__openerp__.py
Text conflict in sale_payment_method/account_move.py
Conflict: can't delete sale_payment_method/migrations because it is not empty.  Not deleting.
Conflict because sale_payment_method/migrations is not versioned, but has versioned children.  Versioned directory.
Conflict: can't delete sale_payment_method/migrations/0.1 because it is not empty.  Not deleting.
Conflict because sale_payment_method/migrations/0.1 is not versioned, but has versioned children.  Versioned directory.
Contents conflict in sale_payment_method/migrations/0.1/post-migration.py
Text conflict in sale_payment_method/payment_method.py
Text conflict in sale_payment_method/payment_method_view.xml
Text conflict in sale_payment_method/sale.py
Text conflict in sale_quick_payment/__init__.py
Text conflict in sale_quick_payment/__openerp__.py
Text conflict in sale_quick_payment/sale_view.xml
Text conflict in sale_quick_payment/wizard/pay_sale_order.py
To merge this branch: bzr merge lp:~arthru/e-commerce-addons/payment-method-multicompany
Reviewer Review Type Date Requested Status
Guewen Baconnier @ Camptocamp Needs Resubmitting
Review via email: mp+197862@code.launchpad.net

Description of the change

This adds multicompany supports for payment methods.

Simply add a relation to a res.company from the payment.method, a field to configure it, and a security rule.

This merge proposal is the same as the proposed one on openerp-connecter/e-commerce-addons (see https://code.launchpad.net/~akretion-team/openerp-connector/e-commerce-addons-payment-method-multicompany/+merge/190119 )

To post a comment you must log in.
Revision history for this message
Guewen Baconnier @ Camptocamp (gbaconnier-c2c) wrote :

Can you resubmit only this change and not the complete branch?

review: Needs Resubmitting
Revision history for this message
arthru (arthru) wrote :

Sorry, I did not see it was so messy...
I'm going to clean it up and resubmit !

Unmerged revisions

339. By arthru

Remove of the required company for the payment method

338. By arthru

Add multicompany support for payment methods

337. By Guewen Baconnier @ Camptocamp

[FIX] fr_FR.po files not loaded, should be named fr.po

336. By Guewen Baconnier @ Camptocamp

[FIX] fix the failing test: the payment_method_id and workflow_payment_id are not mandatory in a sale order

335. By Guewen Baconnier @ Camptocamp

[FIX] remove failing migration: no relation account_voucher_sale_order_rel

334. By Allison

[ADD] new event on_invoice_validated fired on the validation of an invoice

333. By Mathieu Vatel - Julius Network Solutions

[IMP] - make possible to inherit the method _add_order_extra_line (done for prestashoperpconnect in a first place to be able to add or not the tax on delivery lines)

332. By Guewen Baconnier @ Camptocamp

[DEL] remove old stuff

331. By arthru

Fix a bug : remove special fields before database storage (avoid to try to store non existing fields in db)

330. By Brendan Clune (Logic Supply)

[ADD] 'Authorized' import rules to be able to import sales orders authorized by a payment institute but not paid yet.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'base_sale_export_partner/__openerp__.py'
2--- base_sale_export_partner/__openerp__.py 2012-12-26 13:24:14 +0000
3+++ base_sale_export_partner/__openerp__.py 2013-12-05 13:14:00 +0000
4@@ -30,7 +30,7 @@
5 """,
6 'author': 'Akretion',
7 'website': 'http://www.akretion.com',
8- 'depends': ['base_sale_multichannels'],
9+ 'depends': ['connector_ecommerce'],
10 'init_xml': [],
11 'update_xml': [
12 'wizard/export_partner.xml',
13
14=== modified file 'base_sale_export_partner/wizard/export_partner.py'
15--- base_sale_export_partner/wizard/export_partner.py 2012-12-07 12:44:57 +0000
16+++ base_sale_export_partner/wizard/export_partner.py 2013-12-05 13:14:00 +0000
17@@ -25,7 +25,7 @@
18 from openerp.osv import fields
19 from openerp.osv.osv import except_osv
20 from openerp.tools.translate import _
21-from base_external_referentials.external_osv import ExternalSession
22+from openerp.addons.connector.external_osv import ExternalSession
23
24 class partner_export_wizard(TransientModel):
25 _name = 'partner.export.wizard'
26
27=== modified file 'base_sale_export_product/__openerp__.py'
28--- base_sale_export_product/__openerp__.py 2012-12-26 13:24:14 +0000
29+++ base_sale_export_product/__openerp__.py 2013-12-05 13:14:00 +0000
30@@ -30,7 +30,7 @@
31 """,
32 'author': 'Akretion',
33 'website': 'http://www.akretion.com',
34- 'depends': ['base_sale_multichannels'],
35+ 'depends': ['connector_ecommerce'],
36 'init_xml': [],
37 'update_xml': [
38 'wizard/export_product.xml',
39
40=== modified file 'base_sale_export_product/wizard/export_product.py'
41--- base_sale_export_product/wizard/export_product.py 2012-12-07 12:44:57 +0000
42+++ base_sale_export_product/wizard/export_product.py 2013-12-05 13:14:00 +0000
43@@ -24,7 +24,7 @@
44 from openerp.osv import fields
45 from openerp.osv.osv import except_osv
46 from openerp.tools.translate import _
47-from base_external_referentials.external_osv import ExternalSession
48+from openerp.addons.connector.external_osv import ExternalSession
49
50 class product_export_wizard(TransientModel):
51 _name = 'product.export.wizard'
52
53=== removed file 'base_sale_multichannels/connector.py'
54--- base_sale_multichannels/connector.py 2012-08-22 16:31:16 +0000
55+++ base_sale_multichannels/connector.py 1970-01-01 00:00:00 +0000
56@@ -1,37 +0,0 @@
57-# -*- encoding: utf-8 -*-
58-###############################################################################
59-# #
60-# product_custom_attributes for OpenERP #
61-# Copyright (C) 2012 Camptocamp Alexandre Fayolle <alexandre.fayolle@camptocamp.com> #
62-# Copyright (C) 2012 Akretion Sebastien Beau <sebastien.beau@akretion.com> #
63-# #
64-# This program is free software: you can redistribute it and/or modify #
65-# it under the terms of the GNU Affero General Public License as #
66-# published by the Free Software Foundation, either version 3 of the #
67-# License, or (at your option) any later version. #
68-# #
69-# This program is distributed in the hope that it will be useful, #
70-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
71-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
72-# GNU Affero General Public License for more details. #
73-# #
74-# You should have received a copy of the GNU Affero General Public License #
75-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
76-# #
77-###############################################################################
78-
79-from base_external_referentials.connector import AbstractConnector
80-
81-class BaseConnector(AbstractConnector):
82- def _get_import_defaults_res_partner(self, cr, uid, context=None):
83- pass
84- def _get_import_defaults_res_partner(self, cr, uid, context=None):
85- pass
86- def _get_import_defaults_external_shop_group(self, cr, uid, context=None):
87- pass
88-
89- def _get_import_defaults_sale_order(self, cr, uid, context=None):
90- pass
91-
92- def _record_one_sale_order(self, cr, uid, res_obj, resource, defaults, context):
93- pass
94
95=== removed file 'base_sale_multichannels/delivery.py'
96--- base_sale_multichannels/delivery.py 2012-08-21 13:57:44 +0000
97+++ base_sale_multichannels/delivery.py 1970-01-01 00:00:00 +0000
98@@ -1,29 +0,0 @@
99-# -*- encoding: utf-8 -*-
100-##############################################################################
101-#
102-# Author Guewen Baconnier. Copyright 2011 Camptocamp SA
103-#
104-# This program is free software: you can redistribute it and/or modify
105-# it under the terms of the GNU General Public License as published by
106-# the Free Software Foundation, either version 3 of the License, or
107-# (at your option) any later version.
108-#
109-# This program is distributed in the hope that it will be useful,
110-# but WITHOUT ANY WARRANTY; without even the implied warranty of
111-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
112-# GNU General Public License for more details.
113-#
114-# You should have received a copy of the GNU General Public License
115-# along with this program. If not, see <http://www.gnu.org/licenses/>.
116-#
117-##############################################################################
118-
119-from openerp.osv.orm import Model
120-from openerp.osv import fields
121-
122-class delivery_carrier(Model):
123- _inherit = "delivery.carrier"
124-
125- _columns = {
126- 'export_needs_tracking': fields.boolean('Export only shippings with a tracking number'),
127- }
128
129=== removed file 'base_sale_multichannels/delivery_view.xml'
130--- base_sale_multichannels/delivery_view.xml 2011-07-14 14:37:48 +0000
131+++ base_sale_multichannels/delivery_view.xml 1970-01-01 00:00:00 +0000
132@@ -1,20 +0,0 @@
133-<?xml version="1.0" encoding="utf-8"?>
134-<openerp>
135- <data>
136-
137- <record id="view_delivery_carrier_form_inherit" model="ir.ui.view">
138- <field name="name">delivery.carrier.form.inherit</field>
139- <field name="model">delivery.carrier</field>
140- <field name="inherit_id" ref="delivery.view_delivery_carrier_form" />
141- <field name="type">form</field>
142- <field name="arch" type="xml">
143- <data>
144- <field name="product_id" position="after">
145- <field name="export_needs_tracking"/>
146- </field>
147- </data>
148- </field>
149- </record>
150-
151- </data>
152-</openerp>
153
154=== removed file 'base_sale_multichannels/external_referential.py'
155--- base_sale_multichannels/external_referential.py 2012-10-23 10:21:28 +0000
156+++ base_sale_multichannels/external_referential.py 1970-01-01 00:00:00 +0000
157@@ -1,83 +0,0 @@
158-# -*- encoding: utf-8 -*-
159-###############################################################################
160-# #
161-# base_sale_multichannels for OpenERP #
162-# Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@akretion.com> #
163-# #
164-# This program is free software: you can redistribute it and/or modify #
165-# it under the terms of the GNU Affero General Public License as #
166-# published by the Free Software Foundation, either version 3 of the #
167-# License, or (at your option) any later version. #
168-# #
169-# This program is distributed in the hope that it will be useful, #
170-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
171-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
172-# GNU Affero General Public License for more details. #
173-# #
174-# You should have received a copy of the GNU Affero General Public License #
175-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
176-# #
177-###############################################################################
178-from openerp.osv.orm import Model
179-from openerp.osv import fields
180-
181-
182-class external_referential(Model):
183- _inherit = "external.referential"
184-
185- _columns = {
186- 'last_imported_product_id': fields.integer('Last Imported Product Id',
187- help=("Product are imported one by one."
188- "This is the magento id of the last product imported."
189- "If you clear it all product will be imported")),
190- 'last_imported_partner_id': fields.integer('Last Imported Partner Id',
191- help=("Partners are imported one by one."
192- "This is the magento id of the last partner imported."
193- "If you clear it all partners will be imported")),
194- 'import_all_attributs': fields.boolean('Import all attributs',
195- help=("If the option is uncheck only the attributs"
196- "that doesn't exist in OpenERP will be imported")),
197- 'import_image_with_product': fields.boolean('With image',
198- help=("If the option is check the product's image and"
199- "the product will be imported at the same time and"
200- "so the step '7-import images' is not needed")),
201- 'import_links_with_product': fields.boolean('With links',
202- help=("If the option is check the product's links"
203- "(Up-Sell, Cross-Sell, Related) and the product will be imported"
204- "at the same time and so the step '8-import links' is not needed")),
205- }
206-
207- def import_customer_groups(self, cr, uid, ids, context=None):
208- self.import_resources(cr, uid, ids, 'res.partner.category', context=context)
209- return True
210-
211- def import_product_categories(self, cr, uid, ids, context=None):
212- self.import_resources(cr, uid, ids, 'product.category', context=context)
213- return True
214-
215- def import_customers(self, cr, uid, ids, context=None):
216- self.import_resources(cr, uid, ids, 'res.partner', context=context)
217- return True
218-
219-# def import_product_attributes_sets(self, cr, uid, ids, context=None):
220-# return self.import_resources(cr, uid, ids, 'TODO', context=context)
221-#
222-# def import_product_attributes_groups(self, cr, uid, ids, context=None):
223-# return self.import_resources(cr, uid, ids, 'TODO', context=context)
224-#
225-# def import_product_attributes(self, cr, uid, ids, context=None):
226-# return self.import_resources(cr, uid, ids, 'TODO', context=context)
227-
228- def import_products(self, cr, uid, ids, context=None):
229- self.import_resources(cr, uid, ids, 'product.product', context=context)
230- return True
231-
232- def import_product_links(self, cr, uid, ids, context=None):
233- self.import_resources(cr, uid, ids, 'product.link', context=context)
234- return True
235-
236-
237-
238-
239-
240-
241
242=== removed file 'base_sale_multichannels/i18n/base_sale_multichannels.pot'
243--- base_sale_multichannels/i18n/base_sale_multichannels.pot 2010-08-26 01:14:26 +0000
244+++ base_sale_multichannels/i18n/base_sale_multichannels.pot 1970-01-01 00:00:00 +0000
245@@ -1,306 +0,0 @@
246-# Translation of OpenERP Server.
247-# This file contains the translation of the following modules:
248-# * base_sale_multichannels
249-#
250-msgid ""
251-msgstr ""
252-"Project-Id-Version: OpenERP Server 5.0.6\n"
253-"Report-Msgid-Bugs-To: support@openerp.com\n"
254-"POT-Creation-Date: 2009-12-20 17:22:08+0000\n"
255-"PO-Revision-Date: 2009-12-20 17:22:08+0000\n"
256-"Last-Translator: <>\n"
257-"Language-Team: \n"
258-"MIME-Version: 1.0\n"
259-"Content-Type: text/plain; charset=UTF-8\n"
260-"Content-Transfer-Encoding: \n"
261-"Plural-Forms: \n"
262-
263-#. module: base_sale_multichannels
264-#: selection:sale.shop,picking_policy:0
265-msgid "Partial Delivery"
266-msgstr ""
267-
268-#. module: base_sale_multichannels
269-#: constraint:ir.model:0
270-msgid "The Object name must start with x_ and not contain any special character !"
271-msgstr ""
272-
273-#. module: base_sale_multichannels
274-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
275-msgid "\n"
276-"This module provide an abstract common minimal base to multi-channels sales.\n"
277-"Say you want to expose your product catalog to\n"
278-"* several instances of flashy-sluggish Magento web sites\n"
279-"* a cutting edge Spree web shop\n"
280-"* a Neteven online Marketplace\n"
281-"* EBay\n"
282-"* Amazon\n"
283-"* Google Base\n"
284-"* an external Point Of Sale system\n"
285-"* ...\n"
286-"Then this module allows you to:\n"
287-"* use several external references ids on every OpenERP object matching those all those external referentials\n"
288-"* per referential instance, use several sale sub platform entities (ex: several Magento websites per instance)\n"
289-"* per sub platform, use several shops (ex: several Magento web shops per website)\n"
290-"\n"
291-"For each sale shop (matching OpenERP sale.shop object), this module abstract the interfaces to:\n"
292-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
293-"* import the catalog\n"
294-"* import orders\n"
295-"* export orders/picking status\n"
296-" "
297-msgstr ""
298-
299-#. module: base_sale_multichannels
300-#: field:sale.shop,order_policy:0
301-msgid "Shipping Policy"
302-msgstr ""
303-
304-#. module: base_sale_multichannels
305-#: selection:sale.shop,invoice_generation_policy:0
306-#: selection:sale.shop,picking_generation_policy:0
307-msgid "None"
308-msgstr ""
309-
310-#. module: base_sale_multichannels
311-#: selection:sale.shop,invoice_quantity:0
312-msgid "Shipped Quantities"
313-msgstr ""
314-
315-#. module: base_sale_multichannels
316-#: field:external.shop.group,referential_id:0
317-msgid "Referential"
318-msgstr ""
319-
320-#. module: base_sale_multichannels
321-#: selection:sale.shop,invoice_generation_policy:0
322-#: selection:sale.shop,picking_generation_policy:0
323-msgid "Draft"
324-msgstr ""
325-
326-#. module: base_sale_multichannels
327-#: help:sale.shop,invoice_quantity:0
328-msgid "The sale order will automatically create the invoice proposition (draft invoice). Ordered and delivered quantities may not be the same. You have to choose if you invoice based on ordered or shipped quantities. If the product is a service, shipped quantities means hours spent on the associated tasks."
329-msgstr ""
330-
331-#. module: base_sale_multichannels
332-#: field:sale.shop,shop_group_id:0
333-msgid "Shop Group"
334-msgstr ""
335-
336-#. module: base_sale_multichannels
337-#: field:product.category,recursive_childen_ids:0
338-msgid "All Child Categories"
339-msgstr ""
340-
341-#. module: base_sale_multichannels
342-#: view:sale.shop:0
343-msgid "Update Orders Status"
344-msgstr ""
345-
346-#. module: base_sale_multichannels
347-#: help:sale.shop,picking_policy:0
348-msgid "If you don't have enough stock available to deliver all at once, do you accept partial shipments or not?"
349-msgstr ""
350-
351-#. module: base_sale_multichannels
352-#: help:account.journal,external_payment_codes:0
353-msgid "Enter the external payment codes, comma separated. They will be used to select the payment journal."
354-msgstr ""
355-
356-#. module: base_sale_multichannels
357-#: field:sale.shop,picking_policy:0
358-msgid "Packing Policy"
359-msgstr ""
360-
361-#. module: base_sale_multichannels
362-#: selection:sale.shop,picking_policy:0
363-msgid "Complete Delivery"
364-msgstr ""
365-
366-#. module: base_sale_multichannels
367-#: field:sale.shop,invoice_generation_policy:0
368-msgid "Invoice Generation Policy"
369-msgstr ""
370-
371-#. module: base_sale_multichannels
372-#: selection:sale.shop,invoice_quantity:0
373-msgid "Ordered Quantities"
374-msgstr ""
375-
376-#. module: base_sale_multichannels
377-#: help:sale.shop,is_tax_included:0
378-msgid "Requires sale_tax_include module to be installed"
379-msgstr ""
380-
381-#. module: base_sale_multichannels
382-#: view:sale.shop:0
383-msgid "Catalog"
384-msgstr ""
385-
386-#. module: base_sale_multichannels
387-#: view:sale.shop:0
388-msgid "External Shop Settings"
389-msgstr ""
390-
391-#. module: base_sale_multichannels
392-#: view:sale.shop:0
393-msgid "Export Catalog"
394-msgstr ""
395-
396-#. module: base_sale_multichannels
397-#: selection:sale.shop,order_policy:0
398-msgid "Invoice from the Packing"
399-msgstr ""
400-
401-#. module: base_sale_multichannels
402-#: view:sale.shop:0
403-msgid "Order Generation"
404-msgstr ""
405-
406-#. module: base_sale_multichannels
407-#: field:account.journal,external_payment_codes:0
408-msgid "External Payment Codes"
409-msgstr ""
410-
411-#. module: base_sale_multichannels
412-#: selection:sale.shop,order_policy:0
413-msgid "Invoice on Order After Delivery"
414-msgstr ""
415-
416-#. module: base_sale_multichannels
417-#: constraint:ir.ui.view:0
418-msgid "Invalid XML for View Architecture!"
419-msgstr ""
420-
421-#. module: base_sale_multichannels
422-#: field:external.shop.group,shop_ids:0
423-msgid "Sale Shops"
424-msgstr ""
425-
426-#. module: base_sale_multichannels
427-#: field:external.shop.group,name:0
428-msgid "Name"
429-msgstr ""
430-
431-#. module: base_sale_multichannels
432-#: field:sale.shop,invoice_quantity:0
433-msgid "Invoice on"
434-msgstr ""
435-
436-#. module: base_sale_multichannels
437-#: help:sale.shop,order_policy:0
438-msgid "The Shipping Policy is used to synchronise invoice and delivery operations.\n"
439-" - The 'Pay before delivery' choice will first generate the invoice and then generate the packing order after the payment of this invoice.\n"
440-" - The 'Shipping & Manual Invoice' will create the packing order directly and wait for the user to manually click on the 'Invoice' button to generate the draft invoice.\n"
441-" - The 'Invoice on Order After Delivery' choice will generate the draft invoice based on sale order after all packing lists have been finished.\n"
442-" - The 'Invoice from the packing' choice is used to create an invoice during the packing process."
443-msgstr ""
444-
445-#. module: base_sale_multichannels
446-#: field:sale.shop,last_inventory_export_date:0
447-msgid "Last Inventory Export Time"
448-msgstr ""
449-
450-#. module: base_sale_multichannels
451-#: field:external.referential,shop_group_ids:0
452-msgid "Sub Entities"
453-msgstr ""
454-
455-#. module: base_sale_multichannels
456-#: field:sale.shop,referential_id:0
457-msgid "External Referential"
458-msgstr ""
459-
460-#. module: base_sale_multichannels
461-#: selection:sale.shop,order_policy:0
462-msgid "Payment Before Delivery"
463-msgstr ""
464-
465-#. module: base_sale_multichannels
466-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
467-msgid "Base Sale MultiChannels"
468-msgstr ""
469-
470-#. module: base_sale_multichannels
471-#: view:sale.shop:0
472-#: field:sale.shop,exportable_product_ids:0
473-msgid "Exportable Products"
474-msgstr ""
475-
476-#. module: base_sale_multichannels
477-#: view:sale.shop:0
478-msgid "Import Orders"
479-msgstr ""
480-
481-#. module: base_sale_multichannels
482-#: field:sale.shop,picking_generation_policy:0
483-msgid "Picking Generation Policy"
484-msgstr ""
485-
486-#. module: base_sale_multichannels
487-#: help:sale.shop,invoice_generation_policy:0
488-msgid "Should orders create an invoice after import?"
489-msgstr ""
490-
491-#. module: base_sale_multichannels
492-#: field:sale.shop,last_update_order_export_date:0
493-msgid "Last Order Update Time"
494-msgstr ""
495-
496-#. module: base_sale_multichannels
497-#: help:sale.shop,picking_generation_policy:0
498-msgid "Should orders create a picking after import?"
499-msgstr ""
500-
501-#. module: base_sale_multichannels
502-#: selection:sale.shop,invoice_generation_policy:0
503-#: selection:sale.shop,picking_generation_policy:0
504-msgid "Validated"
505-msgstr ""
506-
507-#. module: base_sale_multichannels
508-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
509-msgid "External Referential Shop Group"
510-msgstr ""
511-
512-#. module: base_sale_multichannels
513-#: view:sale.shop:0
514-msgid "Export Stock Levels Only"
515-msgstr ""
516-
517-#. module: base_sale_multichannels
518-#: selection:sale.shop,order_policy:0
519-msgid "Shipping & Manual Invoice"
520-msgstr ""
521-
522-#. module: base_sale_multichannels
523-#: view:sale.shop:0
524-msgid "Actions"
525-msgstr ""
526-
527-#. module: base_sale_multichannels
528-#: field:sale.shop,exportable_root_category_ids:0
529-msgid "Root Category"
530-msgstr ""
531-
532-#. module: base_sale_multichannels
533-#: field:sale.shop,is_tax_included:0
534-msgid "Prices Include Tax?"
535-msgstr ""
536-
537-#. module: base_sale_multichannels
538-#: view:sale.shop:0
539-msgid "Sale Shop"
540-msgstr ""
541-
542-#. module: base_sale_multichannels
543-#: view:sale.shop:0
544-msgid "Sale Multi Channels"
545-msgstr ""
546-
547-#. module: base_sale_multichannels
548-#: view:sale.shop:0
549-msgid "Orders"
550-msgstr ""
551-
552
553=== removed file 'base_sale_multichannels/i18n/ca.po'
554--- base_sale_multichannels/i18n/ca.po 2012-02-27 18:49:05 +0000
555+++ base_sale_multichannels/i18n/ca.po 1970-01-01 00:00:00 +0000
556@@ -1,380 +0,0 @@
557-# Translation of OpenERP Server.
558-# This file contains the translation of the following modules:
559-# * base_sale_multichannels
560-#
561-msgid ""
562-msgstr ""
563-"Project-Id-Version: OpenERP Server 5.0.6\n"
564-"Report-Msgid-Bugs-To: support@openerp.com\n"
565-"POT-Creation-Date: 2009-12-20 17:22+0000\n"
566-"PO-Revision-Date: 2011-02-14 10:04+0000\n"
567-"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
568-"<jesteve@zikzakmedia.com>\n"
569-"Language-Team: \n"
570-"MIME-Version: 1.0\n"
571-"Content-Type: text/plain; charset=UTF-8\n"
572-"Content-Transfer-Encoding: 8bit\n"
573-"X-Launchpad-Export-Date: 2012-01-17 05:05+0000\n"
574-"X-Generator: Launchpad (build 14676)\n"
575-"X-Poedit-Language: Catalan\n"
576-
577-#. module: base_sale_multichannels
578-#: selection:sale.shop,picking_policy:0
579-msgid "Partial Delivery"
580-msgstr "Enviament parcial"
581-
582-#. module: base_sale_multichannels
583-#: constraint:ir.model:0
584-msgid ""
585-"The Object name must start with x_ and not contain any special character !"
586-msgstr ""
587-"El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter "
588-"especial!"
589-
590-#. module: base_sale_multichannels
591-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
592-msgid ""
593-"\n"
594-"This module provide an abstract common minimal base to multi-channels "
595-"sales.\n"
596-"Say you want to expose your product catalog to\n"
597-"* several instances of flashy-sluggish Magento web sites\n"
598-"* a cutting edge Spree web shop\n"
599-"* a Neteven online Marketplace\n"
600-"* EBay\n"
601-"* Amazon\n"
602-"* Google Base\n"
603-"* an external Point Of Sale system\n"
604-"* ...\n"
605-"Then this module allows you to:\n"
606-"* use several external references ids on every OpenERP object matching those "
607-"all those external referentials\n"
608-"* per referential instance, use several sale sub platform entities (ex: "
609-"several Magento websites per instance)\n"
610-"* per sub platform, use several shops (ex: several Magento web shops per "
611-"website)\n"
612-"\n"
613-"For each sale shop (matching OpenERP sale.shop object), this module abstract "
614-"the interfaces to:\n"
615-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
616-"* import the catalog\n"
617-"* import orders\n"
618-"* export orders/picking status\n"
619-" "
620-msgstr ""
621-"\n"
622-"Aquest mòdul proporciona una mínima base d'abstracció comuna a diversos "
623-"canals de vendes.\n"
624-"Suposem que voleu exposar el vostre catàleg de productes a:\n"
625-"* Diverses instàncies de botiga web de Magento\n"
626-"* Una botiga web d'última generació Spree\n"
627-"* Un mercat Neteven\n"
628-"* EBay\n"
629-"* Amazon\n"
630-"* Google Base\n"
631-"* Un sistema punt de venda extern\n"
632-"* ...\n"
633-"Llavors, aquest mòdul us permet:\n"
634-"* L'ús de diverses referències externes a tots els identificadors d'objectes "
635-"OpenERP que apunten a totes aquestes referències externes.\n"
636-"* Referències per instància, l'ús de diverses sub entitats de vendes (per "
637-"exemple diversos llocs web Magento per instància)\n"
638-"* Referències per sub entitat, l'ús de diverses botigues (per exemple "
639-"diverses botigues web Magento per lloc web)\n"
640-"\n"
641-"Per a cada botiga de venda (que es correspondrà a l'objecte sale.shop de "
642-"OpenERP), aquest mòdul abstreu les interfícies de:\n"
643-"* Exportar el catàleg, nivell d'estoc del magatzem de la botiga, tarifa de "
644-"preus de la botiga\n"
645-"* Importar el catàleg\n"
646-"* Importar comandes\n"
647-"* Exportar l'estat de les comandes/albarans\n"
648-" "
649-
650-#. module: base_sale_multichannels
651-#: field:sale.shop,order_policy:0
652-msgid "Shipping Policy"
653-msgstr "Política de facturació"
654-
655-#. module: base_sale_multichannels
656-#: selection:sale.shop,invoice_generation_policy:0
657-#: selection:sale.shop,picking_generation_policy:0
658-msgid "None"
659-msgstr "Cap"
660-
661-#. module: base_sale_multichannels
662-#: selection:sale.shop,invoice_quantity:0
663-msgid "Shipped Quantities"
664-msgstr "Quantitats enviades"
665-
666-#. module: base_sale_multichannels
667-#: field:external.shop.group,referential_id:0
668-msgid "Referential"
669-msgstr "Referència"
670-
671-#. module: base_sale_multichannels
672-#: selection:sale.shop,invoice_generation_policy:0
673-#: selection:sale.shop,picking_generation_policy:0
674-msgid "Draft"
675-msgstr "Esborrany"
676-
677-#. module: base_sale_multichannels
678-#: help:sale.shop,invoice_quantity:0
679-msgid ""
680-"The sale order will automatically create the invoice proposition (draft "
681-"invoice). Ordered and delivered quantities may not be the same. You have to "
682-"choose if you invoice based on ordered or shipped quantities. If the product "
683-"is a service, shipped quantities means hours spent on the associated tasks."
684-msgstr ""
685-"La comanda de venda crearà automàticament la proposta de factura (factura "
686-"esborrany). Les quantitats demanades i les quantitats enviades poden no ser "
687-"les mateixes. Heu de decidir si factureu basat en quantitats demanades o "
688-"enviades. Si el producte és un servei, quantitats enviades significa hores "
689-"dedicades a les tasques associades."
690-
691-#. module: base_sale_multichannels
692-#: field:sale.shop,shop_group_id:0
693-msgid "Shop Group"
694-msgstr "Grup botigues"
695-
696-#. module: base_sale_multichannels
697-#: field:product.category,recursive_childen_ids:0
698-msgid "All Child Categories"
699-msgstr "Totes categories filles"
700-
701-#. module: base_sale_multichannels
702-#: view:sale.shop:0
703-msgid "Update Orders Status"
704-msgstr "Actualitza estat comandes"
705-
706-#. module: base_sale_multichannels
707-#: help:sale.shop,picking_policy:0
708-msgid ""
709-"If you don't have enough stock available to deliver all at once, do you "
710-"accept partial shipments or not?"
711-msgstr ""
712-"Si no disposeu de suficient estoc disponible per a enviar-ho tot a la "
713-"vegada, accepteu enviaments parcials?"
714-
715-#. module: base_sale_multichannels
716-#: help:account.journal,external_payment_codes:0
717-msgid ""
718-"Enter the external payment codes, comma separated. They will be used to "
719-"select the payment journal."
720-msgstr ""
721-"Indiqueu els codis de pagament externs, separats per coma. S'utilitzaran per "
722-"a seleccionar el diari de pagament."
723-
724-#. module: base_sale_multichannels
725-#: field:sale.shop,picking_policy:0
726-msgid "Packing Policy"
727-msgstr "Política d'enviament"
728-
729-#. module: base_sale_multichannels
730-#: selection:sale.shop,picking_policy:0
731-msgid "Complete Delivery"
732-msgstr "Enviament complet"
733-
734-#. module: base_sale_multichannels
735-#: field:sale.shop,invoice_generation_policy:0
736-msgid "Invoice Generation Policy"
737-msgstr "Política generació de factures"
738-
739-#. module: base_sale_multichannels
740-#: selection:sale.shop,invoice_quantity:0
741-msgid "Ordered Quantities"
742-msgstr "Quantitats ordenades"
743-
744-#. module: base_sale_multichannels
745-#: help:sale.shop,is_tax_included:0
746-msgid "Requires sale_tax_include module to be installed"
747-msgstr "Requereix que el mòdul sale_tax_include sigui instal·lat."
748-
749-#. module: base_sale_multichannels
750-#: view:sale.shop:0
751-msgid "Catalog"
752-msgstr "Catàleg"
753-
754-#. module: base_sale_multichannels
755-#: view:sale.shop:0
756-msgid "External Shop Settings"
757-msgstr "Configuració botiga externa"
758-
759-#. module: base_sale_multichannels
760-#: view:sale.shop:0
761-msgid "Export Catalog"
762-msgstr "Exporta catàleg"
763-
764-#. module: base_sale_multichannels
765-#: selection:sale.shop,order_policy:0
766-msgid "Invoice from the Packing"
767-msgstr "Factura des d'albarà"
768-
769-#. module: base_sale_multichannels
770-#: view:sale.shop:0
771-msgid "Order Generation"
772-msgstr "Generació comanda"
773-
774-#. module: base_sale_multichannels
775-#: field:account.journal,external_payment_codes:0
776-msgid "External Payment Codes"
777-msgstr "Codis de pagament externs"
778-
779-#. module: base_sale_multichannels
780-#: selection:sale.shop,order_policy:0
781-msgid "Invoice on Order After Delivery"
782-msgstr "Factura comanda després de l'enviament"
783-
784-#. module: base_sale_multichannels
785-#: constraint:ir.ui.view:0
786-msgid "Invalid XML for View Architecture!"
787-msgstr "XML invàlid per a la definició de la vista!"
788-
789-#. module: base_sale_multichannels
790-#: field:external.shop.group,shop_ids:0
791-msgid "Sale Shops"
792-msgstr "Botigues venda"
793-
794-#. module: base_sale_multichannels
795-#: field:external.shop.group,name:0
796-msgid "Name"
797-msgstr "Nom"
798-
799-#. module: base_sale_multichannels
800-#: field:sale.shop,invoice_quantity:0
801-msgid "Invoice on"
802-msgstr "Factura les"
803-
804-#. module: base_sale_multichannels
805-#: help:sale.shop,order_policy:0
806-msgid ""
807-"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
808-" - The 'Pay before delivery' choice will first generate the invoice and "
809-"then generate the packing order after the payment of this invoice.\n"
810-" - The 'Shipping & Manual Invoice' will create the packing order directly "
811-"and wait for the user to manually click on the 'Invoice' button to generate "
812-"the draft invoice.\n"
813-" - The 'Invoice on Order After Delivery' choice will generate the draft "
814-"invoice based on sale order after all packing lists have been finished.\n"
815-" - The 'Invoice from the packing' choice is used to create an invoice "
816-"during the packing process."
817-msgstr ""
818-"La política d'enviament s'utilitza per sincronitzar la factura i les "
819-"operacions d'enviament.\n"
820-" - L'opció 'Pagament abans de l'enviament' primer genera la factura i "
821-"després genera l'albarà al fer efectiu el pagament d'aquesta factura.\n"
822-" - L'opció 'Enviament' & Factura manual 'crearà l'albarà directament i "
823-"esperarà que l'usuari faci clic manualment al botó' Factura 'per generar la "
824-"factura esborrany.\n"
825-" - L'opció 'Factura segons comanda després enviament' generarà la factura "
826-"esborrany basada en la comanda de venda després que tots els albarans es "
827-"processin.\n"
828-" - L'opció 'Factura des d'albarà' s'utilitza per a crear una factura des "
829-"dels albarans processats."
830-
831-#. module: base_sale_multichannels
832-#: field:sale.shop,last_inventory_export_date:0
833-msgid "Last Inventory Export Time"
834-msgstr "Data última exportació inventari"
835-
836-#. module: base_sale_multichannels
837-#: field:external.referential,shop_group_ids:0
838-msgid "Sub Entities"
839-msgstr "Sub entitats"
840-
841-#. module: base_sale_multichannels
842-#: field:sale.shop,referential_id:0
843-msgid "External Referential"
844-msgstr "Referència externa"
845-
846-#. module: base_sale_multichannels
847-#: selection:sale.shop,order_policy:0
848-msgid "Payment Before Delivery"
849-msgstr "Pagament abans de l'enviament"
850-
851-#. module: base_sale_multichannels
852-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
853-msgid "Base Sale MultiChannels"
854-msgstr "Base vendes multicanal"
855-
856-#. module: base_sale_multichannels
857-#: view:sale.shop:0
858-#: field:sale.shop,exportable_product_ids:0
859-msgid "Exportable Products"
860-msgstr "Productes exportables"
861-
862-#. module: base_sale_multichannels
863-#: view:sale.shop:0
864-msgid "Import Orders"
865-msgstr "Importa comandes"
866-
867-#. module: base_sale_multichannels
868-#: field:sale.shop,picking_generation_policy:0
869-msgid "Picking Generation Policy"
870-msgstr "Política generació d'albarans"
871-
872-#. module: base_sale_multichannels
873-#: help:sale.shop,invoice_generation_policy:0
874-msgid "Should orders create an invoice after import?"
875-msgstr "Les comandes haurien de crear una factura després de la importació?"
876-
877-#. module: base_sale_multichannels
878-#: field:sale.shop,last_update_order_export_date:0
879-msgid "Last Order Update Time"
880-msgstr "Data última actualització comandes"
881-
882-#. module: base_sale_multichannels
883-#: help:sale.shop,picking_generation_policy:0
884-msgid "Should orders create a picking after import?"
885-msgstr "Les comandes haurien de crear un albarà després de la importació?"
886-
887-#. module: base_sale_multichannels
888-#: selection:sale.shop,invoice_generation_policy:0
889-#: selection:sale.shop,picking_generation_policy:0
890-msgid "Validated"
891-msgstr "Validat"
892-
893-#. module: base_sale_multichannels
894-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
895-msgid "External Referential Shop Group"
896-msgstr "Referència externa grup botigues"
897-
898-#. module: base_sale_multichannels
899-#: view:sale.shop:0
900-msgid "Export Stock Levels Only"
901-msgstr "Exporta només nivells d'estoc"
902-
903-#. module: base_sale_multichannels
904-#: selection:sale.shop,order_policy:0
905-msgid "Shipping & Manual Invoice"
906-msgstr "Envia & Factura manual"
907-
908-#. module: base_sale_multichannels
909-#: view:sale.shop:0
910-msgid "Actions"
911-msgstr "Accions"
912-
913-#. module: base_sale_multichannels
914-#: field:sale.shop,exportable_root_category_ids:0
915-msgid "Root Category"
916-msgstr "Categoria arrel"
917-
918-#. module: base_sale_multichannels
919-#: field:sale.shop,is_tax_included:0
920-msgid "Prices Include Tax?"
921-msgstr "Preus inclouen impostos?"
922-
923-#. module: base_sale_multichannels
924-#: view:sale.shop:0
925-msgid "Sale Shop"
926-msgstr "Botiga venda"
927-
928-#. module: base_sale_multichannels
929-#: view:sale.shop:0
930-msgid "Sale Multi Channels"
931-msgstr "Vendes Multi canal"
932-
933-#. module: base_sale_multichannels
934-#: view:sale.shop:0
935-msgid "Orders"
936-msgstr "Comandes"
937
938=== removed file 'base_sale_multichannels/i18n/ca_ES.po'
939--- base_sale_multichannels/i18n/ca_ES.po 2010-08-26 01:14:26 +0000
940+++ base_sale_multichannels/i18n/ca_ES.po 1970-01-01 00:00:00 +0000
941@@ -1,334 +0,0 @@
942-# Translation of OpenERP Server.
943-# This file contains the translation of the following modules:
944-# * base_sale_multichannels
945-#
946-msgid ""
947-msgstr ""
948-"Project-Id-Version: OpenERP Server 5.0.6\n"
949-"Report-Msgid-Bugs-To: support@openerp.com\n"
950-"POT-Creation-Date: 2009-12-20 17:22:08+0000\n"
951-"PO-Revision-Date: 2010-03-02 13:08+0100\n"
952-"Last-Translator: Jordi Esteve (Zikzakmedia) <jesteve@zikzakmedia.com>\n"
953-"Language-Team: \n"
954-"MIME-Version: 1.0\n"
955-"Content-Type: text/plain; charset=UTF-8\n"
956-"Content-Transfer-Encoding: 8bit\n"
957-"X-Poedit-Language: Catalan\n"
958-
959-#. module: base_sale_multichannels
960-#: selection:sale.shop,picking_policy:0
961-msgid "Partial Delivery"
962-msgstr "Enviament parcial"
963-
964-#. module: base_sale_multichannels
965-#: constraint:ir.model:0
966-msgid "The Object name must start with x_ and not contain any special character !"
967-msgstr "El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter especial!"
968-
969-#. module: base_sale_multichannels
970-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
971-msgid ""
972-"\n"
973-"This module provide an abstract common minimal base to multi-channels sales.\n"
974-"Say you want to expose your product catalog to\n"
975-"* several instances of flashy-sluggish Magento web sites\n"
976-"* a cutting edge Spree web shop\n"
977-"* a Neteven online Marketplace\n"
978-"* EBay\n"
979-"* Amazon\n"
980-"* Google Base\n"
981-"* an external Point Of Sale system\n"
982-"* ...\n"
983-"Then this module allows you to:\n"
984-"* use several external references ids on every OpenERP object matching those all those external referentials\n"
985-"* per referential instance, use several sale sub platform entities (ex: several Magento websites per instance)\n"
986-"* per sub platform, use several shops (ex: several Magento web shops per website)\n"
987-"\n"
988-"For each sale shop (matching OpenERP sale.shop object), this module abstract the interfaces to:\n"
989-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
990-"* import the catalog\n"
991-"* import orders\n"
992-"* export orders/picking status\n"
993-" "
994-msgstr ""
995-"\n"
996-"Aquest mòdul proporciona una mínima base d'abstracció comuna a diversos canals de vendes.\n"
997-"Suposem que voleu exposar el vostre catàleg de productes a:\n"
998-"* Diverses instàncies de botiga web de Magento\n"
999-"* Una botiga web d'última generació Spree\n"
1000-"* Un mercat Neteven\n"
1001-"* EBay\n"
1002-"* Amazon\n"
1003-"* Google Base\n"
1004-"* Un sistema punt de venda extern\n"
1005-"* ...\n"
1006-"Llavors, aquest mòdul us permet:\n"
1007-"* L'ús de diverses referències externes a tots els identificadors d'objectes OpenERP que apunten a totes aquestes referències externes.\n"
1008-"* Referències per instància, l'ús de diverses sub entitats de vendes (per exemple diversos llocs web Magento per instància)\n"
1009-"* Referències per sub entitat, l'ús de diverses botigues (per exemple diverses botigues web Magento per lloc web)\n"
1010-"\n"
1011-"Per a cada botiga de venda (que es correspondrà a l'objecte sale.shop de OpenERP), aquest mòdul abstreu les interfícies de:\n"
1012-"* Exportar el catàleg, nivell d'estoc del magatzem de la botiga, tarifa de preus de la botiga\n"
1013-"* Importar el catàleg\n"
1014-"* Importar comandes\n"
1015-"* Exportar l'estat de les comandes/albarans\n"
1016-
1017-#. module: base_sale_multichannels
1018-#: field:sale.shop,order_policy:0
1019-msgid "Shipping Policy"
1020-msgstr "Política de facturació"
1021-
1022-#. module: base_sale_multichannels
1023-#: selection:sale.shop,invoice_generation_policy:0
1024-#: selection:sale.shop,picking_generation_policy:0
1025-msgid "None"
1026-msgstr "Cap"
1027-
1028-#. module: base_sale_multichannels
1029-#: selection:sale.shop,invoice_quantity:0
1030-msgid "Shipped Quantities"
1031-msgstr "Quantitats enviades"
1032-
1033-#. module: base_sale_multichannels
1034-#: field:external.shop.group,referential_id:0
1035-msgid "Referential"
1036-msgstr "Referència"
1037-
1038-#. module: base_sale_multichannels
1039-#: selection:sale.shop,invoice_generation_policy:0
1040-#: selection:sale.shop,picking_generation_policy:0
1041-msgid "Draft"
1042-msgstr "Esborrany"
1043-
1044-#. module: base_sale_multichannels
1045-#: help:sale.shop,invoice_quantity:0
1046-msgid "The sale order will automatically create the invoice proposition (draft invoice). Ordered and delivered quantities may not be the same. You have to choose if you invoice based on ordered or shipped quantities. If the product is a service, shipped quantities means hours spent on the associated tasks."
1047-msgstr "La comanda de venda crearà automàticament la proposta de factura (factura esborrany). Les quantitats demanades i les quantitats enviades poden no ser les mateixes. Heu de decidir si factureu basat en quantitats demanades o enviades. Si el producte és un servei, quantitats enviades significa hores dedicades a les tasques associades."
1048-
1049-#. module: base_sale_multichannels
1050-#: field:sale.shop,shop_group_id:0
1051-msgid "Shop Group"
1052-msgstr "Grup botigues"
1053-
1054-#. module: base_sale_multichannels
1055-#: field:product.category,recursive_childen_ids:0
1056-msgid "All Child Categories"
1057-msgstr "Totes categories filles"
1058-
1059-#. module: base_sale_multichannels
1060-#: view:sale.shop:0
1061-msgid "Update Orders Status"
1062-msgstr "Actualitza estat comandes"
1063-
1064-#. module: base_sale_multichannels
1065-#: help:sale.shop,picking_policy:0
1066-msgid "If you don't have enough stock available to deliver all at once, do you accept partial shipments or not?"
1067-msgstr "Si no disposeu de suficient estoc disponible per a enviar-ho tot a la vegada, accepteu enviaments parcials?"
1068-
1069-#. module: base_sale_multichannels
1070-#: help:account.journal,external_payment_codes:0
1071-msgid "Enter the external payment codes, comma separated. They will be used to select the payment journal."
1072-msgstr "Indiqueu els codis de pagament externs, separats per coma. S'utilitzaran per a seleccionar el diari de pagament."
1073-
1074-#. module: base_sale_multichannels
1075-#: field:sale.shop,picking_policy:0
1076-msgid "Packing Policy"
1077-msgstr "Política d'enviament"
1078-
1079-#. module: base_sale_multichannels
1080-#: selection:sale.shop,picking_policy:0
1081-msgid "Complete Delivery"
1082-msgstr "Enviament complet"
1083-
1084-#. module: base_sale_multichannels
1085-#: field:sale.shop,invoice_generation_policy:0
1086-msgid "Invoice Generation Policy"
1087-msgstr "Política generació de factures"
1088-
1089-#. module: base_sale_multichannels
1090-#: selection:sale.shop,invoice_quantity:0
1091-msgid "Ordered Quantities"
1092-msgstr "Quantitats ordenades"
1093-
1094-#. module: base_sale_multichannels
1095-#: help:sale.shop,is_tax_included:0
1096-msgid "Requires sale_tax_include module to be installed"
1097-msgstr "Requereix que el mòdul sale_tax_include sigui instal·lat."
1098-
1099-#. module: base_sale_multichannels
1100-#: view:sale.shop:0
1101-msgid "Catalog"
1102-msgstr "Catàleg"
1103-
1104-#. module: base_sale_multichannels
1105-#: view:sale.shop:0
1106-msgid "External Shop Settings"
1107-msgstr "Configuració botiga externa"
1108-
1109-#. module: base_sale_multichannels
1110-#: view:sale.shop:0
1111-msgid "Export Catalog"
1112-msgstr "Exporta catàleg"
1113-
1114-#. module: base_sale_multichannels
1115-#: selection:sale.shop,order_policy:0
1116-msgid "Invoice from the Packing"
1117-msgstr "Factura des d'albarà"
1118-
1119-#. module: base_sale_multichannels
1120-#: view:sale.shop:0
1121-msgid "Order Generation"
1122-msgstr "Generació comanda"
1123-
1124-#. module: base_sale_multichannels
1125-#: field:account.journal,external_payment_codes:0
1126-msgid "External Payment Codes"
1127-msgstr "Codis de pagament externs"
1128-
1129-#. module: base_sale_multichannels
1130-#: selection:sale.shop,order_policy:0
1131-msgid "Invoice on Order After Delivery"
1132-msgstr "Factura comanda després de l'enviament"
1133-
1134-#. module: base_sale_multichannels
1135-#: constraint:ir.ui.view:0
1136-msgid "Invalid XML for View Architecture!"
1137-msgstr "XML invàlid per a la definició de la vista!"
1138-
1139-#. module: base_sale_multichannels
1140-#: field:external.shop.group,shop_ids:0
1141-msgid "Sale Shops"
1142-msgstr "Botigues venda"
1143-
1144-#. module: base_sale_multichannels
1145-#: field:external.shop.group,name:0
1146-msgid "Name"
1147-msgstr "Nom"
1148-
1149-#. module: base_sale_multichannels
1150-#: field:sale.shop,invoice_quantity:0
1151-msgid "Invoice on"
1152-msgstr "Factura les"
1153-
1154-#. module: base_sale_multichannels
1155-#: help:sale.shop,order_policy:0
1156-msgid ""
1157-"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
1158-" - The 'Pay before delivery' choice will first generate the invoice and then generate the packing order after the payment of this invoice.\n"
1159-" - The 'Shipping & Manual Invoice' will create the packing order directly and wait for the user to manually click on the 'Invoice' button to generate the draft invoice.\n"
1160-" - The 'Invoice on Order After Delivery' choice will generate the draft invoice based on sale order after all packing lists have been finished.\n"
1161-" - The 'Invoice from the packing' choice is used to create an invoice during the packing process."
1162-msgstr ""
1163-"La política d'enviament s'utilitza per sincronitzar la factura i les operacions d'enviament.\n"
1164-" - L'opció 'Pagament abans de l'enviament' primer genera la factura i després genera l'albarà al fer efectiu el pagament d'aquesta factura.\n"
1165-" - L'opció 'Enviament' & Factura manual 'crearà l'albarà directament i esperarà que l'usuari faci clic manualment al botó' Factura 'per generar la factura esborrany.\n"
1166-" - L'opció 'Factura segons comanda després enviament' generarà la factura esborrany basada en la comanda de venda després que tots els albarans es processin.\n"
1167-" - L'opció 'Factura des d'albarà' s'utilitza per a crear una factura des dels albarans processats."
1168-
1169-#. module: base_sale_multichannels
1170-#: field:sale.shop,last_inventory_export_date:0
1171-msgid "Last Inventory Export Time"
1172-msgstr "Data última exportació inventari"
1173-
1174-#. module: base_sale_multichannels
1175-#: field:external.referential,shop_group_ids:0
1176-msgid "Sub Entities"
1177-msgstr "Sub entitats"
1178-
1179-#. module: base_sale_multichannels
1180-#: field:sale.shop,referential_id:0
1181-msgid "External Referential"
1182-msgstr "Referència externa"
1183-
1184-#. module: base_sale_multichannels
1185-#: selection:sale.shop,order_policy:0
1186-msgid "Payment Before Delivery"
1187-msgstr "Pagament abans de l'enviament"
1188-
1189-#. module: base_sale_multichannels
1190-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
1191-msgid "Base Sale MultiChannels"
1192-msgstr "Base vendes multicanal"
1193-
1194-#. module: base_sale_multichannels
1195-#: view:sale.shop:0
1196-#: field:sale.shop,exportable_product_ids:0
1197-msgid "Exportable Products"
1198-msgstr "Productes exportables"
1199-
1200-#. module: base_sale_multichannels
1201-#: view:sale.shop:0
1202-msgid "Import Orders"
1203-msgstr "Importa comandes"
1204-
1205-#. module: base_sale_multichannels
1206-#: field:sale.shop,picking_generation_policy:0
1207-msgid "Picking Generation Policy"
1208-msgstr "Política generació d'albarans"
1209-
1210-#. module: base_sale_multichannels
1211-#: help:sale.shop,invoice_generation_policy:0
1212-msgid "Should orders create an invoice after import?"
1213-msgstr "Les comandes haurien de crear una factura després de la importació?"
1214-
1215-#. module: base_sale_multichannels
1216-#: field:sale.shop,last_update_order_export_date:0
1217-msgid "Last Order Update Time"
1218-msgstr "Data última actualització comandes"
1219-
1220-#. module: base_sale_multichannels
1221-#: help:sale.shop,picking_generation_policy:0
1222-msgid "Should orders create a picking after import?"
1223-msgstr "Les comandes haurien de crear un albarà després de la importació?"
1224-
1225-#. module: base_sale_multichannels
1226-#: selection:sale.shop,invoice_generation_policy:0
1227-#: selection:sale.shop,picking_generation_policy:0
1228-msgid "Validated"
1229-msgstr "Validat"
1230-
1231-#. module: base_sale_multichannels
1232-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
1233-msgid "External Referential Shop Group"
1234-msgstr "Referència externa grup botigues"
1235-
1236-#. module: base_sale_multichannels
1237-#: view:sale.shop:0
1238-msgid "Export Stock Levels Only"
1239-msgstr "Exporta només nivells d'estoc"
1240-
1241-#. module: base_sale_multichannels
1242-#: selection:sale.shop,order_policy:0
1243-msgid "Shipping & Manual Invoice"
1244-msgstr "Envia & Factura manual"
1245-
1246-#. module: base_sale_multichannels
1247-#: view:sale.shop:0
1248-msgid "Actions"
1249-msgstr "Accions"
1250-
1251-#. module: base_sale_multichannels
1252-#: field:sale.shop,exportable_root_category_ids:0
1253-msgid "Root Category"
1254-msgstr "Categoria arrel"
1255-
1256-#. module: base_sale_multichannels
1257-#: field:sale.shop,is_tax_included:0
1258-msgid "Prices Include Tax?"
1259-msgstr "Preus inclouen impostos?"
1260-
1261-#. module: base_sale_multichannels
1262-#: view:sale.shop:0
1263-msgid "Sale Shop"
1264-msgstr "Botiga venda"
1265-
1266-#. module: base_sale_multichannels
1267-#: view:sale.shop:0
1268-msgid "Sale Multi Channels"
1269-msgstr "Vendes Multi canal"
1270-
1271-#. module: base_sale_multichannels
1272-#: view:sale.shop:0
1273-msgid "Orders"
1274-msgstr "Comandes"
1275-
1276
1277=== removed file 'base_sale_multichannels/i18n/es.po'
1278--- base_sale_multichannels/i18n/es.po 2012-02-27 18:49:05 +0000
1279+++ base_sale_multichannels/i18n/es.po 1970-01-01 00:00:00 +0000
1280@@ -1,379 +0,0 @@
1281-# Translation of OpenERP Server.
1282-# This file contains the translation of the following modules:
1283-# * base_sale_multichannels
1284-#
1285-msgid ""
1286-msgstr ""
1287-"Project-Id-Version: OpenERP Server 5.0.6\n"
1288-"Report-Msgid-Bugs-To: support@openerp.com\n"
1289-"POT-Creation-Date: 2009-12-20 17:22+0000\n"
1290-"PO-Revision-Date: 2011-02-14 10:04+0000\n"
1291-"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
1292-"<jesteve@zikzakmedia.com>\n"
1293-"Language-Team: \n"
1294-"MIME-Version: 1.0\n"
1295-"Content-Type: text/plain; charset=UTF-8\n"
1296-"Content-Transfer-Encoding: 8bit\n"
1297-"X-Launchpad-Export-Date: 2012-01-17 05:05+0000\n"
1298-"X-Generator: Launchpad (build 14676)\n"
1299-
1300-#. module: base_sale_multichannels
1301-#: selection:sale.shop,picking_policy:0
1302-msgid "Partial Delivery"
1303-msgstr "Envío parcial"
1304-
1305-#. module: base_sale_multichannels
1306-#: constraint:ir.model:0
1307-msgid ""
1308-"The Object name must start with x_ and not contain any special character !"
1309-msgstr ""
1310-"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
1311-"especial!"
1312-
1313-#. module: base_sale_multichannels
1314-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
1315-msgid ""
1316-"\n"
1317-"This module provide an abstract common minimal base to multi-channels "
1318-"sales.\n"
1319-"Say you want to expose your product catalog to\n"
1320-"* several instances of flashy-sluggish Magento web sites\n"
1321-"* a cutting edge Spree web shop\n"
1322-"* a Neteven online Marketplace\n"
1323-"* EBay\n"
1324-"* Amazon\n"
1325-"* Google Base\n"
1326-"* an external Point Of Sale system\n"
1327-"* ...\n"
1328-"Then this module allows you to:\n"
1329-"* use several external references ids on every OpenERP object matching those "
1330-"all those external referentials\n"
1331-"* per referential instance, use several sale sub platform entities (ex: "
1332-"several Magento websites per instance)\n"
1333-"* per sub platform, use several shops (ex: several Magento web shops per "
1334-"website)\n"
1335-"\n"
1336-"For each sale shop (matching OpenERP sale.shop object), this module abstract "
1337-"the interfaces to:\n"
1338-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
1339-"* import the catalog\n"
1340-"* import orders\n"
1341-"* export orders/picking status\n"
1342-" "
1343-msgstr ""
1344-"\n"
1345-"Este módulo proporciona una mínima base de abstracción común a varios "
1346-"canales de ventas.\n"
1347-"Supongamos que quiere exponer su catálogo de productos en:\n"
1348-"* Varias instancias de tiendas web de Magento\n"
1349-"* Una tienda web de última generación Spree\n"
1350-"* Un mercado Neteven\n"
1351-"* EBay\n"
1352-"* Amazon\n"
1353-"* Google Base\n"
1354-"* Un sistema punto de venta externo\n"
1355-"* ...\n"
1356-"Entonces, este módulo le permite:\n"
1357-"* El uso de varias referencias externas en todos los identificadores de "
1358-"objetos OpenERP que mapean todas estas referencias externas.\n"
1359-"* Referencias por instancia, el uso de varias subentidades de ventas (por "
1360-"ejemplo varios sitios web Magento por instancia)\n"
1361-"* Referencias por subentidad, el uso de varias tiendas (por ejemplo varias "
1362-"tiendas web Magento por sitio web)\n"
1363-"\n"
1364-"Para cada tienda de venta (que se corresponda al objeto sale.shop de "
1365-"OpenERP), este módulo abstrae las interfaces de:\n"
1366-"* Exportar el catálogo, nivel de stock del almacén de la tienda, tarifa de "
1367-"precios de la tienda\n"
1368-"* Importar el catálogo\n"
1369-"* Importar pedidos\n"
1370-"* Exportar el estado de pedidos/albaranes\n"
1371-" "
1372-
1373-#. module: base_sale_multichannels
1374-#: field:sale.shop,order_policy:0
1375-msgid "Shipping Policy"
1376-msgstr "Política de facturación"
1377-
1378-#. module: base_sale_multichannels
1379-#: selection:sale.shop,invoice_generation_policy:0
1380-#: selection:sale.shop,picking_generation_policy:0
1381-msgid "None"
1382-msgstr "Ninguno/a"
1383-
1384-#. module: base_sale_multichannels
1385-#: selection:sale.shop,invoice_quantity:0
1386-msgid "Shipped Quantities"
1387-msgstr "Cantidades enviadas"
1388-
1389-#. module: base_sale_multichannels
1390-#: field:external.shop.group,referential_id:0
1391-msgid "Referential"
1392-msgstr "Referencia"
1393-
1394-#. module: base_sale_multichannels
1395-#: selection:sale.shop,invoice_generation_policy:0
1396-#: selection:sale.shop,picking_generation_policy:0
1397-msgid "Draft"
1398-msgstr "Borrador"
1399-
1400-#. module: base_sale_multichannels
1401-#: help:sale.shop,invoice_quantity:0
1402-msgid ""
1403-"The sale order will automatically create the invoice proposition (draft "
1404-"invoice). Ordered and delivered quantities may not be the same. You have to "
1405-"choose if you invoice based on ordered or shipped quantities. If the product "
1406-"is a service, shipped quantities means hours spent on the associated tasks."
1407-msgstr ""
1408-"El pedido de venta creará automáticamente la propuesta de factura (factura "
1409-"borrador). Las cantidades pedidas y las cantidades enviadas pueden no ser "
1410-"las mismas. Tiene que decidir si factura basado en cantidades pedidas o "
1411-"enviadas. Si el producto es un servicio, cantidades enviadas significa horas "
1412-"dedicadas a las tareas asociadas."
1413-
1414-#. module: base_sale_multichannels
1415-#: field:sale.shop,shop_group_id:0
1416-msgid "Shop Group"
1417-msgstr "Grupo tiendas"
1418-
1419-#. module: base_sale_multichannels
1420-#: field:product.category,recursive_childen_ids:0
1421-msgid "All Child Categories"
1422-msgstr "Todas categorías hijas"
1423-
1424-#. module: base_sale_multichannels
1425-#: view:sale.shop:0
1426-msgid "Update Orders Status"
1427-msgstr "Actualizar estado pedidos"
1428-
1429-#. module: base_sale_multichannels
1430-#: help:sale.shop,picking_policy:0
1431-msgid ""
1432-"If you don't have enough stock available to deliver all at once, do you "
1433-"accept partial shipments or not?"
1434-msgstr ""
1435-"Si no dispone de suficiente stock disponible para enviarlo todo a la vez, "
1436-"¿acepta envíos parciales?"
1437-
1438-#. module: base_sale_multichannels
1439-#: help:account.journal,external_payment_codes:0
1440-msgid ""
1441-"Enter the external payment codes, comma separated. They will be used to "
1442-"select the payment journal."
1443-msgstr ""
1444-"Indique los códigos de pago externos, separados por coma. Serán utilizados "
1445-"para seleccionar el diario de pago."
1446-
1447-#. module: base_sale_multichannels
1448-#: field:sale.shop,picking_policy:0
1449-msgid "Packing Policy"
1450-msgstr "Política de envío"
1451-
1452-#. module: base_sale_multichannels
1453-#: selection:sale.shop,picking_policy:0
1454-msgid "Complete Delivery"
1455-msgstr "Envío completo"
1456-
1457-#. module: base_sale_multichannels
1458-#: field:sale.shop,invoice_generation_policy:0
1459-msgid "Invoice Generation Policy"
1460-msgstr "Política generación de facturas"
1461-
1462-#. module: base_sale_multichannels
1463-#: selection:sale.shop,invoice_quantity:0
1464-msgid "Ordered Quantities"
1465-msgstr "Cantidades ordenadas"
1466-
1467-#. module: base_sale_multichannels
1468-#: help:sale.shop,is_tax_included:0
1469-msgid "Requires sale_tax_include module to be installed"
1470-msgstr "Requiere que el módulo sale_tax_include sea instalado."
1471-
1472-#. module: base_sale_multichannels
1473-#: view:sale.shop:0
1474-msgid "Catalog"
1475-msgstr "Catálogo"
1476-
1477-#. module: base_sale_multichannels
1478-#: view:sale.shop:0
1479-msgid "External Shop Settings"
1480-msgstr "Configuración tienda externa"
1481-
1482-#. module: base_sale_multichannels
1483-#: view:sale.shop:0
1484-msgid "Export Catalog"
1485-msgstr "Exportar catálogo"
1486-
1487-#. module: base_sale_multichannels
1488-#: selection:sale.shop,order_policy:0
1489-msgid "Invoice from the Packing"
1490-msgstr "Factura desde albarán"
1491-
1492-#. module: base_sale_multichannels
1493-#: view:sale.shop:0
1494-msgid "Order Generation"
1495-msgstr "Generación pedido"
1496-
1497-#. module: base_sale_multichannels
1498-#: field:account.journal,external_payment_codes:0
1499-msgid "External Payment Codes"
1500-msgstr "Códigos de pago externos"
1501-
1502-#. module: base_sale_multichannels
1503-#: selection:sale.shop,order_policy:0
1504-msgid "Invoice on Order After Delivery"
1505-msgstr "Facturar pedido después del envío"
1506-
1507-#. module: base_sale_multichannels
1508-#: constraint:ir.ui.view:0
1509-msgid "Invalid XML for View Architecture!"
1510-msgstr "¡XML inválido para la definición de la vista!"
1511-
1512-#. module: base_sale_multichannels
1513-#: field:external.shop.group,shop_ids:0
1514-msgid "Sale Shops"
1515-msgstr "Tiendas venta"
1516-
1517-#. module: base_sale_multichannels
1518-#: field:external.shop.group,name:0
1519-msgid "Name"
1520-msgstr "Nombre"
1521-
1522-#. module: base_sale_multichannels
1523-#: field:sale.shop,invoice_quantity:0
1524-msgid "Invoice on"
1525-msgstr "Facturar las"
1526-
1527-#. module: base_sale_multichannels
1528-#: help:sale.shop,order_policy:0
1529-msgid ""
1530-"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
1531-" - The 'Pay before delivery' choice will first generate the invoice and "
1532-"then generate the packing order after the payment of this invoice.\n"
1533-" - The 'Shipping & Manual Invoice' will create the packing order directly "
1534-"and wait for the user to manually click on the 'Invoice' button to generate "
1535-"the draft invoice.\n"
1536-" - The 'Invoice on Order After Delivery' choice will generate the draft "
1537-"invoice based on sale order after all packing lists have been finished.\n"
1538-" - The 'Invoice from the packing' choice is used to create an invoice "
1539-"during the packing process."
1540-msgstr ""
1541-"La política de envío se utiliza para sincronizar la factura y las "
1542-"operaciones de envío.\n"
1543-" - La opción 'Pago antes del envío' primero genera la factura y luego "
1544-"genera el albarán después del pago de esta factura.\n"
1545-" - La opción 'Envío '& Factura manual' creará el albarán directamente y "
1546-"esperará a que el usuario haga clic manualmente en el botón 'Factura' para "
1547-"generar la factura borrador.\n"
1548-" - La opción 'Factura según pedido después envío' generará la factura "
1549-"borrador basada en el pedido de venta después de que todos los albaranes se "
1550-"hayan procesado.\n"
1551-" - La opción 'Factura desde albarán' se utiliza para crear una factura "
1552-"durante el proceso de los albaranes."
1553-
1554-#. module: base_sale_multichannels
1555-#: field:sale.shop,last_inventory_export_date:0
1556-msgid "Last Inventory Export Time"
1557-msgstr "Fecha última exportación inventario"
1558-
1559-#. module: base_sale_multichannels
1560-#: field:external.referential,shop_group_ids:0
1561-msgid "Sub Entities"
1562-msgstr "Sub entidades"
1563-
1564-#. module: base_sale_multichannels
1565-#: field:sale.shop,referential_id:0
1566-msgid "External Referential"
1567-msgstr "Referencia externa"
1568-
1569-#. module: base_sale_multichannels
1570-#: selection:sale.shop,order_policy:0
1571-msgid "Payment Before Delivery"
1572-msgstr "Pago antes del envío"
1573-
1574-#. module: base_sale_multichannels
1575-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
1576-msgid "Base Sale MultiChannels"
1577-msgstr "Base ventas multicanal"
1578-
1579-#. module: base_sale_multichannels
1580-#: view:sale.shop:0
1581-#: field:sale.shop,exportable_product_ids:0
1582-msgid "Exportable Products"
1583-msgstr "Productos exportables"
1584-
1585-#. module: base_sale_multichannels
1586-#: view:sale.shop:0
1587-msgid "Import Orders"
1588-msgstr "Importar pedidos"
1589-
1590-#. module: base_sale_multichannels
1591-#: field:sale.shop,picking_generation_policy:0
1592-msgid "Picking Generation Policy"
1593-msgstr "Política generación de albaranes"
1594-
1595-#. module: base_sale_multichannels
1596-#: help:sale.shop,invoice_generation_policy:0
1597-msgid "Should orders create an invoice after import?"
1598-msgstr "¿Los pedidos deberían crear una factura después de la importación?"
1599-
1600-#. module: base_sale_multichannels
1601-#: field:sale.shop,last_update_order_export_date:0
1602-msgid "Last Order Update Time"
1603-msgstr "Fecha última actualización pedidos"
1604-
1605-#. module: base_sale_multichannels
1606-#: help:sale.shop,picking_generation_policy:0
1607-msgid "Should orders create a picking after import?"
1608-msgstr "¿Los pedidos deberían crear un albarán después de la importación?"
1609-
1610-#. module: base_sale_multichannels
1611-#: selection:sale.shop,invoice_generation_policy:0
1612-#: selection:sale.shop,picking_generation_policy:0
1613-msgid "Validated"
1614-msgstr "Validado"
1615-
1616-#. module: base_sale_multichannels
1617-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
1618-msgid "External Referential Shop Group"
1619-msgstr "Referencia externa grupo tiendas"
1620-
1621-#. module: base_sale_multichannels
1622-#: view:sale.shop:0
1623-msgid "Export Stock Levels Only"
1624-msgstr "Exportar sólo niveles de stock"
1625-
1626-#. module: base_sale_multichannels
1627-#: selection:sale.shop,order_policy:0
1628-msgid "Shipping & Manual Invoice"
1629-msgstr "Enviar & Factura manual"
1630-
1631-#. module: base_sale_multichannels
1632-#: view:sale.shop:0
1633-msgid "Actions"
1634-msgstr "Accions"
1635-
1636-#. module: base_sale_multichannels
1637-#: field:sale.shop,exportable_root_category_ids:0
1638-msgid "Root Category"
1639-msgstr "Categoría raíz"
1640-
1641-#. module: base_sale_multichannels
1642-#: field:sale.shop,is_tax_included:0
1643-msgid "Prices Include Tax?"
1644-msgstr "¿Precios incluyen impuestos?"
1645-
1646-#. module: base_sale_multichannels
1647-#: view:sale.shop:0
1648-msgid "Sale Shop"
1649-msgstr "Tienda venta"
1650-
1651-#. module: base_sale_multichannels
1652-#: view:sale.shop:0
1653-msgid "Sale Multi Channels"
1654-msgstr "Ventas Multi canal"
1655-
1656-#. module: base_sale_multichannels
1657-#: view:sale.shop:0
1658-msgid "Orders"
1659-msgstr "Pedidos"
1660
1661=== removed file 'base_sale_multichannels/i18n/fr.po'
1662--- base_sale_multichannels/i18n/fr.po 2012-02-27 18:49:05 +0000
1663+++ base_sale_multichannels/i18n/fr.po 1970-01-01 00:00:00 +0000
1664@@ -1,356 +0,0 @@
1665-# Translation of OpenERP Server.
1666-# This file contains the translation of the following modules:
1667-# * base_sale_multichannels
1668-#
1669-msgid ""
1670-msgstr ""
1671-"Project-Id-Version: OpenERP Server 6.1beta\n"
1672-"Report-Msgid-Bugs-To: \n"
1673-"POT-Creation-Date: 2009-12-20 17:22+0000\n"
1674-"PO-Revision-Date: 2011-12-05 12:42+0000\n"
1675-"Last-Translator: OpenERP Administrators <Unknown>\n"
1676-"Language-Team: \n"
1677-"MIME-Version: 1.0\n"
1678-"Content-Type: text/plain; charset=UTF-8\n"
1679-"Content-Transfer-Encoding: 8bit\n"
1680-"X-Launchpad-Export-Date: 2012-01-17 05:05+0000\n"
1681-"X-Generator: Launchpad (build 14676)\n"
1682-
1683-#. module: base_sale_multichannels
1684-#: selection:sale.shop,picking_policy:0
1685-msgid "Partial Delivery"
1686-msgstr "Livraison Partielle"
1687-
1688-#. module: base_sale_multichannels
1689-#: constraint:ir.model:0
1690-msgid ""
1691-"The Object name must start with x_ and not contain any special character !"
1692-msgstr ""
1693-
1694-#. module: base_sale_multichannels
1695-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
1696-msgid ""
1697-"\n"
1698-"This module provide an abstract common minimal base to multi-channels "
1699-"sales.\n"
1700-"Say you want to expose your product catalog to\n"
1701-"* several instances of flashy-sluggish Magento web sites\n"
1702-"* a cutting edge Spree web shop\n"
1703-"* a Neteven online Marketplace\n"
1704-"* EBay\n"
1705-"* Amazon\n"
1706-"* Google Base\n"
1707-"* an external Point Of Sale system\n"
1708-"* ...\n"
1709-"Then this module allows you to:\n"
1710-"* use several external references ids on every OpenERP object matching those "
1711-"all those external referentials\n"
1712-"* per referential instance, use several sale sub platform entities (ex: "
1713-"several Magento websites per instance)\n"
1714-"* per sub platform, use several shops (ex: several Magento web shops per "
1715-"website)\n"
1716-"\n"
1717-"For each sale shop (matching OpenERP sale.shop object), this module abstract "
1718-"the interfaces to:\n"
1719-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
1720-"* import the catalog\n"
1721-"* import orders\n"
1722-"* export orders/picking status\n"
1723-" "
1724-msgstr ""
1725-"\n"
1726-"Ce module fourni une couche d'abstracion minimale pour les ventes en multi-"
1727-"canaux.\n"
1728-"Vous voulez exposer votre catalogue produits sur\n"
1729-"* plusieurs instances de sites web magento\n"
1730-"* une boutique en ligne Spree d'avant garde\n"
1731-"* un marché en ligne Neteven\n"
1732-"* EBay\n"
1733-"* Amazon\n"
1734-"* Google Base\n"
1735-"* un système de point de vente externe\n"
1736-"* ...\n"
1737-"Ce module vous permet donc:\n"
1738-"* d'utiliser plusieurs identifiants externes dans tout les objets OpenERP "
1739-"correspondant entre eux use several external references ids on every OpenERP "
1740-"object matching those all those external referentials\n"
1741-"* par instance référentielle, d'utiliser plusieurs entités de sous "
1742-"plateforme de vente (ex: plusieurs sites web Magento par instance)\n"
1743-"* par sous plateforme, d'utiliser plusieurs boutiques (ex: plusieurs "
1744-"boutiques en ligne Magento par site web)\n"
1745-"\n"
1746-"Pour chaque boutique de vente (correspondant aux objets OpenERP sale.shop), "
1747-"ce module extrait les interfaces pour:\n"
1748-"* exporter le catalogue, le niveau de stock du magasin, les listes de prix "
1749-"du magasin\n"
1750-"* importer le catalogue\n"
1751-"* importer les commandes\n"
1752-"* exporter les commandes/status picking\n"
1753-" "
1754-
1755-#. module: base_sale_multichannels
1756-#: field:sale.shop,order_policy:0
1757-msgid "Shipping Policy"
1758-msgstr "Politique d'expédition"
1759-
1760-#. module: base_sale_multichannels
1761-#: selection:sale.shop,invoice_generation_policy:0
1762-#: selection:sale.shop,picking_generation_policy:0
1763-msgid "None"
1764-msgstr ""
1765-
1766-#. module: base_sale_multichannels
1767-#: selection:sale.shop,invoice_quantity:0
1768-msgid "Shipped Quantities"
1769-msgstr "Quantités Expédiées"
1770-
1771-#. module: base_sale_multichannels
1772-#: field:external.shop.group,referential_id:0
1773-msgid "Referential"
1774-msgstr "Référentiel"
1775-
1776-#. module: base_sale_multichannels
1777-#: selection:sale.shop,invoice_generation_policy:0
1778-#: selection:sale.shop,picking_generation_policy:0
1779-msgid "Draft"
1780-msgstr ""
1781-
1782-#. module: base_sale_multichannels
1783-#: help:sale.shop,invoice_quantity:0
1784-msgid ""
1785-"The sale order will automatically create the invoice proposition (draft "
1786-"invoice). Ordered and delivered quantities may not be the same. You have to "
1787-"choose if you invoice based on ordered or shipped quantities. If the product "
1788-"is a service, shipped quantities means hours spent on the associated tasks."
1789-msgstr ""
1790-
1791-#. module: base_sale_multichannels
1792-#: field:sale.shop,shop_group_id:0
1793-msgid "Shop Group"
1794-msgstr "Groupe de Magasin"
1795-
1796-#. module: base_sale_multichannels
1797-#: field:product.category,recursive_childen_ids:0
1798-msgid "All Child Categories"
1799-msgstr "Toute les Catégories Enfant"
1800-
1801-#. module: base_sale_multichannels
1802-#: view:sale.shop:0
1803-msgid "Update Orders Status"
1804-msgstr "Mettre à Jour les Status des Commmandes"
1805-
1806-#. module: base_sale_multichannels
1807-#: help:sale.shop,picking_policy:0
1808-msgid ""
1809-"If you don't have enough stock available to deliver all at once, do you "
1810-"accept partial shipments or not?"
1811-msgstr ""
1812-
1813-#. module: base_sale_multichannels
1814-#: help:account.journal,external_payment_codes:0
1815-msgid ""
1816-"Enter the external payment codes, comma separated. They will be used to "
1817-"select the payment journal."
1818-msgstr ""
1819-
1820-#. module: base_sale_multichannels
1821-#: field:sale.shop,picking_policy:0
1822-msgid "Packing Policy"
1823-msgstr "Politique d'Emballage"
1824-
1825-#. module: base_sale_multichannels
1826-#: selection:sale.shop,picking_policy:0
1827-msgid "Complete Delivery"
1828-msgstr "Livraison Complète"
1829-
1830-#. module: base_sale_multichannels
1831-#: field:sale.shop,invoice_generation_policy:0
1832-msgid "Invoice Generation Policy"
1833-msgstr ""
1834-
1835-#. module: base_sale_multichannels
1836-#: selection:sale.shop,invoice_quantity:0
1837-msgid "Ordered Quantities"
1838-msgstr "Quantités Commandées"
1839-
1840-#. module: base_sale_multichannels
1841-#: help:sale.shop,is_tax_included:0
1842-msgid "Requires sale_tax_include module to be installed"
1843-msgstr "Requière le module sale_tax_include pour pouvoir être installé"
1844-
1845-#. module: base_sale_multichannels
1846-#: view:sale.shop:0
1847-msgid "Catalog"
1848-msgstr "Catalogue"
1849-
1850-#. module: base_sale_multichannels
1851-#: view:sale.shop:0
1852-msgid "External Shop Settings"
1853-msgstr "Paramètres du Magasin Externe"
1854-
1855-#. module: base_sale_multichannels
1856-#: view:sale.shop:0
1857-msgid "Export Catalog"
1858-msgstr "Exporter le Catalogue"
1859-
1860-#. module: base_sale_multichannels
1861-#: selection:sale.shop,order_policy:0
1862-msgid "Invoice from the Packing"
1863-msgstr "Facture de l'emballage"
1864-
1865-#. module: base_sale_multichannels
1866-#: view:sale.shop:0
1867-msgid "Order Generation"
1868-msgstr ""
1869-
1870-#. module: base_sale_multichannels
1871-#: field:account.journal,external_payment_codes:0
1872-msgid "External Payment Codes"
1873-msgstr ""
1874-
1875-#. module: base_sale_multichannels
1876-#: selection:sale.shop,order_policy:0
1877-msgid "Invoice on Order After Delivery"
1878-msgstr "Facture sur Commande Après Livraison"
1879-
1880-#. module: base_sale_multichannels
1881-#: constraint:ir.ui.view:0
1882-msgid "Invalid XML for View Architecture!"
1883-msgstr ""
1884-
1885-#. module: base_sale_multichannels
1886-#: field:external.shop.group,shop_ids:0
1887-msgid "Sale Shops"
1888-msgstr "Magasins de Vente"
1889-
1890-#. module: base_sale_multichannels
1891-#: field:external.shop.group,name:0
1892-msgid "Name"
1893-msgstr "Nom"
1894-
1895-#. module: base_sale_multichannels
1896-#: field:sale.shop,invoice_quantity:0
1897-msgid "Invoice on"
1898-msgstr "Facture sur"
1899-
1900-#. module: base_sale_multichannels
1901-#: help:sale.shop,order_policy:0
1902-msgid ""
1903-"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
1904-" - The 'Pay before delivery' choice will first generate the invoice and "
1905-"then generate the packing order after the payment of this invoice.\n"
1906-" - The 'Shipping & Manual Invoice' will create the packing order directly "
1907-"and wait for the user to manually click on the 'Invoice' button to generate "
1908-"the draft invoice.\n"
1909-" - The 'Invoice on Order After Delivery' choice will generate the draft "
1910-"invoice based on sale order after all packing lists have been finished.\n"
1911-" - The 'Invoice from the packing' choice is used to create an invoice "
1912-"during the packing process."
1913-msgstr ""
1914-
1915-#. module: base_sale_multichannels
1916-#: field:sale.shop,last_inventory_export_date:0
1917-msgid "Last Inventory Export Time"
1918-msgstr "Date du Dernier Export d'Inventaire"
1919-
1920-#. module: base_sale_multichannels
1921-#: field:external.referential,shop_group_ids:0
1922-msgid "Sub Entities"
1923-msgstr "Sous Entité"
1924-
1925-#. module: base_sale_multichannels
1926-#: field:sale.shop,referential_id:0
1927-msgid "External Referential"
1928-msgstr "Référentiel Externe"
1929-
1930-#. module: base_sale_multichannels
1931-#: selection:sale.shop,order_policy:0
1932-msgid "Payment Before Delivery"
1933-msgstr "Paiement Avant Livraison"
1934-
1935-#. module: base_sale_multichannels
1936-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
1937-msgid "Base Sale MultiChannels"
1938-msgstr "Ventes en Multi Canaux"
1939-
1940-#. module: base_sale_multichannels
1941-#: view:sale.shop:0
1942-#: field:sale.shop,exportable_product_ids:0
1943-msgid "Exportable Products"
1944-msgstr "Produits Exportables"
1945-
1946-#. module: base_sale_multichannels
1947-#: view:sale.shop:0
1948-msgid "Import Orders"
1949-msgstr "Import des Commandes"
1950-
1951-#. module: base_sale_multichannels
1952-#: field:sale.shop,picking_generation_policy:0
1953-msgid "Picking Generation Policy"
1954-msgstr ""
1955-
1956-#. module: base_sale_multichannels
1957-#: help:sale.shop,invoice_generation_policy:0
1958-msgid "Should orders create an invoice after import?"
1959-msgstr ""
1960-
1961-#. module: base_sale_multichannels
1962-#: field:sale.shop,last_update_order_export_date:0
1963-msgid "Last Order Update Time"
1964-msgstr "Date de la dernière mise à jour des commandes"
1965-
1966-#. module: base_sale_multichannels
1967-#: help:sale.shop,picking_generation_policy:0
1968-msgid "Should orders create a picking after import?"
1969-msgstr ""
1970-
1971-#. module: base_sale_multichannels
1972-#: selection:sale.shop,invoice_generation_policy:0
1973-#: selection:sale.shop,picking_generation_policy:0
1974-msgid "Validated"
1975-msgstr ""
1976-
1977-#. module: base_sale_multichannels
1978-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
1979-msgid "External Referential Shop Group"
1980-msgstr "Référence Externe du Groupe de Magasin"
1981-
1982-#. module: base_sale_multichannels
1983-#: view:sale.shop:0
1984-msgid "Export Stock Levels Only"
1985-msgstr "Export des niveaux de Stock Seulement"
1986-
1987-#. module: base_sale_multichannels
1988-#: selection:sale.shop,order_policy:0
1989-msgid "Shipping & Manual Invoice"
1990-msgstr "Expédition et Facture Manuelle"
1991-
1992-#. module: base_sale_multichannels
1993-#: view:sale.shop:0
1994-msgid "Actions"
1995-msgstr "Actions"
1996-
1997-#. module: base_sale_multichannels
1998-#: field:sale.shop,exportable_root_category_ids:0
1999-msgid "Root Category"
2000-msgstr ""
2001-
2002-#. module: base_sale_multichannels
2003-#: field:sale.shop,is_tax_included:0
2004-msgid "Prices Include Tax?"
2005-msgstr ""
2006-
2007-#. module: base_sale_multichannels
2008-#: view:sale.shop:0
2009-msgid "Sale Shop"
2010-msgstr "Magasin de Vente"
2011-
2012-#. module: base_sale_multichannels
2013-#: view:sale.shop:0
2014-msgid "Sale Multi Channels"
2015-msgstr "Vente Multi Canaux"
2016-
2017-#. module: base_sale_multichannels
2018-#: view:sale.shop:0
2019-msgid "Orders"
2020-msgstr "Commandes"
2021
2022=== removed file 'base_sale_multichannels/i18n/pt.po'
2023--- base_sale_multichannels/i18n/pt.po 2012-02-27 18:49:05 +0000
2024+++ base_sale_multichannels/i18n/pt.po 1970-01-01 00:00:00 +0000
2025@@ -1,379 +0,0 @@
2026-# Portuguese translation for openobject-addons
2027-# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
2028-# This file is distributed under the same license as the openobject-addons package.
2029-# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
2030-#
2031-msgid ""
2032-msgstr ""
2033-"Project-Id-Version: openobject-addons\n"
2034-"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
2035-"POT-Creation-Date: 2009-12-20 17:22+0000\n"
2036-"PO-Revision-Date: 2011-02-14 10:04+0000\n"
2037-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
2038-"Language-Team: Portuguese <pt@li.org>\n"
2039-"MIME-Version: 1.0\n"
2040-"Content-Type: text/plain; charset=UTF-8\n"
2041-"Content-Transfer-Encoding: 8bit\n"
2042-"X-Launchpad-Export-Date: 2012-01-17 05:05+0000\n"
2043-"X-Generator: Launchpad (build 14676)\n"
2044-
2045-#. module: base_sale_multichannels
2046-#: selection:sale.shop,picking_policy:0
2047-msgid "Partial Delivery"
2048-msgstr "Entrega Parcial"
2049-
2050-#. module: base_sale_multichannels
2051-#: constraint:ir.model:0
2052-msgid ""
2053-"The Object name must start with x_ and not contain any special character !"
2054-msgstr ""
2055-"O nome do Objecto deve começar com x_ e não pode conter nenhum caracter "
2056-"especial !"
2057-
2058-#. module: base_sale_multichannels
2059-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
2060-msgid ""
2061-"\n"
2062-"This module provide an abstract common minimal base to multi-channels "
2063-"sales.\n"
2064-"Say you want to expose your product catalog to\n"
2065-"* several instances of flashy-sluggish Magento web sites\n"
2066-"* a cutting edge Spree web shop\n"
2067-"* a Neteven online Marketplace\n"
2068-"* EBay\n"
2069-"* Amazon\n"
2070-"* Google Base\n"
2071-"* an external Point Of Sale system\n"
2072-"* ...\n"
2073-"Then this module allows you to:\n"
2074-"* use several external references ids on every OpenERP object matching those "
2075-"all those external referentials\n"
2076-"* per referential instance, use several sale sub platform entities (ex: "
2077-"several Magento websites per instance)\n"
2078-"* per sub platform, use several shops (ex: several Magento web shops per "
2079-"website)\n"
2080-"\n"
2081-"For each sale shop (matching OpenERP sale.shop object), this module abstract "
2082-"the interfaces to:\n"
2083-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
2084-"* import the catalog\n"
2085-"* import orders\n"
2086-"* export orders/picking status\n"
2087-" "
2088-msgstr ""
2089-"\n"
2090-"Este módulo fornece uma base comum mínima abstrata para vendas multi-"
2091-"canais.\n"
2092-"Digamos que queira expor o seu catálogo de produto para\n"
2093-"* várias instâncias de wev sites Magento flashy-sluggish\n"
2094-"* Uma loja online Spree de ponta\n"
2095-"* Uma Mercado Local online de Neteven\n"
2096-"* EBay\n"
2097-"* Amazon\n"
2098-"* Google Base\n"
2099-"* um sistema externo de Ponto de Venda\n"
2100-"* ...\n"
2101-"Então, este módulo permite-lhe fazer:\n"
2102-"* utilizar vários id externos de referência em cada objecto OpenERP "
2103-"correspondente a todas as referências externas\n"
2104-"* por referência de instância utilizar várias entradas de sub-plantaformas "
2105-"de vendas (ex: várias páginas web Magento por instância)\n"
2106-"* por sub-plantaforma, utilizar várias lojas (ec: várias lojas web Magento "
2107-"por página web)\n"
2108-"\n"
2109-"Para cada loja de venda (sale.shop.object correspondente OpenERP), este "
2110-"módulo abstrata as interfaces para:\n"
2111-"* exportar o catálogo,nível sensato de stock no armazém da loja, lista de "
2112-"preço justo da loja \n"
2113-"* importar o catálogo\n"
2114-"* importar ordens\n"
2115-"* exportar ordens/estado da recolha\n"
2116-" "
2117-
2118-#. module: base_sale_multichannels
2119-#: field:sale.shop,order_policy:0
2120-msgid "Shipping Policy"
2121-msgstr "Política de Expedição"
2122-
2123-#. module: base_sale_multichannels
2124-#: selection:sale.shop,invoice_generation_policy:0
2125-#: selection:sale.shop,picking_generation_policy:0
2126-msgid "None"
2127-msgstr "Nenhum"
2128-
2129-#. module: base_sale_multichannels
2130-#: selection:sale.shop,invoice_quantity:0
2131-msgid "Shipped Quantities"
2132-msgstr "Quantidades Enviadas"
2133-
2134-#. module: base_sale_multichannels
2135-#: field:external.shop.group,referential_id:0
2136-msgid "Referential"
2137-msgstr "Referencial"
2138-
2139-#. module: base_sale_multichannels
2140-#: selection:sale.shop,invoice_generation_policy:0
2141-#: selection:sale.shop,picking_generation_policy:0
2142-msgid "Draft"
2143-msgstr "Rascunho"
2144-
2145-#. module: base_sale_multichannels
2146-#: help:sale.shop,invoice_quantity:0
2147-msgid ""
2148-"The sale order will automatically create the invoice proposition (draft "
2149-"invoice). Ordered and delivered quantities may not be the same. You have to "
2150-"choose if you invoice based on ordered or shipped quantities. If the product "
2151-"is a service, shipped quantities means hours spent on the associated tasks."
2152-msgstr ""
2153-"A ordem de venda vai automáticamente criar uma proposta de factura (factura "
2154-"de rascunho). Quantidades entregues e ordenadas podem não ser a mesma. Vai "
2155-"ter que escolher se a sua factura é baseada em ordenada ou quantidades "
2156-"enviadas. Se o produto é um serviço, quantidades enviadas significa horas "
2157-"gastas nas tarefas associadas."
2158-
2159-#. module: base_sale_multichannels
2160-#: field:sale.shop,shop_group_id:0
2161-msgid "Shop Group"
2162-msgstr "Grupo de Loja"
2163-
2164-#. module: base_sale_multichannels
2165-#: field:product.category,recursive_childen_ids:0
2166-msgid "All Child Categories"
2167-msgstr "Todas as Categorias Descendentes"
2168-
2169-#. module: base_sale_multichannels
2170-#: view:sale.shop:0
2171-msgid "Update Orders Status"
2172-msgstr "Estado das Ordens Actualizadas"
2173-
2174-#. module: base_sale_multichannels
2175-#: help:sale.shop,picking_policy:0
2176-msgid ""
2177-"If you don't have enough stock available to deliver all at once, do you "
2178-"accept partial shipments or not?"
2179-msgstr ""
2180-"Se não tiver stock sufeciente desponível para entregar de uma vez, aceita "
2181-"transferência parciais ou não?"
2182-
2183-#. module: base_sale_multichannels
2184-#: help:account.journal,external_payment_codes:0
2185-msgid ""
2186-"Enter the external payment codes, comma separated. They will be used to "
2187-"select the payment journal."
2188-msgstr ""
2189-"Entrar com os códigos de pagamento externo, vírgula separada. Eles serão "
2190-"utilizados para selecionar o diário de pagamento."
2191-
2192-#. module: base_sale_multichannels
2193-#: field:sale.shop,picking_policy:0
2194-msgid "Packing Policy"
2195-msgstr "Política de Embalagem"
2196-
2197-#. module: base_sale_multichannels
2198-#: selection:sale.shop,picking_policy:0
2199-msgid "Complete Delivery"
2200-msgstr "Entrega completa"
2201-
2202-#. module: base_sale_multichannels
2203-#: field:sale.shop,invoice_generation_policy:0
2204-msgid "Invoice Generation Policy"
2205-msgstr "Politica de Geração de Factura"
2206-
2207-#. module: base_sale_multichannels
2208-#: selection:sale.shop,invoice_quantity:0
2209-msgid "Ordered Quantities"
2210-msgstr "Quantidades Ordenadas"
2211-
2212-#. module: base_sale_multichannels
2213-#: help:sale.shop,is_tax_included:0
2214-msgid "Requires sale_tax_include module to be installed"
2215-msgstr "Requere que o módulo sale_tax_include seja instalado"
2216-
2217-#. module: base_sale_multichannels
2218-#: view:sale.shop:0
2219-msgid "Catalog"
2220-msgstr "Catálogo"
2221-
2222-#. module: base_sale_multichannels
2223-#: view:sale.shop:0
2224-msgid "External Shop Settings"
2225-msgstr "Definições da Loja Externa"
2226-
2227-#. module: base_sale_multichannels
2228-#: view:sale.shop:0
2229-msgid "Export Catalog"
2230-msgstr "Exportar Catálogo"
2231-
2232-#. module: base_sale_multichannels
2233-#: selection:sale.shop,order_policy:0
2234-msgid "Invoice from the Packing"
2235-msgstr "Factura de Embalagem"
2236-
2237-#. module: base_sale_multichannels
2238-#: view:sale.shop:0
2239-msgid "Order Generation"
2240-msgstr "Ordem de Geração"
2241-
2242-#. module: base_sale_multichannels
2243-#: field:account.journal,external_payment_codes:0
2244-msgid "External Payment Codes"
2245-msgstr "Códigos de Pagamento Externo"
2246-
2247-#. module: base_sale_multichannels
2248-#: selection:sale.shop,order_policy:0
2249-msgid "Invoice on Order After Delivery"
2250-msgstr "Ordem Facturada Antes da Entrega"
2251-
2252-#. module: base_sale_multichannels
2253-#: constraint:ir.ui.view:0
2254-msgid "Invalid XML for View Architecture!"
2255-msgstr "XML Inválido para a Arquitectura de Vista!"
2256-
2257-#. module: base_sale_multichannels
2258-#: field:external.shop.group,shop_ids:0
2259-msgid "Sale Shops"
2260-msgstr "Lojas de Vendas"
2261-
2262-#. module: base_sale_multichannels
2263-#: field:external.shop.group,name:0
2264-msgid "Name"
2265-msgstr "Nome"
2266-
2267-#. module: base_sale_multichannels
2268-#: field:sale.shop,invoice_quantity:0
2269-msgid "Invoice on"
2270-msgstr "Facturado em"
2271-
2272-#. module: base_sale_multichannels
2273-#: help:sale.shop,order_policy:0
2274-msgid ""
2275-"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
2276-" - The 'Pay before delivery' choice will first generate the invoice and "
2277-"then generate the packing order after the payment of this invoice.\n"
2278-" - The 'Shipping & Manual Invoice' will create the packing order directly "
2279-"and wait for the user to manually click on the 'Invoice' button to generate "
2280-"the draft invoice.\n"
2281-" - The 'Invoice on Order After Delivery' choice will generate the draft "
2282-"invoice based on sale order after all packing lists have been finished.\n"
2283-" - The 'Invoice from the packing' choice is used to create an invoice "
2284-"during the packing process."
2285-msgstr ""
2286-"A Políca de Entrega é utilizada para sincronizar a factura e as operações de "
2287-"entrega.\n"
2288-" - A escolha 'Pagar antes de entregar' vai gerar a factura e em seguida "
2289-"gerar uma ordem de embalagem depois do pagamento desta factura.\n"
2290-" - O 'Envio & Factura Manual' vai criar directamente a ordem de embalagem "
2291-"e esperar para que o utilizador clique manualmente no botão 'factura' para "
2292-"gerar uma factura rascunho.\n"
2293-" - A escolha 'Factura em Ordem Antes da Entrega' vai gerar uma factura "
2294-"rascunho baseada na ordem de venda depois de todas as listas de embalagem "
2295-"tenham terminado.\n"
2296-" - A escolha 'Factura a partir da embalagem' é utilizada para criar uma "
2297-"factura durante o processo de embalagem."
2298-
2299-#. module: base_sale_multichannels
2300-#: field:sale.shop,last_inventory_export_date:0
2301-msgid "Last Inventory Export Time"
2302-msgstr "Último Inventário de Exportação de Tempo"
2303-
2304-#. module: base_sale_multichannels
2305-#: field:external.referential,shop_group_ids:0
2306-msgid "Sub Entities"
2307-msgstr "Sub Movimentos"
2308-
2309-#. module: base_sale_multichannels
2310-#: field:sale.shop,referential_id:0
2311-msgid "External Referential"
2312-msgstr "Referencial Externa"
2313-
2314-#. module: base_sale_multichannels
2315-#: selection:sale.shop,order_policy:0
2316-msgid "Payment Before Delivery"
2317-msgstr "Pagamento Antes da Entrega"
2318-
2319-#. module: base_sale_multichannels
2320-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
2321-msgid "Base Sale MultiChannels"
2322-msgstr "Venda Base de Multi-Canais"
2323-
2324-#. module: base_sale_multichannels
2325-#: view:sale.shop:0
2326-#: field:sale.shop,exportable_product_ids:0
2327-msgid "Exportable Products"
2328-msgstr "Produtos Exportados"
2329-
2330-#. module: base_sale_multichannels
2331-#: view:sale.shop:0
2332-msgid "Import Orders"
2333-msgstr "Importar Ordem"
2334-
2335-#. module: base_sale_multichannels
2336-#: field:sale.shop,picking_generation_policy:0
2337-msgid "Picking Generation Policy"
2338-msgstr "Política de Recolha de Geração"
2339-
2340-#. module: base_sale_multichannels
2341-#: help:sale.shop,invoice_generation_policy:0
2342-msgid "Should orders create an invoice after import?"
2343-msgstr "As ordens devem criar uma factura depois da importação?"
2344-
2345-#. module: base_sale_multichannels
2346-#: field:sale.shop,last_update_order_export_date:0
2347-msgid "Last Order Update Time"
2348-msgstr "Última Actualização da Ordem Tempo"
2349-
2350-#. module: base_sale_multichannels
2351-#: help:sale.shop,picking_generation_policy:0
2352-msgid "Should orders create a picking after import?"
2353-msgstr "As ordens devem criar uma recolha depois da importação?"
2354-
2355-#. module: base_sale_multichannels
2356-#: selection:sale.shop,invoice_generation_policy:0
2357-#: selection:sale.shop,picking_generation_policy:0
2358-msgid "Validated"
2359-msgstr "Validado"
2360-
2361-#. module: base_sale_multichannels
2362-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
2363-msgid "External Referential Shop Group"
2364-msgstr "Referencia Externa Grupo de Loja"
2365-
2366-#. module: base_sale_multichannels
2367-#: view:sale.shop:0
2368-msgid "Export Stock Levels Only"
2369-msgstr "Exportar Somente os Níveis de Stock"
2370-
2371-#. module: base_sale_multichannels
2372-#: selection:sale.shop,order_policy:0
2373-msgid "Shipping & Manual Invoice"
2374-msgstr "Expedição e Factura Manual"
2375-
2376-#. module: base_sale_multichannels
2377-#: view:sale.shop:0
2378-msgid "Actions"
2379-msgstr "Acção"
2380-
2381-#. module: base_sale_multichannels
2382-#: field:sale.shop,exportable_root_category_ids:0
2383-msgid "Root Category"
2384-msgstr "Categoria Raíz"
2385-
2386-#. module: base_sale_multichannels
2387-#: field:sale.shop,is_tax_included:0
2388-msgid "Prices Include Tax?"
2389-msgstr "Preços Incluem Impostos?"
2390-
2391-#. module: base_sale_multichannels
2392-#: view:sale.shop:0
2393-msgid "Sale Shop"
2394-msgstr "Loja de Venda"
2395-
2396-#. module: base_sale_multichannels
2397-#: view:sale.shop:0
2398-msgid "Sale Multi Channels"
2399-msgstr "Venda Multi Canais"
2400-
2401-#. module: base_sale_multichannels
2402-#: view:sale.shop:0
2403-msgid "Orders"
2404-msgstr "Ordem"
2405
2406=== removed file 'base_sale_multichannels/i18n/sv.po'
2407--- base_sale_multichannels/i18n/sv.po 2012-02-27 18:49:05 +0000
2408+++ base_sale_multichannels/i18n/sv.po 1970-01-01 00:00:00 +0000
2409@@ -1,327 +0,0 @@
2410-# Translation of OpenERP Server.
2411-# This file contains the translation of the following modules:
2412-# * base_sale_multichannels
2413-#
2414-msgid ""
2415-msgstr ""
2416-"Project-Id-Version: OpenERP Server 5.0.14\n"
2417-"Report-Msgid-Bugs-To: support@openerp.com\n"
2418-"POT-Creation-Date: 2009-12-20 17:22+0000\n"
2419-"PO-Revision-Date: 2011-02-14 11:51+0000\n"
2420-"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
2421-"Language-Team: \n"
2422-"MIME-Version: 1.0\n"
2423-"Content-Type: text/plain; charset=UTF-8\n"
2424-"Content-Transfer-Encoding: 8bit\n"
2425-"X-Launchpad-Export-Date: 2012-01-17 05:05+0000\n"
2426-"X-Generator: Launchpad (build 14676)\n"
2427-
2428-#. module: base_sale_multichannels
2429-#: selection:sale.shop,picking_policy:0
2430-msgid "Partial Delivery"
2431-msgstr ""
2432-
2433-#. module: base_sale_multichannels
2434-#: constraint:ir.model:0
2435-msgid ""
2436-"The Object name must start with x_ and not contain any special character !"
2437-msgstr ""
2438-
2439-#. module: base_sale_multichannels
2440-#: model:ir.module.module,description:base_sale_multichannels.module_meta_information
2441-msgid ""
2442-"\n"
2443-"This module provide an abstract common minimal base to multi-channels "
2444-"sales.\n"
2445-"Say you want to expose your product catalog to\n"
2446-"* several instances of flashy-sluggish Magento web sites\n"
2447-"* a cutting edge Spree web shop\n"
2448-"* a Neteven online Marketplace\n"
2449-"* EBay\n"
2450-"* Amazon\n"
2451-"* Google Base\n"
2452-"* an external Point Of Sale system\n"
2453-"* ...\n"
2454-"Then this module allows you to:\n"
2455-"* use several external references ids on every OpenERP object matching those "
2456-"all those external referentials\n"
2457-"* per referential instance, use several sale sub platform entities (ex: "
2458-"several Magento websites per instance)\n"
2459-"* per sub platform, use several shops (ex: several Magento web shops per "
2460-"website)\n"
2461-"\n"
2462-"For each sale shop (matching OpenERP sale.shop object), this module abstract "
2463-"the interfaces to:\n"
2464-"* export the catalog, shop warehouse stock level wise, shop pricelist wise\n"
2465-"* import the catalog\n"
2466-"* import orders\n"
2467-"* export orders/picking status\n"
2468-" "
2469-msgstr ""
2470-
2471-#. module: base_sale_multichannels
2472-#: field:sale.shop,order_policy:0
2473-msgid "Shipping Policy"
2474-msgstr ""
2475-
2476-#. module: base_sale_multichannels
2477-#: selection:sale.shop,invoice_generation_policy:0
2478-#: selection:sale.shop,picking_generation_policy:0
2479-msgid "None"
2480-msgstr ""
2481-
2482-#. module: base_sale_multichannels
2483-#: selection:sale.shop,invoice_quantity:0
2484-msgid "Shipped Quantities"
2485-msgstr ""
2486-
2487-#. module: base_sale_multichannels
2488-#: field:external.shop.group,referential_id:0
2489-msgid "Referential"
2490-msgstr ""
2491-
2492-#. module: base_sale_multichannels
2493-#: selection:sale.shop,invoice_generation_policy:0
2494-#: selection:sale.shop,picking_generation_policy:0
2495-msgid "Draft"
2496-msgstr ""
2497-
2498-#. module: base_sale_multichannels
2499-#: help:sale.shop,invoice_quantity:0
2500-msgid ""
2501-"The sale order will automatically create the invoice proposition (draft "
2502-"invoice). Ordered and delivered quantities may not be the same. You have to "
2503-"choose if you invoice based on ordered or shipped quantities. If the product "
2504-"is a service, shipped quantities means hours spent on the associated tasks."
2505-msgstr ""
2506-
2507-#. module: base_sale_multichannels
2508-#: field:sale.shop,shop_group_id:0
2509-msgid "Shop Group"
2510-msgstr ""
2511-
2512-#. module: base_sale_multichannels
2513-#: field:product.category,recursive_childen_ids:0
2514-msgid "All Child Categories"
2515-msgstr ""
2516-
2517-#. module: base_sale_multichannels
2518-#: view:sale.shop:0
2519-msgid "Update Orders Status"
2520-msgstr ""
2521-
2522-#. module: base_sale_multichannels
2523-#: help:sale.shop,picking_policy:0
2524-msgid ""
2525-"If you don't have enough stock available to deliver all at once, do you "
2526-"accept partial shipments or not?"
2527-msgstr ""
2528-
2529-#. module: base_sale_multichannels
2530-#: help:account.journal,external_payment_codes:0
2531-msgid ""
2532-"Enter the external payment codes, comma separated. They will be used to "
2533-"select the payment journal."
2534-msgstr ""
2535-
2536-#. module: base_sale_multichannels
2537-#: field:sale.shop,picking_policy:0
2538-msgid "Packing Policy"
2539-msgstr ""
2540-
2541-#. module: base_sale_multichannels
2542-#: selection:sale.shop,picking_policy:0
2543-msgid "Complete Delivery"
2544-msgstr ""
2545-
2546-#. module: base_sale_multichannels
2547-#: field:sale.shop,invoice_generation_policy:0
2548-msgid "Invoice Generation Policy"
2549-msgstr ""
2550-
2551-#. module: base_sale_multichannels
2552-#: selection:sale.shop,invoice_quantity:0
2553-msgid "Ordered Quantities"
2554-msgstr ""
2555-
2556-#. module: base_sale_multichannels
2557-#: help:sale.shop,is_tax_included:0
2558-msgid "Requires sale_tax_include module to be installed"
2559-msgstr ""
2560-
2561-#. module: base_sale_multichannels
2562-#: view:sale.shop:0
2563-msgid "Catalog"
2564-msgstr ""
2565-
2566-#. module: base_sale_multichannels
2567-#: view:sale.shop:0
2568-msgid "External Shop Settings"
2569-msgstr ""
2570-
2571-#. module: base_sale_multichannels
2572-#: view:sale.shop:0
2573-msgid "Export Catalog"
2574-msgstr ""
2575-
2576-#. module: base_sale_multichannels
2577-#: selection:sale.shop,order_policy:0
2578-msgid "Invoice from the Packing"
2579-msgstr ""
2580-
2581-#. module: base_sale_multichannels
2582-#: view:sale.shop:0
2583-msgid "Order Generation"
2584-msgstr ""
2585-
2586-#. module: base_sale_multichannels
2587-#: field:account.journal,external_payment_codes:0
2588-msgid "External Payment Codes"
2589-msgstr ""
2590-
2591-#. module: base_sale_multichannels
2592-#: selection:sale.shop,order_policy:0
2593-msgid "Invoice on Order After Delivery"
2594-msgstr ""
2595-
2596-#. module: base_sale_multichannels
2597-#: constraint:ir.ui.view:0
2598-msgid "Invalid XML for View Architecture!"
2599-msgstr ""
2600-
2601-#. module: base_sale_multichannels
2602-#: field:external.shop.group,shop_ids:0
2603-msgid "Sale Shops"
2604-msgstr ""
2605-
2606-#. module: base_sale_multichannels
2607-#: field:external.shop.group,name:0
2608-msgid "Name"
2609-msgstr ""
2610-
2611-#. module: base_sale_multichannels
2612-#: field:sale.shop,invoice_quantity:0
2613-msgid "Invoice on"
2614-msgstr ""
2615-
2616-#. module: base_sale_multichannels
2617-#: help:sale.shop,order_policy:0
2618-msgid ""
2619-"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
2620-" - The 'Pay before delivery' choice will first generate the invoice and "
2621-"then generate the packing order after the payment of this invoice.\n"
2622-" - The 'Shipping & Manual Invoice' will create the packing order directly "
2623-"and wait for the user to manually click on the 'Invoice' button to generate "
2624-"the draft invoice.\n"
2625-" - The 'Invoice on Order After Delivery' choice will generate the draft "
2626-"invoice based on sale order after all packing lists have been finished.\n"
2627-" - The 'Invoice from the packing' choice is used to create an invoice "
2628-"during the packing process."
2629-msgstr ""
2630-
2631-#. module: base_sale_multichannels
2632-#: field:sale.shop,last_inventory_export_date:0
2633-msgid "Last Inventory Export Time"
2634-msgstr ""
2635-
2636-#. module: base_sale_multichannels
2637-#: field:external.referential,shop_group_ids:0
2638-msgid "Sub Entities"
2639-msgstr ""
2640-
2641-#. module: base_sale_multichannels
2642-#: field:sale.shop,referential_id:0
2643-msgid "External Referential"
2644-msgstr ""
2645-
2646-#. module: base_sale_multichannels
2647-#: selection:sale.shop,order_policy:0
2648-msgid "Payment Before Delivery"
2649-msgstr ""
2650-
2651-#. module: base_sale_multichannels
2652-#: model:ir.module.module,shortdesc:base_sale_multichannels.module_meta_information
2653-msgid "Base Sale MultiChannels"
2654-msgstr "Base Sale MultiChannels"
2655-
2656-#. module: base_sale_multichannels
2657-#: view:sale.shop:0
2658-#: field:sale.shop,exportable_product_ids:0
2659-msgid "Exportable Products"
2660-msgstr ""
2661-
2662-#. module: base_sale_multichannels
2663-#: view:sale.shop:0
2664-msgid "Import Orders"
2665-msgstr ""
2666-
2667-#. module: base_sale_multichannels
2668-#: field:sale.shop,picking_generation_policy:0
2669-msgid "Picking Generation Policy"
2670-msgstr ""
2671-
2672-#. module: base_sale_multichannels
2673-#: help:sale.shop,invoice_generation_policy:0
2674-msgid "Should orders create an invoice after import?"
2675-msgstr ""
2676-
2677-#. module: base_sale_multichannels
2678-#: field:sale.shop,last_update_order_export_date:0
2679-msgid "Last Order Update Time"
2680-msgstr ""
2681-
2682-#. module: base_sale_multichannels
2683-#: help:sale.shop,picking_generation_policy:0
2684-msgid "Should orders create a picking after import?"
2685-msgstr ""
2686-
2687-#. module: base_sale_multichannels
2688-#: selection:sale.shop,invoice_generation_policy:0
2689-#: selection:sale.shop,picking_generation_policy:0
2690-msgid "Validated"
2691-msgstr ""
2692-
2693-#. module: base_sale_multichannels
2694-#: model:ir.model,name:base_sale_multichannels.model_external_shop_group
2695-msgid "External Referential Shop Group"
2696-msgstr ""
2697-
2698-#. module: base_sale_multichannels
2699-#: view:sale.shop:0
2700-msgid "Export Stock Levels Only"
2701-msgstr ""
2702-
2703-#. module: base_sale_multichannels
2704-#: selection:sale.shop,order_policy:0
2705-msgid "Shipping & Manual Invoice"
2706-msgstr ""
2707-
2708-#. module: base_sale_multichannels
2709-#: view:sale.shop:0
2710-msgid "Actions"
2711-msgstr ""
2712-
2713-#. module: base_sale_multichannels
2714-#: field:sale.shop,exportable_root_category_ids:0
2715-msgid "Root Category"
2716-msgstr ""
2717-
2718-#. module: base_sale_multichannels
2719-#: field:sale.shop,is_tax_included:0
2720-msgid "Prices Include Tax?"
2721-msgstr ""
2722-
2723-#. module: base_sale_multichannels
2724-#: view:sale.shop:0
2725-msgid "Sale Shop"
2726-msgstr ""
2727-
2728-#. module: base_sale_multichannels
2729-#: view:sale.shop:0
2730-msgid "Sale Multi Channels"
2731-msgstr ""
2732-
2733-#. module: base_sale_multichannels
2734-#: view:sale.shop:0
2735-msgid "Orders"
2736-msgstr ""
2737
2738=== removed file 'base_sale_multichannels/partner.py'
2739--- base_sale_multichannels/partner.py 2012-12-26 13:34:03 +0000
2740+++ base_sale_multichannels/partner.py 1970-01-01 00:00:00 +0000
2741@@ -1,54 +0,0 @@
2742-# -*- encoding: utf-8 -*-
2743-#################################################################################
2744-# #
2745-# base_sale_multichannels for OpenERP #
2746-# Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@akretion.com> #
2747-# #
2748-# This program is free software: you can redistribute it and/or modify #
2749-# it under the terms of the GNU Affero General Public License as #
2750-# published by the Free Software Foundation, either version 3 of the #
2751-# License, or (at your option) any later version. #
2752-# #
2753-# This program is distributed in the hope that it will be useful, #
2754-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
2755-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
2756-# GNU Affero General Public License for more details. #
2757-# #
2758-# You should have received a copy of the GNU Affero General Public License #
2759-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
2760-# #
2761-#################################################################################
2762-
2763-from openerp.osv.orm import Model
2764-from openerp.osv import fields
2765-
2766-
2767-class res_partner(Model):
2768- _inherit='res.partner'
2769-
2770- _columns = {
2771- # defaults_shop_id is deprecated... we should not use it any more !
2772- 'defaults_shop_id': fields.many2one('sale.shop', 'Sale Shop', help="This is the default shop of the customer"),
2773- 'shop_ids': fields.many2many('sale.shop', 'sale_shop_res_partner_rel', 'shop_id', 'partner_id', 'Present in Shops', readonly=True, help="List of shops in which this customer exists."),
2774- }
2775-
2776- # xxx move to BaseConnector _get_import_defaults_res_partner
2777- def _get_default_import_values(self, cr, uid, external_session, mapping_id=None, defaults=None, context=None):
2778- if external_session.sync_from_object._name == 'sale.shop':
2779- shop = external_session.sync_from_object
2780- if not defaults: defaults = {}
2781- defaults.update({
2782- 'lang': shop.default_customer_lang.code,
2783- 'property_account_position': shop.default_fiscal_position.id,
2784- 'property_account_receivable': shop.default_customer_account,
2785- 'shop_ids': [(4, shop.id)],
2786- })
2787- return defaults
2788-
2789-class res_partner_address(Model):
2790- _inherit='res.partner.address'
2791-
2792- def _transform_one_resource(self, *args, **kwargs):
2793- if kwargs.get('parent_data') and kwargs['parent_data'].get('partner_id'):
2794- kwargs['defaults']['partner_id'] = kwargs['parent_data']['parent_id']
2795- return super(res_partner_address, self)._transform_one_resource(*args, **kwargs)
2796
2797=== removed file 'base_sale_multichannels/partner_view.xml'
2798--- base_sale_multichannels/partner_view.xml 2012-09-26 10:22:02 +0000
2799+++ base_sale_multichannels/partner_view.xml 1970-01-01 00:00:00 +0000
2800@@ -1,28 +0,0 @@
2801-<?xml version="1.0" encoding="utf-8"?>
2802-
2803-<!--
2804- Copyright (C) 2012 Akretion (http://www.akretion.com/)
2805- @author Alexis de Lattre <alexis.delattre@akretion.com>
2806- The licence is in the file __openerp__.py
2807--->
2808-
2809-<openerp>
2810-<data>
2811-
2812-
2813-<record id="shop_ids_partner_form" model="ir.ui.view">
2814- <field name="name">shop_ids.partner.form</field>
2815- <field name="model">res.partner</field>
2816- <field name="inherit_id" ref="base.view_partner_form" />
2817- <field name="arch" type="xml">
2818- <page string="History" position="after">
2819- <page string="Shops">
2820- <field name="shop_ids" nolabel="1" colspan="4" />
2821- </page>
2822- </page>
2823- </field>
2824-</record>
2825-
2826-
2827-</data>
2828-</openerp>
2829
2830=== removed file 'base_sale_multichannels/sale.py'
2831--- base_sale_multichannels/sale.py 2013-01-14 07:40:50 +0000
2832+++ base_sale_multichannels/sale.py 1970-01-01 00:00:00 +0000
2833@@ -1,971 +0,0 @@
2834-# -*- encoding: utf-8 -*-
2835-#########################################################################
2836-# #
2837-# Copyright (C) 2009 Raphaël Valyi #
2838-# Copyright (C) 2010-2011 Akretion Sébastien BEAU #
2839-# <sebastien.beau@akretion.com> #
2840-# Copyright (C) 2011-2012 Camptocamp Guewen Baconnier #
2841-# Copyright (C) 2011 by Openlabs Technologies & Consulting (P) Limited #
2842-# #
2843-#This program is free software: you can redistribute it and/or modify #
2844-#it under the terms of the GNU General Public License as published by #
2845-#the Free Software Foundation, either version 3 of the License, or #
2846-#(at your option) any later version. #
2847-# #
2848-#This program is distributed in the hope that it will be useful, #
2849-#but WITHOUT ANY WARRANTY; without even the implied warranty of #
2850-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
2851-#GNU General Public License for more details. #
2852-# #
2853-#You should have received a copy of the GNU General Public License #
2854-#along with this program. If not, see <http://www.gnu.org/licenses/>. #
2855-#########################################################################
2856-
2857-from openerp.osv.orm import Model
2858-from openerp.osv import fields
2859-from openerp.osv.osv import except_osv
2860-import pooler
2861-from sets import Set as set
2862-import netsvc
2863-from tools.translate import _
2864-import time
2865-import decimal_precision as dp
2866-from datetime import datetime, timedelta
2867-from dateutil.relativedelta import relativedelta
2868-from tools import DEFAULT_SERVER_DATETIME_FORMAT, DEFAULT_SERVER_DATE_FORMAT
2869-from base_external_referentials.external_osv import ExternalSession
2870-from base_external_referentials.decorator import open_report
2871-from base_external_referentials.decorator import catch_error_in_report
2872-
2873-#TODO use external_session.logger when it's posible
2874-import logging
2875-_logger = logging.getLogger(__name__)
2876-
2877-
2878-class StockPicking(Model):
2879- '''Add a flag for marking picking as exported'''
2880- _inherit = 'stock.picking'
2881-
2882- _columns = {
2883- 'exported_to_magento': fields.boolean('Exported to Magento',
2884- readonly=True),
2885- }
2886-
2887-
2888-class external_shop_group(Model):
2889- _name = 'external.shop.group'
2890- _description = 'External Referential Shop Group'
2891-
2892- _columns = {
2893- 'name': fields.char('Name', size=64, required=True),
2894- 'referential_id': fields.many2one('external.referential', 'Referential', select=True,
2895- ondelete='cascade'),
2896- 'shop_ids': fields.one2many('sale.shop', 'shop_group_id', 'Sale Shops'),
2897- }
2898-
2899- # xxx move to BaseConnector _get_import_defaults_external_shop_group
2900- def _get_default_import_values(self, cr, uid, external_session, **kwargs):
2901- return {'referential_id' : external_session.referential_id.id}
2902-
2903-
2904-class external_referential(Model):
2905- _inherit = 'external.referential'
2906-
2907- _columns = {
2908- 'shop_group_ids': fields.one2many('external.shop.group', 'referential_id', 'Sub Entities'),
2909- }
2910-
2911-
2912-
2913-class ExternalShippingCreateError(Exception):
2914- """
2915- This error has to be raised when we tried to create a stock.picking on
2916- the external referential and the external referential has failed
2917- to create it. It must be raised only when we are SURE that the
2918- external referential will never be able to create it!
2919- """
2920- pass
2921-
2922-
2923-class sale_shop(Model):
2924- _inherit = "sale.shop"
2925-
2926- def _get_exportable_category_ids(self, cr, uid, ids, name, args, context=None):
2927- res = {}
2928- for shop in self.browse(cr, uid, ids, context=context):
2929- res[shop.id] = set()
2930- for category in shop.exportable_root_category_ids:
2931- res[shop.id] = res[shop.id].union(set(self.pool.get('product.category')._get_recursive_children_ids(cr, uid, [category.id], "", [], context)[category.id]))
2932- res[shop.id] = list(res[shop.id])
2933- return res
2934-
2935- def _get_exportable_product_ids(self, cr, uid, ids, name, args, context=None):
2936- res = {}
2937- for shop in self.read(cr, uid, ids, ['exportable_category_ids'], context=context):
2938- all_categories = shop['exportable_category_ids']
2939-
2940- # If product_m2mcategories module is installed search in main category
2941- # and extra categories. If not, only in main category
2942- cr.execute('select * from ir_module_module where name=%s and state=%s',
2943- ('product_m2mcategories','installed'))
2944- if cr.fetchone():
2945- res[shop['id']] = self.pool.get("product.product").search(cr, uid, ['|',
2946- ('categ_id', 'in', all_categories),('categ_ids', 'in', all_categories)])
2947- else:
2948- res[shop['id']] = self.pool.get("product.product").search(cr, uid,
2949- [('categ_id', 'in', all_categories)])
2950- return res
2951-
2952- def _get_referential_id(self, cr, uid, ids, name, args, context=None):
2953- res = {}
2954- for shop in self.browse(cr, uid, ids, context=context):
2955- if shop.shop_group_id:
2956- res[shop.id] = shop.shop_group_id.referential_id.id
2957- else:
2958- res[shop.id] = shop.referential_integer_id
2959- return res
2960-
2961- def _get_shop_from_shop_group(self, cr, uid, ids, context=None):
2962- return self.pool.get('sale.shop').search(cr, uid, [('shop_group_id', 'in', ids)], context=context)
2963-
2964- def _set_referential_id(self, cr, uid, id, name, value, arg, context=None):
2965- shop = self.browse(cr, uid, id, context=context)
2966- if shop.shop_group_id:
2967- raise except_osv(_("User Error"), _("You can not change the referential of this shop, please change the referential of the shop group!"))
2968- else:
2969- self.write(cr, uid, id, {'referential_integer_id': value}, context=context)
2970- return True
2971-
2972- def _get_shop_ids(self, cr, uid, ids, context=None):
2973- shop_ids=[]
2974- for group in self.pool.get('external.shop.group').browse(cr, uid, ids, context=context):
2975- shop_ids += [shop.id for shop in group.shop_ids]
2976- return shop_ids
2977-
2978- def _get_stock_field_id(self, cr, uid, context=None):
2979- if self.pool.get('ir.module.module').search(cr, uid, [
2980- ['name', '=', 'stock_available_immediately'],
2981- ['state', 'in', ['installed', 'to upgrade']],
2982- ], context=context):
2983- stock_field = 'immediately_usable_qty'
2984- else:
2985- stock_field = 'virtual_available'
2986-
2987- field_ids = self.pool.get('ir.model.fields').search(
2988- cr, uid,
2989- [('model', '=', 'product.product'),
2990- ('name', '=', stock_field)],
2991- context=context)
2992- return field_ids[0]
2993-
2994- #Depending of the e-commerce solution use you can have one or more root category
2995- #If you need only one the value will be stored in the exportable_root_category_ids fields
2996- def _get_rootcategory(self, cr, uid, ids, name, value, context=None):
2997- res = {}
2998- for shop in self.browse(cr, uid, ids, context):
2999- res[shop.id] = shop.exportable_root_category_ids and shop.exportable_root_category_ids[0].id or False
3000- return res
3001-
3002- def _set_rootcategory(self, cr, uid, id, name, value, fnct_inv_arg, context=None):
3003- return self.write(cr, uid, id, {'exportable_root_category_ids': [(6,0,[value])]}, context=context)
3004-
3005- def _get_referential_type_name(self, cr, uid, ids, field_name, arg, context=None):
3006- result = {}
3007- for shop in self.browse(cr, uid, ids):
3008- if shop.referential_id:
3009- result[shop.id] = shop.referential_id.type_id.name
3010- else:
3011- result[shop.id] = False
3012- return result
3013-
3014- _columns = {
3015- 'exportable_category_ids': fields.function(_get_exportable_category_ids, type='many2many', relation="product.category", string='Exportable Categories'),
3016- 'exportable_root_category_ids': fields.many2many('product.category', 'shop_category_rel', 'categ_id', 'shop_id', 'Exportable Root Categories'),
3017- 'exportable_root_category_id':fields.function(_get_rootcategory, fnct_inv = _set_rootcategory, type="many2one", relation="product.category", string="Root Category"),
3018- 'exportable_product_ids': fields.function(_get_exportable_product_ids, type='many2many', relation="product.product", string='Exportable Products'),
3019- 'shop_group_id': fields.many2one('external.shop.group', 'Shop Group', ondelete='cascade'),
3020- 'last_inventory_export_date': fields.datetime('Last Inventory Export Time'),
3021- 'last_images_export_date': fields.datetime('Last Images Export Time'),
3022- 'last_update_order_export_date' : fields.datetime('Last Order Update Time'),
3023- 'last_products_export_date' : fields.datetime('Last Product Export Time'),
3024- 'last_special_products_export_date' : fields.datetime('Last Special Product Export Time'),
3025- 'last_category_export_date' : fields.datetime('Last Category Export Time'),
3026- 'referential_id': fields.function(_get_referential_id,
3027- fnct_inv=_set_referential_id, type='many2one',
3028- relation='external.referential', string='External Referential', store={
3029- 'sale.shop': (lambda self, cr, uid, ids, c={}: ids, ['referential_integer_id', 'shop_group_id'], 10),
3030- 'external.shop.group': (_get_shop_from_shop_group, ['referential_id'], 20),
3031- }),
3032- 'referential_integer_id': fields.integer('Referential Integer ID'),
3033- 'is_tax_included': fields.boolean('Prices Include Tax', help="Does the external system work with Taxes Inclusive Prices ?"),
3034- 'sale_journal': fields.many2one('account.journal', 'Sale Journal'),
3035- 'order_prefix': fields.char('Order Prefix', size=64),
3036- 'default_payment_method_id': fields.many2one('payment.method', 'Payment Method'),
3037- 'default_language': fields.many2one('res.lang', 'Default Language'),
3038- 'default_fiscal_position': fields.many2one('account.fiscal.position', 'Default Fiscal Position'),
3039- 'default_customer_account': fields.many2one('account.account', 'Default Customer Account'),
3040- 'default_customer_lang': fields.many2one('res.lang', 'Default Customer Language'),
3041- 'auto_import': fields.boolean('Automatic Import'),
3042- 'address_id':fields.many2one('res.partner.address', 'Address'),
3043- 'website': fields.char('Website', size=64),
3044- 'image':fields.binary('Image', filters='*.png,*.jpg,*.gif'),
3045- 'use_external_tax': fields.boolean(
3046- 'Use External Taxes',
3047- help="If activated, the external taxes will be applied.\n"
3048- "If not activated, OpenERP will compute them "
3049- "according to default values and fiscal positions."),
3050- 'import_orders_from_date': fields.datetime('Only created after'),
3051- 'check_total_amount': fields.boolean('Check Total Amount', help="The total amount computed by OpenERP should match with the external amount, if not the sale order can not be confirmed."),
3052- 'type_name': fields.function(_get_referential_type_name, type='char', string='Referential type',
3053- store={
3054- 'sale.shop': (lambda self, cr, uid, ids, c={}: ids, ['referential_id', 'shop_group_id'],10)}),
3055- 'product_stock_field_id': fields.many2one(
3056- 'ir.model.fields',
3057- string='Stock Field',
3058- domain="[('model', 'in', ['product.product', 'product.template']),"
3059- " ('ttype', '=', 'float')]",
3060- help="Choose the field of the product which will be used for "
3061- "stock inventory updates.\nIf empty, Quantity Available "
3062- "is used"),
3063- }
3064-
3065- _defaults = {
3066- 'payment_default_id': 1, #required field that would cause trouble if not set when importing
3067- 'auto_import': True,
3068- 'use_external_tax': True,
3069- 'product_stock_field_id': _get_stock_field_id,
3070- }
3071-
3072- def init_context_before_exporting_resource(self, cr, uid, external_session, object_id, resource_name, context=None):
3073- context = super(sale_shop, self).init_context_before_exporting_resource(cr, uid, external_session, object_id, resource_name, context=context)
3074- context['pricelist'] = external_session.sync_from_object.get_pricelist(context=context)
3075- return context
3076-
3077- def get_pricelist(self, cr, uid, id, context=None):
3078- if isinstance(id, list):
3079- id=id[0]
3080- shop = self.browse(cr, uid, id, context=context)
3081- if shop.pricelist_id:
3082- return shop.pricelist_id.id
3083- else:
3084- return self.pool.get('product.pricelist').search(cr, uid, [('type', '=', 'sale'), ('active', '=', True)], context=context)[0]
3085-
3086- def export_catalog(self, cr, uid, ids, context=None):
3087- if context is None: context={}
3088- self.export_resources(cr, uid, ids, 'product.category', context=context)
3089- # In various e-commerce system product can depend of other products
3090- # So the simple product (with no dependency) are exported in priority
3091- # Then the special product (with dependency) are exported at the end
3092- context['export_product'] = 'simple'
3093- self.export_resources(cr, uid, ids, 'product.product', context=context)
3094- context['export_product'] = 'special'
3095- self.export_resources(cr, uid, ids, 'product.product', context=context)
3096- #Export Images
3097- self.export_resources(cr, uid, ids, 'product.images', context=context)
3098-
3099- #TODO export link
3100- #TODO update the last date
3101- #I don't know where it's the best to update it here or in the export functions
3102- #take care about concurent write with different cursor
3103-
3104-
3105- return True
3106-
3107- def export_inventory(self, cr, uid, ids, context=None):
3108- if context is None:
3109- context = {}
3110- for shop in self.browse(cr, uid, ids):
3111- external_session = ExternalSession(shop.referential_id, shop)
3112- self._export_inventory(cr, uid, external_session, ids, context=context)
3113- return True
3114-
3115- def _get_product_ids_for_stock_to_export(self, cr, uid, shop, context=None):
3116- return [product.id for product in shop.exportable_product_ids]
3117-
3118- def _export_inventory(self, cr, uid, external_session, ids, context=None):
3119- shop = external_session.sync_from_object
3120- stock_move_obj = self.pool.get('stock.move')
3121- for shop in self.browse(cr, uid, ids):
3122- external_session = ExternalSession(shop.referential_id, shop)
3123-
3124- product_ids = self._get_product_ids_for_stock_to_export(cr, uid, shop, context=context)
3125-
3126- if shop.last_inventory_export_date:
3127- # we do not exclude canceled moves because it means
3128- # some stock levels could have increased since last export
3129- recent_move_ids = stock_move_obj.search(
3130- cr, uid,
3131- [('write_date', '>', shop.last_inventory_export_date),
3132- ('product_id', 'in', product_ids),
3133- ('product_id.type', '!=', 'service'),
3134- ('state', '!=', 'draft')],
3135- context=context)
3136- else:
3137- recent_move_ids = stock_move_obj.search(
3138- cr, uid,
3139- [('product_id', 'in', product_ids)],
3140- context=context)
3141-
3142- recent_moves = stock_move_obj.browse(
3143- cr, uid, recent_move_ids, context=context)
3144-
3145- product_ids = [move.product_id.id
3146- for move
3147- in recent_moves
3148- if move.product_id.state != 'obsolete']
3149- product_ids = list(set(product_ids))
3150- external_session.logger.info('Export Stock for %s products' %len(product_ids))
3151- self.pool.get('product.product').export_inventory(
3152- cr, uid, external_session, product_ids, context=context)
3153- shop.write({'last_inventory_export_date':
3154- time.strftime(DEFAULT_SERVER_DATETIME_FORMAT)})
3155- return True
3156-
3157- def import_catalog(self, cr, uid, ids, context):
3158- #TODO import categories, then products
3159- raise except_osv(_("Not Implemented"), _("Not Implemented in abstract base module!"))
3160-
3161- def import_orders(self, cr, uid, ids, context=None):
3162- self.import_resources(cr, uid, ids, 'sale.order', context=context)
3163- return True
3164-
3165- def check_need_to_update(self, cr, uid, ids, context=None):
3166- """ This function will update the order status in OpenERP for
3167- the order which are in the state 'need to update' """
3168- for shop in self.browse(cr, uid, ids, context=context):
3169- external_session = ExternalSession(shop.referential_id, shop)
3170- so_obj = self.pool.get('sale.order')
3171- orders_to_update = so_obj.search(cr, uid,
3172- [('need_to_update', '=', True),
3173- ('shop_id', '=', shop.id)],
3174- context=context)
3175- so_obj._check_need_to_update(cr, uid, external_session, orders_to_update, context=context)
3176- return False
3177-
3178- def _update_order_query(self, cr, uid, shop, context=None):
3179- req = """
3180- SELECT ir_model_data.res_id, ir_model_data.name
3181- FROM sale_order
3182- INNER JOIN ir_model_data ON sale_order.id = ir_model_data.res_id
3183- WHERE ir_model_data.model='sale.order' AND sale_order.shop_id=%s
3184- AND ir_model_data.referential_id NOTNULL
3185- """
3186- params = (shop.id,)
3187- if shop.last_update_order_export_date:
3188- req += "AND sale_order.update_state_date > %s"
3189- params = (shop.id, shop.last_update_order_export_date)
3190- return req, params
3191-
3192- def update_orders(self, cr, uid, ids, context=None):
3193- if context is None:
3194- context = {}
3195- for shop in self.browse(cr, uid, ids):
3196- external_session = ExternalSession(shop.referential_id, shop)
3197- #get all orders, which the state is not draft and the date of modification is superior to the last update, to exports
3198- cr.execute(*self._update_order_query(cr, uid, shop, context=context))
3199- results = cr.fetchall()
3200- for result in results:
3201- ids = self.pool.get('sale.order').search(cr, uid, [('id', '=', result[0])])
3202- if ids:
3203- id = ids[0]
3204- order = self.pool.get('sale.order').browse(cr, uid, id, context)
3205- order_ext_id = result[1].split('sale_order/')[1]
3206- res = self.update_shop_orders(cr, uid, external_session, order, order_ext_id, context)
3207- if res:
3208- external_session.logger.info(_("Successfully updated order with OpenERP id %s and ext id %s in external sale system") % (id, order_ext_id))
3209- self.pool.get('sale.shop').write(cr, uid, shop.id, {'last_update_order_export_date': time.strftime(DEFAULT_SERVER_DATETIME_FORMAT)})
3210- return False
3211-
3212- def export_shop_partners(self, cr, uid, ids, context=None):
3213- if context is None: context={}
3214- self.export_resources(cr, uid, ids, 'res.partner', context=context)
3215- return True
3216-
3217- def update_shop_orders(self, cr, uid, external_session, order, ext_id, context):
3218- raise except_osv(_("Not Implemented"), _("Not Implemented in abstract base module!"))
3219-
3220- def _export_shipping_query(self, cr, uid, shop, context=None):
3221- query = """
3222- SELECT stock_picking.id AS picking_id,
3223- sale_order.id AS order_id,
3224- count(pickings.id) AS picking_number
3225- FROM stock_picking
3226- LEFT JOIN sale_order
3227- ON sale_order.id = stock_picking.sale_id
3228- LEFT JOIN stock_picking as pickings
3229- ON (sale_order.id = pickings.sale_id
3230- AND pickings.type='out'
3231- AND pickings.state!='cancel')
3232- LEFT JOIN ir_model_data
3233- ON stock_picking.id = ir_model_data.res_id
3234- AND ir_model_data.model = 'stock.picking'
3235- LEFT JOIN delivery_carrier
3236- ON delivery_carrier.id = stock_picking.carrier_id
3237- WHERE sale_order.shop_id = %(shop_id)s
3238- AND ir_model_data.res_id ISNULL
3239- AND stock_picking.state = 'done'
3240- AND stock_picking.type = 'out'
3241- AND NOT stock_picking.do_not_export
3242- AND (NOT delivery_carrier.export_needs_tracking
3243- OR stock_picking.carrier_tracking_ref IS NOT NULL)
3244- GROUP BY stock_picking.id,
3245- sale_order.id,
3246- delivery_carrier.export_needs_tracking,
3247- stock_picking.carrier_tracking_ref,
3248- stock_picking.backorder_id
3249- ORDER BY sale_order.id ASC,
3250- COALESCE(stock_picking.backorder_id, NULL, 0) ASC"""
3251- params = {'shop_id': shop.id}
3252- return query, params
3253-
3254- def export_shipping(self, cr, uid, ids, context):
3255- picking_obj = self.pool.get('stock.picking')
3256- for shop in self.browse(cr, uid, ids):
3257- cr.execute(*self._export_shipping_query(
3258- cr, uid, shop, context=context))
3259- results = cr.dictfetchall()
3260- if not results:
3261- _logger.info("There is no shipping to export for the shop '%s' to the external referential", shop.name)
3262- continue
3263- context['conn_obj'] = shop.referential_id.external_connection()
3264-
3265-
3266- picking_cr = pooler.get_db(cr.dbname).cursor()
3267- try:
3268- for result in results:
3269- picking_id = result['picking_id']
3270-
3271- if result["picking_number"] == 1:
3272- picking_type = 'complete'
3273- else:
3274- picking_type = 'partial'
3275-
3276- ext_shipping_id = False
3277- try:
3278- ext_shipping_id = picking_obj.create_ext_shipping(
3279- picking_cr, uid, picking_id, picking_type,
3280- shop.referential_id.id, context)
3281- except ExternalShippingCreateError, e:
3282- # when the creation has failed on the external
3283- # referential and we know that we can never
3284- # create it, we flag it as do_not_export
3285- # ExternalShippingCreateError raising has to be
3286- # correctly handled by create_ext_shipping()
3287- picking_obj.write(
3288- picking_cr, uid,
3289- picking_id,
3290- {'do_not_export': True},
3291- context=context)
3292-
3293- if ext_shipping_id:
3294- picking_obj.create_external_id_vals(
3295- picking_cr,
3296- uid,
3297- picking_id,
3298- ext_shipping_id,
3299- shop.referential_id.id,
3300- context=context)
3301- _logger.info("Successfully creating shipping with OpenERP id %s and ext id %s in external sale system", result["picking_id"], ext_shipping_id)
3302- picking_cr.commit()
3303- finally:
3304- picking_cr.close()
3305- return True
3306-
3307- def export_invoices(self, cr, uid, ids, context=None):
3308- invoice_obj = self.pool.get('account.invoice')
3309- for shop in self.browse(cr, uid, ids, context=None):
3310- external_session = ExternalSession(shop.referential_id, shop)
3311- invoice_ids = self.get_invoice_to_export(cr, uid, shop.id, context=context)
3312- if not invoice_ids:
3313- external_session.logger.info("There is no invoice to export for the shop '%s' to the external referential" % (shop.name,))
3314- for invoice_id in invoice_ids:
3315- self.pool.get('account.invoice')._export_one_resource(cr, uid, external_session, invoice_id, context=context)
3316- return True
3317-
3318- def get_invoice_to_export(self, cr, uid, shop_id, context=None):
3319- shop = self.browse(cr, uid, shop_id, context=context)
3320- cr.execute(*self._export_invoice_query(cr, uid, shop, context=context))
3321- results = cr.dictfetchall()
3322- return [res['invoice_id'] for res in results]
3323-
3324- def _export_invoice_query(self, cr, uid, shop, context=None):
3325- query = """
3326- SELECT account_invoice.id AS invoice_id
3327- FROM account_invoice
3328- LEFT JOIN ir_model_data
3329- ON account_invoice.id = ir_model_data.res_id
3330- AND ir_model_data.model = 'account.invoice'
3331- AND referential_id = %(referential_id)s
3332- WHERE shop_id = %(shop_id)s
3333- AND ir_model_data.res_id ISNULL
3334- AND account_invoice.state in ('paid', 'open')
3335- AND NOT account_invoice.do_not_export
3336- """
3337- params = {'shop_id': shop.id, 'referential_id': shop.referential_id.id}
3338- return query, params
3339-
3340-sale_shop()
3341-
3342-
3343-class sale_order(Model):
3344- _inherit = "sale.order"
3345-
3346- _columns = {
3347- 'need_to_update': fields.boolean('Need To Update'),
3348- 'ext_total_amount': fields.float(
3349- 'Origin External Amount',
3350- digits_compute=dp.get_precision('Sale Price'),
3351- readonly=True),
3352- 'ext_total_amount_tax': fields.float(
3353- 'Origin External Tax Amount',
3354- digits_compute=dp.get_precision('Sale Price'),
3355- readonly=True),
3356- 'referential_id': fields.related(
3357- 'shop_id', 'referential_id',
3358- type='many2one', relation='external.referential',
3359- string='External Referential'),
3360- 'update_state_date': fields.datetime('Update State Date'),
3361- 'shipping_tax_amount': fields.dummy(string = 'Shipping Taxe Amount'),
3362- 'shipping_amount_tax_excluded': fields.dummy(string = 'Shipping Price Tax Exclude'),
3363- 'shipping_amount_tax_included': fields.dummy(string = 'Shipping Price Tax Include'),
3364- }
3365-
3366- _defaults = {
3367- 'need_to_update': False,
3368- }
3369-
3370- def write(self, cr, uid, ids, vals, context=None):
3371- if 'state' in vals:
3372- vals['update_state_date'] = datetime.now().strftime(DEFAULT_SERVER_DATETIME_FORMAT)
3373- return super(sale_order, self).write(cr, uid, ids, vals, context=context)
3374-
3375- # xxx move to BaseConnector _get_import_defaults_sale_order
3376- def _get_default_import_values(self, cr, uid, external_session, mapping_id=None, defaults=None, context=None):
3377- shop = False
3378- if external_session.sync_from_object._name == 'sale.shop':
3379- shop = external_session.sync_from_object
3380- elif context.get('sale_shop_id'):
3381- shop = self.pool.get('sale.shop').browse(cr, uid, context['sale_shop_id'], context=context)
3382- if shop:
3383- if defaults is None: defaults = {}
3384- defaults.update({
3385- 'pricelist_id': shop.get_pricelist(context=context),
3386- 'shop_id': shop.id,
3387- 'fiscal_position': shop.default_fiscal_position.id,
3388- 'payment_method_id': shop.default_payment_method_id.id,
3389- 'company_id': shop.company_id.id,
3390- })
3391- #TODO we should avoid passing this parameter in the context
3392- #for now we new it for importing order from wizard correctly
3393- #refactor for V7
3394- context.update({
3395- 'use_external_tax': shop.use_external_tax,
3396- 'is_tax_included': shop.is_tax_included,
3397- })
3398- return defaults
3399-
3400- @open_report
3401- def _import_resources(self, cr, uid, external_session, defaults=None, method="search_then_read", context=None):
3402- if context is None: context={}
3403- shop = external_session.sync_from_object
3404- if shop:
3405- context.update({
3406- 'use_external_tax': shop.use_external_tax,
3407- 'is_tax_included': shop.is_tax_included,
3408- })
3409- return super(sale_order, self)._import_resources(cr, uid, external_session, defaults=defaults, method=method, context=context)
3410-
3411-
3412- def check_if_order_exist(self, cr, uid, external_session, resource, order_mapping=None, defaults=None, context=None):
3413- mapping_name = False
3414- for line in order_mapping['mapping_lines']:
3415- if line['internal_field'] == 'name':
3416- mapping_name = line
3417- if mapping_name:
3418- local_mapping = {1: {'mapping_lines': [mapping_name]}}
3419- vals = self._transform_one_resource(cr, uid, external_session,
3420- 'from_external_to_openerp', resource,
3421- mapping=local_mapping,
3422- mapping_id=1,
3423- defaults=defaults,
3424- context=context)
3425- if vals.get('name'):
3426- exist_id = self.search(cr, uid, [['name', '=', vals['name']]], context=context)
3427- if exist_id:
3428- external_session.logger.info("Sale Order %s already exist in OpenERP,"
3429- "no need to import it again"%vals['name'])
3430- return True
3431-
3432- return False
3433-
3434- # xxx a deplacer dans BaseConnector sale_order
3435- @catch_error_in_report
3436- def _record_one_external_resource(self, cr, uid, external_session, resource, defaults=None,
3437- mapping=None, mapping_id=None, context=None):
3438- mapping, mapping_id = self._init_mapping(cr, uid, external_session.referential_id.id,
3439- mapping=mapping, mapping_id=mapping_id, context=context)
3440- exist_id = self.check_if_order_exist(cr, uid, external_session, resource,
3441- order_mapping=mapping[mapping_id], defaults=defaults, context=context)
3442- if exist_id:
3443- return {}
3444- else:
3445- return super(sale_order, self)._record_one_external_resource(cr, uid, external_session, resource,
3446- defaults=defaults, mapping=mapping, mapping_id=mapping_id, context=context)
3447-
3448- def _check_need_to_update(self, cr, uid, external_session, ids, context=None):
3449- """
3450- For each order, check in external system if it has been paid since last
3451- check. If so, it will launch the defined flow based on the
3452- payment type (validate order, invoice, ...)
3453- """
3454- for order in self.browse(cr, uid, ids, context=context):
3455- self._check_need_to_update_single(cr, uid, external_session, order, context=context)
3456- return True
3457-
3458- def _check_need_to_update_single(self, cr, uid, external_session, order, context=None):
3459- """Not implemented in this abstract module"""
3460- return True
3461-
3462- def _get_params_onchange_partner_id(self, cr, uid, vals, context=None):
3463- args = [
3464- 'None',
3465- vals.get('partner_id'),
3466- ]
3467- return args, {}
3468-
3469- #I will probably extract this code in order to put it in a "glue" module
3470- def _get_params_onchange_address_id(self, cr, uid, vals, context=None):
3471- args = [
3472- None,
3473- vals.get('partner_invoice_id'),
3474- vals.get('partner_shipping_id'),
3475- vals.get('partner_id'),
3476- ]
3477- kwargs = {
3478- 'shop_id': vals.get('shop_id'),
3479- }
3480- return args, kwargs
3481-
3482- def play_sale_order_onchange(self, cr, uid, vals, defaults=None, context=None):
3483- ir_module_obj= self.pool.get('ir.module.module')
3484- if ir_module_obj.search(cr, uid, [
3485- ['name', '=', 'account_fiscal_position_rule_sale'],
3486- ['state', 'in', ['installed', 'to upgrade']],
3487- ], context=context):
3488- vals = self.call_onchange(cr, uid, 'onchange_partner_id', vals, defaults, context=context)
3489- vals = self.call_onchange(cr, uid, 'onchange_address_id', vals, defaults, context=context)
3490- else:
3491- vals = self.call_onchange(cr, uid, 'onchange_partner_id', vals, defaults, context=context)
3492-
3493-
3494- return vals
3495-
3496- def _merge_with_default_values(self, cr, uid, external_session, ressource, vals, sub_mapping_list, defaults=None, context=None):
3497- if vals.get('name'):
3498- shop = external_session.sync_from_object
3499- if shop.order_prefix:
3500- vals['name'] = '%s%s' %(shop.order_prefix, vals['name'])
3501- if context is None: context ={}
3502- if vals.get('payment_method_id'):
3503- payment_method = self.pool.get('payment.method').browse(cr, uid, vals['payment_method_id'], context=context)
3504- workflow_process = payment_method.workflow_process_id
3505- if workflow_process:
3506- vals['order_policy'] = workflow_process.order_policy
3507- vals['picking_policy'] = workflow_process.picking_policy
3508- vals['invoice_quantity'] = workflow_process.invoice_quantity
3509- # update vals with order onchange in order to compute taxes
3510- vals = self.play_sale_order_onchange(cr, uid, vals, defaults=defaults, context=context)
3511- return super(sale_order, self)._merge_with_default_values(cr, uid, external_session, ressource, vals, sub_mapping_list, defaults=defaults, context=context)
3512-
3513- def oe_create(self, cr, uid, external_session, vals, resource, defaults, context):
3514- #depending of the external system the contact address can be optionnal
3515- vals = self._convert_special_fields(cr, uid, vals, external_session.referential_id.id, context=context)
3516- if not vals.get('partner_order_id'):
3517- vals['partner_order_id'] = vals['partner_invoice_id']
3518- if not vals.get('partner_shipping_id'):
3519- vals['partner_shipping_id'] = vals['partner_invoice_id']
3520- order_id = super(sale_order, self).oe_create(cr, uid, external_session, vals, resource, defaults, context)
3521- self.paid_and_update(cr, uid, external_session, order_id, resource, context=context)
3522- return order_id
3523-
3524- def paid_and_update(self, cr, uid, external_session, order_id, resource, context=None):
3525- wf_service = netsvc.LocalService("workflow")
3526- paid = self.create_external_payment(cr, uid, external_session, order_id, resource, context)
3527- order = self.browse(cr, uid, order_id, context=context)
3528- validate_order = order.workflow_process_id.validate_order
3529- if validate_order == 'always' or validate_order == 'if_paid' and paid:
3530- try:
3531- wf_service.trg_validate(uid, 'sale.order', order.id, 'order_confirm', cr)
3532- except:
3533- raise
3534- #What we should do?? creating the order but not validating it???
3535- #Maybe setting a special flag can be a good solution? with a retry method?
3536- return True
3537-
3538- elif validate_order == 'if_paid' and order.payment_method_id.automatic_update:
3539- days_before_order_cancel = order.workflow_process_id.days_before_order_cancel or 30
3540- order_date = datetime.strptime(order.date_order, DEFAULT_SERVER_DATE_FORMAT)
3541- order_cancel_date = order_date + relativedelta(days=days_before_order_cancel)
3542- if order.state == 'draft' and order_cancel_date < datetime.now():
3543- wf_service.trg_validate(uid, 'sale.order', order.id, 'cancel', cr)
3544- self.write(cr, uid, order.id, {'need_to_update': False})
3545- self.log(cr, uid, order.id, ("order %s canceled in OpenERP because older than % days"
3546- "and still not confirmed") % (order.id, days_before_order_cancel))
3547- #TODO eventually call a trigger to cancel the order in the external system too
3548- external_session.logger.info(("order %s canceled in OpenERP because older than % days and "
3549- "still not confirmed") %(order.id, days_before_order_cancel))
3550- else:
3551- self.write(cr, uid, order_id, {'need_to_update': True}, context=context)
3552- return False
3553-
3554- def create_external_payment(self, cr, uid, external_session, order_id, resource, context):
3555- """
3556- Fonction that will create a payment from the external resource
3557- """
3558- vals = self._get_payment_information(cr, uid, external_session, order_id, resource, context=context)
3559- if vals.get('paid'):
3560- if not vals.get('journal_id'):
3561- external_session.logger.warning(_("Not journal found for payment method %s. Can not create payment")%vals['payment_method'])
3562- vals['paid'] = False
3563- else:
3564- self.pay_sale_order(cr, uid, order_id, vals['journal_id'], vals['amount'], vals['date'], context=context)
3565- return vals.get('paid')
3566-
3567- def _get_payment_information(self, cr, uid, external_session, order_id, resource, context=None):
3568- """
3569- Function that will return the information in order to create the payment
3570- """
3571- vals = {}
3572- sale = self.browse(cr, uid, order_id, context=context)
3573- vals['payment_method'] = sale.payment_method_id.name
3574- vals['journal_id'] = sale.payment_method_id.journal_id and sale.payment_method_id.journal_id.id
3575- vals['date'] = sale.date_order
3576- return vals
3577-
3578- def _prepare_invoice(self, cr, uid, order, lines, context=None):
3579- """Prepare the dict of values to create the new invoice for a
3580- sale order. This method may be overridden to implement custom
3581- invoice generation (making sure to call super() to establish
3582- a clean extension chain).
3583-
3584- :param browse_record order: sale.order record to invoice
3585- :param list(int) lines: list of invoice line IDs that must be
3586- attached to the invoice
3587- :return: dict of value to create() the invoice
3588- """
3589- vals = super(sale_order, self)._prepare_invoice(cr, uid, order, lines, context=context)
3590- if order.shop_id.sale_journal:
3591- vals['journal_id'] = order.shop_id.sale_journal.id
3592- vals['shop_id'] = order.shop_id.id
3593- return vals
3594-
3595- def _prepare_order_picking(self, cr, uid, order, context=None):
3596- vals = super(sale_order, self)._prepare_order_picking(cr, uid, order, context=context)
3597- vals['shop_id'] = order.shop_id.id
3598- return vals
3599-
3600- def oe_update(self, cr, uid, external_session, existing_rec_id, vals, resource, defaults, context=None):
3601- '''Not implemented in this abstract module, if it's not implemented in your module it will raise an error'''
3602- # Explication :
3603- # sometime customer can do ugly thing like renamming a sale_order and try to reimported it,
3604- # sometime openerp run two scheduler at the same time, or the customer launch two openerp at the same time
3605- # or the external system give us again an already imported order
3606- # As the update of an existing order (this is not the update of the status but the update of the line, the address...)
3607- # is not supported by base_sale_multichannels and also not in magentoerpconnect.
3608- # It's better to don't allow this feature to avoid hidding a problem.
3609- # It's better to have the order not imported and to know it than having order with duplicated line.
3610- if not (context and context.get('oe_update_supported', False)):
3611- #TODO found a clean solution to raise the except_osv error in the try except of the function import_with_try
3612- raise except_osv(_("Not Implemented"), _(("The order with the id %s try to be updated from the external system."
3613- " This feature is not supported. Maybe the import try to reimport an existing sale order"%(existing_rec_id,))))
3614- return super(sale_order, self).oe_update(cr, uid, external_session, existing_rec_id, vals, resource, defaults, context=context)
3615-
3616- def _convert_special_fields(self, cr, uid, vals, referential_id, context=None):
3617- """
3618- Convert the special 'fake' field into an order line
3619- special field are :
3620- - shipping amount and shipping_tax_rate
3621- - cash_on_delivery and cash_on_delivery_taxe_rate
3622- - gift_certificates
3623-
3624- :param dict vals : values of the sale order to create
3625- :param int referential_id : external referential id
3626- :return: the value for the sale order with the special field converted
3627- :rtype: dict
3628- """
3629- def check_key(keys):
3630- return len(set([
3631- 'shipping_amount_tax_excluded',
3632- 'shipping_amount_tax_included',
3633- 'shipping_tax_amount'])
3634- & set(keys)) >= 2
3635-
3636- for line in vals['order_line']:
3637- for field in ['shipping_amount_tax_excluded','shipping_amount_tax_included', 'shipping_tax_amount']:
3638- if field in line[2]:
3639- vals[field] = vals.get(field, 0.0) + line[2][field]
3640- del line[2][field]
3641-
3642- if not 'shipping_tax_rate' in vals and check_key(vals.keys()):
3643- if not 'shipping_amount_tax_excluded' in vals:
3644- vals['shipping_amount_tax_excluded'] = vals['shipping_amount_tax_included'] - vals['shipping_tax_amount']
3645- elif not 'shipping_tax_amount' in vals:
3646- vals['shipping_tax_amount'] = vals['shipping_amount_tax_included'] - vals['shipping_amount_tax_excluded']
3647- vals['shipping_tax_rate'] = vals['shipping_amount_tax_excluded'] and \
3648- vals['shipping_tax_amount'] / vals['shipping_amount_tax_excluded'] or 0
3649- del vals['shipping_tax_amount']
3650- for option in self._get_special_fields(cr, uid, context=context):
3651- vals = self._add_order_extra_line(cr, uid, vals, option, context=context)
3652- return vals
3653-
3654-
3655- def _get_special_fields(self, cr, uid, context=None):
3656- return [
3657- {
3658- 'price_unit_tax_excluded' : 'shipping_amount_tax_excluded',
3659- 'price_unit_tax_included' : 'shipping_amount_tax_included',
3660- 'tax_rate_field' : 'shipping_tax_rate',
3661- 'product_ref' : ('base_sale_multichannels', 'product_product_shipping'),
3662- },
3663- {
3664- 'tax_rate_field' : 'cash_on_delivery_taxe_rate',
3665- 'price_unit_tax_excluded' : 'cash_on_delivery_amount_tax_excluded',
3666- 'price_unit_tax_included' : 'cash_on_delivery_amount_tax_included',
3667- 'product_ref' : ('base_sale_multichannels', 'product_product_cash_on_delivery'),
3668- },
3669- {
3670- 'price_unit_tax_excluded' : 'gift_certificates_amount', #gift certificate doesn't have any tax
3671- 'price_unit_tax_included' : 'gift_certificates_amount',
3672- 'product_ref' : ('base_sale_multichannels', 'product_product_gift'),
3673- 'code_field': 'gift_certificates_code',
3674- 'sign': -1,
3675- },
3676- ]
3677-
3678- def _add_order_extra_line(self, cr, uid, vals, option, context):
3679- """ Add or substract amount on order as a separate line item with single quantity for each type of amounts like :
3680- shipping, cash on delivery, discount, gift certificates...
3681-
3682- :param dict vals: values of the sale order to create
3683- :param option: dictionnary of option for the special field to process
3684- """
3685- if context is None: context={}
3686- sign = option.get('sign', 1)
3687- if context.get('is_tax_included') and vals.get(option['price_unit_tax_included']):
3688- price_unit = vals.pop(option['price_unit_tax_included']) * sign
3689- elif vals.get(option['price_unit_tax_excluded']):
3690- price_unit = vals.pop(option['price_unit_tax_excluded']) * sign
3691- else:
3692- for key in ['price_unit_tax_excluded', 'price_unit_tax_included', 'tax_rate_field']:
3693- if option.get(key) and option[key] in vals:
3694- del vals[option[key]]
3695- return vals #if there is not price, we have nothing to import
3696-
3697- model_data_obj = self.pool.get('ir.model.data')
3698- model, product_id = model_data_obj.get_object_reference(cr, uid, *option['product_ref'])
3699- product = self.pool.get('product.product').browse(cr, uid, product_id, context)
3700-
3701- extra_line = {
3702- 'product_id': product.id,
3703- 'name': product.name,
3704- 'product_uom': product.uom_id.id,
3705- 'product_uom_qty': 1,
3706- 'price_unit': price_unit,
3707- }
3708-
3709- extra_line = self.pool.get('sale.order.line').play_sale_order_line_onchange(cr, uid, extra_line, vals, vals['order_line'], context=context)
3710- if context.get('use_external_tax') and option.get('tax_rate_field'):
3711- tax_rate = vals.pop(option['tax_rate_field'])
3712- if tax_rate:
3713- line_tax_id = self.pool.get('account.tax').get_tax_from_rate(cr, uid, tax_rate, context.get('is_tax_included'), context=context)
3714- if not line_tax_id:
3715- raise except_osv(_('Error'), _('No tax id found for the rate %s with the tax include = %s')%(tax_rate, context.get('is_tax_included')))
3716- extra_line['tax_id'] = [(6, 0, [line_tax_id])]
3717- else:
3718- extra_line['tax_id'] = False
3719- if not option.get('tax_rate_field'):
3720- del extra_line['tax_id']
3721- ext_code_field = option.get('code_field')
3722- if ext_code_field and vals.get(ext_code_field):
3723- extra_line['name'] = "%s [%s]" % (extra_line['name'], vals[ext_code_field])
3724- vals['order_line'].append((0, 0, extra_line))
3725- return vals
3726-
3727-class sale_order_line(Model):
3728- _inherit='sale.order.line'
3729-
3730- _columns = {
3731- 'ext_product_ref': fields.char('Product Ext Ref',
3732- help="This is the original external product reference", size=256),
3733- 'shipping_tax_amount': fields.dummy(string = 'Shipping Taxe Amount'),
3734- 'shipping_amount_tax_excluded': fields.dummy(string = 'Shipping Price Tax Exclude'),
3735- 'shipping_amount_tax_included': fields.dummy(string = 'Shipping Price Tax Include'),
3736- 'ext_ref_line': fields.char('Ext. Ref Line', size=64,
3737- help='Unique order line id delivered by external application'),
3738- }
3739-
3740- def _get_params_product_id_change(self, cr, uid, line, parent_data, previous_lines, context=None):
3741- args = [
3742- None,
3743- parent_data.get('pricelist_id'),
3744- line.get('product_id')
3745- ]
3746- kwargs ={
3747- 'qty': float(line.get('product_uom_qty')),
3748- 'uom': line.get('product_uom'),
3749- 'qty_uos': float(line.get('product_uos_qty') or line.get('product_uom_qty')),
3750- 'uos': line.get('product_uos'),
3751- 'name': line.get('name'),
3752- 'partner_id': parent_data.get('partner_id'),
3753- 'lang': False,
3754- 'update_tax': True,
3755- 'date_order': parent_data.get('date_order'),
3756- 'packaging': line.get('product_packaging'),
3757- 'fiscal_position': parent_data.get('fiscal_position'),
3758- 'flag': False,
3759- 'context': context,
3760- }
3761- return args, kwargs
3762-
3763- def play_sale_order_line_onchange(self, cr, uid, line, parent_data, previous_lines, defaults=None, context=None):
3764- original_line = line.copy()
3765- if not context.get('use_external_tax') and 'tax_id' in line:
3766- del line['tax_id']
3767- line = self.call_onchange(cr, uid, 'product_id_change', line, defaults=defaults, parent_data=parent_data, previous_lines=previous_lines, context=context)
3768- #TODO all m2m should be mapped correctly
3769- if context.get('use_external_tax'):
3770- #if we use the external tax and the onchange have added a taxe,
3771- #them we remove it.
3772- #Indeed we have to make the difference between a real tax_id
3773- #imported and a default value set by the onchange
3774- if not 'tax_id' in original_line and 'tax_id' in line:
3775- del line['tax_id']
3776- elif line.get('tax_id'):
3777- line['tax_id'] = [(6, 0, line['tax_id'])]
3778- return line
3779-
3780- def _transform_one_resource(self, cr, uid, external_session, convertion_type, resource, mapping, mapping_id,
3781- mapping_line_filter_ids=None, parent_data=None, previous_result=None, defaults=None, context=None):
3782- if context is None: context={}
3783- line = super(sale_order_line, self)._transform_one_resource(cr, uid, external_session, convertion_type, resource,
3784- mapping, mapping_id, mapping_line_filter_ids=mapping_line_filter_ids, parent_data=parent_data,
3785- previous_result=previous_result, defaults=defaults, context=context)
3786-
3787- if context.get('is_tax_included') and 'price_unit_tax_included' in line:
3788- line['price_unit'] = line['price_unit_tax_included']
3789- elif 'price_unit_tax_excluded' in line:
3790- line['price_unit'] = line['price_unit_tax_excluded']
3791-
3792- line = self.play_sale_order_line_onchange(cr, uid, line, parent_data, previous_result,
3793- defaults, context=context)
3794- if context.get('use_external_tax'):
3795- if not 'tax_id' in line and line.get('tax_rate'):
3796- line_tax_id = self.pool.get('account.tax').get_tax_from_rate(cr, uid, line['tax_rate'], context.get('is_tax_included', False), context=context)
3797- if not line_tax_id:
3798- raise except_osv(_('Error'), _('No tax id found for the rate %s with the tax include = %s')%(line['tax_rate'], context.get('is_tax_included')))
3799- line['tax_id'] = [(6, 0, [line_tax_id])]
3800- else:
3801- line['tax_id'] = False
3802- return line
3803-
3804-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
3805
3806=== removed directory 'base_sale_multichannels/settings'
3807=== removed file 'base_sale_multichannels/settings/external.referential.category.csv'
3808--- base_sale_multichannels/settings/external.referential.category.csv 2012-06-21 17:44:12 +0000
3809+++ base_sale_multichannels/settings/external.referential.category.csv 1970-01-01 00:00:00 +0000
3810@@ -1,2 +0,0 @@
3811-"id","name"
3812-"multichannels","Multichannel Sale"
3813
3814=== removed file 'base_sale_multichannels/settings/sale.exception.csv'
3815--- base_sale_multichannels/settings/sale.exception.csv 2013-02-04 14:47:25 +0000
3816+++ base_sale_multichannels/settings/sale.exception.csv 1970-01-01 00:00:00 +0000
3817@@ -1,12 +0,0 @@
3818-id,name,description,sequence,model,code
3819-excep_wrong_total_amount,Total Amount differs from external system,"The amount computed doesn't match with the external amount because the taxes have not been configured properly (maybe some fiscal positions have changed the final price).
3820-Please fix it manually and check your taxes rules.
3821-
3822-NB : This check have being applied because you have checked the option \check total amount\"" on the shop of this sale order""",30,sale.order,"if order.shop_id.check_total_amount and abs(order.amount_total - order.ext_total_amount) >= 0.01:
3823- failed = True"
3824-excep_wrong_total_amount_tax,Total Tax Amount differs from external system,"The tax amount computed doesn't match with the external tax amount because the taxes have not been configured properly (maybe some fiscal positions have changed the final price).
3825-Please fix it manually and check your taxes rules.
3826-
3827-NB : This check have being applied because you have checked the option \check total amount\"" on the shop of this sale order""",30,sale.order,"#By default we allow a cent of difference for the taxe, feel free to customise it in your own module
3828-if order.shop_id.check_total_amount and abs(order.amount_tax - order.ext_total_amount_tax) > 0.01:
3829- failed = True"
3830
3831=== removed directory 'base_sale_multichannels/wizard'
3832=== removed file 'base_sale_multichannels/wizard/__init__.py'
3833--- base_sale_multichannels/wizard/__init__.py 2012-09-20 17:52:17 +0000
3834+++ base_sale_multichannels/wizard/__init__.py 1970-01-01 00:00:00 +0000
3835@@ -1,23 +0,0 @@
3836-# -*- coding: utf-8 -*-
3837-##############################################################################
3838-#
3839-# Base_sale_multichannels module for OpenERP
3840-# Copyright (C) 2010 Sébastien BEAU <sebastien.beau@akretion.com>
3841-#
3842-# This program is free software: you can redistribute it and/or modify
3843-# it under the terms of the GNU Affero General Public License as
3844-# published by the Free Software Foundation, either version 3 of the
3845-# License, or (at your option) any later version.
3846-#
3847-# This program is distributed in the hope that it will be useful,
3848-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3849-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3850-# GNU Affero General Public License for more details.
3851-#
3852-# You should have received a copy of the GNU Affero General Public License
3853-# along with this program. If not, see <http://www.gnu.org/licenses/>.
3854-#
3855-##############################################################################
3856-
3857-import import_order
3858-
3859
3860=== removed file 'base_sale_multichannels/wizard/import_order.py'
3861--- base_sale_multichannels/wizard/import_order.py 2012-08-21 07:38:58 +0000
3862+++ base_sale_multichannels/wizard/import_order.py 1970-01-01 00:00:00 +0000
3863@@ -1,42 +0,0 @@
3864-# -*- coding: utf-8 -*-
3865-##############################################################################
3866-#
3867-# Base_sale_multichannels module for OpenERP
3868-# Copyright (C) 2010 Sébastien BEAU <sebastien.beau@akretion.com>
3869-#
3870-# This program is free software: you can redistribute it and/or modify
3871-# it under the terms of the GNU Affero General Public License as
3872-# published by the Free Software Foundation, either version 3 of the
3873-# License, or (at your option) any later version.
3874-#
3875-# This program is distributed in the hope that it will be useful,
3876-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3877-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3878-# GNU Affero General Public License for more details.
3879-#
3880-# You should have received a copy of the GNU Affero General Public License
3881-# along with this program. If not, see <http://www.gnu.org/licenses/>.
3882-#
3883-##############################################################################
3884-
3885-
3886-from osv import fields,osv
3887-from tools.translate import _
3888-from base_external_referentials.external_osv import ExternalSession
3889-
3890-class sale_order_import_wizard(osv.osv_memory):
3891- _name = 'sale.order.import.wizard'
3892- _description = 'sale order import wizard'
3893-
3894- _columns = {
3895- 'order_number': fields.char('Order Number', size=64),
3896- }
3897-
3898- def import_order(self, cr, uid, ids, context=None):
3899- if context is None:
3900- context={}
3901- shop = self.pool.get('sale.shop').browse(cr, uid, context['active_id'], context=context)
3902- external_session = ExternalSession(shop.referential_id, shop)
3903- wizard = self.browse(cr, uid, ids[0], context=context)
3904- self.pool.get('sale.order')._import_one_resource(cr, uid, external_session, wizard.order_number, context=context)
3905- return {'type': 'ir.actions.act_window_close'}
3906
3907=== removed file 'base_sale_multichannels/wizard/import_order.xml'
3908--- base_sale_multichannels/wizard/import_order.xml 2012-06-11 07:33:40 +0000
3909+++ base_sale_multichannels/wizard/import_order.xml 1970-01-01 00:00:00 +0000
3910@@ -1,35 +0,0 @@
3911-<?xml version="1.0" encoding="utf-8"?>
3912-<openerp>
3913- <data>
3914- <record model="ir.ui.view" id="sale_order_import_wizard_view">
3915- <field name="name">sale.order.import.wizard.view</field>
3916- <field name="model">sale.order.import.wizard</field>
3917- <field name="type">form</field>
3918- <field name="arch" type="xml">
3919- <form string="Import a specifique order from an external system">
3920- <field name="order_number" nolabel="1" colspan='4'/>
3921- <button icon="gtk-cancel" special="cancel" string="Cancel"/>
3922- <button icon="gtk-ok" name="import_order" string="Import Order" type="object"/>
3923- </form>
3924- </field>
3925- </record>
3926-
3927- <record id="action_import_order_wizard" model="ir.actions.act_window">
3928- <field name="name">Import Order</field>
3929- <field name="type">ir.actions.act_window</field>
3930- <field name="res_model">sale.order.import.wizard</field>
3931- <field name="view_type">form</field>
3932- <field name="view_mode">form</field>
3933- <field name="target">new</field>
3934- <field name="context">{}</field>
3935- </record>
3936-
3937- <record id="ir_action_import_order_wizard" model="ir.values">
3938- <field name="key2">client_action_multi</field>
3939- <field name="model">sale.shop</field>
3940- <field name="name">Import Order</field>
3941- <field eval="'ir.actions.act_window,%d'%action_import_order_wizard" name="value"/>
3942- <field eval="True" name="object"/>
3943- </record>
3944- </data>
3945-</openerp>
3946
3947=== modified file 'base_sale_report_synchronizer/__openerp__.py'
3948--- base_sale_report_synchronizer/__openerp__.py 2012-12-26 13:24:14 +0000
3949+++ base_sale_report_synchronizer/__openerp__.py 2013-12-05 13:14:00 +0000
3950@@ -33,7 +33,7 @@
3951 'author': 'Akretion',
3952 'website': 'http://www.akretion.com/',
3953 'depends': [
3954- 'base_sale_multichannels',
3955+ 'connector_ecommerce',
3956 'report_synchronizer',
3957 ],
3958 'init_xml': [],
3959
3960=== modified file 'base_sale_report_synchronizer/sale_view.xml'
3961--- base_sale_report_synchronizer/sale_view.xml 2012-10-09 12:40:16 +0000
3962+++ base_sale_report_synchronizer/sale_view.xml 2013-12-05 13:14:00 +0000
3963@@ -3,7 +3,7 @@
3964 <data>
3965
3966 <record model="ir.ui.view" id="view_shop_form">
3967- <field name="name">base_sale_multichannels_view_shop_form</field>
3968+ <field name="name">connector_ecommerce_view_shop_form</field>
3969 <field name="model">sale.shop</field>
3970 <field name="inherit_id" ref="sale.view_shop_form" />
3971 <field name="type">form</field>
3972
3973=== renamed directory 'base_sale_multichannels' => 'connector_ecommerce'
3974=== modified file 'connector_ecommerce/__init__.py'
3975--- base_sale_multichannels/__init__.py 2012-08-21 13:57:44 +0000
3976+++ connector_ecommerce/__init__.py 2013-12-05 13:14:00 +0000
3977@@ -1,34 +1,30 @@
3978-# -*- encoding: utf-8 -*-
3979+# -*- coding: utf-8 -*-
3980 ##############################################################################
3981 #
3982-# OpenERP, Open Source Management Solution
3983-# Copyright (C) 2009 Akretion (<http://www.akretion.com>). All Rights Reserved
3984-# authors: Raphaël Valyi, Sharoon Thomas
3985+# Copyright 2013 Camptocamp SA
3986+# Copyright 2013 Akretion
3987 #
3988 # This program is free software: you can redistribute it and/or modify
3989-# it under the terms of the GNU General Public License as published by
3990-# the Free Software Foundation, either version 3 of the License, or
3991-# (at your option) any later version.
3992+# it under the terms of the GNU Affero General Public License as
3993+# published by the Free Software Foundation, either version 3 of the
3994+# License, or (at your option) any later version.
3995 #
3996 # This program is distributed in the hope that it will be useful,
3997 # but WITHOUT ANY WARRANTY; without even the implied warranty of
3998 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3999-# GNU General Public License for more details.
4000+# GNU Affero General Public License for more details.
4001 #
4002-# You should have received a copy of the GNU General Public License
4003+# You should have received a copy of the GNU Affero General Public License
4004 # along with this program. If not, see <http://www.gnu.org/licenses/>.
4005 #
4006 ##############################################################################
4007
4008-import sale
4009 import stock
4010-import wizard
4011-import delivery
4012-import partner
4013 import account
4014-import external_referential
4015 import product
4016 import invoice
4017 import payment_method
4018-
4019-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4020+import event
4021+import unit
4022+import sale
4023+import wizard
4024
4025=== modified file 'connector_ecommerce/__openerp__.py'
4026--- base_sale_multichannels/__openerp__.py 2012-12-26 13:24:14 +0000
4027+++ connector_ecommerce/__openerp__.py 2013-12-05 13:14:00 +0000
4028@@ -1,78 +1,80 @@
4029-# -*- encoding: utf-8 -*-
4030+# -*- coding: utf-8 -*-
4031 ##############################################################################
4032 #
4033-# OpenERP, Open Source Management Solution
4034-# Copyright (C) 2009 Akretion (<http://www.akretion.com>). All Rights Reserved
4035-# authors: Raphaël Valyi, Sharoon Thomas
4036-# Copyright (C) 2010-2011 Akretion Sébastien BEAU <sebastien.beau@akretion.com>
4037+# Copyright 2013 Camptocamp SA
4038+# Copyright 2013 Akretion
4039+#
4040 # This program is free software: you can redistribute it and/or modify
4041-# it under the terms of the GNU General Public License as published by
4042-# the Free Software Foundation, either version 3 of the License, or
4043-# (at your option) any later version.
4044+# it under the terms of the GNU Affero General Public License as
4045+# published by the Free Software Foundation, either version 3 of the
4046+# License, or (at your option) any later version.
4047 #
4048 # This program is distributed in the hope that it will be useful,
4049 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4050 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4051-# GNU General Public License for more details.
4052+# GNU Affero General Public License for more details.
4053 #
4054-# You should have received a copy of the GNU General Public License
4055+# You should have received a copy of the GNU Affero General Public License
4056 # along with this program. If not, see <http://www.gnu.org/licenses/>.
4057 #
4058 ##############################################################################
4059
4060-
4061-{
4062- 'name': 'Base Sale MultiChannels',
4063- 'version': '6.1.2',
4064- 'category': 'Generic Modules/Sale',
4065- 'description': """
4066-This module provide an abstract common minimal base to multi-channels sales.
4067-Say you want to expose your product catalog to
4068-* several instances of flashy-sluggish Magento web sites
4069-* a cutting edge Spree web shop
4070-* a Neteven online Marketplace
4071-* EBay
4072-* Amazon
4073-* Google Base
4074-* an external Point Of Sale system
4075-* ...
4076-Then this module allows you to:
4077-* use several external references ids on every OpenERP object matching those all those external referentials
4078-* per referential instance, use several sale sub platform entities (ex: several Magento websites per instance)
4079-* per sub platform, use several shops (ex: several Magento web shops per website)
4080-
4081-For each sale shop (matching OpenERP sale.shop object), this module abstract the interfaces to:
4082-* export the catalog, shop warehouse stock level wise, shop pricelist wise
4083-* import the catalog
4084-* import orders
4085-* export orders/picking status
4086- """,
4087- 'author': 'Akretion, Sharoon Thomas (Openlabs.co.in)',
4088- 'website': 'http://www.akretion.com',
4089- 'depends': [
4090- 'sale_automatic_workflow',
4091- 'sale_exceptions',
4092- 'base_external_referentials',
4093- 'delivery',
4094- 'base_onchange_player',
4095- ],
4096- 'init_xml': [],
4097- 'update_xml': [
4098- 'security/ir.model.access.csv',
4099- 'sale_view.xml',
4100- 'partner_view.xml',
4101- 'invoice_view.xml',
4102- 'wizard/import_order.xml',
4103- 'delivery_view.xml',
4104- 'base_sale_data.xml',
4105- 'settings/sale.exception.csv',
4106- 'settings/external.referential.category.csv',
4107- 'stock_view.xml',
4108- 'payment_method_view.xml',
4109- 'account_view.xml',
4110- ],
4111- 'demo_xml': [],
4112- 'installable': False,
4113- 'certificate': '',
4114+{'name': 'Connector for E-Commerce',
4115+ 'version': '2.0.0',
4116+ 'category': 'Connector',
4117+ 'author': 'MagentoERPConnect Core Editors',
4118+ 'website': 'http://www.magentoerpconnect.com',
4119+ 'license': 'AGPL-3',
4120+ 'description': """
4121+Connector for E-Commerce
4122+========================
4123+
4124+This modules aims to be a common layer for the connectors dealing with
4125+e-commerce.
4126+
4127+It sits on top of the `connector`_ framework and is used by the
4128+e-commerce connectors, like `magentoerpconnect`_ or
4129+`prestashoperpconnect`_.
4130+
4131+That's a technical module, which include amongst other things:
4132+
4133+Events
4134+
4135+ On which the connectors can subscribe consumers
4136+ (tracking number added, invoice paid, picking sent, ...)
4137+
4138+
4139+ConnectorUnit
4140+
4141+ A piece of code which allows to play all the ``onchanges`` required
4142+ when we create a sale order.
4143+
4144+Data Model
4145+
4146+ Add structures shared for e-commerce connectors
4147+
4148+
4149+.. _`connector`: https://code.launchpad.net/openerp-connector
4150+.. _`magentoerpconnect`: https://launchpad.net/magentoerpconnect
4151+.. _`prestashoperpconnect`: https://launchpad.net/prestashoperpconnect
4152+""",
4153+ 'depends': [
4154+ 'connector',
4155+ 'sale_automatic_workflow',
4156+ 'sale_exceptions',
4157+ 'delivery',
4158+ ],
4159+ 'data': [
4160+ 'security/security.xml',
4161+ 'security/ir.model.access.csv',
4162+ 'wizard/sale_ignore_cancel_view.xml',
4163+ 'sale_view.xml',
4164+ 'product_view.xml',
4165+ 'invoice_view.xml',
4166+ 'ecommerce_data.xml',
4167+ 'stock_view.xml',
4168+ 'payment_method_view.xml',
4169+ 'account_view.xml',
4170+ ],
4171+ 'installable': True,
4172 }
4173-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4174
4175=== modified file 'connector_ecommerce/account.py'
4176--- base_sale_multichannels/account.py 2012-12-07 12:16:25 +0000
4177+++ connector_ecommerce/account.py 2013-12-05 13:14:00 +0000
4178@@ -1,23 +1,23 @@
4179-# -*- encoding: utf-8 -*-
4180-#################################################################################
4181-# #
4182-# base_sale_multichannels for OpenERP #
4183-# Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@akretion.com> #
4184-# #
4185-# This program is free software: you can redistribute it and/or modify #
4186-# it under the terms of the GNU Affero General Public License as #
4187-# published by the Free Software Foundation, either version 3 of the #
4188-# License, or (at your option) any later version. #
4189-# #
4190-# This program is distributed in the hope that it will be useful, #
4191-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
4192-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
4193-# GNU Affero General Public License for more details. #
4194-# #
4195-# You should have received a copy of the GNU Affero General Public License #
4196-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
4197-# #
4198-#################################################################################
4199+# -*- coding: utf-8 -*-
4200+##############################################################################
4201+#
4202+# Copyright 2011-2013 Akretion
4203+# @author Sébastien BEAU <sebastien.beau@akretion.com>
4204+#
4205+# This program is free software: you can redistribute it and/or modify
4206+# it under the terms of the GNU Affero General Public License as
4207+# published by the Free Software Foundation, either version 3 of the
4208+# License, or (at your option) any later version.
4209+#
4210+# This program is distributed in the hope that it will be useful,
4211+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4212+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4213+# GNU Affero General Public License for more details.
4214+#
4215+# You should have received a copy of the GNU Affero General Public License
4216+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4217+#
4218+##############################################################################
4219
4220 from openerp.osv.orm import Model
4221 from openerp.osv import fields
4222
4223=== modified file 'connector_ecommerce/account_view.xml' (properties changed: +x to -x)
4224--- base_sale_multichannels/account_view.xml 2012-10-25 17:28:02 +0000
4225+++ connector_ecommerce/account_view.xml 2013-12-05 13:14:00 +0000
4226@@ -3,10 +3,9 @@
4227 <data>
4228
4229 <record id="view_tax_form" model="ir.ui.view">
4230- <field name="name">base_sale_multichannels.view_tax_form</field>
4231+ <field name="name">connector_ecommerce.view_tax_form</field>
4232 <field name="model">account.tax</field>
4233 <field name="inherit_id" ref="account.view_tax_form" />
4234- <field name="type">form</field>
4235 <field name="arch" type="xml">
4236 <field name="active" position="after">
4237 <field name="group_id"/>
4238@@ -18,7 +17,6 @@
4239 <record id="view_tax_group_tree" model="ir.ui.view">
4240 <field name="name">account.tax.group</field>
4241 <field name="model">account.tax.group</field>
4242- <field name="type">tree</field>
4243 <field name="arch" type="xml">
4244 <tree string="Account Tax Group">
4245 <field name="name"/>
4246@@ -30,7 +28,6 @@
4247 <record id="view_tax_group_form" model="ir.ui.view">
4248 <field name="name">account.tax.group</field>
4249 <field name="model">account.tax.group</field>
4250- <field name="type">form</field>
4251 <field name="arch" type="xml">
4252 <form string="Account Tax Group">
4253 <field name="name" colspan="4"/>
4254
4255=== renamed file 'base_sale_multichannels/base_sale_data.xml' => 'connector_ecommerce/ecommerce_data.xml'
4256--- base_sale_multichannels/base_sale_data.xml 2012-09-06 12:34:40 +0000
4257+++ connector_ecommerce/ecommerce_data.xml 2013-12-05 13:14:00 +0000
4258@@ -42,5 +42,37 @@
4259 <field name="categ_id" ref="product_categ_services"/>
4260 </record>
4261
4262+ <record id="excep_parent_order_need_cancel" model="sale.exception">
4263+ <field name="name">Parent sales order canceled on the backend.</field>
4264+ <field name="description">The parent sales order has been canceled on the backend.
4265+You will not be able to process this sales order until the parent's one is canceled.</field>
4266+ <field name="sequence">30</field>
4267+ <field name="model">sale.order</field>
4268+ <field name="code">if order.parent_need_cancel:
4269+ failed = True</field>
4270+ <field name="active" eval="True"/>
4271+ </record>
4272+
4273+ <record id="excep_order_need_cancel" model="sale.exception">
4274+ <field name="name">Sales order canceled on the backend.</field>
4275+ <field name="description">The sales order has been canceled on the backend.</field>
4276+ <field name="sequence">20</field>
4277+ <field name="model">sale.order</field>
4278+ <field name="code">if order.need_cancel:
4279+ failed = True</field>
4280+ <field name="active" eval="True"/>
4281+ </record>
4282+
4283+ <record id="excep_product_has_checkpoint" model="sale.exception">
4284+ <field name="name">A product needs to be reviewed.</field>
4285+ <field name="description">A product has been imported from a backend and needs to be reviewed.
4286+Go to Connectors > Checkpoint and review the new products.</field>
4287+ <field name="sequence">20</field>
4288+ <field name="model">sale.order.line</field>
4289+ <field name="code">if object.product_id and object.product_id.has_checkpoint:
4290+ failed = True</field>
4291+ <field name="active" eval="True"/>
4292+ </record>
4293+
4294 </data>
4295 </openerp>
4296
4297=== added file 'connector_ecommerce/event.py'
4298--- connector_ecommerce/event.py 1970-01-01 00:00:00 +0000
4299+++ connector_ecommerce/event.py 2013-12-05 13:14:00 +0000
4300@@ -0,0 +1,87 @@
4301+# -*- coding: utf-8 -*-
4302+##############################################################################
4303+#
4304+# Author: Joel Grand-Guillaume
4305+# Copyright 2013 Camptocamp SA
4306+#
4307+# This program is free software: you can redistribute it and/or modify
4308+# it under the terms of the GNU Affero General Public License as
4309+# published by the Free Software Foundation, either version 3 of the
4310+# License, or (at your option) any later version.
4311+#
4312+# This program is distributed in the hope that it will be useful,
4313+# but WITHOUT ANY WARRANTY; without even the implied warranty of
4314+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4315+# GNU Affero General Public License for more details.
4316+#
4317+# You should have received a copy of the GNU Affero General Public License
4318+# along with this program. If not, see <http://www.gnu.org/licenses/>.
4319+#
4320+##############################################################################
4321+
4322+from openerp.addons.connector.event import Event
4323+
4324+
4325+on_picking_out_done = Event()
4326+"""
4327+``on_picking_out_done`` is fired when an outgoing picking has been
4328+marked as done.
4329+
4330+Listeners should take the following arguments:
4331+
4332+ * session: `connector.session.ConnectorSession` object
4333+ * model_name: name of the model
4334+ * record_id: id of the record
4335+ * type: 'partial' or 'complete' depending on the picking done
4336+"""
4337+
4338+
4339+on_tracking_number_added = Event()
4340+"""
4341+``on_tracking_number_added`` is fired when a picking has been marked as
4342+ done and a tracking number has been added to it (write).
4343+
4344+Listeners should take the following arguments:
4345+
4346+ * session: `connector.session.ConnectorSession` object
4347+ * model_name: name of the model
4348+ * record_id: id of the record
4349+"""
4350+
4351+
4352+on_invoice_paid = Event()
4353+"""
4354+``on_invoice_paid`` is fired when an invoice has been paid.
4355+
4356+Listeners should take the following arguments:
4357+
4358+ * session: `connector.session.ConnectorSession` object
4359+ * model_name: name of the model
4360+ * record_id: id of the record
4361+"""
4362+
4363+on_invoice_validated = Event()
4364+"""
4365+``on_invoice_validated`` is fired when an invoice has been validated.
4366+
4367+Listeners should take the following arguments:
4368+
4369+ * session: `connector.session.ConnectorSession` object
4370+ * model_name: name of the model
4371+ * record_id: id of the record
4372+"""
4373+
4374+on_product_price_changed = Event()
4375+"""
4376+``on_product_price_changed`` is fired when the price of a product is
4377+changed. Specifically, it is fired when one of the products' fields used
4378+in the sale pricelists are modified.
4379+
4380+There is no guarantee that's the price actually changed,
4381+because it depends on the pricelists.
4382+
4383+ * session: `connector.session.ConnectorSession` object
4384+ * model_name: name of the model
4385+ * record_id: id of the record
4386+
4387+"""
4388
4389=== added file 'connector_ecommerce/i18n/connector_ecommerce.pot'
4390--- connector_ecommerce/i18n/connector_ecommerce.pot 1970-01-01 00:00:00 +0000
4391+++ connector_ecommerce/i18n/connector_ecommerce.pot 2013-12-05 13:14:00 +0000
4392@@ -0,0 +1,354 @@
4393+# Translation of OpenERP Server.
4394+# This file contains the translation of the following modules:
4395+# * connector_ecommerce
4396+#
4397+msgid ""
4398+msgstr ""
4399+"Project-Id-Version: OpenERP Server 7.0\n"
4400+"Report-Msgid-Bugs-To: \n"
4401+"POT-Creation-Date: 2013-05-01 14:34+0000\n"
4402+"PO-Revision-Date: 2013-05-01 14:34+0000\n"
4403+"Last-Translator: <>\n"
4404+"Language-Team: \n"
4405+"MIME-Version: 1.0\n"
4406+"Content-Type: text/plain; charset=UTF-8\n"
4407+"Content-Transfer-Encoding: \n"
4408+"Plural-Forms: \n"
4409+
4410+#. module: connector_ecommerce
4411+#: field:sale.order,cancellation_resolved:0
4412+msgid "Cancellation from the backend resolved"
4413+msgstr ""
4414+
4415+#. module: connector_ecommerce
4416+#: model:sale.exception,description:connector_ecommerce.excep_product_has_checkpoint
4417+msgid "A product has been imported from a backend and needs to be reviewed.\n"
4418+"Go to Connectors > Checkpoint and review the new products."
4419+msgstr ""
4420+
4421+#. module: connector_ecommerce
4422+#: model:ir.model,name:connector_ecommerce.model_account_invoice
4423+msgid "Invoice"
4424+msgstr ""
4425+
4426+#. module: connector_ecommerce
4427+#: view:sale.ignore.cancel:0
4428+msgid "Confirm"
4429+msgstr ""
4430+
4431+#. module: connector_ecommerce
4432+#: view:sale.order:0
4433+msgid "Ignore backend's cancellation, Keep Open"
4434+msgstr ""
4435+
4436+#. module: connector_ecommerce
4437+#: view:sale.order:0
4438+msgid "Canceled in backend, to cancel"
4439+msgstr ""
4440+
4441+#. module: connector_ecommerce
4442+#: view:sale.order:0
4443+msgid "Only sales orders canceled in their backend"
4444+msgstr ""
4445+
4446+#. module: connector_ecommerce
4447+#: model:sale.exception,description:connector_ecommerce.excep_parent_order_need_cancel
4448+msgid "The parent sales order has been canceled on the backend.\n"
4449+"You will not be able to process this sales order until the parent's one is canceled."
4450+msgstr ""
4451+
4452+#. module: connector_ecommerce
4453+#: view:payment.method:0
4454+msgid "The sales orders using the payment method will always be imported."
4455+msgstr ""
4456+
4457+#. module: connector_ecommerce
4458+#: view:sale.ignore.cancel:0
4459+msgid "This sales order has been canceled from the backend.\n"
4460+" The usual action would be to cancel it in OpenERP along\n"
4461+" all the documents generated (delivery orders, invoices, ...)."
4462+msgstr ""
4463+
4464+#. module: connector_ecommerce
4465+#: help:account.tax,group_id:0
4466+msgid "Choose the tax group. This is needed for example with magento or prestashop"
4467+msgstr ""
4468+
4469+#. module: connector_ecommerce
4470+#: model:ir.model,name:connector_ecommerce.model_stock_picking
4471+msgid "Picking List"
4472+msgstr ""
4473+
4474+#. module: connector_ecommerce
4475+#: model:ir.actions.act_window,name:connector_ecommerce.action_sale_ignore_cancel
4476+#: view:sale.ignore.cancel:0
4477+msgid "Ignore the cancellation on the Backend"
4478+msgstr ""
4479+
4480+#. module: connector_ecommerce
4481+#: model:product.template,name:connector_ecommerce.product_product_gift_product_template
4482+msgid "Gift Certificate"
4483+msgstr ""
4484+
4485+#. module: connector_ecommerce
4486+#: model:ir.model,name:connector_ecommerce.model_sale_ignore_cancel
4487+msgid "Ignore Sales Order Cancel"
4488+msgstr ""
4489+
4490+#. module: connector_ecommerce
4491+#: model:ir.model,name:connector_ecommerce.model_product_product
4492+msgid "Product"
4493+msgstr ""
4494+
4495+#. module: connector_ecommerce
4496+#: model:ir.model,name:connector_ecommerce.model_payment_method
4497+msgid "Payment Method"
4498+msgstr ""
4499+
4500+#. module: connector_ecommerce
4501+#: model:ir.actions.act_window,name:connector_ecommerce.action_tax_group_form
4502+#: model:ir.ui.menu,name:connector_ecommerce.menu_action_tax_group_form
4503+msgid "Tax Groups"
4504+msgstr ""
4505+
4506+#. module: connector_ecommerce
4507+#: view:sale.order:0
4508+msgid "View Parent Sales Order"
4509+msgstr ""
4510+
4511+#. module: connector_ecommerce
4512+#: field:stock.picking,related_backorder_ids:0
4513+msgid "Related backorders"
4514+msgstr ""
4515+
4516+#. module: connector_ecommerce
4517+#: view:account.tax.group:0
4518+msgid "Account Tax Group"
4519+msgstr ""
4520+
4521+#. module: connector_ecommerce
4522+#: field:payment.method,days_before_cancel:0
4523+msgid "Days before cancel"
4524+msgstr ""
4525+
4526+#. module: connector_ecommerce
4527+#: view:payment.method:0
4528+msgid "The sales orders using the payment method will never be imported."
4529+msgstr ""
4530+
4531+#. module: connector_ecommerce
4532+#: field:sale.ignore.cancel,reason:0
4533+msgid "Reason"
4534+msgstr ""
4535+
4536+#. module: connector_ecommerce
4537+#: model:sale.exception,name:connector_ecommerce.excep_order_need_cancel
4538+msgid "Sales order canceled on the backend."
4539+msgstr ""
4540+
4541+#. module: connector_ecommerce
4542+#: model:ir.model,name:connector_ecommerce.model_sale_shop
4543+msgid "Sales Shop"
4544+msgstr ""
4545+
4546+#. module: connector_ecommerce
4547+#: model:product.category,name:connector_ecommerce.product_categ_services
4548+msgid "Services"
4549+msgstr ""
4550+
4551+#. module: connector_ecommerce
4552+#: view:sale.order:0
4553+msgid "Other Information"
4554+msgstr ""
4555+
4556+#. module: connector_ecommerce
4557+#: help:product.template,tax_group_id:0
4558+msgid "Tax group are used with some external system like magento or prestashop"
4559+msgstr ""
4560+
4561+#. module: connector_ecommerce
4562+#: field:product.price.type,pricelist_item_ids:0
4563+msgid "Pricelist Items"
4564+msgstr ""
4565+
4566+#. module: connector_ecommerce
4567+#: field:sale.order,parent_need_cancel:0
4568+msgid "A parent sales orders needs cancel"
4569+msgstr ""
4570+
4571+#. module: connector_ecommerce
4572+#: view:payment.method:0
4573+msgid "Import Rules"
4574+msgstr ""
4575+
4576+#. module: connector_ecommerce
4577+#: field:payment.method,import_rule:0
4578+msgid "Import Rule"
4579+msgstr ""
4580+
4581+#. module: connector_ecommerce
4582+#: view:sale.ignore.cancel:0
4583+msgid "However, if for any reason you need to keep it open in OpenERP,\n"
4584+" write the reason here and it will stay open."
4585+msgstr ""
4586+
4587+#. module: connector_ecommerce
4588+#: view:payment.method:0
4589+msgid "The sales orders using the payment method will be imported\n"
4590+" only when they receive a payment on the E-Commerce backend."
4591+msgstr ""
4592+
4593+#. module: connector_ecommerce
4594+#: field:account.tax.group,tax_ids:0
4595+msgid "Taxes"
4596+msgstr ""
4597+
4598+#. module: connector_ecommerce
4599+#: model:sale.exception,description:connector_ecommerce.excep_order_need_cancel
4600+msgid "The sales order has been canceled on the backend."
4601+msgstr ""
4602+
4603+#. module: connector_ecommerce
4604+#: field:sale.order,need_cancel:0
4605+msgid "Need to be canceled"
4606+msgstr ""
4607+
4608+#. module: connector_ecommerce
4609+#: help:sale.order,parent_need_cancel:0
4610+msgid "A parent sales orders has been canceled on the backend and needs to be canceled."
4611+msgstr ""
4612+
4613+#. module: connector_ecommerce
4614+#: field:account.tax,group_id:0
4615+#: field:product.template,tax_group_id:0
4616+msgid "Tax Group"
4617+msgstr ""
4618+
4619+#. module: connector_ecommerce
4620+#: view:account.invoice:0
4621+msgid "Payments"
4622+msgstr ""
4623+
4624+#. module: connector_ecommerce
4625+#: model:sale.exception,name:connector_ecommerce.excep_parent_order_need_cancel
4626+msgid "Parent sales order canceled on the backend."
4627+msgstr ""
4628+
4629+#. module: connector_ecommerce
4630+#: help:sale.order,need_cancel:0
4631+msgid "Has been canceled on the backend, need to be canceled."
4632+msgstr ""
4633+
4634+#. module: connector_ecommerce
4635+#: model:product.template,name:connector_ecommerce.product_product_discount_product_template
4636+msgid "Discount Coupon"
4637+msgstr ""
4638+
4639+#. module: connector_ecommerce
4640+#: model:ir.model,name:connector_ecommerce.model_sale_order
4641+msgid "Sales Order"
4642+msgstr ""
4643+
4644+#. module: connector_ecommerce
4645+#: help:payment.method,days_before_cancel:0
4646+msgid "After 'n' days, if the 'Import Rule' is not fulfilled, the import of the sale order will be canceled."
4647+msgstr ""
4648+
4649+#. module: connector_ecommerce
4650+#: model:ir.model,name:connector_ecommerce.model_product_template
4651+msgid "Product Template"
4652+msgstr ""
4653+
4654+#. module: connector_ecommerce
4655+#: model:ir.model,name:connector_ecommerce.model_stock_picking_out
4656+msgid "Delivery Orders"
4657+msgstr ""
4658+
4659+#. module: connector_ecommerce
4660+#: model:product.template,name:connector_ecommerce.product_product_shipping_product_template
4661+msgid "Shipping costs"
4662+msgstr ""
4663+
4664+#. module: connector_ecommerce
4665+#: model:product.template,name:connector_ecommerce.product_product_cash_on_delivery_product_template
4666+msgid "Cash on delivery"
4667+msgstr ""
4668+
4669+#. module: connector_ecommerce
4670+#: field:sale.order,canceled_in_backend:0
4671+msgid "Canceled in backend"
4672+msgstr ""
4673+
4674+#. module: connector_ecommerce
4675+#: help:account.invoice,sale_order_ids:0
4676+msgid "This is the list of sale orders related to this invoice."
4677+msgstr ""
4678+
4679+#. module: connector_ecommerce
4680+#: model:ir.model,name:connector_ecommerce.model_account_tax_group
4681+msgid "account tax group"
4682+msgstr ""
4683+
4684+#. module: connector_ecommerce
4685+#: model:ir.model,name:connector_ecommerce.model_account_tax
4686+msgid "Tax"
4687+msgstr ""
4688+
4689+#. module: connector_ecommerce
4690+#: view:account.invoice:0
4691+#: view:product.product:0
4692+#: view:sale.order:0
4693+#: view:stock.picking.out:0
4694+msgid "Connectors"
4695+msgstr ""
4696+
4697+#. module: connector_ecommerce
4698+#: model:sale.exception,name:connector_ecommerce.excep_product_has_checkpoint
4699+msgid "A product needs to be reviewed."
4700+msgstr ""
4701+
4702+#. module: connector_ecommerce
4703+#: help:sale.order,parent_id:0
4704+msgid "A parent sales order is a sales order replaced by this one."
4705+msgstr ""
4706+
4707+#. module: connector_ecommerce
4708+#: view:sale.ignore.cancel:0
4709+msgid "Cancel"
4710+msgstr ""
4711+
4712+#. module: connector_ecommerce
4713+#: field:sale.order,parent_id:0
4714+msgid "Parent Order"
4715+msgstr ""
4716+
4717+#. module: connector_ecommerce
4718+#: field:account.tax.group,name:0
4719+msgid "Name"
4720+msgstr ""
4721+
4722+#. module: connector_ecommerce
4723+#: field:account.invoice,sale_order_ids:0
4724+msgid "Sale Orders"
4725+msgstr ""
4726+
4727+#. module: connector_ecommerce
4728+#: field:product.product,has_checkpoint:0
4729+msgid "Has Checkpoint"
4730+msgstr ""
4731+
4732+#. module: connector_ecommerce
4733+#: view:sale.ignore.cancel:0
4734+msgid "or"
4735+msgstr ""
4736+
4737+#. module: connector_ecommerce
4738+#: view:stock.picking.out:0
4739+msgid "Additional Info"
4740+msgstr ""
4741+
4742+#. module: connector_ecommerce
4743+#: model:ir.model,name:connector_ecommerce.model_product_price_type
4744+msgid "Price Type"
4745+msgstr ""
4746+
4747
4748=== added file 'connector_ecommerce/i18n/fr.po'
4749--- connector_ecommerce/i18n/fr.po 1970-01-01 00:00:00 +0000
4750+++ connector_ecommerce/i18n/fr.po 2013-12-05 13:14:00 +0000
4751@@ -0,0 +1,360 @@
4752+# Translation of OpenERP Server.
4753+# This file contains the translation of the following modules:
4754+# * connector_ecommerce
4755+#
4756+msgid ""
4757+msgstr ""
4758+"Project-Id-Version: OpenERP Server 7.0\n"
4759+"Report-Msgid-Bugs-To: \n"
4760+"POT-Creation-Date: 2013-05-01 14:17+0000\n"
4761+"PO-Revision-Date: 2013-05-01 14:17+0000\n"
4762+"Last-Translator: <>\n"
4763+"Language-Team: \n"
4764+"MIME-Version: 1.0\n"
4765+"Content-Type: text/plain; charset=UTF-8\n"
4766+"Content-Transfer-Encoding: \n"
4767+"Plural-Forms: \n"
4768+
4769+#. module: connector_ecommerce
4770+#: field:sale.order,cancellation_resolved:0
4771+msgid "Cancellation from the backend resolved"
4772+msgstr "Annulation depuis le backend résolue"
4773+
4774+#. module: connector_ecommerce
4775+#: model:sale.exception,description:connector_ecommerce.excep_product_has_checkpoint
4776+msgid "A product has been imported from a backend and needs to be reviewed.\n"
4777+"Go to Connectors > Checkpoint and review the new products."
4778+msgstr "Un article a été importé depuis un backend et nécessite un contrôle.\n"
4779+"Aller dans Connecteurs > Points de contrôle et vérifier les nouveaux articles."
4780+
4781+#. module: connector_ecommerce
4782+#: model:ir.model,name:connector_ecommerce.model_account_invoice
4783+msgid "Invoice"
4784+msgstr "Facture"
4785+
4786+#. module: connector_ecommerce
4787+#: view:sale.ignore.cancel:0
4788+msgid "Confirm"
4789+msgstr "Confirmer"
4790+
4791+#. module: connector_ecommerce
4792+#: view:sale.order:0
4793+msgid "Ignore backend's cancellation, Keep Open"
4794+msgstr "Ignorer l'annulation du backend, laisser ouvert."
4795+
4796+#. module: connector_ecommerce
4797+#: view:sale.order:0
4798+msgid "Canceled in backend, to cancel"
4799+msgstr "Annulé dans le backend, à annuler"
4800+
4801+#. module: connector_ecommerce
4802+#: view:sale.order:0
4803+msgid "Only sales orders canceled in their backend"
4804+msgstr "Uniquement les commandes annulées dans leur backend"
4805+
4806+#. module: connector_ecommerce
4807+#: model:sale.exception,description:connector_ecommerce.excep_parent_order_need_cancel
4808+msgid "The parent sales order has been canceled on the backend.\n"
4809+"You will not be able to process this sales order until the parent's one is canceled."
4810+msgstr "The commande parente a été annulée sur son backend.\n"
4811+"Impossible de confirmer ce devis tant que la commande parente n'est pas annulée."
4812+
4813+#. module: connector_ecommerce
4814+#: view:payment.method:0
4815+msgid "The sales orders using the payment method will always be imported."
4816+msgstr "Les commandes utilisant cette méthode de paiement seront toujours importées."
4817+
4818+#. module: connector_ecommerce
4819+#: view:sale.ignore.cancel:0
4820+msgid "This sales order has been canceled from the backend.\n"
4821+" The usual action would be to cancel it in OpenERP along\n"
4822+" all the documents generated (delivery orders, invoices, ...)."
4823+msgstr "Cette commande a été annulée sur son backend.\n"
4824+" L'action standard est d'annuler la commande dans OpenERP ainsi\n"
4825+" que tous les documents qu'elle a générés (bons de livraison, factures, ...)."
4826+
4827+#. module: connector_ecommerce
4828+#: help:account.tax,group_id:0
4829+msgid "Choose the tax group. This is needed for example with magento or prestashop"
4830+msgstr "Choisir le groupe de taxes. Utilisé pour Magento ou Prestashop."
4831+
4832+#. module: connector_ecommerce
4833+#: model:ir.model,name:connector_ecommerce.model_stock_picking
4834+msgid "Picking List"
4835+msgstr "Liste de colisage"
4836+
4837+#. module: connector_ecommerce
4838+#: model:ir.actions.act_window,name:connector_ecommerce.action_sale_ignore_cancel
4839+#: view:sale.ignore.cancel:0
4840+msgid "Ignore the cancellation on the Backend"
4841+msgstr "Ignorer l'annulation du backend."
4842+
4843+#. module: connector_ecommerce
4844+#: model:product.template,name:connector_ecommerce.product_product_gift_product_template
4845+msgid "Gift Certificate"
4846+msgstr "Coupon Cadeau"
4847+
4848+#. module: connector_ecommerce
4849+#: model:ir.model,name:connector_ecommerce.model_sale_ignore_cancel
4850+msgid "Ignore Sales Order Cancel"
4851+msgstr "Ignorer les annulations de commandes"
4852+
4853+#. module: connector_ecommerce
4854+#: model:ir.model,name:connector_ecommerce.model_product_product
4855+msgid "Product"
4856+msgstr "Produit"
4857+
4858+#. module: connector_ecommerce
4859+#: model:ir.model,name:connector_ecommerce.model_payment_method
4860+msgid "Payment Method"
4861+msgstr "Méthode de paiement"
4862+
4863+#. module: connector_ecommerce
4864+#: model:ir.actions.act_window,name:connector_ecommerce.action_tax_group_form
4865+#: model:ir.ui.menu,name:connector_ecommerce.menu_action_tax_group_form
4866+msgid "Tax Groups"
4867+msgstr "Groupes de taxes"
4868+
4869+#. module: connector_ecommerce
4870+#: view:sale.order:0
4871+msgid "View Parent Sales Order"
4872+msgstr "Voir la commande parente"
4873+
4874+#. module: connector_ecommerce
4875+#: field:stock.picking,related_backorder_ids:0
4876+msgid "Related backorders"
4877+msgstr "Reliquat lié"
4878+
4879+#. module: connector_ecommerce
4880+#: view:account.tax.group:0
4881+msgid "Account Tax Group"
4882+msgstr "Groupe de taxes"
4883+
4884+#. module: connector_ecommerce
4885+#: field:payment.method,days_before_cancel:0
4886+msgid "Days before cancel"
4887+msgstr "Jours avant annulation"
4888+
4889+#. module: connector_ecommerce
4890+#: view:payment.method:0
4891+msgid "The sales orders using the payment method will never be imported."
4892+msgstr "Les commandes utilisant cette méthode de paiement ne seront jamais importées."
4893+
4894+#. module: connector_ecommerce
4895+#: field:sale.ignore.cancel,reason:0
4896+msgid "Reason"
4897+msgstr "Raison"
4898+
4899+#. module: connector_ecommerce
4900+#: model:sale.exception,name:connector_ecommerce.excep_order_need_cancel
4901+msgid "Sales order canceled on the backend."
4902+msgstr "Commandes annulées sur leur backend."
4903+
4904+#. module: connector_ecommerce
4905+#: model:ir.model,name:connector_ecommerce.model_sale_shop
4906+msgid "Sales Shop"
4907+msgstr "Magasins"
4908+
4909+#. module: connector_ecommerce
4910+#: model:product.category,name:connector_ecommerce.product_categ_services
4911+msgid "Services"
4912+msgstr "Services"
4913+
4914+#. module: connector_ecommerce
4915+#: view:sale.order:0
4916+msgid "Other Information"
4917+msgstr "Autres informations"
4918+
4919+#. module: connector_ecommerce
4920+#: help:product.template,tax_group_id:0
4921+msgid "Tax group are used with some external system like magento or prestashop"
4922+msgstr "Les groupes de taxes sont utilisés avec des systèmes externes comme Magento ou Prestashop."
4923+
4924+#. module: connector_ecommerce
4925+#: field:product.price.type,pricelist_item_ids:0
4926+msgid "Pricelist Items"
4927+msgstr "Lignes de liste de prix"
4928+
4929+#. module: connector_ecommerce
4930+#: field:sale.order,parent_need_cancel:0
4931+msgid "A parent sales orders needs cancel"
4932+msgstr "Une commande parente doit être annulée"
4933+
4934+#. module: connector_ecommerce
4935+#: view:payment.method:0
4936+msgid "Import Rules"
4937+msgstr "Règles d'import"
4938+
4939+#. module: connector_ecommerce
4940+#: field:payment.method,import_rule:0
4941+msgid "Import Rule"
4942+msgstr "Règle d'import"
4943+
4944+#. module: connector_ecommerce
4945+#: view:sale.ignore.cancel:0
4946+msgid "However, if for any reason you need to keep it open in OpenERP,\n"
4947+" write the reason here and it will stay open."
4948+msgstr "Cependant, si pour une raison donnée vous devez la laisser ouverte dans OpenERP,\n"
4949+" écrivez la raison ici et confirmez.."
4950+
4951+#. module: connector_ecommerce
4952+#: view:payment.method:0
4953+msgid "The sales orders using the payment method will be imported\n"
4954+" only when they receive a payment on the E-Commerce backend."
4955+msgstr "Les commandes utilisant cette méthode de paiement seront importées\n"
4956+" uniquement quand elles recevront un paiement sur leur backend e-commerce."
4957+
4958+#. module: connector_ecommerce
4959+#: field:account.tax.group,tax_ids:0
4960+msgid "Taxes"
4961+msgstr "Taxes"
4962+
4963+#. module: connector_ecommerce
4964+#: model:sale.exception,description:connector_ecommerce.excep_order_need_cancel
4965+msgid "The sales order has been canceled on the backend."
4966+msgstr "Les commandes ont été annulées sur leur backend."
4967+
4968+#. module: connector_ecommerce
4969+#: field:sale.order,need_cancel:0
4970+msgid "Need to be canceled"
4971+msgstr "Doit être annulée"
4972+
4973+#. module: connector_ecommerce
4974+#: help:sale.order,parent_need_cancel:0
4975+msgid "A parent sales orders has been canceled on the backend and needs to be canceled."
4976+msgstr "Une commande parente a été annulée sur le backend et doit être annulée."
4977+
4978+#. module: connector_ecommerce
4979+#: field:account.tax,group_id:0
4980+#: field:product.template,tax_group_id:0
4981+msgid "Tax Group"
4982+msgstr "Groupe de taxes"
4983+
4984+#. module: connector_ecommerce
4985+#: view:account.invoice:0
4986+msgid "Payments"
4987+msgstr "Paiements"
4988+
4989+#. module: connector_ecommerce
4990+#: model:sale.exception,name:connector_ecommerce.excep_parent_order_need_cancel
4991+msgid "Parent sales order canceled on the backend."
4992+msgstr "Commande parente annulée sur le backend."
4993+
4994+#. module: connector_ecommerce
4995+#: help:sale.order,need_cancel:0
4996+msgid "Has been canceled on the backend, need to be canceled."
4997+msgstr "A été annulée sur le backend, doit être annulée."
4998+
4999+#. module: connector_ecommerce
5000+#: model:product.template,name:connector_ecommerce.product_product_discount_product_template
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches