Remove role (use group instead) and put ir_lang in init.sql

This commit is contained in:
Cédric Krier committed 2008-02-12 16:23:21 +01:00
1 parent eaf8d9853e
commit 080cec9dce
8 files changed
+29 -117

No files matched your search

+11 -13
View File
@@ -78,6 +78,16 @@ CREATE TABLE ir_translation (
primary key(id)
);
CREATE TABLE ir_lang (
id serial NOT NULL,
name varchar(64) NOT NULL,
code varchar(5) NOT NULL,
translatable boolean default False,
active boolean default True,
direction varchar(3) NOT NULL,
primary key(id)
);
---------------------------------
-- Res user
---------------------------------
@@ -107,18 +117,6 @@ CREATE TABLE res_group (
primary key(id)
);
create table res_role (
id serial NOT NULL,
parent_id int references res_role on delete set null,
name varchar(32) NOT NULL,
primary key(id)
);
CREATE TABLE res_role_user_rel (
uid integer NOT NULL references res_user on delete cascade,
rid integer NOT NULL references res_role on delete cascade
);
CREATE TABLE res_group_user_rel (
uid integer NOT NULL references res_user on delete cascade,
gid integer NOT NULL references res_group on delete cascade
@@ -164,7 +162,7 @@ create table wkf_transition
trigger_expr_id varchar(128) default NULL,
signal varchar(64) default null,
role_id int references res_role on delete set null,
"group" int references res_group on delete set null,
primary key(id)
);
+1
View File
@@ -5,6 +5,7 @@ from trytond.osv import fields, OSV
class Lang(OSV):
"Language"
_name = "ir.lang"
_log_access = False
_description = __doc__
_columns = {
'name': fields.Char('Name', size=64, required=True),
-25
View File
@@ -34,29 +34,6 @@ class Group(OSV):
Group()
class Role(OSV):
"Role"
_name = "res.role"
_description = __doc__
_columns = {
'name': fields.Char('Role Name', size=64, required=True),
'parent_id': fields.Many2One('res.role', 'Parent', select=1),
'child_id': fields.One2Many('res.role', 'parent_id', 'Childs')
}
def check_recursion(self, cursor, user, ids, parent=None):
"Check for recursion"
return super(Role, self).check_recursion(cursor, user, ids,
parent=parent)
_constraints = [
(check_recursion, 'Error! You can not create recursive roles.',
['parent_id'])
]
Role()
class User(OSV):
"User"
_name = "res.user"
@@ -73,8 +50,6 @@ class User(OSV):
'menu_id': fields.Many2One('ir.action', 'Menu Action'),
'groups_id': fields.Many2Many('res.group', 'res_group_user_rel',
'uid', 'gid', 'Groups'),
'roles_id': fields.Many2Many('res.role', 'res_role_user_rel',
'uid', 'rid', 'Roles'),
#'company_id': fields.Many2One('res.company', 'Company'),
'rule_groups': fields.Many2Many('ir.rule.group', 'user_rule_group_rel',
'user_id', 'rule_group_id', 'Rules',
-60
View File
@@ -149,65 +149,5 @@
</record>
<menuitem parent_id="res.menu_res"
action="act_group_form" id="menu_group_form"/>
<record model="ir.ui.view" id="role_view_form">
<field name="model">res.role</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Role">
<label name="name"/>
<field name="name"/>
<label name="parent_id"/>
<field name="parent_id"/>
</form>
]]>
</field>
</record>
<record model="ir.ui.view" id="role_view_tree">
<field name="model">res.role</field>
<field name="type">tree</field>
<field name="field_parent">parent_id</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Roles">
<field name="name" select="1"/>
</tree>
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_role_form">
<field name="name">Roles</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">res.role</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view"
id="act_role_form_view1">
<field name="sequence" eval="1"/>
<field name="view_id" ref="role_view_tree"/>
<field name="act_window_id" ref="act_role_form"/>
</record>
<record model="ir.action.act_window.view"
id="act_role_form_view2">
<field name="sequence" eval="2"/>
<field name="view_id" ref="role_view_form"/>
<field name="act_window_id" ref="act_role_form"/>
</record>
<record model="ir.action.act_window" id="act_role_tree">
<field name="name">Roles</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">res.role</field>
<field name="view_type">tree</field>
</record>
<record model="ir.action.act_window.view"
id="act_role_form_view3">
<field name="sequence" eval="1"/>
<field name="view_id" ref="role_view_tree"/>
<field name="act_window_id" ref="act_role_tree"/>
</record>
<menuitem parent_id="res.menu_res"
action="act_role_form" id="menu_role_form"/>
<menuitem parent_id="res.menu_res"
action="act_role_tree" id="menu_role_tree"/>
</data>
</tryton>
+3 -4
View File
@@ -92,8 +92,6 @@ class TrytonServer(object):
"'ir_ui_menu', "
"'res_user', "
"'res_group', "
"'res_role', "
"'res_role_user_rel', "
"'res_group_user_rel', "
"'wkf', "
"'wkf_activity', "
@@ -104,8 +102,9 @@ class TrytonServer(object):
"'wkf_logs', "
"'ir_module_category', "
"'ir_module_module', "
"'ir_module_module_dependency'"
"'ir_translation'"
"'ir_module_module_dependency, '"
"'ir_translation, '"
"'ir_lang'"
")")
if len(cursor.fetchall()) == 0:
self.logger.notify_channel("init", netsvc.LOG_INFO, "init db")
+4 -5
View File
@@ -62,12 +62,11 @@ def check(cursor, ident, transition, signal):
if transition['signal']:
res = (signal == transition['signal'])
if transition['role_id']:
if transition['group']:
user = ident[0]
serv = netsvc.LocalService('object_proxy')
user_roles = serv.execute_cr(cursor, user, 'res.user', 'read', [user],
['roles_id'])[0]['roles_id']
res = res and serv.execute_cr(cursor, user, 'res.role', 'check',
user_roles, transition['role_id'])
user_groups = serv.execute_cr(cursor, user, 'res.user', 'read', user,
['groups_id'])['groups_id']
res = transition['group'] in user_groups
res = res and eval_expr(cursor, ident, transition['condition'])
return res
+1 -1
View File
@@ -93,7 +93,7 @@ class WorkflowTransition(OSV):
'trigger_model': fields.char('Trigger Type', size=128),
'trigger_expr_id': fields.char('Trigger Expr ID', size=128),
'signal': fields.char('Signal (button Name)', size=64),
'role_id': fields.many2one('res.role', 'Role Required'),
'group': fields.many2one('res.group', 'Group Required'),
'condition': fields.char('Condition', required=True, size=128),
'act_from': fields.many2one('workflow.activity', 'Source Activity',
required=True, select=1, ondelete='cascade'),
+9 -9
View File
@@ -83,7 +83,7 @@
<tree string="Transitions">
<field name="act_to"/>
<field name="signal"/>
<field name="role_id"/>
<field name="group"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
@@ -96,8 +96,8 @@
<field name="condition" colspan="3"/>
<label name="signal"/>
<field name="signal"/>
<label name="role_id"/>
<field name="role_id"/>
<label name="group"/>
<field name="group"/>
<label name="trigger_model"/>
<field name="trigger_model"/>
<label name="trigger_expr_id"/>
@@ -109,7 +109,7 @@
<tree string="Transitions">
<field name="act_from"/>
<field name="signal"/>
<field name="role_id"/>
<field name="group"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>
@@ -122,8 +122,8 @@
<field name="condition" colspan="3"/>
<label name="signal"/>
<field name="signal"/>
<label name="role_id"/>
<field name="role_id"/>
<label name="group"/>
<field name="group"/>
<label name="trigger_model"/>
<field name="trigger_model"/>
<label name="trigger_expr_id"/>
@@ -183,8 +183,8 @@
<field name="condition" colspan="3"/>
<label name="signal"/>
<field name="signal"/>
<label name="role_id"/>
<field name="role_id"/>
<label name="group"/>
<field name="group"/>
<label name="trigger_model"/>
<field name="trigger_model"/>
<label name="trigger_expr_id"/>
@@ -202,7 +202,7 @@
<field name="act_from" select="1"/>
<field name="act_to" select="1"/>
<field name="signal"/>
<field name="role_id"/>
<field name="group"/>
<field name="condition"/>
<field name="trigger_model"/>
<field name="trigger_expr_id"/>