Merge lp:~magentoerpconnect-core-editors/magentoerpconnect/trunk-fix-876312 into lp:magentoerpconnect/oerp6.1-oldstable
- trunk-fix-876312
- Merge into trunk_version
Status: | Merged |
---|---|
Approved by: | Guewen Baconnier @ Camptocamp |
Approved revision: | 647 |
Merge reported by: | Alexandre Fayolle - camptocamp |
Merged at revision: | not available |
Proposed branch: | lp:~magentoerpconnect-core-editors/magentoerpconnect/trunk-fix-876312 |
Merge into: | lp:magentoerpconnect/oerp6.1-oldstable |
Diff against target: |
796 lines (+705/-4) 10 files modified
magentoerpconnect/__openerp__.py (+7/-0) magentoerpconnect/settings/1.4.0.0/external.mapping.template.csv (+14/-0) magentoerpconnect/settings/1.4.0.0/external.mappinglines.template.csv (+321/-0) magentoerpconnect/settings/1.4.0.0/external.referential.type.csv (+2/-0) magentoerpconnect/settings/1.4.2.0/external.mapping.template.csv (+14/-0) magentoerpconnect/settings/1.4.2.0/external.mappinglines.template.csv (+318/-0) magentoerpconnect/settings/1.4.2.0/external.referential.type.csv (+2/-0) magentoerpconnect/settings/1.5.0.0/external.mappinglines.template.csv (+4/-4) magentoerpconnect/settings/update/fix_product_categories.sql (+7/-0) magentoerpconnect/settings/update/magerp.product_category_attribute_options.xml (+16/-0) |
To merge this branch: | bzr merge lp:~magentoerpconnect-core-editors/magentoerpconnect/trunk-fix-876312 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Guewen Baconnier @ Camptocamp | Approve | ||
Review via email: mp+113750@code.launchpad.net |
This proposal supersedes a proposal from 2012-07-06.
Commit message
[FIX] magentoerpconnect: fix export product.category issues
* the product.category meta_title has a max length of 255 char on magento
* add mappings for Magento 1.4.0.0 and 1.4.2.0, for the product.category
available
* duplicate the option used for default value with an empty string and fix mappings
(>> 1.4)
I did not simply change the value of the option as there might be a chance that
the 'None' trick works with Magento 1.3.x (and I don't have such an instance to
run a test on it)
In the mappings, the options are looked for by value, so the new option is used
with the new mappings.
* added settings/
options on product_category on an existing database. Must be run manually
Description of the change
Work around magento bug wrt product categories. Closes https:/
Guewen Baconnier @ Camptocamp (gbaconnier-c2c) wrote : | # |
Guewen Baconnier @ Camptocamp (gbaconnier-c2c) wrote : | # |
So many thanks Alexandre because I know that this debugging style across magento and openerp is not exciting nor very trivial especially according to the "so rich" Magento API documentation and a lot of bad surprises...
In my opinion, you can merge your branch.
Preview Diff
1 | === modified file 'magentoerpconnect/__openerp__.py' |
2 | --- magentoerpconnect/__openerp__.py 2012-07-05 13:16:07 +0000 |
3 | +++ magentoerpconnect/__openerp__.py 2012-07-06 14:58:19 +0000 |
4 | @@ -47,10 +47,17 @@ |
5 | 'settings/1.3.2.4/external.referential.type.csv', |
6 | 'settings/1.3.2.4/external.mapping.template.csv', |
7 | 'settings/1.3.2.4/external.mappinglines.template.csv', |
8 | + 'settings/1.4.0.0/external.referential.type.csv', |
9 | + 'settings/1.4.0.0/external.mapping.template.csv', |
10 | + 'settings/1.4.0.0/external.mappinglines.template.csv', |
11 | + 'settings/1.4.2.0/external.referential.type.csv', |
12 | + 'settings/1.4.2.0/external.mapping.template.csv', |
13 | + 'settings/1.4.2.0/external.mappinglines.template.csv', |
14 | 'settings/1.5.0.0/external.referential.type.csv', |
15 | 'settings/1.5.0.0/external.mapping.template.csv', |
16 | 'settings/1.5.0.0/external.mappinglines.template.csv', |
17 | 'settings/magerp_product_product_type.xml', |
18 | + 'settings/update/magerp.product_category_attribute_options.xml', |
19 | 'magerp_data.xml', |
20 | 'board_view.xml', |
21 | 'magerp_core_view.xml', |
22 | |
23 | === added directory 'magentoerpconnect/settings/1.4.0.0' |
24 | === added file 'magentoerpconnect/settings/1.4.0.0/external.mapping.template.csv' |
25 | --- magentoerpconnect/settings/1.4.0.0/external.mapping.template.csv 1970-01-01 00:00:00 +0000 |
26 | +++ magentoerpconnect/settings/1.4.0.0/external.mapping.template.csv 2012-07-06 14:58:19 +0000 |
27 | @@ -0,0 +1,14 @@ |
28 | +"id","type_id:id","model_id:id","external_list_method","external_get_method","external_update_method","external_create_method","external_delete_method","external_key_name" |
29 | +"magento_1400_website","magento1400","base_sale_multichannels.model_external_shop_group","ol_websites.list",,,,,"website_id" |
30 | +"magento_1400_storeview","magento1400","model_magerp_storeviews","ol_storeviews.list",,,,,"store_id" |
31 | +"magento_1400_store","magento1400","sale.model_sale_shop","ol_groups.list",,,,,"group_id" |
32 | +"magento_1400_order","magento1400","sale.model_sale_order","sales_order.list","sales_order.info",,,,"increment_id" |
33 | +"magento_1400_order_line","magento1400","sale.model_sale_order_line",,,,,,"item_id" |
34 | +"magento_1400_pro_cat","magento1400","product.model_product_category","category.list","category.info","catalog_category.update","catalog_category.create",,"category_id" |
35 | +"magento_1400_attr_grp","magento1400","model_magerp_product_attribute_groups","ol_catalog_product_attribute_group.list","ol_catalog_product_attribute_group.list",,,,"attribute_group_id" |
36 | +"magento_1400_attr_set","magento1400","model_magerp_product_attribute_set","ol_catalog_product_attributeset.list",,,,,"attribute_set_id" |
37 | +"magento_1400_attr","magento1400","model_magerp_product_attributes","ol_catalog_product_attribute.list",,,,,"attribute_id" |
38 | +"magento_1400_prd","magento1400","product.model_product_product","catalog_product.list","catalog_product.info","ol_catalog_product.update","ol_catalog_product.create",,"product_id" |
39 | +"magento_1400_cst_grp","magento1400","base.model_res_partner_category","ol_customer_groups.list",,,,,"customer_group_id" |
40 | +"magento_1400_prt_adr","magento1400","base.model_res_partner_address","ol_customer_address.list","ol_customer_address.info",,,,"entity_id" |
41 | +"magento_1400_prt","magento1400","base.model_res_partner","customer.list","customer.info","customer.update",,,"customer_id" |
42 | |
43 | === added file 'magentoerpconnect/settings/1.4.0.0/external.mappinglines.template.csv' |
44 | --- magentoerpconnect/settings/1.4.0.0/external.mappinglines.template.csv 1970-01-01 00:00:00 +0000 |
45 | +++ magentoerpconnect/settings/1.4.0.0/external.mappinglines.template.csv 2012-07-06 14:58:19 +0000 |
46 | @@ -0,0 +1,321 @@ |
47 | +id,type_id:id,model_id:id,external_field,field_id:id,type,evaluation_type,external_type,child_mapping_id:id,in_function,out_function |
48 | +mag_1400_erp_s_name,magento1400,base_sale_multichannels.model_external_shop_group,name,,in_out,function,unicode,,"result=[('name',ifield)]","result=[('name',record['name'])]" |
49 | +mag_1400_erp_s_code,magento1400,base_sale_multichannels.model_external_shop_group,code,,in_out,function,unicode,,"result=[('code',ifield)]", |
50 | +mag_1400_erp_s_web,magento1400,base_sale_multichannels.model_external_shop_group,website_id,,in_out,function,int,,"result=[('website_id',ifield)]", |
51 | +mag_1400_erp_s_isa,magento1400,base_sale_multichannels.model_external_shop_group,is_default,,in_out,function,unicode,,"result=[('is_default',bool(eval(ifield)))]", |
52 | +mag_1400_erp_s_stord,magento1400,base_sale_multichannels.model_external_shop_group,sort_order,,in_out,function,int,,"result=[('sort_order',ifield)]", |
53 | +mag_1400_erp_s_gpid,magento1400,base_sale_multichannels.model_external_shop_group,default_group_id,,in_out,function,int,,"result=[('default_shop_integer_id',ifield)]", |
54 | +mag_1400_erp_sv_name,magento1400,model_magerp_storeviews,name,,in_out,function,unicode,,"result=[('name',ifield)]","result=[('name',record['name'])]" |
55 | +mag_1400_erp_sv_code,magento1400,model_magerp_storeviews,code,,in_out,function,unicode,,"result=[('code',ifield)]", |
56 | +mag_1400_erp_sv_sg,magento1400,model_magerp_storeviews,website_id,,in_out,function,int,,"result=[('website_id',self.pool.get('external.shop.group').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
57 | +mag_1400_erp_sv_isa,magento1400,model_magerp_storeviews,is_active,,in_out,function,unicode,,"result=[('is_active',bool(eval(ifield)))]", |
58 | +mag_1400_erp_sv_stord,magento1400,model_magerp_storeviews,sort_order,,in_out,function,int,,"result=[('sort_order',ifield)]", |
59 | +mag_1400_erp_sv_gpid,magento1400,model_magerp_storeviews,group_id,,in_out,function,int,,"result=[('shop_id',self.pool.get('sale.shop').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
60 | +mag_1400_erp_st_name,magento1400,sale.model_sale_shop,name,,in_out,function,unicode,,"result=[('name',ifield)]","result=[('name',record['name'])]" |
61 | +mag_1400_erp_st_gpid,magento1400,sale.model_sale_shop,group_id,,in_out,function,int,,"result=[('group_id',ifield)]", |
62 | +mag_1400_erp_st_grp,magento1400,sale.model_sale_shop,website_id,,in_out,function,int,,"result=[('shop_group_id',self.pool.get('external.shop.group').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
63 | +mag_1400_erp_st_default_st,magento1400,sale.model_sale_shop,default_store_id,,in_out,function,int,,"result=[('default_storeview_integer_id',ifield)]", |
64 | +mag_1400_erp_st_root_categ,magento1400,sale.model_sale_shop,root_category_id,,in_out,function,int,,"result=[('root_category_id',ifield)]", |
65 | +mag_1400_erp_so_total_amount,magento1400,sale.model_sale_order,grand_total,,in_out,function,float,,"result=[('ext_total_amount',str(ifield))]", |
66 | +mag_1400_erp_so_name,magento1400,sale.model_sale_order,increment_id,,in_out,function,unicode,,"result=[('magento_incrementid',str(ifield)), ('name','mag_' + str(ifield))]", |
67 | +mag_1400_erp_so_carrier_id,magento1400,sale.model_sale_order,shipping_method,,in_out,function,unicode,,"if ifield: |
68 | + carrier_ids = self.pool.get('delivery.carrier').search(cr, uid, [('magento_code', '=', ifield)]) |
69 | + if carrier_ids: |
70 | + result=[('carrier_id', carrier_ids[0])] |
71 | + else: |
72 | + fake_partner_id = self.pool.get('res.partner').search(cr, uid, [])[0] |
73 | + model_data_obj = self.pool.get('ir.model.data') |
74 | + model, product_id = model_data_obj.get_object_reference(cr, uid, 'base_sale_multichannels', 'product_product_shipping') |
75 | + carrier_id = self.pool.get('delivery.carrier').create(cr, uid, {'partner_id' : fake_partner_id, 'product_id' : product_id, 'name' : ifield, 'magento_code' : ifield}) |
76 | + result=[('carrier_id', carrier_id)]", |
77 | +mag_1400_erp_so_pay,magento1400,sale.model_sale_order,payment,,in_out,function,unicode,," |
78 | +payments_mapping = {'checkmo': 'manual', 'ccsave': 'prepaid', 'free':'prepaid','googlecheckout':'prepaid','paypayl_express':'prepaid', 'paybox_system': 'prepaid', 'paypal_standard': 'prepaid', 'cashondelivery': 'manual', 'servired_standard': 'prepaid', 'bbva': 'prepaid', 'cofidis': 'prepaid'} |
79 | +ifield=eval(ifield) |
80 | +result=[('order_policy', ifield['method'] in payments_mapping and payments_mapping[ifield['method']] or 'prepaid'), ('ext_payment_method', ifield['method'])]", |
81 | +mag_1400_erp_so_item,magento1400,sale.model_sale_order,items,sale.field_sale_order_order_line,in,sub-mapping,dict,magento_1400_order_line,, |
82 | +"mag_1400_erp_soline_name","magento1400","sale.model_sale_order_line","name",,"in_out","function","unicode",,"result=[('name', ifield)] |
83 | +", |
84 | +"mag_1400_erp_soline_note","magento1400","sale.model_sale_order_line","product_options",,"in","function","unicode",,"if ifield: |
85 | + import re |
86 | + options_label = [] |
87 | + clean = re.sub('\w:\w:|\w:\w+;', '', ifield) |
88 | + for each in clean.split('{'): |
89 | + if each.startswith('""label""'): |
90 | + split_info = each.split(';') |
91 | + options_label.append('%s: %s [%s]' % (split_info[1], split_info[3], data['sku'])) |
92 | + |
93 | + result=[('notes', """".join(options_label).replace('""""', '\n').replace('""', ''))] |
94 | +", |
95 | +mag_1400_erp_soline_pid,magento1400,sale.model_sale_order_line,product_id,,in_out,function,unicode,,"context['alternative_key'] = data['sku'] |
96 | +result=[('product_id',self.pool.get('product.product').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
97 | +mag_1400_erp_soline_uomqty,magento1400,sale.model_sale_order_line,qty_ordered,,in_out,function,unicode,,"result=[('product_uom_qty',ifield)]", |
98 | +mag_1400_erp_soline_uosqty,magento1400,sale.model_sale_order_line,qty_ordered,,in,function,unicode,,"result=[('product_uos_qty',ifield)]", |
99 | +mag_1400_erp_soline_price,magento1400,sale.model_sale_order_line,price,,in,function,unicode,,"if context.get('price_is_tax_included', False): |
100 | + result=[('price_unit', (float(data['row_total']) + float(data['tax_amount']))/float(data['qty_ordered']))] |
101 | +else: |
102 | + result=[('price_unit', float(data['row_total'])/float(data['qty_ordered']))]", |
103 | +mag_1400_erp_soline_disc,magento1400,sale.model_sale_order_line,discount_amount,,in,function,float,,"if ifield: |
104 | + result=[('discount', float(data['price']) != 0 and float(data['qty_ordered']) != 0 and float(100*ifield)/(float(data['price'])*float(data['qty_ordered'])) or 0)]", |
105 | +mag_1400_erp_procat_2,magento1400,product.model_product_category,level,,in,function,int,,"result=[('sequence',ifield),('level',ifield)]", |
106 | +mag_1400_erp_procat_3,magento1400,product.model_product_category,parent_id,,in_out,function,int,,"record_id = self.pool.get('ir.model.data').search(cr, uid, [('model', '=', self._name), ('name', '=', self.prefixed_id(ifield))]) |
107 | +parent_id = False |
108 | +if record_id: |
109 | + parent_rec = self.pool.get('ir.model.data').read(cr,uid,record_id[0],[]) |
110 | + parent_id=parent_rec.get('res_id',False) |
111 | +result=[('magento_parent_id',ifield),('parent_id',parent_id)]","magento_parent_id = False |
112 | +if record.get('parent_id',False): |
113 | + magento_parent_id = self.oeid_to_extid(cr, uid, record.get('parent_id')[0], external_referential_id) |
114 | + if not magento_parent_id: |
115 | + self.ext_export(cr,uid,[record.get('parent_id',[False])[0]],[external_referential_id],{},context=context) |
116 | + magento_parent_id = self.oeid_to_extid(cr, uid, record.get('parent_id')[0], external_referential_id) |
117 | +if magento_parent_id: |
118 | + result = [('parent_id',magento_parent_id)]" |
119 | +mag_1400_erp_procat_4,magento1400,product.model_product_category,is_active,,in_out,function,unicode,,"result=[('is_active',ifield and (eval(ifield)) or False)]","result=[('is_active',record['is_active'])]" |
120 | +mag_1400_erp_procat_5,magento1400,product.model_product_category,description,,in_out,function,unicode,,"result=[('description',ifield)]","result=[('description',record['description'])]" |
121 | +mag_1400_erp_procat_6,magento1400,product.model_product_category,meta_title,,in_out,function,unicode,,"result=[('meta_title',ifield)]","result=[('meta_title',record['meta_title'])]" |
122 | +mag_1400_erp_procat_7,magento1400,product.model_product_category,meta_keywords,,in_out,function,unicode,,"result=[('meta_keywords',ifield)]","result=[('meta_keywords',record['meta_keywords'])]" |
123 | +mag_1400_erp_procat_8,magento1400,product.model_product_category,meta_description,,in_out,function,unicode,,"result=[('meta_description',ifield)]","result=[('meta_description',record['meta_description'])]" |
124 | +mag_1400_erp_procat_9,magento1400,product.model_product_category,url_key,,in_out,function,unicode,,"result=[('url_key',ifield)]","if context.get('export_url', False) : |
125 | + result=[('url_key',record['url_key'])]" |
126 | +mag_1400_erp_procat_10,magento1400,product.model_product_category,name,,in_out,function,unicode,,"result=[('name',ifield or 'UNDEFINED'),('magento_exportable',True)]","result=[('name',record['name'])]" |
127 | +mag_1400_erp_procat_11,magento1400,product.model_product_category,is_anchor,,in_out,function,unicode,,"result=[('is_anchor',ifield and bool(eval(ifield)) or False)]","result=[('is_anchor',record['is_anchor'])]" |
128 | +mag_1400_erp_procat_12,magento1400,product.model_product_category,available_sort_by,,in_out,function,list,,"attr_ids = [] |
129 | +cat_attr_obj = self.pool.get('magerp.product_category_attribute_options') |
130 | +if ifield: |
131 | + for val in ifield: |
132 | + attr_ids.append(cat_attr_obj.get_create_option_id(cr, uid, val,'sort_by', context=context)) |
133 | + result=[('available_sort_by', [(6, 0, attr_ids)]), ('use_default_available_sort_by', False)] |
134 | +else: |
135 | + result=[('use_default_available_sort_by', True)]","if record['use_default_available_sort_by']: |
136 | + res = u'' |
137 | +else: |
138 | + res = [] |
139 | + for cat_attr_option in self.pool.get('magerp.product_category_attribute_options').browse(cr, uid, record['available_sort_by'], context=context): |
140 | + res.append(cat_attr_option.value) |
141 | + # comment out the following line if you can run the following SQL query on the Magento database: |
142 | + # update eav_attribute set is_required = 0 where attribute_code = 'available_sort_by'; |
143 | + res = u'' |
144 | +result=[('available_sort_by', res)]" |
145 | +mag_1400_erp_procat_13,magento1400,product.model_product_category,default_sort_by,,in_out,function,unicode,,"if ifield: |
146 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, ifield,'sort_by', context=context) |
147 | +else: |
148 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, '','sort_by', context=context) |
149 | +result=[('default_sort_by',att_id)]","options_obj = self.pool.get('magerp.product_category_attribute_options') |
150 | +cat_attr_option_id = record['default_sort_by'] |
151 | +if cat_attr_option_id: |
152 | + cat_attr_option_id = cat_attr_option_id[0] |
153 | +else: |
154 | + cat_attr_option_id = options_obj._get_default_option(cr, uid, 'sort_by', '', context=context) |
155 | + |
156 | +cat_attr_option = options_obj.browse(cr, uid, cat_attr_option_id, context=context) |
157 | +result=[('default_sort_by', cat_attr_option.value)]" |
158 | +mag_1400_erp_procat_14,magento1400,product.model_product_category,updated_at,,in,function,unicode,,"result=[('magerp_stamp',ifield)]", |
159 | +mag_1400_erp_procat_15,magento1400,product.model_product_category,image,,in_out,function,unicode,,"image_binary = False |
160 | +if ifield and not ifield=='None': |
161 | + try: |
162 | + image_binary = conn.call('ol_catalog_category_media.info', [int(data['category_id'])]) |
163 | + except Exception, e: |
164 | + print e |
165 | + pass |
166 | + if image_binary: |
167 | + image_binary = base64.encodestring(base64.urlsafe_b64decode(image_binary[0]['image_data'])) |
168 | +result=[('image_name',ifield),('image',image_binary)]","if record['image']: |
169 | + img = base64.decodestring(record['image']) |
170 | + img_bin_enc = base64.encodestring(img) |
171 | + conn.call('ol_catalog_category_media.create', [record['image_name'], img_bin_enc]) |
172 | + result = [('image',record['image_name'])] |
173 | +else: |
174 | + result=[]" |
175 | +mag_1400_erp_procat_16,magento1400,product.model_product_category,include_in_menu,,in_out,function,unicode,,"result=[('include_in_menu', ifield and (eval(ifield)) or False)]","result=[('include_in_menu',record['include_in_menu'])]" |
176 | +mag_1400_erp_procat_17,magento1400,product.model_product_category,page_layout,,in_out,function,unicode,,"if ifield: |
177 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, ifield,'page_layout', context=context) |
178 | +else: |
179 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, '','page_layout', context=context) |
180 | +result=[('page_layout',att_id)]","page_layout = record['page_layout'] and record['page_layout'][1] or '' |
181 | +result=[('page_layout', page_layout)]" |
182 | +mag_1400_erp_attrgrp_2,magento1400,model_magerp_product_attribute_groups,attribute_set_id,,in_out,function,int,,"result=[('attribute_set_id', ifield)]","result=[('attribute_set_id', record['attribute_set_id'])]" |
183 | +mag_1400_erp_attrgrp_3,magento1400,model_magerp_product_attribute_groups,attribute_group_name,,in_out,function,unicode,,"result=[('attribute_group_name', ifield)]","result=[('attribute_group_name', record['attribute_group_name'])]" |
184 | +mag_1400_erp_attrgrp_4,magento1400,model_magerp_product_attribute_groups,sort_order,,in_out,function,int,,"result=[('sort_order', ifield)]","result=[('sort_order', record['sort_order'])]" |
185 | +mag_1400_erp_attrgrp_5,magento1400,model_magerp_product_attribute_groups,default_id,,in_out,function,int,,"result=[('default_id', ifield)]","result=[('default_id', record['default_id'])]" |
186 | +mag_1400_erp_attrset_1,magento1400,model_magerp_product_attribute_set,attribute_set_id,,in_out,function,int,,"result=[('magento_id', ifield)]","result=[('attribute_set_id', record['magento_id'])]" |
187 | +mag_1400_erp_attrset_2,magento1400,model_magerp_product_attribute_set,sort_order,,in_out,function,int,,"result=[('sort_order', ifield)]","result=[('sort_order', record['sort_order'])]" |
188 | +mag_1400_erp_attrset_3,magento1400,model_magerp_product_attribute_set,attribute_set_name,,in_out,function,unicode,,"result=[('attribute_set_name', ifield)]","result=[('attribute_set_name', record['attribute_set_name'])]" |
189 | +mag_1400_erp_attr_1,magento1400,model_magerp_product_attributes,attribute_code,,in_out,function,unicode,,"result=[('attribute_code', ifield)]","result=[('code', record['attribute_code'])]" |
190 | +mag_1400_erp_attr_2,magento1400,model_magerp_product_attributes,attribute_id,,in_out,function,int,,"result=[('magento_id', ifield)]", |
191 | +mag_1400_erp_attr_3,magento1400,model_magerp_product_attributes,frontend_input,,in_out,function,unicode,,"result=[('frontend_input', ifield)]","result=[('frontend_input', record['frontend_input'])]" |
192 | +mag_1400_erp_attr_4,magento1400,model_magerp_product_attributes,frontend_class,,in_out,function,unicode,,"result=[('frontend_class', ifield)]","result=[('frontend_class', record['frontend_class'])]" |
193 | +mag_1400_erp_attr_5,magento1400,model_magerp_product_attributes,backend_model,,in_out,function,unicode,,"result=[('backend_model', ifield)]","result=[('backend_model', record['backend_model'])]" |
194 | +mag_1400_erp_attr_6,magento1400,model_magerp_product_attributes,backend_type,,in_out,function,unicode,,"result=[('backend_type', ifield)]","result=[('backend_type', record['backend_type'])]" |
195 | +mag_1400_erp_attr_7,magento1400,model_magerp_product_attributes,frontend_label,,in_out,function,unicode,,"result=[('frontend_label', ifield)]","result=[('frontend_label', record['frontend_label'])]" |
196 | +mag_1400_erp_attr_8,magento1400,model_magerp_product_attributes,is_visible_in_advanced_search,,in_out,function,unicode,,"result=[('is_visible_in_advanced_search', bool(eval(ifield)))]","result=[('is_visible_in_advanced_search', record['is_visible_in_advanced_search'])]" |
197 | +mag_1400_erp_attr_9,magento1400,model_magerp_product_attributes,is_global,,in_out,function,unicode,,"result=[('is_global', bool(eval(ifield)))]","result=[('is_global', record['is_global'])]" |
198 | +mag_1400_erp_attr_10,magento1400,model_magerp_product_attributes,is_filterable,,in_out,function,unicode,,"result=[('is_filterable', bool(eval(ifield)))]","result=[('is_filterable', record['is_filterable'])]" |
199 | +mag_1400_erp_attr_11,magento1400,model_magerp_product_attributes,is_comparable,,in_out,function,unicode,,"result=[('is_comparable', bool(eval(ifield)))]","result=[('is_comparable', record['is_comparable'])]" |
200 | +mag_1400_erp_attr_12,magento1400,model_magerp_product_attributes,is_visible,,in_out,function,unicode,,"result=[('is_visible', bool(eval(ifield)))]","result=[('is_visible', record['is_visible'])]" |
201 | +mag_1400_erp_attr_13,magento1400,model_magerp_product_attributes,is_searchable,,in_out,function,unicode,,"result=[('is_searchable', bool(eval(ifield)))]","result=[('is_searchable', record['is_searchable'])]" |
202 | +mag_1400_erp_attr_14,magento1400,model_magerp_product_attributes,is_user_defined,,in_out,function,unicode,,"result=[('is_user_defined', bool(eval(ifield)))]","result=[('is_user_defined', record['is_user_defined'])]" |
203 | +mag_1400_erp_attr_15,magento1400,model_magerp_product_attributes,is_configurable,,in_out,function,unicode,,"result=[('is_configurable', bool(eval(ifield)))]","result=[('is_configurable', record['is_configurable'])]" |
204 | +mag_1400_erp_attr_16,magento1400,model_magerp_product_attributes,is_visible_on_front,,in_out,function,unicode,,"result=[('is_visible_on_front', bool(eval(ifield)))]","result=[('is_visible_on_front', record['is_visible_on_front'])]" |
205 | +mag_1400_erp_attr_17,magento1400,model_magerp_product_attributes,is_used_for_price_rules,,in_out,function,unicode,,"result=[('is_used_for_price_rules', bool(eval(ifield)))]","result=[('is_used_for_price_rules', record['is_used_for_price_rules'])]" |
206 | +mag_1400_erp_attr_18,magento1400,model_magerp_product_attributes,is_unique,,in_out,function,unicode,,"result=[('is_unique', bool(eval(ifield)))]","result=[('is_unique', record['is_unique'])]" |
207 | +mag_1400_erp_attr_19,magento1400,model_magerp_product_attributes,is_required,,in_out,function,unicode,,"result=[('is_required', bool(eval(ifield)))]","result=[('is_required', record['is_required'])]" |
208 | +mag_1400_erp_attr_20,magento1400,model_magerp_product_attributes,position,,in_out,function,int,,"result=[('position', ifield)]","result=[('position', record['position'])]" |
209 | +mag_1400_erp_attr_21,magento1400,model_magerp_product_attributes,attribute_set_info,,in_out,function,unicode,,"result=[('attribute_set_info', ifield)]","result=[('attribute_set_info', record['attribute_set_info'])]" |
210 | +mag_1400_erp_attr_22,magento1400,model_magerp_product_attributes,default_value,,in_out,function,unicode,,"result=[('default_value', ifield)]","result=[('default_value', record['default_value'])]" |
211 | +mag_1400_erp_attr_23,magento1400,model_magerp_product_attributes,note,,in_out,function,unicode,,"result=[('note', ifield)]","result=[('note', record['note'])]" |
212 | +mag_1400_erp_attr_24,magento1400,model_magerp_product_attributes,entity_type_id,,in_out,function,int,,"result=[('entity_type_id', ifield)]","result=[('entity_type_id', record['entity_type_id'])]" |
213 | +mag_1400_erp_attr_25,magento1400,model_magerp_product_attributes,apply_to,,in_out,function,unicode,,"result=[('apply_to', str(ifield))]","result=[('apply_to', eval(record['%s']))]" |
214 | +mag_1400_erp_prd_1,magento1400,product.model_product_product,url_key,,in_out,function,unicode,,"result=[('x_magerp_url_key',ifield)]","if context.get('export_url', False) : |
215 | + result=[('url_key',record['x_magerp_url_key'])]" |
216 | +mag_1400_erp_prd_2,magento1400,product.model_product_product,name,,in_out,function,unicode,,"result = [('name',ifield)]","result = [('name',record['name'])]" |
217 | +mag_1400_erp_prd_3,magento1400,product.model_product_product,description,,in_out,function,unicode,,"result = [('description',ifield)]", |
218 | +mag_1400_erp_prd_4,magento1400,product.model_product_product,short_description,,in_out,function,unicode,,"result = [('description_sale',ifield)]", |
219 | +mag_1400_erp_prd_5,magento1400,product.model_product_product,sku,,in_out,function,unicode,,"result = [('magento_sku',ifield), ('default_code',ifield)]", |
220 | +mag_1400_erp_prd_6,magento1400,product.model_product_product,weight,,in_out,function,float,,"result = [('weight',ifield)]","result = [('weight',record['weight'] or 0)]" |
221 | +mag_1400_erp_prd_7,magento1400,product.model_product_product,category_ids,,in_out,function,list,,"categ_ids =[] |
222 | +if ifield and len(ifield) > 0: |
223 | + for category_ids in ifield: |
224 | + categ_ids.append(self.pool.get('product.category').extid_to_oeid(cr, uid, category_ids, external_referential_id, context=context)) |
225 | + categ_id = categ_ids.pop() |
226 | +else: |
227 | + categ_id = self.pool.get('external.referential').browse(cr, uid, external_referential_id).default_pro_cat.id |
228 | +result = [('categ_id', categ_id), ('categ_ids',[(6, 0, categ_ids)])]"," |
229 | +cat_obj = self.pool.get('product.category') |
230 | +product = self.browse(cr, uid, record['id']) |
231 | +categ_ids = [categ.id for categ in ([product.categ_id] + product.categ_ids) if categ.magento_exportable] |
232 | +mag_categ_ids = [] |
233 | +for categ_id in categ_ids: |
234 | + mag_categ_id = cat_obj.oeid_to_extid(cr, uid, categ_id, external_referential_id) |
235 | + if not mag_categ_id: |
236 | + cat_obj.ext_export(cr, uid, [categ_id], [external_referential_id], context=context) |
237 | + mag_categ_id = cat_obj.oeid_to_extid(cr, uid, categ_id, external_referential_id) |
238 | + mag_categ_ids.append(mag_categ_id) |
239 | +result=[('category_ids', mag_categ_ids)]" |
240 | +mag_1400_erp_prd_8,magento1400,product.model_product_product,price,,in_out,function,float,,"result=[('list_price',ifield)]",result=[]#map later |
241 | +mag_1400_erp_prd_9,magento1400,product.model_product_product,cost,,in_out,function,float,,"result=[('standard_price',ifield)]","result = [('cost',record['standard_price'] or 0)]" |
242 | +mag_1400_erp_prd_10,magento1400,product.model_product_product,set,,in_out,function,unicode,,"result=[('set',self.pool.get('magerp.product_attribute_set').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
243 | +mag_1400_erp_prd_11,magento1400,product.model_product_product,special_price,,in_out,function,float,,"result = [('x_magerp_special_price',ifield)]", |
244 | +mag_1400_erp_prd_12,magento1400,product.model_product_product,tier_price,,in_out,function,unicode,,result=[]#no mapping by default,result=[]#no mapping by default |
245 | +mag_1400_erp_prd_13,magento1400,product.model_product_product,minimal_price,,in_out,function,float,,"result = [('x_magerp_minimal_price',ifield)]"," |
246 | +if record['x_magerp_minimal_price'] and record['x_magerp_minimal_price'] != 0: |
247 | + result = [('minimal_price',record['x_magerp_minimal_price'])] |
248 | +else: |
249 | + result = [('minimal_price',False)]" |
250 | +mag_1400_erp_prd_14,magento1400,product.model_product_product,type_id,,in_out,function,unicode,,"if ifield: |
251 | + product_type_ids = self.pool.get('magerp.product_product_type').search(cr,uid,[('product_type','=',ifield)]) |
252 | + if product_type_ids: |
253 | + result = [('product_type',ifield)]","if 'product_type' in record and record['product_type']: |
254 | + result = [('type_id',record['product_type'])] |
255 | +else: |
256 | + result = [('type_id','simple')]" |
257 | +mag_1400_erp_prd_15,magento1400,product.model_product_product,websites,,in_out,function,list,,"websites_ids = [] |
258 | +for ext_id in ifield: |
259 | + websites_ids.append(self.pool.get('external.shop.group').extid_to_oeid(cr, uid, ext_id, external_referential_id, context=context)) |
260 | + |
261 | +##### OPTION START, with this if the field websites of the product is empty the product is exported on every website |
262 | +all_oe_websites_ids = self.pool.get('external.shop.group').search(cr,uid,[('referential_id', '=', external_referential_id)]) |
263 | +if set(websites_ids) == set(all_oe_websites_ids): |
264 | + websites_ids =[] |
265 | +##### OPTION END |
266 | + |
267 | +result=[('websites_ids', [(6,0, websites_ids)])]","##### OPTION START, with this if the field websites of the product is empty the product is exported on every website |
268 | +if not record['websites_ids']: |
269 | + record['websites_ids'] = self.pool.get('external.shop.group').search(cr,uid,[('referential_id', '=', external_referential_id)]) |
270 | +##### OPTION END |
271 | + |
272 | +ext_websites_ids = [] |
273 | +for oe_id in record['websites_ids']: |
274 | + ext_websites_ids.append(self.pool.get('external.shop.group').oeid_to_extid(cr, uid, oe_id, external_referential_id)) |
275 | + |
276 | +result=[('websites', ext_websites_ids)]" |
277 | +mag_1400_erp_prd_16,magento1400,product.model_product_product,has_options,,in,function,unicode,,"result =[('x_magerp_has_options',ifield)]", |
278 | +magento_1400_cst_grp_1,magento1400,base.model_res_partner_category,customer_group_code,,in,function,unicode,,"result=[('name',ifield)]", |
279 | +magento_1400_cst_grp_3,magento1400,base.model_res_partner_category,tax_class_id,,in,function,int,,"result=[('tax_class_id',ifield)]", |
280 | +magento_1400_prt_adr_2,magento1400,base.model_res_partner_address,city,,in_out,function,unicode,,"result=[('city',ifield)]", |
281 | +magento_1400_prt_adr_3,magento1400,base.model_res_partner_address,fax,,in_out,function,unicode,,"result=[('fax',ifield)]", |
282 | +magento_1400_prt_adr_4,magento1400,base.model_res_partner_address,firstname,,in_out,function,unicode,,"name = ' '.join([ f for f in (data['firstname'], data['lastname']) if f]) |
283 | +if data.get('company'): |
284 | + name = ""%s ; %s"" % (data['company'], name) |
285 | +result = [('name', name), ('firstname', ifield), ('lastname', data['lastname'])]", |
286 | +magento_1400_prt_adr_6,magento1400,base.model_res_partner_address,is_active,,in_out,function,unicode,,"result=[('active',bool(eval(ifield)))]", |
287 | +magento_1400_prt_adr_7,magento1400,base.model_res_partner_address,country_id,,in_out,function,unicode,,"result = self.pool.get('res.country').search(cr,uid,[('code','=',ifield)]) |
288 | +if result and len(result)==1: |
289 | + result=[('country_id',result[0])] |
290 | +else: |
291 | + result=[] |
292 | +", |
293 | +magento_1400_prt_adr_8,magento1400,base.model_res_partner_address,street,,in_out,function,unicode,,"if ifield: |
294 | + if len(ifield.split('\n')) ==2 : |
295 | + result = [('street', ifield.split('\n')[0]) , ('street2', ifield.split('\n')[1])] |
296 | + else : |
297 | + result = [('street',ifield.replace('\\n',','))] |
298 | +else: |
299 | + result = []", |
300 | +magento_1400_prt_adr_9,magento1400,base.model_res_partner_address,postcode,,in_out,function,unicode,,"result=[('zip',ifield)]", |
301 | +magento_1400_prt_adr_10,magento1400,base.model_res_partner_address,telephone,,in_out,function,unicode,,"result=[('phone',ifield)]", |
302 | +magento_1400_prt_adr_11,magento1400,base.model_res_partner_address,region,,in_out,function,unicode,,"if ifield: |
303 | + result = self.pool.get('res.country.state').search(cr,uid,[('name','=ilike',ifield)]) |
304 | + if result and len(result)==1: |
305 | + result = [('state_id',result[0])] |
306 | + else: |
307 | + result=[] |
308 | +else: |
309 | + result=[]", |
310 | +magento_1400_prt_adr_13,magento1400,base.model_res_partner_address,customer_id,,in_out,function,int,,"result=self.pool.get('res.partner').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
311 | +if result: |
312 | + result=[('partner_id',result)] |
313 | +else: |
314 | + result=[('partner_id',False)]", |
315 | +magento_1400_prt_adr_14,magento1400,base.model_res_partner_address,address_type,,in_out,function,unicode,,"if ifield=='billing': |
316 | + result=[('type','invoice')] |
317 | +elif ifield=='shipping': |
318 | + result=[('type','delivery')] |
319 | +else: |
320 | + result=[]", |
321 | +magento_1400_prt_adr_15,magento1400,base.model_res_partner_address,email,,in_out,function,unicode,,"result = [('email', False)] |
322 | +if ifield: |
323 | + result = [('email', ifield)] |
324 | +else: |
325 | + partner_obj = self.pool.get('res.partner') |
326 | + partner_id = partner_obj.extid_to_existing_oeid(cr, uid, data['customer_id'] ,external_referential_id) |
327 | + if partner_id: |
328 | + result = [('email', partner_obj.browse(cr, uid, partner_id).emailid)]", |
329 | +magento_1400_prt_adr_17,magento1400,base.model_res_partner_address,default_billing,,in_out,function,unicode,,"result = [('type', 'other')] |
330 | +if data.get('default_billing') and data.get('default_shipping'): |
331 | + result = [('type', 'default')] |
332 | +elif data.get('default_billing'): |
333 | + result = [('type', 'invoice')] |
334 | +elif data.get('default_shipping'): |
335 | + result = [('type', 'delivery')]", |
336 | +magento_1400_prt_2,magento1400,base.model_res_partner,group_id,,in_out,function,int,,"if ifield: |
337 | + result=self.pool.get('res.partner.category').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
338 | + if result: |
339 | + result=[('group_id',result)]", |
340 | +magento_1400_prt_3,magento1400,base.model_res_partner,store_id,,in_out,function,int,,"if ifield: |
341 | + result=self.pool.get('magerp.storeviews').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
342 | + if result: |
343 | + store = self.pool.get('magerp.storeviews').browse(cr, uid, result) |
344 | + lang = store.lang_id |
345 | + result=[('store_id',result),('lang',lang and lang.code or False)] |
346 | + if not data.get('website_id'): |
347 | + result.append(('website_id', store.website_id.id))", |
348 | +magento_1400_prt_4,magento1400,base.model_res_partner,website_id,,in_out,function,int,,"if ifield: |
349 | + result=self.pool.get('external.shop.group').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
350 | + if result: |
351 | + result=[('website_id',result)]", |
352 | +magento_1400_prt_5,magento1400,base.model_res_partner,created_in,,in_out,function,unicode,,"result=[('created_in',ifield)]", |
353 | +magento_1400_prt_6,magento1400,base.model_res_partner,created_at,,in_out,function,unicode,,"result=[('created_at',ifield)]", |
354 | +magento_1400_prt_7,magento1400,base.model_res_partner,updated_at,,in_out,function,unicode,,"result=[('updated_at',ifield)]", |
355 | +magento_1400_prt_8,magento1400,base.model_res_partner,firstname,,in_out,function,unicode,,"result = [('name', ifield + ' ' + data['lastname'])]","add_id = self.browse(cr, uid, record['id']) |
356 | +fn = add_id.address[0].firstname |
357 | +ln = add_id.address[0].lastname |
358 | +result=[('firstname', fn), ('lastname', ln)]" |
359 | +magento_1400_prt_10,magento1400,base.model_res_partner,email,,in_out,function,unicode,,"result=[('emailid',ifield)]", |
360 | +magento_1400_prt_11,magento1400,base.model_res_partner,taxvat,,in_out,function,unicode,,"if ifield: |
361 | + result=[('mag_vat',ifield)] |
362 | +else: |
363 | + result=[]", |
364 | +magento_1400_prt_12,magento1400,base.model_res_partner,dob,,in_out,function,unicode,,"if ifield: |
365 | + result =[('mag_birthday',ifield[:10])] |
366 | +else: |
367 | + result=[]", |
368 | |
369 | === added file 'magentoerpconnect/settings/1.4.0.0/external.referential.type.csv' |
370 | --- magentoerpconnect/settings/1.4.0.0/external.referential.type.csv 1970-01-01 00:00:00 +0000 |
371 | +++ magentoerpconnect/settings/1.4.0.0/external.referential.type.csv 2012-07-06 14:58:19 +0000 |
372 | @@ -0,0 +1,2 @@ |
373 | +"id","name" |
374 | +"magento1400","Magento Version 1.4.0.0+" |
375 | |
376 | === added directory 'magentoerpconnect/settings/1.4.2.0' |
377 | === added file 'magentoerpconnect/settings/1.4.2.0/external.mapping.template.csv' |
378 | --- magentoerpconnect/settings/1.4.2.0/external.mapping.template.csv 1970-01-01 00:00:00 +0000 |
379 | +++ magentoerpconnect/settings/1.4.2.0/external.mapping.template.csv 2012-07-06 14:58:19 +0000 |
380 | @@ -0,0 +1,14 @@ |
381 | +"id","type_id:id","model_id:id","external_list_method","external_get_method","external_update_method","external_create_method","external_delete_method","external_key_name" |
382 | +"magento_1420_website","magento1420","base_sale_multichannels.model_external_shop_group","ol_websites.list",,,,,"website_id" |
383 | +"magento_1420_storeview","magento1420","model_magerp_storeviews","ol_storeviews.list",,,,,"store_id" |
384 | +"magento_1420_store","magento1420","sale.model_sale_shop","ol_groups.list",,,,,"group_id" |
385 | +"magento_1420_order","magento1420","sale.model_sale_order","sales_order.list","sales_order.info",,,,"increment_id" |
386 | +"magento_1420_order_line","magento1420","sale.model_sale_order_line",,,,,,"item_id" |
387 | +"magento_1420_pro_cat","magento1420","product.model_product_category","category.list","category.info","catalog_category.update","catalog_category.create",,"category_id" |
388 | +"magento_1420_attr_grp","magento1420","model_magerp_product_attribute_groups","ol_catalog_product_attribute_group.list","ol_catalog_product_attribute_group.list",,,,"attribute_group_id" |
389 | +"magento_1420_attr_set","magento1420","model_magerp_product_attribute_set","ol_catalog_product_attributeset.list",,,,,"attribute_set_id" |
390 | +"magento_1420_attr","magento1420","model_magerp_product_attributes","ol_catalog_product_attribute.list",,,,,"attribute_id" |
391 | +"magento_1420_prd","magento1420","product.model_product_product","catalog_product.list","catalog_product.info","ol_catalog_product.update","ol_catalog_product.create",,"product_id" |
392 | +"magento_1420_cst_grp","magento1420","base.model_res_partner_category","ol_customer_groups.list",,,,,"customer_group_id" |
393 | +"magento_1420_prt_adr","magento1420","base.model_res_partner_address","ol_customer_address.list","ol_customer_address.info",,,,"entity_id" |
394 | +"magento_1420_prt","magento1420","base.model_res_partner","customer.list","customer.info","customer.update",,,"customer_id" |
395 | |
396 | === added file 'magentoerpconnect/settings/1.4.2.0/external.mappinglines.template.csv' |
397 | --- magentoerpconnect/settings/1.4.2.0/external.mappinglines.template.csv 1970-01-01 00:00:00 +0000 |
398 | +++ magentoerpconnect/settings/1.4.2.0/external.mappinglines.template.csv 2012-07-06 14:58:19 +0000 |
399 | @@ -0,0 +1,318 @@ |
400 | +id,type_id:id,model_id:id,external_field,field_id:id,type,evaluation_type,external_type,child_mapping_id:id,in_function,out_function |
401 | +mag_1420_erp_s_name,magento1420,base_sale_multichannels.model_external_shop_group,name,,in_out,function,unicode,,"result=[('name',ifield)]","result=[('name',record['name'])]" |
402 | +mag_1420_erp_s_code,magento1420,base_sale_multichannels.model_external_shop_group,code,,in_out,function,unicode,,"result=[('code',ifield)]", |
403 | +mag_1420_erp_s_web,magento1420,base_sale_multichannels.model_external_shop_group,website_id,,in_out,function,int,,"result=[('website_id',ifield)]", |
404 | +mag_1420_erp_s_isa,magento1420,base_sale_multichannels.model_external_shop_group,is_default,,in_out,function,unicode,,"result=[('is_default',bool(eval(ifield)))]", |
405 | +mag_1420_erp_s_stord,magento1420,base_sale_multichannels.model_external_shop_group,sort_order,,in_out,function,int,,"result=[('sort_order',ifield)]", |
406 | +mag_1420_erp_s_gpid,magento1420,base_sale_multichannels.model_external_shop_group,default_group_id,,in_out,function,int,,"result=[('default_shop_integer_id',ifield)]", |
407 | +mag_1420_erp_sv_name,magento1420,model_magerp_storeviews,name,,in_out,function,unicode,,"result=[('name',ifield)]","result=[('name',record['name'])]" |
408 | +mag_1420_erp_sv_code,magento1420,model_magerp_storeviews,code,,in_out,function,unicode,,"result=[('code',ifield)]", |
409 | +mag_1420_erp_sv_sg,magento1420,model_magerp_storeviews,website_id,,in_out,function,int,,"result=[('website_id',self.pool.get('external.shop.group').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
410 | +mag_1420_erp_sv_isa,magento1420,model_magerp_storeviews,is_active,,in_out,function,unicode,,"result=[('is_active',bool(eval(ifield)))]", |
411 | +mag_1420_erp_sv_stord,magento1420,model_magerp_storeviews,sort_order,,in_out,function,int,,"result=[('sort_order',ifield)]", |
412 | +mag_1420_erp_sv_gpid,magento1420,model_magerp_storeviews,group_id,,in_out,function,int,,"result=[('shop_id',self.pool.get('sale.shop').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
413 | +mag_1420_erp_st_name,magento1420,sale.model_sale_shop,name,,in_out,function,unicode,,"result=[('name',ifield)]","result=[('name',record['name'])]" |
414 | +mag_1420_erp_st_gpid,magento1420,sale.model_sale_shop,group_id,,in_out,function,int,,"result=[('group_id',ifield)]", |
415 | +mag_1420_erp_st_grp,magento1420,sale.model_sale_shop,website_id,,in_out,function,int,,"result=[('shop_group_id',self.pool.get('external.shop.group').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
416 | +mag_1420_erp_st_default_st,magento1420,sale.model_sale_shop,default_store_id,,in_out,function,int,,"result=[('default_storeview_integer_id',ifield)]", |
417 | +mag_1420_erp_st_root_categ,magento1420,sale.model_sale_shop,root_category_id,,in_out,function,int,,"result=[('root_category_id',ifield)]", |
418 | +mag_1420_erp_so_total_amount,magento1420,sale.model_sale_order,grand_total,,in_out,function,float,,"result=[('ext_total_amount',str(ifield))]", |
419 | +mag_1420_erp_so_name,magento1420,sale.model_sale_order,increment_id,,in_out,function,unicode,,"result=[('magento_incrementid',str(ifield)), ('name','mag_' + str(ifield))]", |
420 | +mag_1420_erp_so_carrier_id,magento1420,sale.model_sale_order,shipping_method,,in_out,function,unicode,,"if ifield: |
421 | + carrier_ids = self.pool.get('delivery.carrier').search(cr, uid, [('magento_code', '=', ifield)]) |
422 | + if carrier_ids: |
423 | + result=[('carrier_id', carrier_ids[0])] |
424 | + else: |
425 | + fake_partner_id = self.pool.get('res.partner').search(cr, uid, [])[0] |
426 | + model_data_obj = self.pool.get('ir.model.data') |
427 | + model, product_id = model_data_obj.get_object_reference(cr, uid, 'base_sale_multichannels', 'product_product_shipping') |
428 | + carrier_id = self.pool.get('delivery.carrier').create(cr, uid, {'partner_id' : fake_partner_id, 'product_id' : product_id, 'name' : ifield, 'magento_code' : ifield}) |
429 | + result=[('carrier_id', carrier_id)]", |
430 | +mag_1420_erp_so_pay,magento1420,sale.model_sale_order,payment,,in_out,function,unicode,," |
431 | +payments_mapping = {'checkmo': 'manual', 'ccsave': 'prepaid', 'free':'prepaid','googlecheckout':'prepaid','paypayl_express':'prepaid', 'paybox_system': 'prepaid', 'paypal_standard': 'prepaid', 'cashondelivery': 'manual', 'servired_standard': 'prepaid', 'bbva': 'prepaid', 'cofidis': 'prepaid'} |
432 | +ifield=eval(ifield) |
433 | +result=[('order_policy', ifield['method'] in payments_mapping and payments_mapping[ifield['method']] or 'prepaid'), ('ext_payment_method', ifield['method'])]", |
434 | +mag_1420_erp_so_item,magento1420,sale.model_sale_order,items,sale.field_sale_order_order_line,in,sub-mapping,dict,magento_1420_order_line,, |
435 | +"mag_1420_erp_soline_name","magento1420","sale.model_sale_order_line","name",,"in_out","function","unicode",,"result=[('name', ifield)] |
436 | +", |
437 | +"mag_1420_erp_soline_note","magento1420","sale.model_sale_order_line","product_options",,"in","function","unicode",,"if ifield: |
438 | + import re |
439 | + options_label = [] |
440 | + clean = re.sub('\w:\w:|\w:\w+;', '', ifield) |
441 | + for each in clean.split('{'): |
442 | + if each.startswith('""label""'): |
443 | + split_info = each.split(';') |
444 | + options_label.append('%s: %s [%s]' % (split_info[1], split_info[3], data['sku'])) |
445 | + |
446 | + result=[('notes', """".join(options_label).replace('""""', '\n').replace('""', ''))] |
447 | +", |
448 | +mag_1420_erp_soline_pid,magento1420,sale.model_sale_order_line,product_id,,in_out,function,unicode,,"context['alternative_key'] = data['sku'] |
449 | +result=[('product_id',self.pool.get('product.product').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
450 | +mag_1420_erp_soline_uomqty,magento1420,sale.model_sale_order_line,qty_ordered,,in_out,function,unicode,,"result=[('product_uom_qty',ifield)]", |
451 | +mag_1420_erp_soline_uosqty,magento1420,sale.model_sale_order_line,qty_ordered,,in,function,unicode,,"result=[('product_uos_qty',ifield)]", |
452 | +mag_1420_erp_soline_price,magento1420,sale.model_sale_order_line,price,,in,function,unicode,,"if context.get('price_is_tax_included', False): |
453 | + result=[('price_unit', (float(data['row_total']) + float(data['tax_amount']))/float(data['qty_ordered']))] |
454 | +else: |
455 | + result=[('price_unit', float(data['row_total'])/float(data['qty_ordered']))]", |
456 | +mag_1420_erp_soline_disc,magento1420,sale.model_sale_order_line,discount_amount,,in,function,float,,"if ifield: |
457 | + result=[('discount', float(data['price']) != 0 and float(data['qty_ordered']) != 0 and float(100*ifield)/(float(data['price'])*float(data['qty_ordered'])) or 0)]", |
458 | +mag_1420_erp_procat_2,magento1420,product.model_product_category,level,,in,function,int,,"result=[('sequence',ifield),('level',ifield)]", |
459 | +mag_1420_erp_procat_3,magento1420,product.model_product_category,parent_id,,in_out,function,int,,"record_id = self.pool.get('ir.model.data').search(cr, uid, [('model', '=', self._name), ('name', '=', self.prefixed_id(ifield))]) |
460 | +parent_id = False |
461 | +if record_id: |
462 | + parent_rec = self.pool.get('ir.model.data').read(cr,uid,record_id[0],[]) |
463 | + parent_id=parent_rec.get('res_id',False) |
464 | +result=[('magento_parent_id',ifield),('parent_id',parent_id)]","magento_parent_id = False |
465 | +if record.get('parent_id',False): |
466 | + magento_parent_id = self.oeid_to_extid(cr, uid, record.get('parent_id')[0], external_referential_id) |
467 | + if not magento_parent_id: |
468 | + self.ext_export(cr,uid,[record.get('parent_id',[False])[0]],[external_referential_id],{},context=context) |
469 | + magento_parent_id = self.oeid_to_extid(cr, uid, record.get('parent_id')[0], external_referential_id) |
470 | +if magento_parent_id: |
471 | + result = [('parent_id',magento_parent_id)]" |
472 | +mag_1420_erp_procat_4,magento1420,product.model_product_category,is_active,,in_out,function,unicode,,"result=[('is_active',ifield and (eval(ifield)) or False)]","result=[('is_active',record['is_active'])]" |
473 | +mag_1420_erp_procat_5,magento1420,product.model_product_category,description,,in_out,function,unicode,,"result=[('description',ifield)]","result=[('description',record['description'])]" |
474 | +mag_1420_erp_procat_6,magento1420,product.model_product_category,meta_title,,in_out,function,unicode,,"result=[('meta_title',ifield)]","result=[('meta_title',record['meta_title'])]" |
475 | +mag_1420_erp_procat_7,magento1420,product.model_product_category,meta_keywords,,in_out,function,unicode,,"result=[('meta_keywords',ifield)]","result=[('meta_keywords',record['meta_keywords'])]" |
476 | +mag_1420_erp_procat_8,magento1420,product.model_product_category,meta_description,,in_out,function,unicode,,"result=[('meta_description',ifield)]","result=[('meta_description',record['meta_description'])]" |
477 | +mag_1420_erp_procat_9,magento1420,product.model_product_category,url_key,,in_out,function,unicode,,"result=[('url_key',ifield)]","if context.get('export_url', False) : |
478 | + result=[('url_key',record['url_key'])]" |
479 | +mag_1420_erp_procat_10,magento1420,product.model_product_category,name,,in_out,function,unicode,,"result=[('name',ifield or 'UNDEFINED'),('magento_exportable',True)]","result=[('name',record['name'])]" |
480 | +mag_1420_erp_procat_11,magento1420,product.model_product_category,is_anchor,,in_out,function,unicode,,"result=[('is_anchor',ifield and bool(eval(ifield)) or False)]","result=[('is_anchor',record['is_anchor'])]" |
481 | +mag_1420_erp_procat_12,magento1420,product.model_product_category,available_sort_by,,in_out,function,list,,"attr_ids = [] |
482 | +cat_attr_obj = self.pool.get('magerp.product_category_attribute_options') |
483 | +if ifield: |
484 | + for val in ifield: |
485 | + attr_ids.append(cat_attr_obj.get_create_option_id(cr, uid, val,'sort_by', context=context)) |
486 | + result=[('available_sort_by', [(6, 0, attr_ids)]), ('use_default_available_sort_by', False)] |
487 | +else: |
488 | + result=[('use_default_available_sort_by', True)]","if record['use_default_available_sort_by']: |
489 | + res = u'' |
490 | +else: |
491 | + res = [] |
492 | + for cat_attr_option in self.pool.get('magerp.product_category_attribute_options').browse(cr, uid, record['available_sort_by'], context=context): |
493 | + res.append(cat_attr_option.value) |
494 | +result=[('available_sort_by', res)]" |
495 | +mag_1420_erp_procat_13,magento1420,product.model_product_category,default_sort_by,,in_out,function,unicode,,"if ifield: |
496 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, ifield,'sort_by', context=context) |
497 | +else: |
498 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, '','sort_by', context=context) |
499 | +result=[('default_sort_by',att_id)]","options_obj = self.pool.get('magerp.product_category_attribute_options') |
500 | +cat_attr_option_id = record['default_sort_by'] |
501 | +if cat_attr_option_id: |
502 | + cat_attr_option_id = cat_attr_option_id[0] |
503 | +else: |
504 | + cat_attr_option_id = options_obj._get_default_option(cr, uid, 'sort_by', '', context=context) |
505 | + |
506 | +cat_attr_option = options_obj.browse(cr, uid, cat_attr_option_id, context=context) |
507 | +result=[('default_sort_by', cat_attr_option.value)]" |
508 | +mag_1420_erp_procat_14,magento1420,product.model_product_category,updated_at,,in,function,unicode,,"result=[('magerp_stamp',ifield)]", |
509 | +mag_1420_erp_procat_15,magento1420,product.model_product_category,image,,in_out,function,unicode,,"image_binary = False |
510 | +if ifield and not ifield=='None': |
511 | + try: |
512 | + image_binary = conn.call('ol_catalog_category_media.info', [int(data['category_id'])]) |
513 | + except Exception, e: |
514 | + print e |
515 | + pass |
516 | + if image_binary: |
517 | + image_binary = base64.encodestring(base64.urlsafe_b64decode(image_binary[0]['image_data'])) |
518 | +result=[('image_name',ifield),('image',image_binary)]","if record['image']: |
519 | + img = base64.decodestring(record['image']) |
520 | + img_bin_enc = base64.encodestring(img) |
521 | + conn.call('ol_catalog_category_media.create', [record['image_name'], img_bin_enc]) |
522 | + result = [('image',record['image_name'])] |
523 | +else: |
524 | + result=[]" |
525 | +mag_1420_erp_procat_16,magento1420,product.model_product_category,include_in_menu,,in_out,function,unicode,,"result=[('include_in_menu', ifield and (eval(ifield)) or False)]","result=[('include_in_menu',record['include_in_menu'])]" |
526 | +mag_1420_erp_procat_17,magento1420,product.model_product_category,page_layout,,in_out,function,unicode,,"if ifield: |
527 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, ifield,'page_layout', context=context) |
528 | +else: |
529 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, '','page_layout', context=context) |
530 | +result=[('page_layout',att_id)]","page_layout = record['page_layout'] and record['page_layout'][1] or '' |
531 | +result=[('page_layout', page_layout)]" |
532 | +mag_1420_erp_attrgrp_2,magento1420,model_magerp_product_attribute_groups,attribute_set_id,,in_out,function,int,,"result=[('attribute_set_id', ifield)]","result=[('attribute_set_id', record['attribute_set_id'])]" |
533 | +mag_1420_erp_attrgrp_3,magento1420,model_magerp_product_attribute_groups,attribute_group_name,,in_out,function,unicode,,"result=[('attribute_group_name', ifield)]","result=[('attribute_group_name', record['attribute_group_name'])]" |
534 | +mag_1420_erp_attrgrp_4,magento1420,model_magerp_product_attribute_groups,sort_order,,in_out,function,int,,"result=[('sort_order', ifield)]","result=[('sort_order', record['sort_order'])]" |
535 | +mag_1420_erp_attrgrp_5,magento1420,model_magerp_product_attribute_groups,default_id,,in_out,function,int,,"result=[('default_id', ifield)]","result=[('default_id', record['default_id'])]" |
536 | +mag_1420_erp_attrset_1,magento1420,model_magerp_product_attribute_set,attribute_set_id,,in_out,function,int,,"result=[('magento_id', ifield)]","result=[('attribute_set_id', record['magento_id'])]" |
537 | +mag_1420_erp_attrset_2,magento1420,model_magerp_product_attribute_set,sort_order,,in_out,function,int,,"result=[('sort_order', ifield)]","result=[('sort_order', record['sort_order'])]" |
538 | +mag_1420_erp_attrset_3,magento1420,model_magerp_product_attribute_set,attribute_set_name,,in_out,function,unicode,,"result=[('attribute_set_name', ifield)]","result=[('attribute_set_name', record['attribute_set_name'])]" |
539 | +mag_1420_erp_attr_1,magento1420,model_magerp_product_attributes,attribute_code,,in_out,function,unicode,,"result=[('attribute_code', ifield)]","result=[('code', record['attribute_code'])]" |
540 | +mag_1420_erp_attr_2,magento1420,model_magerp_product_attributes,attribute_id,,in_out,function,int,,"result=[('magento_id', ifield)]", |
541 | +mag_1420_erp_attr_3,magento1420,model_magerp_product_attributes,frontend_input,,in_out,function,unicode,,"result=[('frontend_input', ifield)]","result=[('frontend_input', record['frontend_input'])]" |
542 | +mag_1420_erp_attr_4,magento1420,model_magerp_product_attributes,frontend_class,,in_out,function,unicode,,"result=[('frontend_class', ifield)]","result=[('frontend_class', record['frontend_class'])]" |
543 | +mag_1420_erp_attr_5,magento1420,model_magerp_product_attributes,backend_model,,in_out,function,unicode,,"result=[('backend_model', ifield)]","result=[('backend_model', record['backend_model'])]" |
544 | +mag_1420_erp_attr_6,magento1420,model_magerp_product_attributes,backend_type,,in_out,function,unicode,,"result=[('backend_type', ifield)]","result=[('backend_type', record['backend_type'])]" |
545 | +mag_1420_erp_attr_7,magento1420,model_magerp_product_attributes,frontend_label,,in_out,function,unicode,,"result=[('frontend_label', ifield)]","result=[('frontend_label', record['frontend_label'])]" |
546 | +mag_1420_erp_attr_8,magento1420,model_magerp_product_attributes,is_visible_in_advanced_search,,in_out,function,unicode,,"result=[('is_visible_in_advanced_search', bool(eval(ifield)))]","result=[('is_visible_in_advanced_search', record['is_visible_in_advanced_search'])]" |
547 | +mag_1420_erp_attr_9,magento1420,model_magerp_product_attributes,is_global,,in_out,function,unicode,,"result=[('is_global', bool(eval(ifield)))]","result=[('is_global', record['is_global'])]" |
548 | +mag_1420_erp_attr_10,magento1420,model_magerp_product_attributes,is_filterable,,in_out,function,unicode,,"result=[('is_filterable', bool(eval(ifield)))]","result=[('is_filterable', record['is_filterable'])]" |
549 | +mag_1420_erp_attr_11,magento1420,model_magerp_product_attributes,is_comparable,,in_out,function,unicode,,"result=[('is_comparable', bool(eval(ifield)))]","result=[('is_comparable', record['is_comparable'])]" |
550 | +mag_1420_erp_attr_12,magento1420,model_magerp_product_attributes,is_visible,,in_out,function,unicode,,"result=[('is_visible', bool(eval(ifield)))]","result=[('is_visible', record['is_visible'])]" |
551 | +mag_1420_erp_attr_13,magento1420,model_magerp_product_attributes,is_searchable,,in_out,function,unicode,,"result=[('is_searchable', bool(eval(ifield)))]","result=[('is_searchable', record['is_searchable'])]" |
552 | +mag_1420_erp_attr_14,magento1420,model_magerp_product_attributes,is_user_defined,,in_out,function,unicode,,"result=[('is_user_defined', bool(eval(ifield)))]","result=[('is_user_defined', record['is_user_defined'])]" |
553 | +mag_1420_erp_attr_15,magento1420,model_magerp_product_attributes,is_configurable,,in_out,function,unicode,,"result=[('is_configurable', bool(eval(ifield)))]","result=[('is_configurable', record['is_configurable'])]" |
554 | +mag_1420_erp_attr_16,magento1420,model_magerp_product_attributes,is_visible_on_front,,in_out,function,unicode,,"result=[('is_visible_on_front', bool(eval(ifield)))]","result=[('is_visible_on_front', record['is_visible_on_front'])]" |
555 | +mag_1420_erp_attr_17,magento1420,model_magerp_product_attributes,is_used_for_price_rules,,in_out,function,unicode,,"result=[('is_used_for_price_rules', bool(eval(ifield)))]","result=[('is_used_for_price_rules', record['is_used_for_price_rules'])]" |
556 | +mag_1420_erp_attr_18,magento1420,model_magerp_product_attributes,is_unique,,in_out,function,unicode,,"result=[('is_unique', bool(eval(ifield)))]","result=[('is_unique', record['is_unique'])]" |
557 | +mag_1420_erp_attr_19,magento1420,model_magerp_product_attributes,is_required,,in_out,function,unicode,,"result=[('is_required', bool(eval(ifield)))]","result=[('is_required', record['is_required'])]" |
558 | +mag_1420_erp_attr_20,magento1420,model_magerp_product_attributes,position,,in_out,function,int,,"result=[('position', ifield)]","result=[('position', record['position'])]" |
559 | +mag_1420_erp_attr_21,magento1420,model_magerp_product_attributes,attribute_set_info,,in_out,function,unicode,,"result=[('attribute_set_info', ifield)]","result=[('attribute_set_info', record['attribute_set_info'])]" |
560 | +mag_1420_erp_attr_22,magento1420,model_magerp_product_attributes,default_value,,in_out,function,unicode,,"result=[('default_value', ifield)]","result=[('default_value', record['default_value'])]" |
561 | +mag_1420_erp_attr_23,magento1420,model_magerp_product_attributes,note,,in_out,function,unicode,,"result=[('note', ifield)]","result=[('note', record['note'])]" |
562 | +mag_1420_erp_attr_24,magento1420,model_magerp_product_attributes,entity_type_id,,in_out,function,int,,"result=[('entity_type_id', ifield)]","result=[('entity_type_id', record['entity_type_id'])]" |
563 | +mag_1420_erp_attr_25,magento1420,model_magerp_product_attributes,apply_to,,in_out,function,unicode,,"result=[('apply_to', str(ifield))]","result=[('apply_to', eval(record['%s']))]" |
564 | +mag_1420_erp_prd_1,magento1420,product.model_product_product,url_key,,in_out,function,unicode,,"result=[('x_magerp_url_key',ifield)]","if context.get('export_url', False) : |
565 | + result=[('url_key',record['x_magerp_url_key'])]" |
566 | +mag_1420_erp_prd_2,magento1420,product.model_product_product,name,,in_out,function,unicode,,"result = [('name',ifield)]","result = [('name',record['name'])]" |
567 | +mag_1420_erp_prd_3,magento1420,product.model_product_product,description,,in_out,function,unicode,,"result = [('description',ifield)]", |
568 | +mag_1420_erp_prd_4,magento1420,product.model_product_product,short_description,,in_out,function,unicode,,"result = [('description_sale',ifield)]", |
569 | +mag_1420_erp_prd_5,magento1420,product.model_product_product,sku,,in_out,function,unicode,,"result = [('magento_sku',ifield), ('default_code',ifield)]", |
570 | +mag_1420_erp_prd_6,magento1420,product.model_product_product,weight,,in_out,function,float,,"result = [('weight',ifield)]","result = [('weight',record['weight'] or 0)]" |
571 | +mag_1420_erp_prd_7,magento1420,product.model_product_product,category_ids,,in_out,function,list,,"categ_ids =[] |
572 | +if ifield and len(ifield) > 0: |
573 | + for category_ids in ifield: |
574 | + categ_ids.append(self.pool.get('product.category').extid_to_oeid(cr, uid, category_ids, external_referential_id, context=context)) |
575 | + categ_id = categ_ids.pop() |
576 | +else: |
577 | + categ_id = self.pool.get('external.referential').browse(cr, uid, external_referential_id).default_pro_cat.id |
578 | +result = [('categ_id', categ_id), ('categ_ids',[(6, 0, categ_ids)])]"," |
579 | +cat_obj = self.pool.get('product.category') |
580 | +product = self.browse(cr, uid, record['id']) |
581 | +categ_ids = [categ.id for categ in ([product.categ_id] + product.categ_ids) if categ.magento_exportable] |
582 | +mag_categ_ids = [] |
583 | +for categ_id in categ_ids: |
584 | + mag_categ_id = cat_obj.oeid_to_extid(cr, uid, categ_id, external_referential_id) |
585 | + if not mag_categ_id: |
586 | + cat_obj.ext_export(cr, uid, [categ_id], [external_referential_id], context=context) |
587 | + mag_categ_id = cat_obj.oeid_to_extid(cr, uid, categ_id, external_referential_id) |
588 | + mag_categ_ids.append(mag_categ_id) |
589 | +result=[('category_ids', mag_categ_ids)]" |
590 | +mag_1420_erp_prd_8,magento1420,product.model_product_product,price,,in_out,function,float,,"result=[('list_price',ifield)]",result=[]#map later |
591 | +mag_1420_erp_prd_9,magento1420,product.model_product_product,cost,,in_out,function,float,,"result=[('standard_price',ifield)]","result = [('cost',record['standard_price'] or 0)]" |
592 | +mag_1420_erp_prd_10,magento1420,product.model_product_product,set,,in_out,function,unicode,,"result=[('set',self.pool.get('magerp.product_attribute_set').extid_to_oeid(cr, uid, ifield, external_referential_id, context=context))]", |
593 | +mag_1420_erp_prd_11,magento1420,product.model_product_product,special_price,,in_out,function,float,,"result = [('x_magerp_special_price',ifield)]", |
594 | +mag_1420_erp_prd_12,magento1420,product.model_product_product,tier_price,,in_out,function,unicode,,result=[]#no mapping by default,result=[]#no mapping by default |
595 | +mag_1420_erp_prd_13,magento1420,product.model_product_product,minimal_price,,in_out,function,float,,"result = [('x_magerp_minimal_price',ifield)]"," |
596 | +if record['x_magerp_minimal_price'] and record['x_magerp_minimal_price'] != 0: |
597 | + result = [('minimal_price',record['x_magerp_minimal_price'])] |
598 | +else: |
599 | + result = [('minimal_price',False)]" |
600 | +mag_1420_erp_prd_14,magento1420,product.model_product_product,type_id,,in_out,function,unicode,,"if ifield: |
601 | + product_type_ids = self.pool.get('magerp.product_product_type').search(cr,uid,[('product_type','=',ifield)]) |
602 | + if product_type_ids: |
603 | + result = [('product_type',ifield)]","if 'product_type' in record and record['product_type']: |
604 | + result = [('type_id',record['product_type'])] |
605 | +else: |
606 | + result = [('type_id','simple')]" |
607 | +mag_1420_erp_prd_15,magento1420,product.model_product_product,websites,,in_out,function,list,,"websites_ids = [] |
608 | +for ext_id in ifield: |
609 | + websites_ids.append(self.pool.get('external.shop.group').extid_to_oeid(cr, uid, ext_id, external_referential_id, context=context)) |
610 | + |
611 | +##### OPTION START, with this if the field websites of the product is empty the product is exported on every website |
612 | +all_oe_websites_ids = self.pool.get('external.shop.group').search(cr,uid,[('referential_id', '=', external_referential_id)]) |
613 | +if set(websites_ids) == set(all_oe_websites_ids): |
614 | + websites_ids =[] |
615 | +##### OPTION END |
616 | + |
617 | +result=[('websites_ids', [(6,0, websites_ids)])]","##### OPTION START, with this if the field websites of the product is empty the product is exported on every website |
618 | +if not record['websites_ids']: |
619 | + record['websites_ids'] = self.pool.get('external.shop.group').search(cr,uid,[('referential_id', '=', external_referential_id)]) |
620 | +##### OPTION END |
621 | + |
622 | +ext_websites_ids = [] |
623 | +for oe_id in record['websites_ids']: |
624 | + ext_websites_ids.append(self.pool.get('external.shop.group').oeid_to_extid(cr, uid, oe_id, external_referential_id)) |
625 | + |
626 | +result=[('websites', ext_websites_ids)]" |
627 | +mag_1420_erp_prd_16,magento1420,product.model_product_product,has_options,,in,function,unicode,,"result =[('x_magerp_has_options',ifield)]", |
628 | +magento_1420_cst_grp_1,magento1420,base.model_res_partner_category,customer_group_code,,in,function,unicode,,"result=[('name',ifield)]", |
629 | +magento_1420_cst_grp_3,magento1420,base.model_res_partner_category,tax_class_id,,in,function,int,,"result=[('tax_class_id',ifield)]", |
630 | +magento_1420_prt_adr_2,magento1420,base.model_res_partner_address,city,,in_out,function,unicode,,"result=[('city',ifield)]", |
631 | +magento_1420_prt_adr_3,magento1420,base.model_res_partner_address,fax,,in_out,function,unicode,,"result=[('fax',ifield)]", |
632 | +magento_1420_prt_adr_4,magento1420,base.model_res_partner_address,firstname,,in_out,function,unicode,,"name = ' '.join([ f for f in (data['firstname'], data['lastname']) if f]) |
633 | +if data.get('company'): |
634 | + name = ""%s ; %s"" % (data['company'], name) |
635 | +result = [('name', name), ('firstname', ifield), ('lastname', data['lastname'])]", |
636 | +magento_1420_prt_adr_6,magento1420,base.model_res_partner_address,is_active,,in_out,function,unicode,,"result=[('active',bool(eval(ifield)))]", |
637 | +magento_1420_prt_adr_7,magento1420,base.model_res_partner_address,country_id,,in_out,function,unicode,,"result = self.pool.get('res.country').search(cr,uid,[('code','=',ifield)]) |
638 | +if result and len(result)==1: |
639 | + result=[('country_id',result[0])] |
640 | +else: |
641 | + result=[] |
642 | +", |
643 | +magento_1420_prt_adr_8,magento1420,base.model_res_partner_address,street,,in_out,function,unicode,,"if ifield: |
644 | + if len(ifield.split('\n')) ==2 : |
645 | + result = [('street', ifield.split('\n')[0]) , ('street2', ifield.split('\n')[1])] |
646 | + else : |
647 | + result = [('street',ifield.replace('\\n',','))] |
648 | +else: |
649 | + result = []", |
650 | +magento_1420_prt_adr_9,magento1420,base.model_res_partner_address,postcode,,in_out,function,unicode,,"result=[('zip',ifield)]", |
651 | +magento_1420_prt_adr_10,magento1420,base.model_res_partner_address,telephone,,in_out,function,unicode,,"result=[('phone',ifield)]", |
652 | +magento_1420_prt_adr_11,magento1420,base.model_res_partner_address,region,,in_out,function,unicode,,"if ifield: |
653 | + result = self.pool.get('res.country.state').search(cr,uid,[('name','=ilike',ifield)]) |
654 | + if result and len(result)==1: |
655 | + result = [('state_id',result[0])] |
656 | + else: |
657 | + result=[] |
658 | +else: |
659 | + result=[]", |
660 | +magento_1420_prt_adr_13,magento1420,base.model_res_partner_address,customer_id,,in_out,function,int,,"result=self.pool.get('res.partner').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
661 | +if result: |
662 | + result=[('partner_id',result)] |
663 | +else: |
664 | + result=[('partner_id',False)]", |
665 | +magento_1420_prt_adr_14,magento1420,base.model_res_partner_address,address_type,,in_out,function,unicode,,"if ifield=='billing': |
666 | + result=[('type','invoice')] |
667 | +elif ifield=='shipping': |
668 | + result=[('type','delivery')] |
669 | +else: |
670 | + result=[]", |
671 | +magento_1420_prt_adr_15,magento1420,base.model_res_partner_address,email,,in_out,function,unicode,,"result = [('email', False)] |
672 | +if ifield: |
673 | + result = [('email', ifield)] |
674 | +else: |
675 | + partner_obj = self.pool.get('res.partner') |
676 | + partner_id = partner_obj.extid_to_existing_oeid(cr, uid, data['customer_id'] ,external_referential_id) |
677 | + if partner_id: |
678 | + result = [('email', partner_obj.browse(cr, uid, partner_id).emailid)]", |
679 | +magento_1420_prt_adr_17,magento1420,base.model_res_partner_address,default_billing,,in_out,function,unicode,,"result = [('type', 'other')] |
680 | +if data.get('default_billing') and data.get('default_shipping'): |
681 | + result = [('type', 'default')] |
682 | +elif data.get('default_billing'): |
683 | + result = [('type', 'invoice')] |
684 | +elif data.get('default_shipping'): |
685 | + result = [('type', 'delivery')]", |
686 | +magento_1420_prt_2,magento1420,base.model_res_partner,group_id,,in_out,function,int,,"if ifield: |
687 | + result=self.pool.get('res.partner.category').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
688 | + if result: |
689 | + result=[('group_id',result)]", |
690 | +magento_1420_prt_3,magento1420,base.model_res_partner,store_id,,in_out,function,int,,"if ifield: |
691 | + result=self.pool.get('magerp.storeviews').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
692 | + if result: |
693 | + store = self.pool.get('magerp.storeviews').browse(cr, uid, result) |
694 | + lang = store.lang_id |
695 | + result=[('store_id',result),('lang',lang and lang.code or False)] |
696 | + if not data.get('website_id'): |
697 | + result.append(('website_id', store.website_id.id))", |
698 | +magento_1420_prt_4,magento1420,base.model_res_partner,website_id,,in_out,function,int,,"if ifield: |
699 | + result=self.pool.get('external.shop.group').extid_to_oeid(cr,uid,ifield,external_referential_id, context=context) |
700 | + if result: |
701 | + result=[('website_id',result)]", |
702 | +magento_1420_prt_5,magento1420,base.model_res_partner,created_in,,in_out,function,unicode,,"result=[('created_in',ifield)]", |
703 | +magento_1420_prt_6,magento1420,base.model_res_partner,created_at,,in_out,function,unicode,,"result=[('created_at',ifield)]", |
704 | +magento_1420_prt_7,magento1420,base.model_res_partner,updated_at,,in_out,function,unicode,,"result=[('updated_at',ifield)]", |
705 | +magento_1420_prt_8,magento1420,base.model_res_partner,firstname,,in_out,function,unicode,,"result = [('name', ifield + ' ' + data['lastname'])]","add_id = self.browse(cr, uid, record['id']) |
706 | +fn = add_id.address[0].firstname |
707 | +ln = add_id.address[0].lastname |
708 | +result=[('firstname', fn), ('lastname', ln)]" |
709 | +magento_1420_prt_10,magento1420,base.model_res_partner,email,,in_out,function,unicode,,"result=[('emailid',ifield)]", |
710 | +magento_1420_prt_11,magento1420,base.model_res_partner,taxvat,,in_out,function,unicode,,"if ifield: |
711 | + result=[('mag_vat',ifield)] |
712 | +else: |
713 | + result=[]", |
714 | +magento_1420_prt_12,magento1420,base.model_res_partner,dob,,in_out,function,unicode,,"if ifield: |
715 | + result =[('mag_birthday',ifield[:10])] |
716 | +else: |
717 | + result=[]", |
718 | |
719 | === added file 'magentoerpconnect/settings/1.4.2.0/external.referential.type.csv' |
720 | --- magentoerpconnect/settings/1.4.2.0/external.referential.type.csv 1970-01-01 00:00:00 +0000 |
721 | +++ magentoerpconnect/settings/1.4.2.0/external.referential.type.csv 2012-07-06 14:58:19 +0000 |
722 | @@ -0,0 +1,2 @@ |
723 | +"id","name" |
724 | +"magento1420","Magento Version 1.4.2.0+" |
725 | |
726 | === modified file 'magentoerpconnect/settings/1.5.0.0/external.mappinglines.template.csv' |
727 | --- magentoerpconnect/settings/1.5.0.0/external.mappinglines.template.csv 2012-06-27 14:18:31 +0000 |
728 | +++ magentoerpconnect/settings/1.5.0.0/external.mappinglines.template.csv 2012-07-06 14:58:19 +0000 |
729 | @@ -88,7 +88,7 @@ |
730 | result=[('available_sort_by', [(6, 0, attr_ids)]), ('use_default_available_sort_by', False)] |
731 | else: |
732 | result=[('use_default_available_sort_by', True)]","if record['use_default_available_sort_by']: |
733 | - res = u'None' |
734 | + res = u'' |
735 | else: |
736 | res = [] |
737 | for cat_attr_option in self.pool.get('magerp.product_category_attribute_options').browse(cr, uid, record['available_sort_by'], context=context): |
738 | @@ -97,13 +97,13 @@ |
739 | mag_1500_erp_procat_13,magento1500,product.model_product_category,default_sort_by,,in_out,function,unicode,,"if ifield: |
740 | att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, ifield,'sort_by', context=context) |
741 | else: |
742 | - att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, 'None','sort_by', context=context) |
743 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, '','sort_by', context=context) |
744 | result=[('default_sort_by',att_id)]","options_obj = self.pool.get('magerp.product_category_attribute_options') |
745 | cat_attr_option_id = record['default_sort_by'] |
746 | if cat_attr_option_id: |
747 | cat_attr_option_id = cat_attr_option_id[0] |
748 | else: |
749 | - cat_attr_option_id = options_obj._get_default_option(cr, uid, 'sort_by', 'None', context=context)[0] |
750 | + cat_attr_option_id = options_obj._get_default_option(cr, uid, 'sort_by', '', context=context)[0] |
751 | |
752 | cat_attr_option = options_obj.browse(cr, uid, cat_attr_option_id, context=context) |
753 | result=[('default_sort_by', cat_attr_option.value)]" |
754 | @@ -128,7 +128,7 @@ |
755 | mag_1500_erp_procat_17,magento1500,product.model_product_category,page_layout,,in_out,function,unicode,,"if ifield: |
756 | att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, ifield,'page_layout', context=context) |
757 | else: |
758 | - att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, 'None','page_layout', context=context) |
759 | + att_id = self.pool.get('magerp.product_category_attribute_options').get_create_option_id(cr, uid, '','page_layout', context=context) |
760 | result=[('page_layout',att_id)]","page_layout = record['page_layout'] and record['page_layout'][1] or '' |
761 | result=[('page_layout', page_layout)]" |
762 | mag_1500_erp_attrgrp_2,magento1500,model_magerp_product_attribute_groups,attribute_set_id,,in_out,function,int,,"result=[('attribute_set_id', ifield)]","result=[('attribute_set_id', record['attribute_set_id'])]" |
763 | |
764 | === added directory 'magentoerpconnect/settings/update' |
765 | === added file 'magentoerpconnect/settings/update/fix_product_categories.sql' |
766 | --- magentoerpconnect/settings/update/fix_product_categories.sql 1970-01-01 00:00:00 +0000 |
767 | +++ magentoerpconnect/settings/update/fix_product_categories.sql 2012-07-06 14:58:19 +0000 |
768 | @@ -0,0 +1,7 @@ |
769 | +UPDATE product_category |
770 | +SET default_sort_by=(SELECT id FROM magerp_product_category_attribute_options WHERE value='' and attribute_name='sort_by') |
771 | +WHERE default_sort_by in (SELECT id FROM magerp_product_category_attribute_options WHERE value='None' and attribute_name='sort_by'); |
772 | + |
773 | +UPDATE product_category |
774 | +SET page_layout=(SELECT id FROM magerp_product_category_attribute_options WHERE value='' and attribute_name='page_layout') |
775 | +WHERE page_layout in (SELECT id FROM magerp_product_category_attribute_options WHERE value='None' and attribute_name='page_layout'); |
776 | |
777 | === added file 'magentoerpconnect/settings/update/magerp.product_category_attribute_options.xml' |
778 | --- magentoerpconnect/settings/update/magerp.product_category_attribute_options.xml 1970-01-01 00:00:00 +0000 |
779 | +++ magentoerpconnect/settings/update/magerp.product_category_attribute_options.xml 2012-07-06 14:58:19 +0000 |
780 | @@ -0,0 +1,16 @@ |
781 | +<?xml version="1.0" encoding="utf-8"?> |
782 | +<openerp> |
783 | + <data> |
784 | + <record model='magerp.product_category_attribute_options' id='mag_product_category_attribute_1_1400'> |
785 | + <field name="attribute_name">page_layout</field> |
786 | + <field name="label">No layout updates</field> |
787 | + <field name="value" eval='""' /> |
788 | + </record> |
789 | + |
790 | + <record model='magerp.product_category_attribute_options' id='mag_product_category_attribute_7_1400'> |
791 | + <field name="attribute_name">sort_by</field> |
792 | + <field name="label">Use Config Settings</field> |
793 | + <field name="value" eval='""' /> |
794 | + </record> |
795 | + </data> |
796 | +</openerp> |
Yeah I completely approve your merge proposal, the 'None' value was accepted by Magento (it does not accept valid values as described in [1] like ['name', 'price'] but it accepts totally wrong values like 'None', WTF ;-) ).
Our observations:
An empty string ('') value restore the flag "Use config settings" or "All available sort by"
while a 'None' value just give an incoherent result, it writes 'None' in the Magento's attribute but Magento does not know what it has to do with that...
So many headaches to find these issues!
By the way, if people have issues described on [1], they should consider to run the query on the comment in their magento database.
[1] https:/ /bugs.launchpad .net/magentoerp connect/ +bug/876312/ comments/ 1