Browse Source
Merge pull request #182 from acsone/10.0-pos_remove_category-cpi
Merge pull request #182 from acsone/10.0-pos_remove_category-cpi
[FIX] re-introduce pos_remove_pos_category and avoid monkey patch and error on foreign key constraintpull/209/head
Pedro M. Baeza
7 years ago
committed by
GitHub
14 changed files with 556 additions and 0 deletions
-
64pos_remove_pos_category/README.rst
-
5pos_remove_pos_category/__init__.py
-
21pos_remove_pos_category/__manifest__.py
-
74pos_remove_pos_category/i18n/fr.po
-
73pos_remove_pos_category/i18n/it.po
-
71pos_remove_pos_category/i18n/nl_NL.po
-
47pos_remove_pos_category/i18n/pos_remove_pos_category.pot
-
2pos_remove_pos_category/models/__init__.py
-
49pos_remove_pos_category/models/module.py
-
57pos_remove_pos_category/models/product.py
-
38pos_remove_pos_category/static/src/js/pos_remove_pos_category.js
-
8pos_remove_pos_category/views/assets.xml
-
30pos_remove_pos_category/views/pos_category_view.xml
-
17pos_remove_pos_category/views/pos_view.xml
@ -0,0 +1,64 @@ |
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
|||
:alt: License |
|||
|
|||
POS Remove POS Category |
|||
======================= |
|||
|
|||
This module was written to replace POS categories by product categories |
|||
in the point of sale. |
|||
|
|||
Important notes |
|||
--------------- |
|||
- When the module is installed the link beetween products and POS categories |
|||
is **overwritten** by a link beetween products and product categories |
|||
(the link is the field pos_categ_id in the table product_template) |
|||
- When the module is uninstalled the link beetween products and POS categories |
|||
is restored in an **empty** state (NULL values) |
|||
|
|||
Installation |
|||
============ |
|||
|
|||
This module depends on the `point_of_sale` Odoo official module. |
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
No configuration is needed just use product categories as standard |
|||
pos categories. |
|||
You may uncheck 'Available in the Point of Sale' field |
|||
in regular product categories if you want that a category becomes invisible |
|||
in POS. |
|||
Children categories will becomes invisible too, whatever their checkbox state. |
|||
|
|||
|
|||
Bug Tracker |
|||
=========== |
|||
|
|||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_. |
|||
In case of trouble, please check there if your issue has already been reported. |
|||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback |
|||
`here <https://github.com/OCA/pos/issues/new?body=module:%20pos_remove_pos_category%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
|||
|
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Sylvain Calador <sylvain.calador@akretion.com> |
|||
* Simone Orsi <simone.orsi@camptocamp.com> |
|||
* Cédric Pigeon <cedric.pigeon@acsone.eu> |
|||
|
|||
Maintainer |
|||
---------- |
|||
|
|||
.. image:: http://odoo-community.org/logo.png |
|||
:alt: Odoo Community Association |
|||
:target: http://odoo-community.org |
|||
|
|||
This module is maintained by the OCA. |
|||
|
|||
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. |
|||
|
|||
To contribute to this module, please visit http://odoo-community.org. |
@ -0,0 +1,5 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Copyright (C) 2015-TODAY Akretion (<http://www.akretion.com>). |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from . import models |
@ -0,0 +1,21 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Copyright (C) 2015-TODAY Akretion (<http://www.akretion.com>). |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
{ |
|||
'name': 'POS Remove POS Category', |
|||
'version': '10.0.2.0.0', |
|||
'author': 'Akretion, Camptocamp SA, ACSONE SA/NV, ' |
|||
'Odoo Community Association (OCA)', |
|||
'category': 'Sales Management', |
|||
'depends': [ |
|||
'point_of_sale', |
|||
], |
|||
'demo': [], |
|||
'website': 'https://www.akretion.com', |
|||
'data': [ |
|||
'views/assets.xml', |
|||
'views/pos_view.xml', |
|||
'views/pos_category_view.xml', |
|||
], |
|||
'installable': True, |
|||
} |
@ -0,0 +1,74 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * pos_remove_pos_category |
|||
# |
|||
# Translators: |
|||
# OCA Transbot <transbot@odoo-community.org>, 2017 |
|||
# leemannd <denis.leemann@camptocamp.com>, 2017 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: Odoo Server 10.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2017-07-12 02:44+0000\n" |
|||
"PO-Revision-Date: 2017-07-12 02:44+0000\n" |
|||
"Last-Translator: leemannd <denis.leemann@camptocamp.com>, 2017\n" |
|||
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: fr\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.ui.view,arch_db:pos_remove_pos_category.product_category_list_view |
|||
msgid "Available in POS" |
|||
msgstr "Disponible dans le PDV" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_available_in_pos |
|||
msgid "Available in the Point of Sale" |
|||
msgstr "Disponible dans le Point de Vente" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_available_in_pos |
|||
msgid "" |
|||
"Check if you want this category to appear in Point Of Sale.\n" |
|||
"If you uncheck, children categories will becomes invisible too, whatever their checkbox state." |
|||
msgstr "" |
|||
"Cochez si vous voulez que cette catégorie apparaisse dans le Point de Vente.\n" |
|||
"Si vous décochez, les catégories enfants deviendront invisible également, quel que soit l'état de leur case à cocher." |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_image |
|||
msgid "Image" |
|||
msgstr "Image" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_image_medium |
|||
msgid "Image medium" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_ir_module_module |
|||
msgid "Module" |
|||
msgstr "Module" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_category |
|||
msgid "Product Category" |
|||
msgstr "Catégorie de Produit" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_template |
|||
msgid "Product Template" |
|||
msgstr "Modèle d'article" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_image |
|||
msgid "Show Image Category in Form View" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_image_medium |
|||
msgid "Show image category button in POS" |
|||
msgstr "" |
@ -0,0 +1,73 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * pos_remove_pos_category |
|||
# |
|||
# Translators: |
|||
# OCA Transbot <transbot@odoo-community.org>, 2017 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: Odoo Server 9.0c\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2017-03-01 04:05+0000\n" |
|||
"PO-Revision-Date: 2017-03-01 04:05+0000\n" |
|||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n" |
|||
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: it\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.ui.view,arch_db:pos_remove_pos_category.product_category_list_view |
|||
msgid "Available in POS" |
|||
msgstr "Disponibile nel POS" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_available_in_pos |
|||
msgid "Available in the Point of Sale" |
|||
msgstr "Disponibile nel POS" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_available_in_pos |
|||
msgid "" |
|||
"Check if you want this category to appear in Point Of Sale.\n" |
|||
"If you uncheck, children categories will becomes invisible too, whatever their checkbox state." |
|||
msgstr "" |
|||
"Attiva per far apparire questa categoria nel POS.\n" |
|||
"Se disattivato, anche le sotto-categorie saranno nascoste, anche se attivate singolarmente." |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_image |
|||
msgid "Image" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_image_medium |
|||
msgid "Image medium" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_ir_module_module |
|||
msgid "Module" |
|||
msgstr "Module" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_category |
|||
msgid "Product Category" |
|||
msgstr "Categoria Prodotto" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_template |
|||
msgid "Product Template" |
|||
msgstr "Template Prodotto" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_image |
|||
msgid "Show Image Category in Form View" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_image_medium |
|||
msgid "Show image category button in POS" |
|||
msgstr "" |
@ -0,0 +1,71 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * pos_remove_pos_category |
|||
# |
|||
# Translators: |
|||
# Peter Hageman <hageman.p@gmail.com>, 2017 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: Odoo Server 10.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2017-05-30 02:44+0000\n" |
|||
"PO-Revision-Date: 2017-05-30 02:44+0000\n" |
|||
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n" |
|||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: nl_NL\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.ui.view,arch_db:pos_remove_pos_category.product_category_list_view |
|||
msgid "Available in POS" |
|||
msgstr "Beschikbaar in de Kassa" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_available_in_pos |
|||
msgid "Available in the Point of Sale" |
|||
msgstr "Beschikbaar in de Kassa" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_available_in_pos |
|||
msgid "" |
|||
"Check if you want this category to appear in Point Of Sale.\n" |
|||
"If you uncheck, children categories will becomes invisible too, whatever their checkbox state." |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_image |
|||
msgid "Image" |
|||
msgstr "Afbeelding" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,field_description:pos_remove_pos_category.field_product_category_image_medium |
|||
msgid "Image medium" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_ir_module_module |
|||
msgid "Module" |
|||
msgstr "Module" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_category |
|||
msgid "Product Category" |
|||
msgstr "Productcategorie" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_template |
|||
msgid "Product Template" |
|||
msgstr "Productsjabloon" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_image |
|||
msgid "Show Image Category in Form View" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model.fields,help:pos_remove_pos_category.field_product_category_image_medium |
|||
msgid "Show image category button in POS" |
|||
msgstr "Toon afbeelding categorie-knop in Kassa" |
@ -0,0 +1,47 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * pos_remove_pos_category |
|||
# |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: Odoo Server 9.0\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2015-07-24 07:13+0000\n" |
|||
"PO-Revision-Date: 2015-07-24 07:13+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: \n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Plural-Forms: \n" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: view:product.category:pos_remove_pos_category.product_category_list_view |
|||
msgid "Available in POS" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: field:product.category,available_in_pos:0 |
|||
msgid "Available in the Point of Sale" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: help:product.category,available_in_pos:0 |
|||
msgid "Check if you want this category to appear in Point Of Sale.\n" |
|||
"If you uncheck, children categories will becomes invisible too, whatever their checkbox state." |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_ir_module_module |
|||
msgid "Module" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_category |
|||
msgid "Product Category" |
|||
msgstr "" |
|||
|
|||
#. module: pos_remove_pos_category |
|||
#: model:ir.model,name:pos_remove_pos_category.model_product_template |
|||
msgid "Product Template" |
|||
msgstr "" |
@ -0,0 +1,2 @@ |
|||
from . import module |
|||
from . import product |
@ -0,0 +1,49 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Copyright (C) 2015-TODAY Akretion (<http://www.akretion.com>). |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from odoo import models |
|||
|
|||
|
|||
class Module(models.Model): |
|||
|
|||
_inherit = 'ir.module.module' |
|||
|
|||
def module_uninstall(self): |
|||
|
|||
for module in self: |
|||
if module.name == 'pos_remove_pos_category': |
|||
|
|||
# As we have loose previous POS categs restore them |
|||
# in a sane empty state |
|||
|
|||
self._cr.execute( |
|||
'UPDATE product_template SET pos_categ_id=NULL') |
|||
# And restore original constraint |
|||
self._cr.execute(''' |
|||
ALTER TABLE product_template |
|||
DROP CONSTRAINT IF EXISTS |
|||
product_template_pos_categ_id_fkey |
|||
''') |
|||
|
|||
self._cr.execute(''' |
|||
ALTER TABLE product_template ADD CONSTRAINT |
|||
"product_template_pos_categ_id_fkey" |
|||
FOREIGN KEY (pos_categ_id) |
|||
REFERENCES pos_category(id) ON DELETE SET NULL; |
|||
''') |
|||
|
|||
# Restore POS category menu action |
|||
# in SQL because pool/env is not available here |
|||
self._cr.execute(''' |
|||
UPDATE ir_act_window iaw SET res_model='pos.category' |
|||
FROM ir_model_data imd |
|||
WHERE |
|||
iaw.id = imd.res_id AND |
|||
imd.model = 'ir.actions.act_window' AND |
|||
imd.name = 'product_pos_category_action' |
|||
''') |
|||
|
|||
break |
|||
|
|||
return super(Module, self).module_uninstall() |
@ -0,0 +1,57 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Copyright (C) 2015-TODAY Akretion (<http://www.akretion.com>). |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
from odoo import models, fields, api, tools |
|||
|
|||
|
|||
class ProductTemplate(models.Model): |
|||
_inherit = 'product.template' |
|||
|
|||
pos_categ_id = fields.Many2one('product.category', |
|||
store=False, |
|||
related='categ_id', |
|||
search='_search_pos_categ_id') |
|||
|
|||
@api.multi |
|||
def _search_pos_categ_id(self, operator, value): |
|||
return [('categ_id', operator, value)] |
|||
|
|||
@api.model |
|||
def create(self, vals): |
|||
if 'categ_id' in vals: |
|||
vals['pos_categ_id'] = vals['categ_id'] |
|||
return super(ProductTemplate, self).create(vals) |
|||
|
|||
@api.multi |
|||
def write(self, vals): |
|||
if 'pos_categ_id' in vals and not vals['pos_categ_id']: |
|||
del vals['pos_categ_id'] |
|||
return super(ProductTemplate, self).write(vals) |
|||
|
|||
|
|||
class ProductCategory(models.Model): |
|||
_inherit = 'product.category' |
|||
|
|||
image = fields.Binary(help='Show Image Category in Form View') |
|||
image_medium = fields.Binary(help='Show image category button in POS', |
|||
compute="_compute_image", |
|||
inverse="_set_image", |
|||
store=True) |
|||
available_in_pos = fields.Boolean( |
|||
string="Available in the Point of Sale", |
|||
default=True, |
|||
help="Check if you want this category to appear in Point Of Sale.\n" |
|||
"If you uncheck, children categories will becomes invisible too, " |
|||
"whatever their checkbox state.") |
|||
|
|||
@api.multi |
|||
def _compute_image(self): |
|||
return dict( |
|||
(rec.id, tools.image_get_resized_images(rec.image)) for rec in |
|||
self) |
|||
|
|||
@api.one |
|||
def _set_image(self): |
|||
return self.write( |
|||
{'image': tools.image_resize_image_big(self.image_medium)}) |
@ -0,0 +1,38 @@ |
|||
/****************************************************************************** |
|||
* Copyright (C) 2015-2016 Akretion (<http://www.akretion.com>).
|
|||
* Copyright (C) 2017-TODAY Camptocamp SA (<http://www.camptocamp.com>).
|
|||
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|||
******************************************************************************/ |
|||
|
|||
odoo.define('pos_remove_pos_category.remove_pos_category', function (require) { |
|||
"use strict"; |
|||
|
|||
var core = require('web.core'); |
|||
var pos_models = require('point_of_sale.models'); |
|||
var pos_screens = require('point_of_sale.screens'); |
|||
var Model = require('web.DataModel'); |
|||
var _t = core._t; |
|||
|
|||
var _pos_super = pos_models.PosModel.prototype; |
|||
pos_models.PosModel = pos_models.PosModel.extend({ |
|||
initialize: function(session, attributes) { |
|||
for (var i = 0 ; i < this.models.length; i++){ |
|||
if (this.models[i].model == 'pos.category') { |
|||
this.models[i].model = 'product.category'; |
|||
this.models[i].domain = [['available_in_pos', '=', true]]; |
|||
} |
|||
} |
|||
return _pos_super.initialize.apply(this, arguments); |
|||
} |
|||
}); |
|||
|
|||
// override method js POS (widgets.js)
|
|||
// change pos.category by product.category
|
|||
pos_screens.ProductCategoriesWidget.include({ |
|||
get_image_url: function(category){ |
|||
var image_url = '/web/binary/image?model=product.category&field=image_medium&id='; |
|||
return window.location.origin + image_url + category.id; |
|||
} |
|||
}); |
|||
|
|||
}); |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<template id="assets" inherit_id="point_of_sale.assets"> |
|||
<xpath expr="." position="inside"> |
|||
<script type="text/javascript" src="/pos_remove_pos_category/static/src/js/pos_remove_pos_category.js"></script> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,30 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<record id="product_category_form_view" model="ir.ui.view"> |
|||
<field name="model">product.category</field> |
|||
<field name="inherit_id" ref="product.product_category_form_view"/> |
|||
<!-- Priority to avoid to break account and logistics fields--> |
|||
<field name="priority">20</field> |
|||
<field name="arch" type="xml"> |
|||
<field name="type" position="after"> |
|||
<field name="available_in_pos"/> |
|||
</field> |
|||
<xpath expr="//div[contains(@class,'oe_title')]" position="before"> |
|||
<field name="image_medium" |
|||
widget="image" |
|||
class="oe_avatar" |
|||
options='{"size": [100, 100]}'/> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="product_category_list_view" model="ir.ui.view"> |
|||
<field name="model">product.category</field> |
|||
<field name="inherit_id" ref="product.product_category_list_view"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//field[@name='display_name']" position="after"> |
|||
<field name="available_in_pos" string="Available in POS"/> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
</odoo> |
@ -0,0 +1,17 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<record id="product_template_form_view" model="ir.ui.view"> |
|||
<field name="name">product.template.form.inherit</field> |
|||
<field name="model">product.template</field> |
|||
<field name="inherit_id" ref="product.product_template_form_view"/> |
|||
<field name="priority" eval="100"/> |
|||
<field name="arch" type="xml"> |
|||
<field name="pos_categ_id" position="attributes"> |
|||
<attribute name="invisible">1</attribute> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
<record id="point_of_sale.product_pos_category_action" model="ir.actions.act_window"> |
|||
<field name="res_model">product.category</field> |
|||
</record> |
|||
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue