模块说明:

This module allows user to easily and efficiently 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. Once installed, check the menu 'Ideas' in the 'Tools' main menu.
 
这个模块允许用户简单并高效地参与企业创新。
它允许任何人对不同的主题发表自己的想法。然后,其他的用户可以对这些创意想法进行评论并对特别的创意进行投票。每个创意根据不同的投票数有不同的分数。管理员能够轻松获得所有用户中的最佳创意。安装之后,在Tools主菜单中有Ideas菜单。
 
技术数据:
已创建的视图
idea.category.form(form)
idea.category.search(search)
idea.category.tree(tree)
idea.idea.form(form)
idea.idea.search(search)
idea.idea.tree(tree)
已创建菜单
Tools/Configuration/Ideas
Tools/Configuration/Ideas/Categories
Tools/Configuration/Ideas/Ideas
 
文件:
__init__.py
没什么特别的,就一句话:
import idea
 
__openerp__.py
捡着需要注意的看一下:
'category': 'Tools',
'depends': ['mail'],
'data': [
    'security/idea_security.xml',
    'security/ir.model.access.csv',
    'idea_view.xml',
    'idea_workflow.xml',
]
'demo': ['idea_data.xml'],
 
小提示:在6.1版本中,如果这个文件出现小失误,比如少了一个逗号,更新模块列表会出现该模块,安装时会报错。
在7.0A版中,更新模块列表不会发现该模块。
 
idea.py
 
from openerp.osv import osv
from openerp.osv import fields
from openerp.tools.translate import _
import time
 
 
idea_category(osv.osv)
 
_name
_description
_columns
_sql_constraints
_order
 
_name = "idea.category"
在数据库中建立表idea_category
系统自动建立:
id serial NOT NULL,
create_uid integer,
create_date timestamp without time zone,
write_date timestamp without time zone,
write_uid integer,
CONSTRAINT idea_category_pkey PRIMARY KEY (id),
CONSTRAINT idea_category_create_uid_fkey FOREIGN KEY (create_uid)
      REFERENCES res_users (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE SET NULL,
  CONSTRAINT idea_category_write_uid_fkey FOREIGN KEY (write_uid)
      REFERENCES res_users (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE SET NULL,
  CONSTRAINT idea_category_name UNIQUE (name)
 
在6.1中,创意分类名称可以相同,在7.0中,使用了_sql_constraints进行了约束。
在你试图建立同名分类的时候,会触发OpenERP Warning:约束错误:该分类的名称必须唯一。
_sql_constraints = [
  ('name', 'unique(name)', 'The name of the category must be unique')
]
 
创意分类tree视图中分类的排序是通过
_order = 'name asc'
来实现的。