~magentoerpconnect-core-editors/magentoerpconnect/trunk_version

« back to all changes in this revision

Viewing changes to magentoerpconnect/product.py

  • Committer: Guewen Baconnier @ Camptocamp
  • Date: 2012-12-06 08:06:31 UTC
  • mfrom: (527.3.36 magentoerpconnect)
  • Revision ID: guewen.baconnier@camptocamp.com-20121206080631-bxc57hah96pbeayb
[IMP] allow to choose, per product, if the stock should be managed or not or use the default configuration

Show diffs side-by-side

added added

removed removed

Lines of Context:
1169
1169
        'tier_price':fields.one2many('product.tierprice', 'product', 'Tier Price'),
1170
1170
        'product_type': fields.selection(_product_type_get, 'Magento Product Type'),
1171
1171
        'magento_exported': fields.function(_is_magento_exported, type="boolean", method=True, string="Exists on Magento"),  # used to set the sku readonly when already exported
 
1172
        'mag_manage_stock': fields.selection([
 
1173
                                ('use_default','Use Default Config'),
 
1174
                                ('no', 'Do Not Manage Stock'),
 
1175
                                ('yes','Manage Stock')],
 
1176
                                'Manage Stock Level', required=True),
1172
1177
        }
1173
1178
 
1174
1179
    _defaults = {
1175
1180
        'magento_exportable': True,
1176
1181
        'product_type': 'simple',
 
1182
        'mag_manage_stock': 'use_default',
1177
1183
    }
1178
1184
 
1179
1185
    _sql_constraints = [
1180
1186
        ('magento_sku_uniq', 'unique (magento_sku)', 'The Magento SKU should be uniq!'),
1181
1187
    ]
1182
1188
 
 
1189
    def init(self, cr):
 
1190
        """Initialize the empty magento manage stock option to the use_default when we
 
1191
        update the module"""
 
1192
        cr.execute("UPDATE product_product SET mag_manage_stock = 'use_default' "
 
1193
                   "WHERE mag_manage_stock IS NULL")
 
1194
 
1183
1195
    def write(self, cr, uid, ids, vals, context=None):
1184
1196
        if vals.get('referential_id', False):
1185
1197
            instance = vals['referential_id']
1549
1561
                       'virtual_available')
1550
1562
        stock_quantity = product[stock_field]
1551
1563
        return {'qty': stock_quantity,
 
1564
                'manage_stock': int(product.mag_manage_stock == 'yes'),
 
1565
                'use_config_manage_stock': int(product.mag_manage_stock == 'use_default'),
1552
1566
                # put the stock availability to "out of stock"
1553
1567
                'is_in_stock': int(stock_quantity > 0)}
1554
1568