Merge lp:~midwest/magentoerpconnect/guest_shipping_fix into lp:magentoerpconnect/oerp6.1-stable

Proposed by Kyle Waid
Status: Needs review
Proposed branch: lp:~midwest/magentoerpconnect/guest_shipping_fix
Merge into: lp:magentoerpconnect/oerp6.1-stable
Diff against target: 73 lines (+15/-10)
2 files modified
magentoerpconnect/sale.py (+12/-9)
magentoerpconnect/settings/1.5.0.0/product/external.mappinglines.template.csv (+3/-1)
To merge this branch: bzr merge lp:~midwest/magentoerpconnect/guest_shipping_fix
Reviewer Review Type Date Requested Status
Sébastien BEAU - http://www.akretion.com Pending
Review via email: mp+108683@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

663. By Kyle Waid

[FIX] Guest order changes, no shipping info changes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'magentoerpconnect/sale.py'
2--- magentoerpconnect/sale.py 2012-05-28 19:39:10 +0000
3+++ magentoerpconnect/sale.py 2012-06-05 06:58:19 +0000
4@@ -370,15 +370,15 @@
5 'filters': mag_filter,
6 }
7
8- def create_onfly_partner(self, cr, uid, external_session, resource, mapping, defaults, context=None):
9+ def create_onfly_guest_partner(self, cr, uid, external_session, resource, mapping, defaults, context=None):
10 """
11 As magento allow guest order we have to create an on fly partner without any external id
12 """
13 if not defaults: defaults={}
14 local_defaults = defaults.copy()
15-
16- resource['firstname'] = resource['customer_firstname']
17- resource['lastname'] = resource['customer_lastname']
18+ #Guest order can return customer_address None so we map the billing information
19+ resource['firstname'] = resource['billing_address']['firstname']
20+ resource['lastname'] = resource['billing_address']['lastname']
21 resource['email'] = resource['customer_email']
22
23 shop = self.pool.get('sale.shop').browse(cr, uid, defaults['shop_id'], context=context)
24@@ -404,8 +404,9 @@
25 #And create a partner on fly and set the data in the default value
26 del resource['customer_id']
27 del resource['billing_address']['customer_id']
28- del resource['shipping_address']['customer_id']
29- defaults = self.create_onfly_partner(cr, uid, external_session, resource, mapping, defaults, context=context)
30+ #Shipping information is not required for in store pickup or gift certificates
31+ if resource['shipping_address']: del resource['shipping_address']['customer_id']
32+ defaults = self.create_onfly_guest_partner(cr, uid, external_session, resource, mapping, defaults, context=context)
33
34 return super(sale_order, self)._transform_one_resource(cr, uid, external_session, convertion_type, resource,\
35 mapping, mapping_id, mapping_line_filter_ids=mapping_line_filter_ids, parent_data=parent_data,\
36@@ -613,9 +614,10 @@
37 To avoid any erreur we remove the key
38 """
39 del resource['billing_address']['customer_address_id']
40- del resource['shipping_address']['customer_address_id']
41+ #Shipping information is not required for in store pickup or gift certificates
42+ if resource['shipping_address']: del resource['shipping_address']['customer_address_id']
43 del resource['billing_address']['address_id']
44- del resource['shipping_address']['address_id']
45+ if resource['shipping_address']: del resource['shipping_address']['address_id']
46
47 # For really strange and unknow reason magento want to play with me and make me some joke.
48 # Depending of the customer installation some time the field customer_id is equal to NONE
49@@ -628,7 +630,8 @@
50 else:
51 if not resource['billing_address']['customer_id']:
52 resource['billing_address']['customer_id'] = resource['customer_id']
53- if not resource['shipping_address']['customer_id']:
54+ if not resource['shipping_address']:
55+ resource['shipping_address'] = resource['billing_address']
56 resource['shipping_address']['customer_id'] = resource['customer_id']
57 return resource
58
59
60=== modified file 'magentoerpconnect/settings/1.5.0.0/product/external.mappinglines.template.csv'
61--- magentoerpconnect/settings/1.5.0.0/product/external.mappinglines.template.csv 2012-05-28 19:38:37 +0000
62+++ magentoerpconnect/settings/1.5.0.0/product/external.mappinglines.template.csv 2012-06-05 06:58:19 +0000
63@@ -12,7 +12,9 @@
64 if product_type_ids:
65 result = [('product_type',ifield)]
66 if ifield == 'simple':
67- result.append(('type', 'product'))","if 'product_type' in resource and resource['product_type']:
68+ result.append(('type', 'product'))
69+else:
70+ result.append(('type', 'service'))","if 'product_type' in resource and resource['product_type']:
71 result = [('type_id', resource['product_type'])]
72 else:
73 result = [('type_id','simple')]",,