Browse Source

[MIG] pos_remove_pos_category: Migrated to 10.0

pull/160/merge
Mourad Elhadj Mimoune 8 years ago
committed by Sylvain LE GAL
parent
commit
c73a01f1cb
  1. 2
      pos_remove_pos_category/__manifest__.py
  2. 22
      pos_remove_pos_category/models/module.py
  3. 28
      pos_remove_pos_category/models/product.py
  4. 2
      pos_remove_pos_category/views/pos_category_view.xml

2
pos_remove_pos_category/__manifest__.py

@ -3,7 +3,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{ {
'name': 'POS Remove POS Category', 'name': 'POS Remove POS Category',
'version': '9.0.0.1.0',
'version': '10.0.0.1.0',
'author': 'Akretion, Camptocamp SA, Odoo Community Association (OCA)', 'author': 'Akretion, Camptocamp SA, Odoo Community Association (OCA)',
'category': 'Sales Management', 'category': 'Sales Management',
'depends': [ 'depends': [

22
pos_remove_pos_category/models/module.py

@ -2,33 +2,31 @@
# Copyright (C) 2015-TODAY Akretion (<http://www.akretion.com>). # Copyright (C) 2015-TODAY Akretion (<http://www.akretion.com>).
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp import models
from odoo import models
class Module(models.Model): class Module(models.Model):
_inherit = 'ir.module.module' _inherit = 'ir.module.module'
def module_uninstall(self, cr, uid, ids, context=None):
def module_uninstall(self):
context = context or {}
for module in self.browse(cr, uid, ids, context=context):
for module in self:
if module.name == 'pos_remove_pos_category': if module.name == 'pos_remove_pos_category':
# As we have loose previous POS categs restore them # As we have loose previous POS categs restore them
# in a sane empty state # in a sane empty state
cr.execute('UPDATE product_template SET pos_categ_id=NULL')
self._cr.execute(
'UPDATE product_template SET pos_categ_id=NULL')
# And restore original constraint # And restore original constraint
cr.execute('''
self._cr.execute('''
ALTER TABLE product_template ALTER TABLE product_template
DROP CONSTRAINT IF EXISTS DROP CONSTRAINT IF EXISTS
product_template_pos_categ_id_fkey product_template_pos_categ_id_fkey
''') ''')
cr.execute('''
self._cr.execute('''
ALTER TABLE product_template ADD CONSTRAINT ALTER TABLE product_template ADD CONSTRAINT
"product_template_pos_categ_id_fkey" "product_template_pos_categ_id_fkey"
FOREIGN KEY (pos_categ_id) FOREIGN KEY (pos_categ_id)
@ -37,7 +35,7 @@ class Module(models.Model):
# Restore POS category menu action # Restore POS category menu action
# in SQL because pool/env is not available here # in SQL because pool/env is not available here
cr.execute('''
self._cr.execute('''
UPDATE ir_act_window iaw SET res_model='pos.category' UPDATE ir_act_window iaw SET res_model='pos.category'
FROM ir_model_data imd FROM ir_model_data imd
WHERE WHERE
@ -48,6 +46,4 @@ class Module(models.Model):
break break
return super(Module, self).module_uninstall(
cr, uid, ids, context=context
)
return super(Module, self).module_uninstall()

28
pos_remove_pos_category/models/product.py

@ -3,7 +3,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import sys import sys
from openerp import models, fields, api, tools
from odoo import models, fields, api, tools
class ProductTemplate(models.Model): class ProductTemplate(models.Model):
@ -30,7 +30,7 @@ class ProductCategory(models.Model):
image = fields.Binary(help='Show Image Category in Form View') image = fields.Binary(help='Show Image Category in Form View')
image_medium = fields.Binary(help='Show image category button in POS', image_medium = fields.Binary(help='Show image category button in POS',
compute="_get_image",
compute="_compute_image",
inverse="_set_image", inverse="_set_image",
store=True) store=True)
available_in_pos = fields.Boolean( available_in_pos = fields.Boolean(
@ -41,7 +41,7 @@ class ProductCategory(models.Model):
"whatever their checkbox state.") "whatever their checkbox state.")
@api.multi @api.multi
def _get_image(self):
def _compute_image(self):
return dict( return dict(
(rec.id, tools.image_get_resized_images(rec.image)) for rec in (rec.id, tools.image_get_resized_images(rec.image)) for rec in
self) self)
@ -55,37 +55,39 @@ class ProductCategory(models.Model):
_auto_end_original = models.BaseModel._auto_end _auto_end_original = models.BaseModel._auto_end
def _auto_end(self, cr, context=None):
@api.model
def _auto_end(self):
""" Create the foreign keys recorded by _auto_init. """ Create the foreign keys recorded by _auto_init.
(pos_remove_pos_category monkey patching) (pos_remove_pos_category monkey patching)
""" """
context = context or {}
module = context['module']
module = self._context['module']
foreign_keys = [] foreign_keys = []
patched = 'openerp.addons.pos_remove_pos_category' in sys.modules
patched = 'odoo.addons.pos_remove_pos_category' in sys.modules
for t, k, r, d in self._foreign_keys:
for fk in self._foreign_keys:
t = fk[0]
k = fk[1]
if patched and (t, k) == ('product_template', 'pos_categ_id'): if patched and (t, k) == ('product_template', 'pos_categ_id'):
if module == 'pos_remove_pos_category': if module == 'pos_remove_pos_category':
cr.execute('''
self._cr.execute('''
ALTER TABLE product_template ALTER TABLE product_template
DROP CONSTRAINT IF EXISTS DROP CONSTRAINT IF EXISTS
product_template_pos_categ_id_fkey product_template_pos_categ_id_fkey
''') ''')
cr.execute('''
self._cr.execute('''
UPDATE product_template UPDATE product_template
SET pos_categ_id = categ_id; SET pos_categ_id = categ_id;
''') ''')
cr.execute('''
self._cr.execute('''
ALTER TABLE product_template ADD CONSTRAINT ALTER TABLE product_template ADD CONSTRAINT
"product_template_pos_categ_id_fkey" "product_template_pos_categ_id_fkey"
FOREIGN KEY (pos_categ_id) FOREIGN KEY (pos_categ_id)
REFERENCES product_category(id) ON DELETE SET NULL; REFERENCES product_category(id) ON DELETE SET NULL;
''') ''')
continue continue
foreign_keys.append((t, k, r, d))
foreign_keys.append(fk)
self._foreign_keys = foreign_keys self._foreign_keys = foreign_keys
return _auto_end_original(self, cr, context=context)
return _auto_end_original
models.BaseModel._auto_end = _auto_end models.BaseModel._auto_end = _auto_end

2
pos_remove_pos_category/views/pos_category_view.xml

@ -22,7 +22,7 @@
<field name="model">product.category</field> <field name="model">product.category</field>
<field name="inherit_id" ref="product.product_category_list_view"/> <field name="inherit_id" ref="product.product_category_list_view"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='complete_name']" position="after">
<xpath expr="//field[@name='display_name']" position="after">
<field name="available_in_pos" string="Available in POS"/> <field name="available_in_pos" string="Available in POS"/>
</xpath> </xpath>
</field> </field>

Loading…
Cancel
Save