From bfeba02b3340f8824dc0bcd809186b59d2824dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 17 Jun 2013 10:55:52 +0200 Subject: [PATCH 01/13] [CLEAN] idea: code style cleanup (spaces / wording, indentation). No functional or technical changes, only style cleanup. bzr revid: tde@openerp.com-20130617085552-jx0ne2c4gr18582q --- addons/idea/__init__.py | 2 +- addons/idea/__openerp__.py | 4 +- addons/idea/idea.py | 30 ++-- addons/idea/idea_view.xml | 184 ++++++++++++------------- addons/idea/security/idea_security.xml | 12 +- 5 files changed, 118 insertions(+), 114 deletions(-) diff --git a/addons/idea/__init__.py b/addons/idea/__init__.py index e6f7333e055..8b550800117 100644 --- a/addons/idea/__init__.py +++ b/addons/idea/__init__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). +# Copyright (C) 2004-Today OpenERP S.A. (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index 8f32e1e91c4..878342d6d00 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). +# Copyright (C) 2004-Today OpenERP S.A. (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -43,7 +43,7 @@ Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'idea_workflow.xml', ], 'demo': ['idea_data.xml'], - 'test':[], + 'test': [], 'installable': True, 'images': [], } diff --git a/addons/idea/idea.py b/addons/idea/idea.py index d1e250ce9a5..2cd7a9858d1 100644 --- a/addons/idea/idea.py +++ b/addons/idea/idea.py @@ -2,7 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). +# Copyright (C) 2004-Today OpenERP S.A. (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -21,13 +21,13 @@ from openerp.osv import osv from openerp.osv import fields -from openerp.tools.translate import _ -import time + VoteValues = [('-1', 'Not Voted'), ('0', 'Very Bad'), ('25', 'Bad'), \ - ('50', 'Normal'), ('75', 'Good'), ('100', 'Very Good') ] + ('50', 'Normal'), ('75', 'Good'), ('100', 'Very Good')] DefaultVoteValue = '50' + class idea_category(osv.osv): """ Category of Idea """ _name = "idea.category" @@ -42,20 +42,24 @@ class idea_category(osv.osv): class idea_idea(osv.osv): - """ Idea """ + """ Model of an Idea """ _name = 'idea.idea' _inherit = ['mail.thread'] _columns = { 'create_uid': fields.many2one('res.users', 'Creator', required=True, readonly=True), - 'name': fields.char('Idea Summary', size=64, required=True, readonly=True, oldname='title', states={'draft': [('readonly', False)]}), - 'description': fields.text('Description', help='Content of the idea', readonly=True, states={'draft': [('readonly', False)]}), - 'category_ids': fields.many2many('idea.category', string='Tags', readonly=True, states={'draft': [('readonly', False)]}), + 'name': fields.char('Idea Summary', size=64, required=True, readonly=True, + states={'draft': [('readonly', False)]}, + oldname='title'), + 'description': fields.text('Description', readonly=True, + states={'draft': [('readonly', False)]}, + help='Content of the idea'), + 'category_ids': fields.many2many('idea.category', string='Tags', readonly=True, + states={'draft': [('readonly', False)]}), 'state': fields.selection([('draft', 'New'), - ('open', 'Accepted'), - ('cancel', 'Refused'), - ('close', 'Done')], - 'Status', readonly=True, track_visibility='onchange', - ) + ('open', 'Accepted'), + ('cancel', 'Refused'), + ('close', 'Done')], + 'Status', readonly=True, track_visibility='onchange'), } _sql_constraints = [ ('name', 'unique(name)', 'The name of the idea must be unique') diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml index 53734d53919..e1a4b942e83 100644 --- a/addons/idea/idea_view.xml +++ b/addons/idea/idea_view.xml @@ -3,18 +3,19 @@ - - - idea.category.search - idea.category - - - - - - - + + + idea.category.search + idea.category + + + + + + + + idea.category.form idea.category @@ -40,96 +41,95 @@ + + Categories + idea.category + form + tree,form + + - - Categories - idea.category - form - tree,form - - + - + - - - + - + + + idea.idea.form + idea.idea + +
+
+
+ + +
+ + +
+
+
+
- - idea.idea.form - idea.idea - -
-
-
- - -
- - -
-
-
-
+ + + idea.idea.tree + idea.idea + + + + + + + + - + + + idea.idea.search + idea.idea + + + + + + + + + + + + + + + - - idea.idea.tree - idea.idea - - - - - - - - + + Ideas + idea.idea + form + tree,form + + - - - - idea.idea.search - idea.idea - - - - - - - - - - - - - - - - - - Ideas - idea.idea - form - tree,form - - - - +
diff --git a/addons/idea/security/idea_security.xml b/addons/idea/security/idea_security.xml index 8743252c9e5..c72608863b0 100644 --- a/addons/idea/security/idea_security.xml +++ b/addons/idea/security/idea_security.xml @@ -1,12 +1,12 @@ - + - - User - - + + User + + - + From 145befd3e73905e23688bacfafc27ae51468aa7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 17 Jun 2013 13:27:34 +0200 Subject: [PATCH 02/13] [CLEAN] [IMP] Idea: - created models/views/tests/data/demo directories, moved existing files into them - reorganized menus (less depth) - removed inherit and dependance from mail.thread (basic idea = without mail.thread -> will be added further) - removed custom tools user group - added basic files for test, currently void bzr revid: tde@openerp.com-20130617112734-4vhj6sjbvip0ufuv --- addons/idea/__init__.py | 3 +- addons/idea/__openerp__.py | 35 +++++++++------- addons/idea/{ => data}/idea_workflow.xml | 0 addons/idea/{idea_data.xml => demo/idea.xml} | 4 -- addons/idea/models/__init__.py | 22 ++++++++++ addons/idea/{ => models}/idea.py | 11 +++-- addons/idea/security/idea.xml | 7 ++++ addons/idea/security/idea_security.xml | 12 ------ addons/idea/security/ir.model.access.csv | 4 +- addons/idea/static/src/img/icon.png | Bin 0 -> 142095 bytes addons/idea/tests/__init__.py | 28 +++++++++++++ addons/idea/tests/test_idea.py | 39 ++++++++++++++++++ addons/idea/{idea_view.xml => views/idea.xml} | 32 +++++++------- 13 files changed, 142 insertions(+), 55 deletions(-) rename addons/idea/{ => data}/idea_workflow.xml (100%) rename addons/idea/{idea_data.xml => demo/idea.xml} (75%) create mode 100644 addons/idea/models/__init__.py rename addons/idea/{ => models}/idea.py (96%) create mode 100644 addons/idea/security/idea.xml delete mode 100644 addons/idea/security/idea_security.xml create mode 100644 addons/idea/static/src/img/icon.png create mode 100644 addons/idea/tests/__init__.py create mode 100644 addons/idea/tests/test_idea.py rename addons/idea/{idea_view.xml => views/idea.xml} (90%) diff --git a/addons/idea/__init__.py b/addons/idea/__init__.py index 8b550800117..2b8966f9e7a 100644 --- a/addons/idea/__init__.py +++ b/addons/idea/__init__.py @@ -19,5 +19,4 @@ # ############################################################################## -import idea - +import models diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index 878342d6d00..bc2308ecc44 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -22,29 +22,36 @@ { 'name': 'Ideas', - 'version': '0.1', + 'summary': 'Share and Vote for your Ideas', + 'version': '1.0', 'category': 'Tools', 'description': """ -This module allows user to easily and efficiently participate in enterprise innovation. -======================================================================================= +Share your ideas and participate in enterprise innovation +========================================================= -It allows everybody to express ideas about different subjects. -Then, other users can comment on these ideas and vote for particular ideas. -Each idea has a score based on the different votes. -The managers can obtain an easy view of best ideas from all the users. +The Ideas module give users a way to express and discuss ideas, allowing everybody +to participate in enterprise innovation. Every user can suggest, comment ideas. +A vote mechanism is included. Each idea has a score based on the different +votes. The managers can obtain an easy view of best ideas from all the users. Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'author': 'OpenERP SA', - 'website': 'http://openerp.com', - 'depends': ['mail'], + 'website': 'http://www.openerp.com', + 'depends': ['base', 'base_setup'], 'data': [ - 'security/idea_security.xml', + 'security/idea.xml', 'security/ir.model.access.csv', - 'idea_view.xml', - 'idea_workflow.xml', + 'views/idea.xml', + 'data/idea_workflow.xml', + ], + 'demo': [ + 'demo/idea.xml' ], - 'demo': ['idea_data.xml'], - 'test': [], 'installable': True, + 'application': True, 'images': [], + 'css': [], + 'js': [], + 'qweb': [], } + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/idea/idea_workflow.xml b/addons/idea/data/idea_workflow.xml similarity index 100% rename from addons/idea/idea_workflow.xml rename to addons/idea/data/idea_workflow.xml diff --git a/addons/idea/idea_data.xml b/addons/idea/demo/idea.xml similarity index 75% rename from addons/idea/idea_data.xml rename to addons/idea/demo/idea.xml index 421cb6a9eef..e54708f92ec 100644 --- a/addons/idea/idea_data.xml +++ b/addons/idea/demo/idea.xml @@ -12,10 +12,6 @@ Technical - - - - diff --git a/addons/idea/models/__init__.py b/addons/idea/models/__init__.py new file mode 100644 index 00000000000..e8a48771771 --- /dev/null +++ b/addons/idea/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2013-TODAY OpenERP S.A. +# +# 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 . +# +############################################################################## + +import idea diff --git a/addons/idea/idea.py b/addons/idea/models/idea.py similarity index 96% rename from addons/idea/idea.py rename to addons/idea/models/idea.py index 2cd7a9858d1..5bfcdb0c317 100644 --- a/addons/idea/idea.py +++ b/addons/idea/models/idea.py @@ -32,19 +32,25 @@ class idea_category(osv.osv): """ Category of Idea """ _name = "idea.category" _description = "Idea Category" + _order = 'name asc' + _columns = { 'name': fields.char('Category Name', size=64, required=True), } + _sql_constraints = [ ('name', 'unique(name)', 'The name of the category must be unique') ] - _order = 'name asc' class idea_idea(osv.osv): """ Model of an Idea """ _name = 'idea.idea' - _inherit = ['mail.thread'] + _description = 'Propose and Share your Ideas' + _rec_name = 'name' + _order = 'name asc' + # _inherit = ['mail.thread'] + _columns = { 'create_uid': fields.many2one('res.users', 'Creator', required=True, readonly=True), 'name': fields.char('Idea Summary', size=64, required=True, readonly=True, @@ -67,7 +73,6 @@ class idea_idea(osv.osv): _defaults = { 'state': lambda *a: 'draft', } - _order = 'name asc' def idea_cancel(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state': 'cancel'}, context=context) diff --git a/addons/idea/security/idea.xml b/addons/idea/security/idea.xml new file mode 100644 index 00000000000..e7a0d800187 --- /dev/null +++ b/addons/idea/security/idea.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/addons/idea/security/idea_security.xml b/addons/idea/security/idea_security.xml deleted file mode 100644 index c72608863b0..00000000000 --- a/addons/idea/security/idea_security.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - User - - - - - - diff --git a/addons/idea/security/ir.model.access.csv b/addons/idea/security/ir.model.access.csv index 78b8deeaf57..761ada8132c 100644 --- a/addons/idea/security/ir.model.access.csv +++ b/addons/idea/security/ir.model.access.csv @@ -1,3 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_idea_category_user,idea.category user,model_idea_category,base.group_tool_user,1,1,1,1 -access_idea_idea_user,idea.idea user,model_idea_idea,base.group_tool_user,1,1,1,1 +access_idea_category_user,idea.category.user,model_idea_category,base.group_user,1,1,1,1 +access_idea_idea_user,idea.idea.user,model_idea_idea,base.group_user,1,1,1,1 diff --git a/addons/idea/static/src/img/icon.png b/addons/idea/static/src/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0cba223bb6d755e8105df347a5619d9fe910a5 GIT binary patch literal 142095 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

u+)woFC@?fwprM$<7u+eu>_KeqnSSfLg_dH1 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 z

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 +# +# 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 . +# +############################################################################## + +from openerp.addons.idea.tests import test_idea + +checks = [ + test_idea, +] + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/idea/tests/test_idea.py b/addons/idea/tests/test_idea.py new file mode 100644 index 00000000000..4ca9bb9dcb9 --- /dev/null +++ b/addons/idea/tests/test_idea.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2013-TODAY OpenERP S.A. +# +# 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 . +# +############################################################################## + +from openerp.tests import common + + +class TestIdeaBase(common.TransactionCase): + + def setUp(self): + super(TestIdeaBase, self).setUp() + cr, uid = self.cr, self.uid + + # Usefull models + self.idea_category = self.registry('idea.category') + self.idea_idea = self.registry('idea.idea') + + def tearDown(self): + super(TestIdeaBase, self).tearDown() + + def test_OO(self): + pass diff --git a/addons/idea/idea_view.xml b/addons/idea/views/idea.xml similarity index 90% rename from addons/idea/idea_view.xml rename to addons/idea/views/idea.xml index e1a4b942e83..85858a9c860 100644 --- a/addons/idea/idea_view.xml +++ b/addons/idea/views/idea.xml @@ -1,9 +1,6 @@ - - - idea.category.search @@ -49,16 +46,6 @@ - - - - - - - idea.idea.form @@ -79,10 +66,6 @@ @@ -128,8 +111,21 @@ + + + + + + + + + id="menu_idea_idea" action="action_idea_idea" sequence="10"/> + From f470535b0ece858f8cc98a7f846b26b9126cc4c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 18 Jun 2013 10:08:20 +0200 Subject: [PATCH 03/13] [ADD] idea: added a kanban view bzr revid: tde@openerp.com-20130618080820-18bhrsq3flfacpjl --- addons/idea/__openerp__.py | 5 +- addons/idea/demo/idea.xml | 25 ++++++- addons/idea/models/idea.py | 52 +++++++++++--- addons/idea/static/src/css/idea_idea.css | 21 ++++++ addons/idea/views/category.xml | 56 +++++++++++++++ addons/idea/views/idea.xml | 88 ++++++++++-------------- 6 files changed, 181 insertions(+), 66 deletions(-) create mode 100644 addons/idea/static/src/css/idea_idea.css create mode 100644 addons/idea/views/category.xml diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index bc2308ecc44..f2e2e3f0b1d 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -41,6 +41,7 @@ Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'security/idea.xml', 'security/ir.model.access.csv', 'views/idea.xml', + 'views/category.xml', 'data/idea_workflow.xml', ], 'demo': [ @@ -49,7 +50,9 @@ Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'installable': True, 'application': True, 'images': [], - 'css': [], + 'css': [ + 'static/src/css/idea_idea.css', + ], 'js': [], 'qweb': [], } diff --git a/addons/idea/demo/idea.xml b/addons/idea/demo/idea.xml index e54708f92ec..cce96fe7f82 100644 --- a/addons/idea/demo/idea.xml +++ b/addons/idea/demo/idea.xml @@ -2,16 +2,35 @@ - + Sales - + Organization - + Technical + + Name + Description + draft + + + + Name2 + Description + draft + + + + Name3 + Description + draft + + + diff --git a/addons/idea/models/idea.py b/addons/idea/models/idea.py index 5bfcdb0c317..e491c06c2a5 100644 --- a/addons/idea/models/idea.py +++ b/addons/idea/models/idea.py @@ -28,7 +28,7 @@ VoteValues = [('-1', 'Not Voted'), ('0', 'Very Bad'), ('25', 'Bad'), \ DefaultVoteValue = '50' -class idea_category(osv.osv): +class IdeaCategory(osv.Model): """ Category of Idea """ _name = "idea.category" _description = "Idea Category" @@ -43,13 +43,18 @@ class idea_category(osv.osv): ] -class idea_idea(osv.osv): +class IdeaIdea(osv.Model): """ Model of an Idea """ _name = 'idea.idea' _description = 'Propose and Share your Ideas' _rec_name = 'name' _order = 'name asc' - # _inherit = ['mail.thread'] + + def _get_state_list(self, cr, uid, context=None): + return [('draft', 'New'), + ('open', 'Accepted'), + ('cancel', 'Refused'), + ('close', 'Done')] _columns = { 'create_uid': fields.many2one('res.users', 'Creator', required=True, readonly=True), @@ -61,19 +66,48 @@ class idea_idea(osv.osv): help='Content of the idea'), 'category_ids': fields.many2many('idea.category', string='Tags', readonly=True, states={'draft': [('readonly', False)]}), - 'state': fields.selection([('draft', 'New'), - ('open', 'Accepted'), - ('cancel', 'Refused'), - ('close', 'Done')], - 'Status', readonly=True, track_visibility='onchange'), + 'state': fields.selection(_get_state_list, string='Status', + readonly=True, track_visibility='onchange'), } + _sql_constraints = [ ('name', 'unique(name)', 'The name of the idea must be unique') ] + _defaults = { - 'state': lambda *a: 'draft', + 'state': lambda self, cr, uid, ctx=None: self._get_state_list(cr, uid, ctx)[0][0], } + #------------------------------------------------------ + # Technical stuff + #------------------------------------------------------ + + def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False): + """ Override read_group to always display all states. """ + # Default result structure + states = self._get_state_list(cr, uid, context=context) + read_group_all_states = [{ + '__context': {'group_by': groupby[1:]}, + '__domain': domain + [('state', '=', state_value)], + 'state': state_value, + 'state_count': 0, + } for state_value, state_name in states] + # Get standard results + read_group_res = super(IdeaIdea, self).read_group(cr, uid, domain, fields, groupby, offset, limit, context, orderby) + # Update standard results with default results + result = [] + for state_value, state_name in states: + res = filter(lambda x: x['state'] == state_value, read_group_res) + if not res: + res = filter(lambda x: x['state'] == state_value, read_group_all_states) + res[0]['state'] = [state_value, state_name] + result.append(res[0]) + return result + + #------------------------------------------------------ + # Workflow / Actions + #------------------------------------------------------ + def idea_cancel(self, cr, uid, ids, context=None): return self.write(cr, uid, ids, {'state': 'cancel'}, context=context) diff --git a/addons/idea/static/src/css/idea_idea.css b/addons/idea/static/src/css/idea_idea.css new file mode 100644 index 00000000000..08daffd902a --- /dev/null +++ b/addons/idea/static/src/css/idea_idea.css @@ -0,0 +1,21 @@ +.openerp .oe_kanban_view .oe_kanban_idea_idea { + width: 200px; +} + +.openerp .oe_kanban_view .oe_kanban_idea_idea .oe_avatars { + text-align: right; + margin: -5px 0 -10px 0; +} + +.openerp .oe_kanban_view .oe_kanban_idea_idea .oe_avatars img { + width: 30px; + height: 30px; + padding-left: 0px; + margin-top: 3px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} diff --git a/addons/idea/views/category.xml b/addons/idea/views/category.xml new file mode 100644 index 00000000000..c44491cf59f --- /dev/null +++ b/addons/idea/views/category.xml @@ -0,0 +1,56 @@ + + + + + + + + idea.category.search + idea.category + + + + + + + + + idea.category.form + idea.category + +
+ + + +
+
+
+ + + idea.category.tree + idea.category + + + + + + + + + + Categories + idea.category + form + tree,form + + + + + + + +
+
diff --git a/addons/idea/views/idea.xml b/addons/idea/views/idea.xml index 85858a9c860..d8b21cdabd6 100644 --- a/addons/idea/views/idea.xml +++ b/addons/idea/views/idea.xml @@ -1,52 +1,35 @@ - - - idea.category.search - idea.category + + + idea.idea.kanban + idea.idea - - - + + + +
+
+ í + +
+
+

+ +
+
+
+
+
- - - idea.category.form - idea.category - -
- - - -
-
-
- - - - idea.category.tree - idea.category - - - - - - - - - - - Categories - idea.category - form - tree,form - - - - idea.idea.form idea.idea @@ -70,7 +53,6 @@ - idea.idea.tree idea.idea @@ -83,21 +65,23 @@ - idea.idea.search idea.idea - - - + + + - - - + + + @@ -107,7 +91,7 @@ Ideas idea.idea form - tree,form + kanban,tree,form @@ -124,8 +108,6 @@ -
From 8c5428d33f26bd99e3e34f5230a8d5a107803bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 18 Jun 2013 11:47:54 +0200 Subject: [PATCH 04/13] [IMP] Idea: create_uid -> user_id (to be tracked by chatter); improved some views; cleaned and improved demo data. bzr revid: tde@openerp.com-20130618094754-wlgx7vl2uo4pshfg --- addons/idea/__openerp__.py | 7 +++-- addons/idea/demo/idea.xml | 54 +++++++++++++++++++++++++++++--------- addons/idea/models/idea.py | 14 +++++----- addons/idea/views/idea.xml | 26 +++++++++++------- 4 files changed, 69 insertions(+), 32 deletions(-) diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index f2e2e3f0b1d..a4031bc86d7 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -22,7 +22,7 @@ { 'name': 'Ideas', - 'summary': 'Share and Vote for your Ideas', + 'summary': 'Share and Discuss your Ideas', 'version': '1.0', 'category': 'Tools', 'description': """ @@ -31,8 +31,7 @@ Share your ideas and participate in enterprise innovation The Ideas module give users a way to express and discuss ideas, allowing everybody to participate in enterprise innovation. Every user can suggest, comment ideas. -A vote mechanism is included. Each idea has a score based on the different -votes. The managers can obtain an easy view of best ideas from all the users. +The managers can obtain an easy view of best ideas from all the users. Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', @@ -45,7 +44,7 @@ Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'data/idea_workflow.xml', ], 'demo': [ - 'demo/idea.xml' + 'demo/idea.xml', ], 'installable': True, 'application': True, diff --git a/addons/idea/demo/idea.xml b/addons/idea/demo/idea.xml index cce96fe7f82..fea9d5535b5 100644 --- a/addons/idea/demo/idea.xml +++ b/addons/idea/demo/idea.xml @@ -12,24 +12,54 @@ Technical + + Docking station along with tablet PC + When you sell a tablet PC, maybe we could propose a docking station with it. I offer 20% on the docking stating (not the tablet). + + + + - Name - Description - draft - + Communicate using emails + I start communicating with prospects more by email than phonecalls. I send an email to create a sense of emergency, like "can I call you this week about our quote?" and I call only those that answer this email. + + + + - Name2 - Description - draft - + Use a two-stages testing phase + We should perform testing using two levels of validation. + + + + - Name3 - Description - draft - + Write some functional documentation about procurements + We receive many questions about OpenChatter. Maybe some functional doc could save us some time. + + + + + + Better management of smtp errors + There should be away to store the reason why some emails are not sent. + + + + + + + + Kitten mode enabled by default + As this is the most loved feature, the kitten mode should be enabled by default. And maybe even impossible to remove. + + + + + diff --git a/addons/idea/models/idea.py b/addons/idea/models/idea.py index e491c06c2a5..69a94598bad 100644 --- a/addons/idea/models/idea.py +++ b/addons/idea/models/idea.py @@ -52,13 +52,13 @@ class IdeaIdea(osv.Model): def _get_state_list(self, cr, uid, context=None): return [('draft', 'New'), - ('open', 'Accepted'), - ('cancel', 'Refused'), - ('close', 'Done')] + ('open', 'In discussion'), + ('close', 'Accepted'), + ('cancel', 'Refused')] _columns = { - 'create_uid': fields.many2one('res.users', 'Creator', required=True, readonly=True), - 'name': fields.char('Idea Summary', size=64, required=True, readonly=True, + 'user_id': fields.many2one('res.users', 'Responsible', required=True, readonly=True), + 'name': fields.char('Idea Summary', required=True, readonly=True, states={'draft': [('readonly', False)]}, oldname='title'), 'description': fields.text('Description', readonly=True, @@ -66,8 +66,7 @@ class IdeaIdea(osv.Model): help='Content of the idea'), 'category_ids': fields.many2many('idea.category', string='Tags', readonly=True, states={'draft': [('readonly', False)]}), - 'state': fields.selection(_get_state_list, string='Status', - readonly=True, track_visibility='onchange'), + 'state': fields.selection(_get_state_list, string='Status'), } _sql_constraints = [ @@ -75,6 +74,7 @@ class IdeaIdea(osv.Model): ] _defaults = { + 'user_id': lambda self, cr, uid, ctx=None: uid, 'state': lambda self, cr, uid, ctx=None: self._get_state_list(cr, uid, ctx)[0][0], } diff --git a/addons/idea/views/idea.xml b/addons/idea/views/idea.xml index d8b21cdabd6..33702f0e5f3 100644 --- a/addons/idea/views/idea.xml +++ b/addons/idea/views/idea.xml @@ -7,6 +7,7 @@ idea.idea +
@@ -22,7 +23,12 @@

+ +
+ +
+
@@ -44,10 +50,11 @@
@@ -57,9 +64,9 @@ idea.idea.tree idea.idea - + - + @@ -70,7 +77,8 @@ idea.idea - + + @@ -79,9 +87,9 @@ - + - + From 8c36f2724341e06abb801379208d2ccc40ad65ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 18 Jun 2013 12:16:21 +0200 Subject: [PATCH 05/13] [IMP] Idea: added mail as a dependancy to have already menus and everything ready to include chatter stuff inside the module. Easier for demos. bzr revid: tde@openerp.com-20130618101621-4f5me8grml002xci --- addons/idea/__openerp__.py | 2 +- addons/idea/models/idea.py | 1 + addons/idea/views/category.xml | 4 ++-- addons/idea/views/idea.xml | 12 ++---------- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index a4031bc86d7..8d87416fcfe 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -35,7 +35,7 @@ The managers can obtain an easy view of best ideas from all the users. Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', - 'depends': ['base', 'base_setup'], + 'depends': ['mail'], 'data': [ 'security/idea.xml', 'security/ir.model.access.csv', diff --git a/addons/idea/models/idea.py b/addons/idea/models/idea.py index 69a94598bad..678cc6e3632 100644 --- a/addons/idea/models/idea.py +++ b/addons/idea/models/idea.py @@ -47,6 +47,7 @@ class IdeaIdea(osv.Model): """ Model of an Idea """ _name = 'idea.idea' _description = 'Propose and Share your Ideas' + _rec_name = 'name' _order = 'name asc' diff --git a/addons/idea/views/category.xml b/addons/idea/views/category.xml index c44491cf59f..79725fad73f 100644 --- a/addons/idea/views/category.xml +++ b/addons/idea/views/category.xml @@ -49,8 +49,8 @@ - + diff --git a/addons/idea/views/idea.xml b/addons/idea/views/idea.xml index 33702f0e5f3..6b9f960653f 100644 --- a/addons/idea/views/idea.xml +++ b/addons/idea/views/idea.xml @@ -106,16 +106,8 @@ - - - - - - - + From ddcef651b1a659aa0954628796a44b848953472f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 18 Jun 2013 12:54:08 +0200 Subject: [PATCH 06/13] [IMP] Idea: cliking on a note in kanban view redirect to the form view in read mode, not edit. bzr revid: tde@openerp.com-20130618105408-8nqwmae58d6svqyi --- addons/idea/views/idea.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/idea/views/idea.xml b/addons/idea/views/idea.xml index 6b9f960653f..d6813d4112a 100644 --- a/addons/idea/views/idea.xml +++ b/addons/idea/views/idea.xml @@ -10,7 +10,7 @@ -
+
í From 4c9333c802f1547aa4d77f68963997c53f9f343c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 18 Jun 2013 13:19:24 +0200 Subject: [PATCH 07/13] [IMP] Idea: removed dead code, updated slighty the model to be able to change user_id and other things like taht. bzr revid: tde@openerp.com-20130618111924-f34uih1qag7sykp9 --- addons/idea/models/idea.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/addons/idea/models/idea.py b/addons/idea/models/idea.py index 678cc6e3632..b9ba80fb251 100644 --- a/addons/idea/models/idea.py +++ b/addons/idea/models/idea.py @@ -23,11 +23,6 @@ from openerp.osv import osv from openerp.osv import fields -VoteValues = [('-1', 'Not Voted'), ('0', 'Very Bad'), ('25', 'Bad'), \ - ('50', 'Normal'), ('75', 'Good'), ('100', 'Very Good')] -DefaultVoteValue = '50' - - class IdeaCategory(osv.Model): """ Category of Idea """ _name = "idea.category" @@ -58,15 +53,14 @@ class IdeaIdea(osv.Model): ('cancel', 'Refused')] _columns = { - 'user_id': fields.many2one('res.users', 'Responsible', required=True, readonly=True), - 'name': fields.char('Idea Summary', required=True, readonly=True, + 'user_id': fields.many2one('res.users', 'Responsible', required=True), + 'name': fields.char('Summary', required=True, readonly=True, states={'draft': [('readonly', False)]}, oldname='title'), - 'description': fields.text('Description', readonly=True, + 'description': fields.text('Description', required=True, states={'draft': [('readonly', False)]}, help='Content of the idea'), - 'category_ids': fields.many2many('idea.category', string='Tags', readonly=True, - states={'draft': [('readonly', False)]}), + 'category_ids': fields.many2many('idea.category', string='Tags'), 'state': fields.selection(_get_state_list, string='Status'), } From aff7d457c47906d55798d450067a19786f64a52e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 18 Jun 2013 15:15:45 +0200 Subject: [PATCH 08/13] [IMP] idea: workflow moved on a new priority field to avoid issues with kanban / clickable statusbar widget. Added a color field depending on the priori field. Updated views accordingly. bzr revid: tde@openerp.com-20130618131545-33tht1ps4ayzk0so --- addons/idea/data/idea_workflow.xml | 51 ++++++++++----------- addons/idea/demo/idea.xml | 16 ++++--- addons/idea/models/idea.py | 71 ++++++++++++++++++------------ addons/idea/views/idea.xml | 16 ++++--- 4 files changed, 86 insertions(+), 68 deletions(-) diff --git a/addons/idea/data/idea_workflow.xml b/addons/idea/data/idea_workflow.xml index 649541ae349..b460c73a6ed 100644 --- a/addons/idea/data/idea_workflow.xml +++ b/addons/idea/data/idea_workflow.xml @@ -7,53 +7,50 @@ True - + True - draft + normal function - idea_draft() + idea_set_normal_priority() - + - open + low function - idea_open() + idea_set_low_priority() - + - close + high function - idea_close() - True - - - - - cancel - function - idea_cancel() - True + idea_set_high_priority() - - - idea_open + + + idea_set_low_priority - - - idea_close + + + idea_set_normal_priority + + + + + + idea_set_high_priority - - - idea_cancel + + + idea_set_normal_priority diff --git a/addons/idea/demo/idea.xml b/addons/idea/demo/idea.xml index fea9d5535b5..2b4ff58b973 100644 --- a/addons/idea/demo/idea.xml +++ b/addons/idea/demo/idea.xml @@ -23,43 +23,45 @@ Communicate using emails I start communicating with prospects more by email than phonecalls. I send an email to create a sense of emergency, like "can I call you this week about our quote?" and I call only those that answer this email. + open - + Use a two-stages testing phase We should perform testing using two levels of validation. + open - + Write some functional documentation about procurements We receive many questions about OpenChatter. Maybe some functional doc could save us some time. + open - Better management of smtp errors There should be away to store the reason why some emails are not sent. + close - - + Kitten mode enabled by default As this is the most loved feature, the kitten mode should be enabled by default. And maybe even impossible to remove. + cancel - - + diff --git a/addons/idea/models/idea.py b/addons/idea/models/idea.py index b9ba80fb251..910a0de483d 100644 --- a/addons/idea/models/idea.py +++ b/addons/idea/models/idea.py @@ -52,6 +52,15 @@ class IdeaIdea(osv.Model): ('close', 'Accepted'), ('cancel', 'Refused')] + def _get_color(self, cr, uid, ids, fields, args, context=None): + res = dict.fromkeys(ids, 3) + for idea in self.browse(cr, uid, ids, context=context): + if idea.priority == 'low': + res[idea.id] = 0 + elif idea.priority == 'high': + res[idea.id] = 7 + return res + _columns = { 'user_id': fields.many2one('res.users', 'Responsible', required=True), 'name': fields.char('Summary', required=True, readonly=True, @@ -61,7 +70,10 @@ class IdeaIdea(osv.Model): states={'draft': [('readonly', False)]}, help='Content of the idea'), 'category_ids': fields.many2many('idea.category', string='Tags'), - 'state': fields.selection(_get_state_list, string='Status'), + 'state': fields.selection(_get_state_list, string='Status', required=True), + 'priority': fields.selection([('low', 'Low'), ('normal', 'Normal'), ('high', 'High')], + string='Priority', required=True), + 'color': fields.function(_get_color, type='integer', string='Color Index'), } _sql_constraints = [ @@ -71,6 +83,7 @@ class IdeaIdea(osv.Model): _defaults = { 'user_id': lambda self, cr, uid, ctx=None: uid, 'state': lambda self, cr, uid, ctx=None: self._get_state_list(cr, uid, ctx)[0][0], + 'priority': 'normal', } #------------------------------------------------------ @@ -79,38 +92,38 @@ class IdeaIdea(osv.Model): def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False): """ Override read_group to always display all states. """ - # Default result structure - states = self._get_state_list(cr, uid, context=context) - read_group_all_states = [{ - '__context': {'group_by': groupby[1:]}, - '__domain': domain + [('state', '=', state_value)], - 'state': state_value, - 'state_count': 0, - } for state_value, state_name in states] - # Get standard results - read_group_res = super(IdeaIdea, self).read_group(cr, uid, domain, fields, groupby, offset, limit, context, orderby) - # Update standard results with default results - result = [] - for state_value, state_name in states: - res = filter(lambda x: x['state'] == state_value, read_group_res) - if not res: - res = filter(lambda x: x['state'] == state_value, read_group_all_states) - res[0]['state'] = [state_value, state_name] - result.append(res[0]) - return result + if groupby and groupby[0] == "state": + # Default result structure + states = self._get_state_list(cr, uid, context=context) + read_group_all_states = [{ + '__context': {'group_by': groupby[1:]}, + '__domain': domain + [('state', '=', state_value)], + 'state': state_value, + 'state_count': 0, + } for state_value, state_name in states] + # Get standard results + read_group_res = super(IdeaIdea, self).read_group(cr, uid, domain, fields, groupby, offset, limit, context, orderby) + # Update standard results with default results + result = [] + for state_value, state_name in states: + res = filter(lambda x: x['state'] == state_value, read_group_res) + if not res: + res = filter(lambda x: x['state'] == state_value, read_group_all_states) + res[0]['state'] = [state_value, state_name] + result.append(res[0]) + return result + else: + return super(IdeaIdea, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby) #------------------------------------------------------ # Workflow / Actions #------------------------------------------------------ - def idea_cancel(self, cr, uid, ids, context=None): - return self.write(cr, uid, ids, {'state': 'cancel'}, context=context) + def idea_set_low_priority(self, cr, uid, ids, context=None): + return self.write(cr, uid, ids, {'priority': 'low'}, context=context) - def idea_open(self, cr, uid, ids, context={}): - return self.write(cr, uid, ids, {'state': 'open'}, context=context) + def idea_set_normal_priority(self, cr, uid, ids, context={}): + return self.write(cr, uid, ids, {'priority': 'normal'}, context=context) - def idea_close(self, cr, uid, ids, context={}): - return self.write(cr, uid, ids, {'state': 'close'}, context=context) - - def idea_draft(self, cr, uid, ids, context={}): - return self.write(cr, uid, ids, {'state': 'draft'}, context=context) + def idea_set_high_priority(self, cr, uid, ids, context={}): + return self.write(cr, uid, ids, {'priority': 'high'}, context=context) diff --git a/addons/idea/views/idea.xml b/addons/idea/views/idea.xml index d6813d4112a..87094a29ace 100644 --- a/addons/idea/views/idea.xml +++ b/addons/idea/views/idea.xml @@ -7,10 +7,11 @@ idea.idea + -
+
í @@ -42,16 +43,20 @@
-
++
++ ++ ++
+
+
+ + diff --git a/addons/idea/doc/patch2_needaction.txt b/addons/idea/doc/patch2_needaction.txt new file mode 100644 index 00000000000..6897d597fd3 --- /dev/null +++ b/addons/idea/doc/patch2_needaction.txt @@ -0,0 +1,27 @@ +=== modified file 'idea/models/idea.py' +--- idea/models/idea.py 2013-06-18 10:34:31 +0000 ++++ idea/models/idea.py 2013-06-18 10:36:26 +0000 +@@ -47,7 +47,7 @@ + """ Model of an Idea """ + _name = 'idea.idea' + _description = 'Propose and Share your Ideas' +- _inherit = ['mail.thread'] ++ _inherit = ['mail.thread', 'ir.needaction_mixin'] + + _rec_name = 'name' + _order = 'name asc' + +=== modified file 'idea/views/idea.xml' +--- idea/views/idea.xml 2013-06-18 10:34:31 +0000 ++++ idea/views/idea.xml 2013-06-18 10:36:08 +0000 +@@ -92,6 +92,9 @@ + help="Open Ideas"/> + ++ + + + + diff --git a/addons/idea/doc/patch3_treebold.txt b/addons/idea/doc/patch3_treebold.txt new file mode 100644 index 00000000000..9521837750a --- /dev/null +++ b/addons/idea/doc/patch3_treebold.txt @@ -0,0 +1,20 @@ +=== modified file 'idea/views/idea.xml' +--- idea/views/idea.xml 2013-06-18 13:17:10 +0000 ++++ idea/views/idea.xml 2013-06-18 13:17:57 +0000 +@@ -75,11 +75,14 @@ + idea.idea.tree + idea.idea + +- ++ + + + + ++ + + + + diff --git a/addons/idea/doc/patch4_chatterkanban.txt b/addons/idea/doc/patch4_chatterkanban.txt new file mode 100644 index 00000000000..ccce81db7a6 --- /dev/null +++ b/addons/idea/doc/patch4_chatterkanban.txt @@ -0,0 +1,27 @@ +=== modified file 'idea/views/idea.xml' +--- idea/views/idea.xml 2013-06-18 10:58:33 +0000 ++++ idea/views/idea.xml 2013-06-18 11:03:38 +0000 +@@ -8,6 +8,9 @@ + + + ++ ++ ++ + + +
+@@ -27,6 +30,12 @@ +
+ +
++ ++ +
+
+
+ diff --git a/addons/idea/doc/patch5_trackvisibility.txt b/addons/idea/doc/patch5_trackvisibility.txt new file mode 100644 index 00000000000..dd62f44710a --- /dev/null +++ b/addons/idea/doc/patch5_trackvisibility.txt @@ -0,0 +1,28 @@ +=== modified file 'idea/models/idea.py' +--- idea/models/idea.py 2013-06-18 13:29:15 +0000 ++++ idea/models/idea.py 2013-06-18 13:29:38 +0000 +@@ -63,7 +63,8 @@ + return res + + _columns = { +- 'user_id': fields.many2one('res.users', 'Responsible', required=True), ++ 'user_id': fields.many2one('res.users', 'Responsible', required=True, ++ track_visibility='onchange'), + 'name': fields.char('Summary', required=True, readonly=True, + states={'draft': [('readonly', False)]}, + oldname='title'), +@@ -71,9 +72,11 @@ + states={'draft': [('readonly', False)]}, + help='Content of the idea'), + 'category_ids': fields.many2many('idea.category', string='Tags'), +- 'state': fields.selection(_get_state_list, string='Status', required=True), ++ 'state': fields.selection(_get_state_list, string='Status', required=True, ++ track_visibility='onchange'), + 'priority': fields.selection([('low', 'Low'), ('normal', 'Normal'), ('high', 'High')], +- string='Priority', required=True), ++ string='Priority', required=True, ++ track_visibility='always'), + 'color': fields.function(_get_color, type='integer', string='Color Index'), + } + + diff --git a/addons/idea/doc/patch6_subtypes.txt b/addons/idea/doc/patch6_subtypes.txt new file mode 100644 index 00000000000..429b95d57d1 --- /dev/null +++ b/addons/idea/doc/patch6_subtypes.txt @@ -0,0 +1,55 @@ +=== modified file 'idea/__openerp__.py' +--- idea/__openerp__.py 2013-06-18 10:16:21 +0000 ++++ idea/__openerp__.py 2013-06-18 13:23:42 +0000 +@@ -41,6 +41,7 @@ + 'security/ir.model.access.csv', + 'views/idea.xml', + 'views/category.xml', ++ 'data/idea.xml', + 'data/idea_workflow.xml', + ], + 'demo': [ + +=== modified file 'idea/data/idea.xml' +--- idea/data/idea.xml 2013-06-18 13:23:19 +0000 ++++ idea/data/idea.xml 2013-06-18 13:23:56 +0000 +@@ -2,5 +2,19 @@ + + + ++ ++ ++ State Changed ++ idea.idea ++ ++ State changed ++ ++ ++ Idea Approved ++ idea.idea ++ ++ Idea approved ++ ++ + + +\ No newline at end of file + +=== modified file 'idea/models/idea.py' +--- idea/models/idea.py 2013-06-18 13:23:37 +0000 ++++ idea/models/idea.py 2013-06-18 13:23:42 +0000 +@@ -47,6 +47,13 @@ + _rec_name = 'name' + _order = 'name asc' + ++ _track = { ++ 'state': { ++ 'idea.mt_state_approved': lambda self, cr, uid, obj, ctx=None: obj['state'] == 'close', ++ 'idea.mt_state_change': lambda self, cr, uid, obj, ctx=None: obj['state'] != 'close', ++ }, ++ } ++ + def _get_state_list(self, cr, uid, context=None): + return [('draft', 'New'), + ('open', 'In discussion'), + diff --git a/addons/idea/doc/patch7_messagepost.txt b/addons/idea/doc/patch7_messagepost.txt new file mode 100644 index 00000000000..492fef88bdd --- /dev/null +++ b/addons/idea/doc/patch7_messagepost.txt @@ -0,0 +1,31 @@ +=== modified file 'idea/data/idea.xml' +--- idea/data/idea.xml 2013-06-18 13:25:00 +0000 ++++ idea/data/idea.xml 2013-06-18 13:27:58 +0000 +@@ -15,6 +15,11 @@ + + Idea approved + ++ ++ Priority High ++ idea.idea ++ Priority set to high ++ + + + +\ No newline at end of file + +=== modified file 'idea/models/idea.py' +--- idea/models/idea.py 2013-06-18 13:25:00 +0000 ++++ idea/models/idea.py 2013-06-18 13:26:50 +0000 +@@ -136,4 +136,9 @@ + return self.write(cr, uid, ids, {'priority': 'normal'}, context=context) + + def idea_set_high_priority(self, cr, uid, ids, context={}): ++ for idea in self.browse(cr, uid, ids, context=context): ++ self.message_post(cr, uid, ids, body='Your idea has been set as high priority. Congratulations!', ++ subtype='idea.mt_priority_high', ++ partner_ids=[idea.user_id.partner_id.id], ++ context=context) + return self.write(cr, uid, ids, {'priority': 'high'}, context=context) + From 734d900207bf097f8778aa31bcbf008f4372b14a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 25 Jun 2013 12:54:52 +0200 Subject: [PATCH 11/13] [REM] Removed patches. bzr revid: tde@openerp.com-20130625105452-u7uqmvo73pqjzsp6 --- addons/idea/doc/apply.txt | 20 -------- addons/idea/doc/patch1_mailthread.txt | 29 ------------ addons/idea/doc/patch2_needaction.txt | 27 ----------- addons/idea/doc/patch3_treebold.txt | 20 -------- addons/idea/doc/patch4_chatterkanban.txt | 27 ----------- addons/idea/doc/patch5_trackvisibility.txt | 28 ----------- addons/idea/doc/patch6_subtypes.txt | 55 ---------------------- addons/idea/doc/patch7_messagepost.txt | 31 ------------ 8 files changed, 237 deletions(-) delete mode 100644 addons/idea/doc/apply.txt delete mode 100644 addons/idea/doc/patch1_mailthread.txt delete mode 100644 addons/idea/doc/patch2_needaction.txt delete mode 100644 addons/idea/doc/patch3_treebold.txt delete mode 100644 addons/idea/doc/patch4_chatterkanban.txt delete mode 100644 addons/idea/doc/patch5_trackvisibility.txt delete mode 100644 addons/idea/doc/patch6_subtypes.txt delete mode 100644 addons/idea/doc/patch7_messagepost.txt diff --git a/addons/idea/doc/apply.txt b/addons/idea/doc/apply.txt deleted file mode 100644 index 5af4f0582ae..00000000000 --- a/addons/idea/doc/apply.txt +++ /dev/null @@ -1,20 +0,0 @@ -bzr patch idea/doc/patch1_mailthread.txt -bzr ci -m "[IMP] Patch1: added mail_thread inheritance + widgets" - -bzr patch idea/doc/patch2_needaction.txt -bzr ci -m "[IMP] Patch2: added ir_needactionmixin inheritance + unread filter" - -bzr patch idea/doc/patch3_treebold.txt -bzr ci -m "[IMP] Patch3: use message_unread in tree view to put ideas in bold" - -bzr patch idea/doc/patch4_chatterkanban.txt -bzr ci -m "[IMP] Patch4: add chatter data in kanban view" - -bzr patch idea/doc/patch5_trackvisibility.txt -bzr ci -m "[IMP] Patch5: track user_id and state to automatically generate logs." - -bzr patch idea/doc/patch6_subtypes.txt -bzr ci -m "[IMP] Patch6: add a subtype on messages about state changed and idea approved, using automatic tracking." - -bzr patch idea/doc/patch7_messagepost.txt -bzr ci -m "[IMP] Patch7: add a message_post with a subtype" diff --git a/addons/idea/doc/patch1_mailthread.txt b/addons/idea/doc/patch1_mailthread.txt deleted file mode 100644 index 7aeecd54a1f..00000000000 --- a/addons/idea/doc/patch1_mailthread.txt +++ /dev/null @@ -1,29 +0,0 @@ -=== modified file 'idea/models/idea.py' ---- idea/models/idea.py 2013-06-18 10:16:21 +0000 -+++ idea/models/idea.py 2013-06-18 10:16:39 +0000 -@@ -47,6 +47,7 @@ - """ Model of an Idea """ - _name = 'idea.idea' - _description = 'Propose and Share your Ideas' -+ _inherit = ['mail.thread'] - - _rec_name = 'name' - _order = 'name asc' - -=== modified file 'idea/views/idea.xml' ---- idea/views/idea.xml 2013-06-18 10:16:21 +0000 -+++ idea/views/idea.xml 2013-06-18 10:16:47 +0000 -@@ -56,6 +56,12 @@ - - - -+
-+ -+ -+
- -
- - diff --git a/addons/idea/doc/patch2_needaction.txt b/addons/idea/doc/patch2_needaction.txt deleted file mode 100644 index 6897d597fd3..00000000000 --- a/addons/idea/doc/patch2_needaction.txt +++ /dev/null @@ -1,27 +0,0 @@ -=== modified file 'idea/models/idea.py' ---- idea/models/idea.py 2013-06-18 10:34:31 +0000 -+++ idea/models/idea.py 2013-06-18 10:36:26 +0000 -@@ -47,7 +47,7 @@ - """ Model of an Idea """ - _name = 'idea.idea' - _description = 'Propose and Share your Ideas' -- _inherit = ['mail.thread'] -+ _inherit = ['mail.thread', 'ir.needaction_mixin'] - - _rec_name = 'name' - _order = 'name asc' - -=== modified file 'idea/views/idea.xml' ---- idea/views/idea.xml 2013-06-18 10:34:31 +0000 -+++ idea/views/idea.xml 2013-06-18 10:36:08 +0000 -@@ -92,6 +92,9 @@ - help="Open Ideas"/> - -+ - - - - diff --git a/addons/idea/doc/patch3_treebold.txt b/addons/idea/doc/patch3_treebold.txt deleted file mode 100644 index 9521837750a..00000000000 --- a/addons/idea/doc/patch3_treebold.txt +++ /dev/null @@ -1,20 +0,0 @@ -=== modified file 'idea/views/idea.xml' ---- idea/views/idea.xml 2013-06-18 13:17:10 +0000 -+++ idea/views/idea.xml 2013-06-18 13:17:57 +0000 -@@ -75,11 +75,14 @@ - idea.idea.tree - idea.idea - -- -+ - - - - -+ - - - - diff --git a/addons/idea/doc/patch4_chatterkanban.txt b/addons/idea/doc/patch4_chatterkanban.txt deleted file mode 100644 index ccce81db7a6..00000000000 --- a/addons/idea/doc/patch4_chatterkanban.txt +++ /dev/null @@ -1,27 +0,0 @@ -=== modified file 'idea/views/idea.xml' ---- idea/views/idea.xml 2013-06-18 10:58:33 +0000 -+++ idea/views/idea.xml 2013-06-18 11:03:38 +0000 -@@ -8,6 +8,9 @@ - - - -+ -+ -+ - - -
-@@ -27,6 +30,12 @@ -
- -
-+ -+ -
-
-
- diff --git a/addons/idea/doc/patch5_trackvisibility.txt b/addons/idea/doc/patch5_trackvisibility.txt deleted file mode 100644 index dd62f44710a..00000000000 --- a/addons/idea/doc/patch5_trackvisibility.txt +++ /dev/null @@ -1,28 +0,0 @@ -=== modified file 'idea/models/idea.py' ---- idea/models/idea.py 2013-06-18 13:29:15 +0000 -+++ idea/models/idea.py 2013-06-18 13:29:38 +0000 -@@ -63,7 +63,8 @@ - return res - - _columns = { -- 'user_id': fields.many2one('res.users', 'Responsible', required=True), -+ 'user_id': fields.many2one('res.users', 'Responsible', required=True, -+ track_visibility='onchange'), - 'name': fields.char('Summary', required=True, readonly=True, - states={'draft': [('readonly', False)]}, - oldname='title'), -@@ -71,9 +72,11 @@ - states={'draft': [('readonly', False)]}, - help='Content of the idea'), - 'category_ids': fields.many2many('idea.category', string='Tags'), -- 'state': fields.selection(_get_state_list, string='Status', required=True), -+ 'state': fields.selection(_get_state_list, string='Status', required=True, -+ track_visibility='onchange'), - 'priority': fields.selection([('low', 'Low'), ('normal', 'Normal'), ('high', 'High')], -- string='Priority', required=True), -+ string='Priority', required=True, -+ track_visibility='always'), - 'color': fields.function(_get_color, type='integer', string='Color Index'), - } - - diff --git a/addons/idea/doc/patch6_subtypes.txt b/addons/idea/doc/patch6_subtypes.txt deleted file mode 100644 index 429b95d57d1..00000000000 --- a/addons/idea/doc/patch6_subtypes.txt +++ /dev/null @@ -1,55 +0,0 @@ -=== modified file 'idea/__openerp__.py' ---- idea/__openerp__.py 2013-06-18 10:16:21 +0000 -+++ idea/__openerp__.py 2013-06-18 13:23:42 +0000 -@@ -41,6 +41,7 @@ - 'security/ir.model.access.csv', - 'views/idea.xml', - 'views/category.xml', -+ 'data/idea.xml', - 'data/idea_workflow.xml', - ], - 'demo': [ - -=== modified file 'idea/data/idea.xml' ---- idea/data/idea.xml 2013-06-18 13:23:19 +0000 -+++ idea/data/idea.xml 2013-06-18 13:23:56 +0000 -@@ -2,5 +2,19 @@ - - - -+ -+ -+ State Changed -+ idea.idea -+ -+ State changed -+ -+ -+ Idea Approved -+ idea.idea -+ -+ Idea approved -+ -+ - - -\ No newline at end of file - -=== modified file 'idea/models/idea.py' ---- idea/models/idea.py 2013-06-18 13:23:37 +0000 -+++ idea/models/idea.py 2013-06-18 13:23:42 +0000 -@@ -47,6 +47,13 @@ - _rec_name = 'name' - _order = 'name asc' - -+ _track = { -+ 'state': { -+ 'idea.mt_state_approved': lambda self, cr, uid, obj, ctx=None: obj['state'] == 'close', -+ 'idea.mt_state_change': lambda self, cr, uid, obj, ctx=None: obj['state'] != 'close', -+ }, -+ } -+ - def _get_state_list(self, cr, uid, context=None): - return [('draft', 'New'), - ('open', 'In discussion'), - diff --git a/addons/idea/doc/patch7_messagepost.txt b/addons/idea/doc/patch7_messagepost.txt deleted file mode 100644 index 492fef88bdd..00000000000 --- a/addons/idea/doc/patch7_messagepost.txt +++ /dev/null @@ -1,31 +0,0 @@ -=== modified file 'idea/data/idea.xml' ---- idea/data/idea.xml 2013-06-18 13:25:00 +0000 -+++ idea/data/idea.xml 2013-06-18 13:27:58 +0000 -@@ -15,6 +15,11 @@ - - Idea approved - -+ -+ Priority High -+ idea.idea -+ Priority set to high -+ - - - -\ No newline at end of file - -=== modified file 'idea/models/idea.py' ---- idea/models/idea.py 2013-06-18 13:25:00 +0000 -+++ idea/models/idea.py 2013-06-18 13:26:50 +0000 -@@ -136,4 +136,9 @@ - return self.write(cr, uid, ids, {'priority': 'normal'}, context=context) - - def idea_set_high_priority(self, cr, uid, ids, context={}): -+ for idea in self.browse(cr, uid, ids, context=context): -+ self.message_post(cr, uid, ids, body='Your idea has been set as high priority. Congratulations!', -+ subtype='idea.mt_priority_high', -+ partner_ids=[idea.user_id.partner_id.id], -+ context=context) - return self.write(cr, uid, ids, {'priority': 'high'}, context=context) - From 3e6693e7311452d51a744ce4e172ab631880f83d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 25 Jun 2013 13:11:10 +0200 Subject: [PATCH 12/13] [CLEAN] Misc cleaning bzr revid: tde@openerp.com-20130625111110-awwcjpq00xhohz93 --- addons/idea/__openerp__.py | 1 + addons/idea/models/idea.py | 1 + 2 files changed, 2 insertions(+) diff --git a/addons/idea/__openerp__.py b/addons/idea/__openerp__.py index 8d87416fcfe..7d8560a2cf4 100644 --- a/addons/idea/__openerp__.py +++ b/addons/idea/__openerp__.py @@ -41,6 +41,7 @@ Once installed, check the menu 'Ideas' in the 'Tools' main menu.""", 'security/ir.model.access.csv', 'views/idea.xml', 'views/category.xml', + 'data/idea.xml', 'data/idea_workflow.xml', ], 'demo': [ diff --git a/addons/idea/models/idea.py b/addons/idea/models/idea.py index 910a0de483d..61934cfc3b2 100644 --- a/addons/idea/models/idea.py +++ b/addons/idea/models/idea.py @@ -27,6 +27,7 @@ class IdeaCategory(osv.Model): """ Category of Idea """ _name = "idea.category" _description = "Idea Category" + _order = 'name asc' _columns = { From 3f03d663541396fbba82d914ea8860938c2becab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 25 Jun 2013 13:15:08 +0200 Subject: [PATCH 13/13] [IMP] Idea: small imp of kanban view bzr revid: tde@openerp.com-20130625111508-2man23lschgqm427 --- addons/idea/views/idea.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/idea/views/idea.xml b/addons/idea/views/idea.xml index 87094a29ace..b228af2da45 100644 --- a/addons/idea/views/idea.xml +++ b/addons/idea/views/idea.xml @@ -23,11 +23,10 @@

- -
+