Skip to content
Snippets Groups Projects
Commit b3b22afc authored by Fabien Pinckaers's avatar Fabien Pinckaers
Browse files

Improvements

bzr revid: fp@tinyerp.com-03a4fc0d7d82b4ba937deb4adf6631154d527a98
parent e9e9792e
Branches
Tags
No related merge requests found
......@@ -2,15 +2,6 @@
-- Pure SQL
-------------------------------------------------------------------------
CREATE TABLE perm (
id serial NOT NULL,
level smallint DEFAULT 4 NOT NULL,
uid int default null,
gid int default null,
primary key(id)
);
insert into perm (id,uid,gid) values (1,1,1);
CREATE TABLE inherit (
obj_type varchar(128) not null,
obj_id int not null,
......@@ -25,7 +16,6 @@ CREATE TABLE inherit (
create table ir_values
(
id serial,
perm_id int references perm on delete set null,
name varchar(128) not null,
key varchar(128) not null,
key2 varchar(128) not null,
......@@ -42,7 +32,6 @@ create table ir_values
CREATE TABLE ir_model (
id serial,
perm_id int references perm on delete set null,
model varchar(64) DEFAULT ''::varchar NOT NULL,
name varchar(64),
info text,
......@@ -51,7 +40,6 @@ CREATE TABLE ir_model (
CREATE TABLE ir_model_fields (
id serial,
perm_id int references perm on delete set null,
model varchar(64) DEFAULT ''::varchar NOT NULL,
model_id int references ir_model on delete cascade,
name varchar(64) DEFAULT ''::varchar NOT NULL,
......@@ -73,7 +61,6 @@ CREATE TABLE ir_model_fields (
CREATE TABLE ir_actions (
id serial NOT NULL,
perm_id int references perm on delete set null,
name varchar(64) DEFAULT ''::varchar NOT NULL,
"type" varchar(64) DEFAULT 'window'::varchar NOT NULL,
usage varchar(32) DEFAULT null,
......@@ -139,7 +126,6 @@ INHERITS (ir_actions);
CREATE TABLE ir_ui_view (
id serial NOT NULL,
perm_id int references perm on delete set null,
name varchar(64) DEFAULT ''::varchar NOT NULL,
model varchar(64) DEFAULT ''::varchar NOT NULL,
"type" varchar(64) DEFAULT 'form'::varchar NOT NULL,
......@@ -151,7 +137,6 @@ CREATE TABLE ir_ui_view (
CREATE TABLE ir_ui_menu (
id serial NOT NULL,
perm_id int references perm on delete set null,
parent_id int references ir_ui_menu on delete set null,
name varchar(64) DEFAULT ''::varchar NOT NULL,
icon varchar(64) DEFAULT ''::varchar,
......@@ -171,31 +156,27 @@ select setval('ir_ui_menu_id_seq', 2);
CREATE TABLE res_users (
id serial NOT NULL,
perm_id int references perm on delete set null,
name varchar(64) not null,
active boolean default True,
login varchar(64) NOT NULL UNIQUE,
password varchar(32) default null,
perm_default int references perm on delete set null,
-- action_id int references ir_act_window on delete set null,
action_id int,
primary key(id)
);
alter table res_users add constraint res_users_login_uniq unique (login);
insert into res_users (id,login,password,name,action_id,perm_id,active) values (1,'root',NULL,'Root',NULL,1,False);
insert into res_users (id,login,password,name,action_id,active) values (1,'root',NULL,'Root',NULL,False);
select setval('res_users_id_seq', 2);
CREATE TABLE res_groups (
id serial NOT NULL,
perm_id int references perm on delete set null,
name varchar(32) NOT NULL,
primary key(id)
);
create table res_roles (
id serial NOT NULL,
perm_id int references perm on delete set null,
parent_id int references res_roles on delete set null,
name varchar(32) NOT NULL,
primary key(id)
......@@ -218,7 +199,6 @@ CREATE TABLE res_groups_users_rel (
create table wkf
(
id serial,
perm_id int references perm on delete set null,
name varchar(64),
osv varchar(64),
on_create bool default False,
......@@ -228,7 +208,6 @@ create table wkf
create table wkf_activity
(
id serial,
perm_id int references perm on delete set null,
wkf_id int references wkf on delete cascade,
subflow_id int references wkf on delete set null,
split_mode varchar(3) default 'XOR',
......@@ -245,7 +224,6 @@ create table wkf_activity
create table wkf_transition
(
id serial,
perm_id int references perm on delete set null,
act_from int references wkf_activity on delete cascade,
act_to int references wkf_activity on delete cascade,
condition varchar(128) default NULL,
......@@ -304,7 +282,6 @@ create table wkf_logs
CREATE TABLE ir_module_category (
id serial NOT NULL,
perm_id integer,
create_uid integer references res_users on delete set null,
create_date timestamp without time zone,
write_date timestamp without time zone,
......@@ -317,7 +294,6 @@ CREATE TABLE ir_module_category (
CREATE TABLE ir_module_module (
id serial NOT NULL,
perm_id integer,
create_uid integer references res_users on delete set null,
create_date timestamp without time zone,
write_date timestamp without time zone,
......@@ -338,7 +314,6 @@ ALTER TABLE ir_module_module add constraint name_uniq unique (name);
CREATE TABLE ir_module_module_dependency (
id serial NOT NULL,
perm_id integer,
create_uid integer references res_users on delete set null,
create_date timestamp without time zone,
write_date timestamp without time zone,
......@@ -351,7 +326,6 @@ CREATE TABLE ir_module_module_dependency (
CREATE TABLE res_company (
id serial NOT NULL,
perm_id integer,
name character varying(64) not null,
parent_id integer references res_company on delete set null,
primary key(id)
......
......@@ -86,7 +86,6 @@ class CountryState(osv.osv):
'name': fields.char('State Name', size=64, required=True),
'code': fields.char('State Code', size=3, required=True),
}
def name_search(self, cr, user, name='', args=None, operator='ilike',
context=None, limit=80):
if not args:
......@@ -99,20 +98,8 @@ class CountryState(osv.osv):
ids = self.search(cr, user, [('name', operator, name)] + args,
limit=limit, context=context)
return self.name_get(cr, user, ids, context)
_order = 'code'
def create(self, cursor, user, vals, context=None):
if 'code' in vals:
vals['code'] = vals['code'].upper()
return super(CountryState, self).create(cursor, user, vals,
context=context)
def write(self, cursor, user, ids, vals, context=None):
if 'code' in vals:
vals['code'] = vals['code'].upper()
return super(CountryState, self).write(cursor, user, ids, vals,
context=context)
_order = 'code'
CountryState()
This diff is collapsed.
......@@ -205,6 +205,49 @@ class osv_pool(netsvc.Service):
# #
# return res
class osv_memory(orm.orm_memory):
#__metaclass__ = inheritor
def __new__(cls):
module = str(cls)[6:]
module = module[:len(module)-1]
module = module.split('.')[0][2:]
if not hasattr(cls, '_module'):
cls._module = module
module_class_list.setdefault(cls._module, []).append(cls)
class_pool[cls._name] = cls
if module not in module_list:
module_list.append(cls._module)
return None
#
# Goal: try to apply inheritancy at the instanciation level and
# put objects in the pool var
#
def createInstance(cls, pool, module, cr):
parent_name = hasattr(cls, '_inherit') and cls._inherit
if parent_name:
parent_class = pool.get(parent_name).__class__
assert parent_class, "parent class %s does not exist !" % parent_name
nattr = {}
for s in ('_columns', '_defaults', '_inherits', '_constraints', '_sql_constraints'):
new = copy.copy(getattr(pool.get(parent_name), s))
if hasattr(new, 'update'):
new.update(cls.__dict__.get(s, {}))
else:
new.extend(cls.__dict__.get(s, []))
nattr[s] = new
name = hasattr(cls,'_name') and cls._name or cls._inherit
cls = type(name, (cls, parent_class), nattr)
obj = object.__new__(cls)
obj.__init__(pool, cr)
return obj
createInstance = classmethod(createInstance)
def __init__(self, pool, cr):
pool.add(self._name, self)
self.pool = pool
orm.orm_memory.__init__(self, cr)
class osv(orm.orm):
......@@ -226,7 +269,6 @@ class osv(orm.orm):
# put objects in the pool var
#
def createInstance(cls, pool, module, cr):
# obj = cls()
parent_name = hasattr(cls, '_inherit') and cls._inherit
if parent_name:
parent_class = pool.get(parent_name).__class__
......@@ -239,27 +281,18 @@ class osv(orm.orm):
else:
new.extend(cls.__dict__.get(s, []))
nattr[s] = new
#bases = (parent_class,)
#obj.__class__ += (parent_class,)
#res = type.__new__(cls, name, bases, d)
name = hasattr(cls,'_name') and cls._name or cls._inherit
#name = str(cls)
cls = type(name, (cls, parent_class), nattr)
obj = object.__new__(cls)
obj.__init__(pool, cr)
return obj
# return object.__new__(cls, pool)
createInstance = classmethod(createInstance)
def __init__(self, pool, cr):
# print "__init__", self._name, pool
pool.add(self._name, self)
self.pool = pool
orm.orm.__init__(self, cr)
# pooler.get_pool(cr.dbname).add(self._name, self)
# print self._name, module
class Cacheable(object):
_cache = UpdateableDict()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment