openerp-community team mailing list archive
-
openerp-community team
-
Mailing list archive
-
Message #05037
[Merge] lp:~ajite/openobject-addons/elico-7.0 into lp:~openerp-community/openobject-addons/elico-7.0
Augustin Cisterne-Kaas - www.elico-corp.com has proposed merging lp:~ajite/openobject-addons/elico-7.0 into lp:~openerp-community/openobject-addons/elico-7.0.
Requested reviews:
LIN Yu (lin-yu)
For more details, see:
https://code.launchpad.net/~ajite/openobject-addons/elico-7.0/+merge/207818
Added web polymorphic module:
This module adds a new field named polymorphic.
Added Mail Organizer
This module allows a user to organize his email easily.
Added a log for the web adblock extension.
--
https://code.launchpad.net/~ajite/openobject-addons/elico-7.0/+merge/207818
Your team OpenERP Community is subscribed to branch lp:~openerp-community/openobject-addons/elico-7.0.
=== added directory 'mail_organizer'
=== added file 'mail_organizer/__init__.py'
--- mail_organizer/__init__.py 1970-01-01 00:00:00 +0000
+++ mail_organizer/__init__.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+import model
+import message
+import wizard
=== added file 'mail_organizer/__openerp__.py'
--- mail_organizer/__openerp__.py 1970-01-01 00:00:00 +0000
+++ mail_organizer/__openerp__.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+{'name': 'Mail Organizer',
+ 'version': '0.1',
+ 'category': 'Social Network',
+ 'depends': ['web_polymorphic', 'mail'],
+ 'author': 'Elico Corp',
+ 'license': 'AGPL-3',
+ 'website': 'https://www.elico-corp.com',
+ 'description': """
+This module allows you to assign a message to an existing or
+a new resource dynamically.
+
+You can configure the available model through
+"Settings" -> "Technical" -> "Email Organizer"
+""",
+ 'images': [],
+ 'demo': [],
+ 'data': ['wizard/wizard_mail_organizer_view.xml',
+ 'model_view.xml'],
+ 'qweb': [
+ 'static/src/xml/mail.xml'
+ ],
+ 'js': [
+ 'static/src/js/mail.js'
+ ],
+ 'css': [
+ 'static/src/css/mail.css'
+ ],
+ 'installable': True,
+ 'application': False}
=== added file 'mail_organizer/message.py'
--- mail_organizer/message.py 1970-01-01 00:00:00 +0000
+++ mail_organizer/message.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from openerp.osv import fields, orm
+
+
+class mail_message(orm.Model):
+ _inherit = 'mail.message'
+ _columns = {
+ 'name': fields.char('Name')
+ }
=== added file 'mail_organizer/model.py'
--- mail_organizer/model.py 1970-01-01 00:00:00 +0000
+++ mail_organizer/model.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from openerp.osv import fields, orm
+
+
+class ir_model(orm.Model):
+ _inherit = 'ir.model'
+ _columns = {
+ 'mail_organizer': fields.boolean('Use in Mail Organizer')
+ }
=== added file 'mail_organizer/model_view.xml'
--- mail_organizer/model_view.xml 1970-01-01 00:00:00 +0000
+++ mail_organizer/model_view.xml 2014-02-23 07:15:07 +0000
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+ <data>
+ <record id="view_model_form" model="ir.ui.view">
+ <field name="name">ir.model.form</field>
+ <field name="model">ir.model</field>
+ <field name="inherit_id" ref="base.view_model_form" />
+ <field name="arch" type="xml" >
+ <field name="modules" position="after">
+ <field name="mail_organizer" />
+ </field>
+ </field>
+ </record>
+
+ <record id="view_model_tree_editable" model="ir.ui.view">
+ <field name="name">Ir Model editable tree</field>
+ <field name="model">ir.model</field>
+ <field name="arch" type="xml" >
+ <tree string="Mail Organizer" editable="bottom">
+ <field name="name" readonly="1" />
+ <field name="model" readonly="1" />
+ <field name="mail_organizer" />
+ </tree>
+ </field>
+ </record>
+
+
+ <record model="ir.actions.act_window" id="action_mail_organizer">
+ <field name="name">Email organizer</field>
+ <field name="view_id" ref="view_model_tree_editable"/>
+ <field name="res_model">ir.model</field>
+ <field name="view_type">form</field>
+ <field name="usage">menu</field>
+ </record>
+
+ <menuitem id="menu_email_organizer"
+ name="Email Organizer"
+ action="action_mail_organizer"
+ parent="base.menu_email" />
+ </data>
+</openerp>
\ No newline at end of file
=== added directory 'mail_organizer/static'
=== added directory 'mail_organizer/static/src'
=== added directory 'mail_organizer/static/src/css'
=== added file 'mail_organizer/static/src/css/mail.css'
--- mail_organizer/static/src/css/mail.css 1970-01-01 00:00:00 +0000
+++ mail_organizer/static/src/css/mail.css 2014-02-23 07:15:07 +0000
@@ -0,0 +1,24 @@
+/******************************************************************************
+*
+* OpenERP, Open Source Management Solution
+* Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+* Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as
+* published by the Free Software Foundation, either version 3 of the
+* License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+******************************************************************************/
+.openerp .oe_mail .oe_msg .oe_msg_icons .oe_assign:hover a{
+ color: #1fc0ff;
+ text-shadow: 0px 1px #184fc5,0px -1px #184fc5, -1px 0px #184fc5, 1px 0px #184fc5, 0px 3px 3px rgba(0,0,0,0.1);
+}
=== added directory 'mail_organizer/static/src/img'
=== added file 'mail_organizer/static/src/img/icon.png'
Binary files mail_organizer/static/src/img/icon.png 1970-01-01 00:00:00 +0000 and mail_organizer/static/src/img/icon.png 2014-02-23 07:15:07 +0000 differ
=== added directory 'mail_organizer/static/src/js'
=== added file 'mail_organizer/static/src/js/mail.js'
--- mail_organizer/static/src/js/mail.js 1970-01-01 00:00:00 +0000
+++ mail_organizer/static/src/js/mail.js 2014-02-23 07:15:07 +0000
@@ -0,0 +1,53 @@
+/******************************************************************************
+*
+* OpenERP, Open Source Management Solution
+* Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+* Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as
+* published by the Free Software Foundation, either version 3 of the
+* License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+******************************************************************************/
+openerp.mail_organizer = function (instance) {
+ var mail = instance.mail;
+ var QWeb = instance.web.qweb;
+ window.yep = instance;
+ mail.ThreadMessage = mail.ThreadMessage.extend({
+ template: 'mail.thread.message',
+ events: {
+ 'click .oe_assign': 'open_wizard',
+ },
+
+ start: function () {
+ this._super.apply(this, arguments);
+ },
+
+ open_wizard: function() {
+ var self = this;
+ var context = {
+ 'active_id': this.id,
+ };
+ var action = {
+ type: 'ir.actions.act_window',
+ res_model: 'wizard.mail.organizer',
+ view_mode: 'form',
+ view_type: 'form',
+ views: [[false, 'form']],
+ target: 'new',
+ context: context,
+ };
+ self.do_action(action);
+ }
+
+ });
+};
\ No newline at end of file
=== added directory 'mail_organizer/static/src/xml'
=== added file 'mail_organizer/static/src/xml/mail.xml'
--- mail_organizer/static/src/xml/mail.xml 1970-01-01 00:00:00 +0000
+++ mail_organizer/static/src/xml/mail.xml 2014-02-23 07:15:07 +0000
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<template>
+ <t t-extend="mail.thread.message">
+ <t t-jquery=".oe_msg_icons span:first-child()" t-operation="after">
+ <span class="oe_assign"><a title="Assign to" class="oe_e">C</a></span>
+ </t>
+ </t>
+</template>
\ No newline at end of file
=== added directory 'mail_organizer/wizard'
=== added file 'mail_organizer/wizard/__init__.py'
--- mail_organizer/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ mail_organizer/wizard/__init__.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+import wizard_mail_organizer
=== added file 'mail_organizer/wizard/wizard_mail_organizer.py'
--- mail_organizer/wizard/wizard_mail_organizer.py 1970-01-01 00:00:00 +0000
+++ mail_organizer/wizard/wizard_mail_organizer.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,108 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from openerp.osv import fields, osv
+
+
+class wizard_mail_organizer(osv.osv_memory):
+ _name = 'wizard.mail.organizer'
+
+ def _select_models(self, cr, uid, context=None):
+ module_pool = self.pool.get('ir.model')
+ module_ids = module_pool.search(
+ cr, uid, [('mail_organizer', '=', True)],
+ order="name", context=context)
+ modules = module_pool.browse(cr, uid, module_ids, context=context)
+ return [(m.model, m.name) for m in modules]
+
+ def _get_default_message_id(self, cr, uid, context=None):
+ return context.get('active_id', None)
+
+ _columns = {
+ 'message_id': fields.many2one(
+ 'mail.message', string="Message", required=True),
+ 'res': fields.char('Ressource', readonly=True),
+ 'model': fields.selection(
+ _select_models, string="Model", readonly=True),
+ 'new_res_id': fields.integer("New resource"),
+ 'new_model': fields.selection(_select_models, string="New model"),
+ 'subject': fields.char('Subject', readonly=True),
+ 'author_id': fields.many2one(
+ 'res.partner', string='Author', readonly=True),
+ 'has_domain': fields.boolean('Filter by partner'),
+ 'is_domain_visible': fields.boolean('Is domain visible')
+ }
+
+ _defaults = {
+ 'message_id': lambda self, cr, uid, c: (
+ self._get_default_message_id(cr, uid, context=c)),
+ 'has_domain': True,
+ 'is_domain_visible': False
+ }
+
+ def onchange_new_model(self, cr, uid, ids, new_model, has_domain,
+ author_id, context=None):
+ res = {}
+ vals = {'new_res_id': None}
+ domain = {'new_res_id': []}
+ if new_model and has_domain:
+ obj_pool = self.pool.get(new_model)
+ vals.update({'is_domain_visible': False})
+ if 'partner_id' in obj_pool._columns:
+ domain = {'new_res_id': [('partner_id', '=', author_id)]}
+ vals.update({'is_domain_visible': True})
+ res.update({'value': vals, 'domain': domain})
+ return res
+
+ def onchange_message_id(self, cr, uid, ids, message_id, context=None):
+ res = {}
+ if not message_id:
+ return res
+ vals = {}
+ message_pool = self.pool.get('mail.message')
+ message = message_pool.browse(
+ cr, uid, message_id, context=context)
+ resource = ''
+ if message.model and message.res_id:
+ obj_pool = self.pool.get(message.model)
+ obj = obj_pool.browse(
+ cr, uid, message.res_id, context=context)
+ resource = getattr(obj, obj._rec_name)
+ vals.update({
+ 'model': message.model,
+ 'res': resource,
+ 'author_id': (message.author_id and message.author_id.id
+ or None),
+ 'subject': message.subject
+ })
+ res.update({'value': vals})
+ return res
+
+ def confirm(self, cr, uid, ids, context=None):
+ message_pool = self.pool.get('mail.message')
+ for wz in self.browse(cr, uid, ids, context=context):
+ data = {'model': wz.new_model, 'res_id': wz.new_res_id}
+ message_pool.write(
+ cr, uid, wz.message_id.id, data, context=context)
+ return {
+ 'type': 'ir.actions.client',
+ 'tag': 'reload'
+ }
=== added file 'mail_organizer/wizard/wizard_mail_organizer_view.xml'
--- mail_organizer/wizard/wizard_mail_organizer_view.xml 1970-01-01 00:00:00 +0000
+++ mail_organizer/wizard/wizard_mail_organizer_view.xml 2014-02-23 07:15:07 +0000
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+ <data>
+ <record model="ir.ui.view" id="wizard_mail_organizer_form">
+ <field name="name">wizard_mail_organizer.form</field>
+ <field name="model">wizard.mail.organizer</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Wizard Mail Organizer" version="7.0">
+ <header>
+ <h2 class="oe_title">Assign email to another resource</h2>
+ </header>
+ <field name="message_id" invisible="True" on_change="onchange_message_id(message_id)" />
+ <field name="is_domain_visible" invisible="True" />
+ <group col="4" colspan="2">
+ <field name="author_id" />
+ <field name="subject" />
+ <field name="model" />
+ <field name="res" />
+ <field name="new_model" colspan="2" on_change="onchange_new_model(new_model, has_domain, author_id)" />
+ <field name="new_res_id" colspan="2" widget="polymorphic" polymorphic="new_model"/>
+ <field name="has_domain"
+ on_change="onchange_new_model(new_model, has_domain, author_id)"
+ attrs="{'invisible':[('is_domain_visible', '=', False)]}" />
+ </group>
+ <footer>
+ <button name="confirm" string="Assign" type="object" class="oe_highlight" />
+ <button string="Cancel" class="oe_link" special="cancel"/>
+ </footer>
+ </form>
+ </field>
+ </record>
+ </data>
+</openerp>
\ No newline at end of file
=== modified file 'web_adblock/__init__.py'
--- web_adblock/__init__.py 2013-12-28 06:25:35 +0000
+++ web_adblock/__init__.py 2014-02-23 07:15:07 +0000
@@ -2,8 +2,8 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (c) 2010-2013 Elico Corp. All Rights Reserved.
-# Augustin Cisterne-Kaas <augustin.cisterne-kaaas@xxxxxxxxxxxxxx>
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
=== modified file 'web_adblock/__openerp__.py'
--- web_adblock/__openerp__.py 2013-12-28 06:25:35 +0000
+++ web_adblock/__openerp__.py 2014-02-23 07:15:07 +0000
@@ -2,8 +2,8 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (c) 2010-2013 Elico Corp. All Rights Reserved.
-# Augustin Cisterne-Kaas <augustin.cisterne-kaaas@xxxxxxxxxxxxxx>
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -22,7 +22,7 @@
{
'name': 'OpenERP Adblock',
'version': '0.1',
- 'category': '',
+ 'category': 'Web',
'depends': ['mail'],
'author': 'Elico Corp',
'license': 'AGPL-3',
=== added file 'web_adblock/static/.DS_Store'
Binary files web_adblock/static/.DS_Store 1970-01-01 00:00:00 +0000 and web_adblock/static/.DS_Store 2014-02-23 07:15:07 +0000 differ
=== added directory 'web_adblock/static/src/img'
=== added file 'web_adblock/static/src/img/icon.png'
Binary files web_adblock/static/src/img/icon.png 1970-01-01 00:00:00 +0000 and web_adblock/static/src/img/icon.png 2014-02-23 07:15:07 +0000 differ
=== modified file 'web_adblock/static/src/js/announcement.js'
--- web_adblock/static/src/js/announcement.js 2013-12-28 06:25:35 +0000
+++ web_adblock/static/src/js/announcement.js 2014-02-23 07:15:07 +0000
@@ -1,3 +1,23 @@
+/******************************************************************************
+*
+* OpenERP, Open Source Management Solution
+* Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+* Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as
+* published by the Free Software Foundation, either version 3 of the
+* License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+******************************************************************************/
openerp_announcement = function(instance) {
};
\ No newline at end of file
=== added directory 'web_polymorphic'
=== added file 'web_polymorphic/__init__.py'
--- web_polymorphic/__init__.py 1970-01-01 00:00:00 +0000
+++ web_polymorphic/__init__.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
=== added file 'web_polymorphic/__openerp__.py'
--- web_polymorphic/__openerp__.py 1970-01-01 00:00:00 +0000
+++ web_polymorphic/__openerp__.py 2014-02-23 07:15:07 +0000
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+# Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+{'name': 'Web Polymorphic',
+ 'version': '0.1',
+ 'category': 'Web',
+ 'depends': ['web'],
+ 'author': 'Elico Corp',
+ 'license': 'AGPL-3',
+ 'website': 'https://www.elico-corp.com',
+ 'description': """
+Add a new widget named "polymorphic"
+The polymorphic field allow to dynamically store an id linked to any model in
+OpenERP instead of the usual fixed one in the view definition
+
+E.g:
+
+<field name="model" invisible="1" />
+<field name="object_id" widget="polymorphic" polymorphic="model" />
+""",
+ 'js': [
+ 'static/src/js/view_form.js'
+ ],
+ 'installable': True,
+ 'application': False}
=== added directory 'web_polymorphic/static'
=== added file 'web_polymorphic/static/.DS_Store'
Binary files web_polymorphic/static/.DS_Store 1970-01-01 00:00:00 +0000 and web_polymorphic/static/.DS_Store 2014-02-23 07:15:07 +0000 differ
=== added directory 'web_polymorphic/static/src'
=== added directory 'web_polymorphic/static/src/js'
=== added file 'web_polymorphic/static/src/js/view_form.js'
--- web_polymorphic/static/src/js/view_form.js 1970-01-01 00:00:00 +0000
+++ web_polymorphic/static/src/js/view_form.js 2014-02-23 07:15:07 +0000
@@ -0,0 +1,47 @@
+/******************************************************************************
+*
+* OpenERP, Open Source Management Solution
+* Copyright (c) 2010-2014 Elico Corp. All Rights Reserved.
+* Augustin Cisterne-Kaas <augustin.cisterne-kaas@xxxxxxxxxxxxxx>
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License as
+* published by the Free Software Foundation, either version 3 of the
+* License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+******************************************************************************/
+openerp.web_polymorphic = function (instance) {
+ instance.web.form.FieldPolymorphic = instance.web.form.FieldMany2One.extend( {
+ template: "FieldMany2One",
+ events: {
+ 'focus input': function(e) {
+ this.field.relation = this.field_manager.get_field_value(this.polymorphic);
+ },
+ 'click input': function(e) {
+ this.field.relation = this.field_manager.get_field_value(this.polymorphic);
+ }
+ },
+ init: function(field_manager, node) {
+ this._super(field_manager, node);
+ this.polymorphic = this.node.attrs.polymorphic;
+ },
+ render_editable: function() {
+ var self = this;
+ this.$drop_down = this.$el.find(".oe_m2o_drop_down_button");
+ this.$drop_down.click(function() {
+ self.polymorphic = self.node.attrs.polymorphic;
+ self.field.relation = self.field_manager.get_field_value(self.polymorphic);
+ });
+ this._super();
+ }
+ });
+ instance.web.form.widgets.add('polymorphic', 'instance.web.form.FieldPolymorphic')
+};
Follow ups