summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2012-07-20 15:22:38 +0200
committerRaphael Collet <rco@openerp.com>2012-07-20 15:22:38 +0200
commit127d09181a8e7aa662234eaf09cfbdedd37c4e8a (patch)
treef191aae99e02804f40b48a086410fab04dfd6a5c
parent93f24defa8ef90e66cb2d02a83747bb3bbf1ff46 (diff)
[FIX] add partner categories in partner kanban view
It must be done outside module 'base' because some javascript is needed, and that introduces some dependency on module 'web_kanban'. bzr revid: rco@openerp.com-20120720132238-7044u13lbxau9x4i
-rw-r--r--addons/base_setup/__openerp__.py13
-rw-r--r--addons/base_setup/res_partner_view.xml19
-rw-r--r--addons/base_setup/static/src/js/base_setup.js23
3 files changed, 51 insertions, 4 deletions
diff --git a/addons/base_setup/__openerp__.py b/addons/base_setup/__openerp__.py
index 35505ea853f..1ebc708959e 100644
--- a/addons/base_setup/__openerp__.py
+++ b/addons/base_setup/__openerp__.py
@@ -33,13 +33,18 @@ Shows you a list of applications features to install from.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
- 'depends': ['base'],
- 'init_xml': [],
- 'update_xml': ['security/ir.model.access.csv', 'base_setup_views.xml', 'res_config_view.xml'],
- 'demo_xml': [],
+ 'depends': ['base', 'web_kanban'],
+ 'data': [
+ 'security/ir.model.access.csv',
+ 'base_setup_views.xml',
+ 'res_config_view.xml',
+ 'res_partner_view.xml',
+ ],
+ 'demo': [],
'installable': True,
'auto_install': False,
'certificate': '0086711085869',
'images': ['images/base_setup1.jpeg','images/base_setup2.jpeg','images/base_setup3.jpeg','images/base_setup4.jpeg',],
+ 'js': ['static/src/js/base_setup.js'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_setup/res_partner_view.xml b/addons/base_setup/res_partner_view.xml
new file mode 100644
index 00000000000..9a19a7e4666
--- /dev/null
+++ b/addons/base_setup/res_partner_view.xml
@@ -0,0 +1,19 @@
+<openerp>
+ <data>
+
+ <!-- Add partner categories in partner kanban view -->
+ <record id="res_partner_kanban_view" model="ir.ui.view">
+ <field name="name">res.partner.kanban.inherit</field>
+ <field name="model">res.partner</field>
+ <field name="inherit_id" ref="base.res_partner_kanban_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@class='oe_kanban_partner_categories']" position="inside">
+ <t t-foreach="record.category_id.raw_value" t-as="category">
+ <span class="oe_tag" t-att-data-category_id="category"/>
+ </t>
+ </xpath>
+ </field>
+ </record>
+
+ </data>
+</openerp>
diff --git a/addons/base_setup/static/src/js/base_setup.js b/addons/base_setup/static/src/js/base_setup.js
new file mode 100644
index 00000000000..b3a7d7cdf14
--- /dev/null
+++ b/addons/base_setup/static/src/js/base_setup.js
@@ -0,0 +1,23 @@
+openerp.base_setup = function(openerp) {
+ /* extend kanban to include the names of partner categories in the kanban view of partners */
+ openerp.web_kanban.KanbanView.include({
+ on_groups_started: function() {
+ var self = this;
+ self._super.apply(this, arguments);
+ if (this.dataset.model === 'res.partner') {
+ /* Set names for partner categories */
+ var category_ids = [];
+ this.$element.find('.oe_kanban_partner_categories span').each(function() {
+ category_ids.push($(this).data('category_id'));
+ });
+ var dataset = new openerp.web.DataSetSearch(this, 'res.partner.category',
+ self.session.context, [['id', 'in', _.uniq(category_ids)]]);
+ dataset.read_slice(['id', 'name']).then(function(result) {
+ _.each(result, function(v, k) {
+ self.$element.find('.oe_kanban_partner_categories span[data-category_id=' + v.id + ']').html(v.name);
+ });
+ });
+ }
+ }
+ });
+};