diff --git a/addons/olap/data/olap_cube_view.xml b/addons/olap/data/olap_cube_view.xml
index 4fa62e32185..05be10fd8a5 100644
--- a/addons/olap/data/olap_cube_view.xml
+++ b/addons/olap/data/olap_cube_view.xml
@@ -2,11 +2,8 @@
-
-Wizard view for the load data
-
--->
bi.load.db.form
bi.load.db.wizard
@@ -37,9 +34,8 @@ Wizard view for the load data
-
+
+
Olap Warehouse
olap.warehouse.wizard
@@ -69,10 +65,8 @@ Wizard For Olap Warehouse
sequence="51"
parent="base.next_id_50"
/>
-
+
Parameters Configuration
@@ -116,11 +110,7 @@ Wizard View for the parameters wizard
-
+
bi.auto.configure.form
@@ -176,20 +166,25 @@ Wizard view for the Auto Configuring the data
-
-
+
-
+
-
+
@@ -228,13 +223,16 @@ Wizard view for the Auto Configuring the data
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -276,11 +274,6 @@ Wizard view for the Auto Configuring the data
-
-
@@ -319,19 +312,6 @@ Wizard view for the Auto Configuring the data
@@ -418,12 +398,13 @@ Wizard view for the Auto Configuring the data
@@ -466,21 +447,6 @@ Wizard view for the Auto Configuring the data
-
-
-
@@ -489,7 +455,8 @@ Wizard view for the Auto Configuring the data
-
+
@@ -569,11 +536,7 @@ Wizard view for the Auto Configuring the data
action="action_olap_saved_query_form"
id="menu_action_olap_saved_query_form"/>
-
+
olap.query.logs
@@ -608,22 +571,14 @@ All Logs
olap.query.logs
form
+
-
-
-
-
-
-
-
+
olap.query.logs
@@ -649,6 +604,9 @@ All Logs / My logs
+
+
+
olap.query.logs.form
olap.query.logs
@@ -656,8 +614,6 @@ All Logs / My logs
-
+
My Logs
olap.query.logs
@@ -675,27 +631,12 @@ All Logs / My logs
tree,form,mdx
[('user_id','=',uid)]
+
-
-
-
-
-
-
-
-
diff --git a/addons/olap/data/olap_view.xml b/addons/olap/data/olap_view.xml
index 35aac4a20c0..cfd326cbce3 100755
--- a/addons/olap/data/olap_view.xml
+++ b/addons/olap/data/olap_view.xml
@@ -2,22 +2,19 @@
-
-
-
-
-
-
+
+
+
-
+
-
+
+
-
+
+
diff --git a/addons/olap/olap.py b/addons/olap/olap.py
index 349d204086f..08effb18ffd 100644
--- a/addons/olap/olap.py
+++ b/addons/olap/olap.py
@@ -18,7 +18,6 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@@ -36,14 +35,15 @@ from osv import fields,osv
import netsvc
import cube
from cube import levels
+import MySQLdb
+import cx_Oracle
class olap_fact_database(osv.osv):
+ """ Olap Fact Database """
_name = "olap.fact.database"
_description = "Olap Fact Database"
-
-
def _connection_get(self,cr,uid,ids,field_name,arg,context = {}):
"""
Return a connection string url needed by SQL Alchemy. Exemple:
@@ -109,7 +109,9 @@ class olap_fact_database(osv.osv):
}
olap_fact_database()
+
class olap_schema(osv.osv ):
+ """ Olap Schema """
_name = "olap.schema"
_description = "Olap Schema"
@@ -119,12 +121,12 @@ class olap_schema(osv.osv ):
"""
res = {}
+ app_objs = self.pool.get('olap.application')
+ app_ids = app_objs.search(cr,uid,[] )
+ app_res = app_objs.browse(cr,uid,app_ids)
for obj in self.browse(cr,uid,ids,context):
if obj.database_id.type == 'postgres':
e = sqlalchemy.create_engine(obj.database_id.connection_url)
- app_objs = self.pool.get('olap.application')
- app_ids = app_objs.search(cr,uid,[] )
- app_res = app_objs.browse(cr,uid,app_ids)
for app_obj in app_res:
try:
result = e.execute(app_obj.query)
@@ -155,7 +157,8 @@ class olap_schema(osv.osv ):
('dbready','Schema is ready to use'),
('done','We Can Start building Cube'),
],'Schema State',readonly = True),
- 'app_detect': fields.function(_app_detect,method = True,type = 'char',string = 'Connection URL',size = 128),
+ 'app_detect': fields.function(_app_detect, method = True, type = 'char',\
+ string = 'Connection URL', size = 128),
}
_defaults = {
@@ -180,7 +183,6 @@ class olap_schema(osv.osv ):
elif type == 'mysql':
try:
- import MySQLdb
host = schema.database_id.db_host or ''
port = schema.database_id.db_port or ''
db = schema.database_id.db_name or ''
@@ -192,7 +194,6 @@ class olap_schema(osv.osv ):
elif type == 'oracle':
try:
- import cx_Oracle
host = schema.database_id.db_host or ''
port = schema.database_id.db_port or ''
db = schema.database_id.db_name or ''
@@ -203,7 +204,7 @@ class olap_schema(osv.osv ):
raise osv.except_osv('Error (cx_Oracle) : ',e)
for id in ids:
- self.write(cr,uid,id,{'state':'dbconnect'})
+ self.write(cr,uid,id,{'state': 'dbconnect'})
except Exception,e:
raise osv.except_osv('BI Error !',e)
@@ -274,8 +275,6 @@ class olap_schema(osv.osv ):
if not len(ids):
raise 'Schema not found !'
schema = self.browse(cr,uid,ids[0],context)
-# warehouse = cube.warehouse()
-# find_table = warehouse.match_table(cr, uid, request, context)
print 'Parsing MDX...'
print '\t',request
mdx_parser = cube.mdx_parser()
@@ -291,35 +290,20 @@ class olap_schema(osv.osv ):
currency = res_comp[0].currency_id.name
print " Default Currency",currency
data = mdx.run(currency)
-# qry_obj = self.pool.get('olap.query.logs')
-# qry_id = qry_obj.search(cr, uid, [('query','=', request)])
-#
-# flag = True
-# if qry_id:
-# qry = qry_obj.browse(cr, uid, qry_id)[0]
-#
-# if qry.count >=3 and qry.table_name!='':
-# data = warehouse.run(currency, qry)
-# flag = False
-# qry.count = qry.count +1
-# qry_obj.write(cr, uid, qry_id, {'count': qry.count})
-# else:
-# data = mdx.run(currency)
-# else:
-# data = mdx.run(currency)
+
print 'Running Done...'
print 'Formatting Output...'
-# if cubex.query_log and flag:
if cubex.query_log:
log = context.get('log')
if log:
connection = schema.database_id.connection_url
-# warehouse.log(cr,uid,cubex,request,data,connection,context)
mdx.log(cr,uid,cubex,request,context)
return cube.mdx_output(data)
olap_schema()
+
class olap_database_tables(osv.osv):
+ """ Database Tables """
_name = "olap.database.tables"
_description = "Olap Database Tables"
_columns = {
@@ -345,7 +329,8 @@ class olap_database_tables(osv.osv):
def show_col_view(self,cr,uid,ids,context = {}):
ids_cols = self.pool.get('olap.database.columns').search(cr,uid,([('table_id','=',ids[0])]))
- id = self.pool.get('ir.ui.view').search(cr,uid,([('name','=','olap.database.columns.tree')]),context = {})[0]
+ id = self.pool.get('ir.ui.view').search(cr,uid,\
+ ([('name','=','olap.database.columns.tree')]),context = {})[0]
return {
'domain': "[('id','in', [" + ','.join(map(str,ids_cols)) + "])]",
'name': 'Database Columns',
@@ -371,7 +356,9 @@ class olap_database_tables(osv.osv):
olap_database_tables()
+
class olap_database_columns(osv.osv):
+ """ Database Columns """
_name = "olap.database.columns"
_description = "Olap Database Columns"
datatypes = {
@@ -391,6 +378,7 @@ class olap_database_columns(osv.osv):
'time': 'TimeStamp without Time Zone',
'number':'NUMBER',
}
+
def _datatypes_get(self,*args,**argv):
return self.datatypes.items()
_columns = {
@@ -408,6 +396,7 @@ class olap_database_columns(osv.osv):
'active': lambda * args: True,
'primary_key': lambda * args: False,
}
+
def name_get(self,cr,uid,ids,context = {}):
result = []
for t in self.browse(cr,uid,ids,context):
@@ -433,8 +422,10 @@ class olap_database_columns(osv.osv):
for lines in dim_obj.cube_id.table_id.line_ids:
make_ids.append(lines.field_id.related_to.id)
make_ids.append(lines.field_id.table_id.id)
- args = [('table_id','in',make_ids),('related_to','<>',False),('hide','<>',True),('active','<>',False)]
- return super(olap_database_columns,self).search(cr,uid,args,offset,limit,order,context = context,count = count)
+ args = [('table_id','in',make_ids),('related_to','<>',False),\
+ ('hide','<>',True),('active','<>',False)]
+ return super(olap_database_columns,self).search(cr,uid,args,\
+ offset,limit,order,context = context,count = count)
if args and context and context.has_key('flag') and context['flag']:
ids = args[0][2][0][2]
@@ -446,19 +437,25 @@ class olap_database_columns(osv.osv):
make_ids.append(lines.related_to.id)
link_id = col_pool.browse(cr,uid,int(context['link_col']))
make_ids.append(link_id.table_id.id)
- args = ['|',('table_id','in',make_ids),('related_to','in',make_ids),('primary_key','<>',True),('hide','<>',True),('active','<>',False)]
- ids = super(olap_database_columns,self).search(cr,uid,args,offset,limit,order,context = context,count = count)
+ args = ['|',('table_id','in',make_ids),('related_to','in',make_ids),\
+ ('primary_key','<>',True),('hide','<>',True),('active','<>',False)]
+ ids = super(olap_database_columns,self).search(cr,uid,args,\
+ offset,limit,order,context = context,count = count)
return ids
elif context and context.has_key('master_dim') and context['master_dim']:
make_ids = []
col_obj = col_pool.browse(cr,uid,int(context['link_col']))
- args = ['|',('table_id','=',col_obj.related_to.id),('related_to','=',col_obj.table_id.id),('hide','<>',True),('active','<>',False)]
- return super(olap_database_columns,self).search(cr,uid,args,offset,limit,order,context = context,count = count)
+ args = ['|',('table_id','=',col_obj.related_to.id),\
+ ('related_to','=',col_obj.table_id.id),('hide','<>',True),('active','<>',False)]
+ return super(olap_database_columns,self).search(cr,uid,args,\
+ offset,limit,order,context = context,count = count)
else:
col = col_pool.browse(cr,uid,int(context['link_col']))
base_table = col.table_id
- args = ['|',('table_id','=',base_table.id),('related_to','=',base_table.id),('hide','<>',True),('active','<>',False)]
- return super(olap_database_columns,self).search(cr,uid,args,offset,limit,order,context = context,count = count)
+ args = ['|',('table_id','=',base_table.id),\
+ ('related_to','=',base_table.id),('hide','<>',True),('active','<>',False)]
+ return super(olap_database_columns,self).search(cr,uid,args,\
+ offset,limit,order,context = context,count = count)
if context and context.has_key('filter_cols_cube'):
@@ -469,7 +466,10 @@ class olap_database_columns(osv.osv):
make_ids.append(lines.table_id.id)
if make_ids:
make_ids.append(cube_obj.table_id.line_ids[len(cube_obj.table_id.line_ids) - 1].field_id.related_to.id)
- args = [('table_id','in',make_ids),('related_to','=',False),('primary_key','<>',True),('type','not in',['date','timestamp','timestampz','time']),('hide','<>',True),('active','<>',False)]
+ args = [('table_id','in',make_ids),('related_to','=',False),\
+ ('primary_key','<>',True),\
+ ('type','not in',['date','timestamp','timestampz','time']),\
+ ('hide','<>',True),('active','<>',False)]
ids = super(olap_database_columns,self).search(cr,uid,args,offset,limit,
order,context = context,count = count)
return ids
@@ -503,7 +503,8 @@ class olap_database_columns(osv.osv):
table_ids = []
for line in lines:
table_ids.append(line.table_id.id)
- args = [('table_id','in',table_ids),('related_to','<>',False),('hide','<>',True),('active','<>',False)]
+ args = [('table_id','in',table_ids),('related_to','<>',False),\
+ ('hide','<>',True),('active','<>',False)]
elif context and context.has_key('master_schema') and context['master_schema']:
args = [('primary_key','=','True')]
return super(olap_database_columns,self).search(cr,uid,args,offset,limit,
@@ -536,7 +537,8 @@ class olap_database_columns(osv.osv):
}
id = self.pool.get('olap.cube.table.line').create(cr,uid,val,context)
else:
- parent_id = self.pool.get('olap.cube.table').create(cr,uid,{'name':col_data['table_id'][1]},context)
+ parent_id = self.pool.get('olap.cube.table').create(cr,uid,\
+ {'name':col_data['table_id'][1]},context)
ctx_list = [('client','web'),('app','bi'),('id',parent_id)]
return ctx_list
@@ -558,12 +560,12 @@ class olap_database_columns(osv.osv):
id = self.pool.get('olap.hierarchy').write(cr,uid,context['hier_parent_id'],val,context)
else:
if context['parent_name']: val['name'] = context['parent_name']
- if context['parent_dimension'] :val['dimension_id'] = context['parent_dimension']
- if context['hier_parent_table'] : val['table_id'] = context['hier_parent_table']
- if context['parent_field_name'] : val['field_name'] = context['parent_field_name']
- if context['parent_level'] : val['level_ids'] = conext['parent_level']
+ if context['parent_dimension']:val['dimension_id'] = context['parent_dimension']
+ if context['hier_parent_table']: val['table_id'] = context['hier_parent_table']
+ if context['parent_field_name']: val['field_name'] = context['parent_field_name']
+ if context['parent_level']: val['level_ids'] = conext['parent_level']
if context['parent_member_all']: val['member_all'] = context['parent_member_all']
- if context['parent_member_default'] : val['member_default'] = context['parent_member_default']
+ if context['parent_member_default']: val['member_default'] = context['parent_member_default']
if context['parent_type']: val['type'] = context['parent_type']
val['primary_key_table'] = col_data['table_id'][1]
id = self.pool.get('olap.hierarchy').create(cr,uid,val,context)
@@ -572,12 +574,16 @@ class olap_database_columns(osv.osv):
olap_database_columns()
+
class olap_cube_table(osv.osv):
+ """ Cube Table """
_name = "olap.cube.table"
_description = "Olap cube table"
def write(self,cr,uid,ids,vals,context = None):
- if vals and vals.get('available_table_ids',0) and context and (context.has_key('master_dim') or context.has_key('d_id') or context.has_key('parent_schema_id')):
+ if vals and vals.get('available_table_ids',0) and context and \
+ (context.has_key('master_dim') or context.has_key('d_id') or \
+ context.has_key('parent_schema_id')):
new_fields = vals['available_table_ids'][0][2]
final = []
for data in self.browse(cr,uid,ids):
@@ -626,7 +632,9 @@ class olap_cube_table(osv.osv):
def create(self,cr,uid,vals,context = None):
cube_table_id = super(olap_cube_table,self).create(cr,uid,vals,context)
- if vals and vals.get('available_table_ids',0) and context and (context.has_key('d_id') or context.has_key('parent_schema_id') or context.has_key('master_dim') or context.has_key('d_id')):
+ if vals and vals.get('available_table_ids',0) and context and \
+ (context.has_key('d_id') or context.has_key('parent_schema_id') or \
+ context.has_key('master_dim') or context.has_key('d_id')):
lines_ids = vals['available_table_ids'][0][2]
cols_obj = self.pool.get('olap.database.columns').browse(cr,uid,lines_ids)
val = {}
@@ -642,9 +650,10 @@ class olap_cube_table(osv.osv):
if context and context.has_key('parent_schema_id'):
args = [('schema_id','=',context['parent_schema_id'])]
if context and context.has_key('d_id'):
- dim_obj = self.pool.get('olap.dimension').browse(cr,uid,int(context['d_id']))
+ dim_obj = self.pool.get('olap.dimension').browse(cr,uid,int(['d_id']))
args = [('schema_id','=',dim_obj.cube_id.schema_id.id)]
- return super(olap_cube_table,self).search(cr,uid,args,offset,limit,order,context = context,count = count)
+ return super(olap_cube_table,self).search(cr,uid,args,offset,limit,\
+ order,context = context,count = count)
def _available_table_get(self,cr,uid,ids,name,arg,context = None):
result = {}
@@ -675,10 +684,14 @@ class olap_cube_table(osv.osv):
def _get_id(self,cr,uid,ids,context = {}):
if context and context.has_key('d_id'):
dim_obj = self.pool.get('olap.dimension').browse(cr,uid,int(context['d_id']))
- table_id = self.pool.get('olap.database.tables').search(cr,uid,[('table_db_name','in',[dim_obj.cube_id.table_id.name]),('fact_database_id','=',dim_obj.cube_id.schema_id.database_id.id)])
- col_ids = self.pool.get('olap.database.columns').search(cr,uid,[('table_id','in',table_id),('hide','<>',True),('related_to','<>',False)])
+ table_id = self.pool.get('olap.database.tables').search(cr,uid,\
+ [('table_db_name','in',[dim_obj.cube_id.table_id.name]),\
+ ('fact_database_id','=',dim_obj.cube_id.schema_id.database_id.id)])
+ col_ids = self.pool.get('olap.database.columns').search(cr,uid,\
+ [('table_id','in',table_id),('hide','<>',True),('related_to','<>',False)])
else:
- col_ids = self.pool.get('olap.database.columns').search(cr,uid,[('primary_key','=',True),('hide','<>',True)])
+ col_ids = self.pool.get('olap.database.columns').search(cr,uid,\
+ [('primary_key','=',True),('hide','<>',True)])
return col_ids
def _def_set(self,cr,uid,context = {}):
@@ -704,7 +717,9 @@ class olap_cube_table(osv.osv):
return {}
olap_cube_table()
+
class olap_cube_table_line(osv.osv):
+ """ Cube Table Line """
_name = "olap.cube.table.line"
_description = "Olap cube table"
_rec_name = 'table_id'
@@ -718,7 +733,9 @@ class olap_cube_table_line(osv.osv):
pass
olap_cube_table_line()
+
class olap_cube(osv.osv):
+ """ Olap Cube """
_name = "olap.cube"
_description = "Olap cube"
@@ -733,28 +750,30 @@ class olap_cube(osv.osv):
'schema_id': fields.many2one('olap.schema','Schema',readonly = True),
'dimension_ids': fields.one2many('olap.dimension','cube_id','Dimensions'),
'measure_ids': fields.one2many('olap.measure','cube_id','Measures'),
- 'query_log': fields.boolean('Query Logging', help = "Enabling this will log all the queries in the browser"),
+ 'query_log': fields.boolean('Query Logging', help = "Enabling this will \
+ log all the queries in the browser"),
'query_ids': fields.one2many('olap.query.logs','cube_id','Queries'),
}
_defaults = {
- 'schema_id':_set_schema
+ 'schema_id': _set_schema
}
olap_cube()
+
class olap_query_logs(osv.osv):
+ """ Query Logs """
_name = "olap.query.logs"
_description = "Olap query logs"
_columns = {
- 'user_id' : fields.many2one('res.users','Tiny ERP User'),
- 'query':fields.text('Query',required = True),
- 'time':fields.datetime('Time',required = True),
- 'result_size':fields.integer('Result Size',readonly = True),
+ 'user_id': fields.many2one('res.users','Tiny ERP User'),
+ 'query': fields.text('Query',required = True),
+ 'time': fields.datetime('Time',required = True),
+ 'result_size': fields.integer('Result Size',readonly = True),
'cube_id': fields.many2one('olap.cube','Cube',required = True),
'count': fields.integer('Count', readonly=True),
'schema_id': fields.many2one('olap.schema','Schema',readonly = True),
-# 'table_name': fields.char('Table Name', size=164, readonly = True),
}
-
+
_defaults = {
'count':lambda * args: 0
}
@@ -762,6 +781,7 @@ olap_query_logs()
class olap_dimension(osv.osv):
+ """ Olap Dimension """
_name = "olap.dimension"
_description = "Olap dimension"
@@ -776,12 +796,14 @@ class olap_dimension(osv.osv):
'hierarchy_ids': fields.one2many('olap.hierarchy','dimension_id','Hierarchies'),
}
_defaults = {
- 'cube_id':_set_cube,
+ 'cube_id': _set_cube,
}
olap_dimension()
+
class olap_hierarchy(osv.osv):
+ """ Olap Hierarchy """
_name = "olap.hierarchy"
_description = "Olap hierarchy"
_order = "sequence, id"
@@ -814,18 +836,21 @@ class olap_hierarchy(osv.osv):
'sequence': fields.integer('Sequence',required = True),
'dimension_id': fields.many2one('olap.dimension','Dimension',required = True),
'level_ids': fields.one2many('olap.level','hierarchy_id','Levels'),
- 'table_id': fields.many2one('olap.cube.table','Fact table(s)',required = True , help ="Table(s) to make hierarchy on the cube."),
+ 'table_id': fields.many2one('olap.cube.table','Fact table(s)',\
+ required = True , help ="Table(s) to make hierarchy on the cube."),
}
_defaults = {
'sequence': lambda * args: 1,
'primary_key': lambda * args: 'id',
- 'dimension_id':_set_dimension,
- 'name':_set_name
+ 'dimension_id': _set_dimension,
+ 'name': _set_name
}
olap_hierarchy()
+
class olap_level(osv.osv):
+ """ Olap Level """
_name = "olap.level"
_description = "Olap level"
_order = "sequence, id"
@@ -867,7 +892,9 @@ class olap_level(osv.osv):
'column_name':fields.many2one('olap.database.columns','Columns Name',required = True),
'column_id_name': fields.char('Column ID',size = 64,required = True),
'type': fields.selection(selection = _type_get,string = 'Level class',size = 64,required = True),
- 'table_name': fields.char('Table name',size = 64,required = True,help = "The name of the table on which the column is defined. If False, take the table from the hierarchy."),
+ 'table_name': fields.char('Table name',size = 64,required = True,\
+ help = "The name of the table on which the column is defined.\
+ If False, take the table from the hierarchy."),
'sequence': fields.integer('Sequence',required = True),
'hierarchy_id': fields.many2one('olap.hierarchy','Hierarchy',required = True),
}
@@ -876,14 +903,15 @@ class olap_level(osv.osv):
'column_id_name': lambda * args: 'name',
'sequence':lambda * args: '1',
'type':lambda * args:'normal',
- 'hierarchy_id':_set_hierarchy,
- 'name':_set_name
+ 'hierarchy_id': _set_hierarchy,
+ 'name': _set_name
}
olap_level()
class olap_measure(osv.osv):
+ """ Olap Measure """
_name = "olap.measure"
_description = "Olap measure"
@@ -908,76 +936,82 @@ class olap_measure(osv.osv):
'value_column': fields.many2one('olap.database.columns','Fact Table Column'),
'value_column_id_name': fields.char('Column ID',size = 64),
'table_name': fields.char('Table name',size = 64,help = "The name of the table on which the column is defined. If False, take the table from the cube."),
- 'measure_type':fields.selection([('fact_column','Fact Table Column'),('sql_expr','SQL Expression')],'Measure Type',required = True,help = "Select between auto column or sql expression for the measures"),
+ 'measure_type': fields.selection([('fact_column','Fact Table Column'),('sql_expr','SQL Expression')],'Measure Type',required = True,help = "Select between auto column or sql expression for the measures"),
'value_sql': fields.char('SQL Expression',size = 200,help = "You can provide valid sql expression. Make sure it have function with fully qualified column name like (sum,avg ...)(tablename.columnname (+,- ...) tablename.columnname)"),
'agregator': fields.selection([('sum','Sum'),('count','count'),('avg','Average')],'Agregator',required = True),
'datatype': fields.selection([('int','Integer'),('float','Float')],'Datatype',required = True),
'formatstring': fields.selection([
- ('none','None (0000.00)'),
- ('cr_prefix','Prefix Default Currency (EUR 0000.00)'),
- ('cr_postfix','Postfix Default Currency(0000.00 EUR)'),
- ('cr_prefix_comma','Prefix Default Currency with comma seperator (EUR 0,000.00)'),
- ('cr_postfix_comma','Postfix Default Currency with comma seperator (0,000.00 EUR)'),
- ('comma_sep', 'Comma Seperator (0,000)')
- ],
- 'Format string',required = True, help=" Let you specify how the measure to be displayed in cube browser"),
+ ('none','None (0000.00)'),
+ ('cr_prefix','Prefix Default Currency (EUR 0000.00)'),
+ ('cr_postfix','Postfix Default Currency(0000.00 EUR)'),
+ ('cr_prefix_comma','Prefix Default Currency with comma seperator (EUR 0,000.00)'),
+ ('cr_postfix_comma','Postfix Default Currency with comma seperator (0,000.00 EUR)'),
+ ('comma_sep', 'Comma Seperator (0,000)')
+ ],'Format string',required = True, help=" Let you specify how the measure to be displayed in cube browser"),
}
_defaults = {
'agregator': lambda * args: 'sum',
'datatype': lambda * args: 'float',
'formatstring': lambda * args: 'none',
- 'cube_id':_set_cube,
+ 'cube_id': _set_cube,
'measure_type':lambda * args:'fact_column',
}
olap_measure()
+
class olap_application(osv.osv):
+ """ Olap Application """
_name = "olap.application"
_description = "Olap application"
_columns = {
'name': fields.char('Application name',size = 64,required = True),
- 'query':fields.text('Application Query'),
- 'table_ids':fields.one2many('olap.application.table','application_id','Tables'),
+ 'query': fields.text('Application Query'),
+ 'table_ids': fields.one2many('olap.application.table','application_id','Tables'),
'field_ids': fields.one2many('olap.application.field','application_id','Fields'),
}
olap_application()
class olap_application_table(osv.osv):
+ """ Application Table """
_name = "olap.application.table"
_description = "Olap application table"
_columns = {
'name': fields.char('Application table name',size = 64,required = True),
'table_name': fields.char('Table name',size = 64,required = True),
'is_hidden': fields.boolean('Hidden'),
- 'application_id': fields.many2one('olap.application','Application Id',required = True),
+ 'application_id': fields.many2one('olap.application','Application Id',required = True),
}
olap_application_table()
+
class olap_application_field(osv.osv):
+ """ Application Field """
_name = "olap.application.field"
_description = "Olap application field"
_columns = {
'name': fields.char('Application field name',size = 64,required = True),
- 'table_name': fields.char('Application table name',size = 64),
+ 'table_name': fields.char('Application table name',size = 64),
'field_name':fields.char('Field name',size = 64),
'is_hidden': fields.boolean('Hidden'),
- 'application_id': fields.many2one('olap.application','Application Id',required = True),
+ 'application_id': fields.many2one('olap.application','Application Id',required = True),
}
olap_application_field()
+
class olap_saved_query(osv.osv):
+ """ Olap Saved Query """
_name = "olap.saved.query"
_decription = "Olap Saved Query"
-# _rec_name = 'user_id'
+
_columns = {
'name': fields.text('Query Name',size = 64),
- 'user_id' : fields.many2one('res.users','User'),
+ 'user_id': fields.many2one('res.users','User'),
'query': fields.text('Query',required = True),
'cube_id': fields.many2one('olap.cube','Cube',required = True),
'mdx_id': fields.char('Module', size=64),
'schema_id': fields.many2one('olap.schema','Schema',required = True),
- 'time':fields.datetime('Time',required = True),
+ 'time': fields.datetime('Time',required = True),
'axis_keys': fields.text('Axis Keys'),
}
olap_saved_query()
@@ -1004,123 +1038,21 @@ class bi_load_db_wizard(osv.osv_memory):
}
_defaults = {
- 'fact_table':_get_fact_table,
- 'db_name':_get_db_name,
+ 'fact_table': _get_fact_table,
+ 'db_name': _get_db_name,
}
def action_load(self,cr,uid,ids,context = None):
+ data = context and context.get('active_id', False) or False
if context and context.has_key('active_id'):
- lines = self.pool.get('olap.schema').browse(cr,uid,context['active_id'])
+ lines = self.pool.get('olap.schema').browse(cr,uid,data)
pool = pooler.get_pool(cr.dbname)
-# lines=pool.get('olap.schema').browse(cr, uid, part['id'],context)
id_db = lines.database_id.id
type = lines.database_id.type
db_name = lines.database_id.db_name
tobj = pool.get('olap.database.tables')
tcol = pool.get('olap.database.columns')
if type == 'postgres':
-# host = lines.database_id.db_host and "host=%s" % lines.database_id.db_host or ''
-# port = lines.database_id.db_port and "port=%s" % lines.database_id.db_port or ''
-# name = lines.database_id.db_name and "dbname=%s" % lines.database_id.db_name or ''
-# user = lines.database_id.db_login and "user=%s" % lines.database_id.db_login or ''
-# password = lines.database_id.db_password and "password=%s" % lines.database_id.db_password or ''
-# tdb = psycopg2.connect('%s %s %s %s %s' % (host, port, name, user, password))
-# cr_db = tdb.cursor()
-# cr.execute('select table_db_name,id from olap_database_tables where fact_database_id=%d', (id_db,))
-# tables = dict(cr.fetchall())
-# # Format for storing the tables
-# # tables['table_db_name']=id
-# tables_id = map(lambda x: str(tables[x]),tables)
-# cols={}
-# if tables_id:
-# cr.execute('select column_db_name,id,table_id from olap_database_columns where table_id in (' + ','.join(tables_id) +')')
-# else:
-# cr.execute('select column_db_name,id,table_id from olap_database_columns')
-#
-# for data in cr.fetchall():
-# cols[str(data[1])]=(data[0],int(data[2]))
-# # Format of storing the cols
-# # cols['id']=(col_db_name,table_id)
-# print 'Creating / Updating Tables...'
-# cr_db.execute("select table_name, table_catalog from INFORMATION_SCHEMA.tables as a where a.table_schema = 'public'")
-# for table in cr_db.fetchall():
-# val = {
-# 'fact_database_id':id_db,
-# 'table_db_name':table[0]
-# }
-#
-# if table[0] in tables.keys():
-# table_id=tobj.write(cr,uid,[tables[table[0]]], val, context)
-# else:
-# val['name']=table[0]
-# tables[val['name']] = tobj.create(cr,uid,val, context)
-# print 'Creating / Updating Columns...'
-# cr_db.execute("""SELECT
-# table_name, column_name, udt_name
-# from
-# INFORMATION_SCHEMA.columns
-# WHERE table_schema = 'public'""")
-#
-# for col in cr_db.fetchall():
-# val={
-# 'table_id': tables[col[0]],
-# 'column_db_name': col[1],
-# 'type': col[2],
-# }
-#
-# id_made=filter(lambda x:(int(cols[x][1])==int(tables[col[0]])),cols)
-# if col[1] in cols.keys() and col[0] in tables.keys()and id_made:
-# col_id=tcol.write(cr,uid,cols[tables[str(col[0])]], val, context)
-# else:
-# val['name']=col[1]
-# id_made = tcol.create(cr,uid,val, context)
-# cols[str(id_made)] = (val['name'],int(val['table_id']))
-# print 'Creating / Updating Constraints...'
-# cr_db.execute("""select
-# table_name,column_name
-# from
-# INFORMATION_schema.key_column_usage
-# where
-# constraint_name in (
-# select constraint_name from INFORMATION_SCHEMA .table_constraints
-# where
-# constraint_type = 'PRIMARY KEY')""")
-# print "Updating the Primary Key Constraint"
-# for constraint in cr_db.fetchall():
-# val={
-# 'primary_key':True
-# }
-#
-# id_to_write=filter(lambda x:(int(cols[x][1])==int(tables[constraint[0]])and(constraint[1]==cols[x][0])),cols)
-# col_id=tcol.write(cr,uid,int(id_to_write[0]),val,context)
-# print "Updating the Foreign key constraint"
-# cr_db.execute("""select
-# constraint_name,table_name
-# from
-# INFORMATION_schema.constraint_column_usage
-# where
-# constraint_name in (
-# select constraint_name from INFORMATION_SCHEMA.table_constraints
-# where
-# constraint_type = 'FOREIGN KEY')""")
-# for_key=dict(cr_db.fetchall())
-#
-# cr_db.execute("""select
-# table_name,column_name,constraint_name
-# from
-# INFORMATION_schema.key_column_usage
-# where
-# constraint_name in (
-# select constraint_name from INFORMATION_SCHEMA.table_constraints
-# where
-# constraint_type = 'FOREIGN KEY')""")
-
-# for constraint in cr_db.fetchall():
-# val={
-# 'related_to':tables[for_key[constraint[2]]]
-# }
-# id_to_write=filter(lambda x:(int(cols[x][1])==int(tables[constraint[0]])and (constraint[1]==cols[x][0])),cols)
-# col_id=tcol.write(cr,uid,int(id_to_write[0]),val,context)
host = lines.database_id.db_host and "host=%s" % lines.database_id.db_host or ''
port = lines.database_id.db_port and "port=%s" % lines.database_id.db_port or ''
@@ -1129,15 +1061,13 @@ class bi_load_db_wizard(osv.osv_memory):
password = lines.database_id.db_password and "password=%s" % lines.database_id.db_password or ''
tdb = psycopg2.connect('%s %s %s %s %s' % (host,port,name,user,password))
cr_db = tdb.cursor()
- cr.execute('select table_db_name,id from olap_database_tables where fact_database_id=%d',(id_db,))
+ cr.execute('select table_db_name,id from olap_database_tables \
+ where fact_database_id=%d',(id_db,))
tables = dict(cr.fetchall())
- # Format for storing the tables
- # tables['table_db_name']=id
tables_id = map(lambda x: str(tables[x]),tables)
- # Format of storing the cols
- # cols['id']=(col_db_name,table_id)
print 'Creating / Updating Tables...'
- cr_db.execute("select table_name, table_catalog from INFORMATION_SCHEMA.tables as a where a.table_schema = 'public'")
+ cr_db.execute("select table_name, table_catalog from \
+ INFORMATION_SCHEMA.tables as a where a.table_schema = 'public'")
for table in cr_db.fetchall():
val = {
'fact_database_id':id_db,
@@ -1152,10 +1082,14 @@ class bi_load_db_wizard(osv.osv_memory):
print 'Creating / Updating Columns ....'
cols = {}
if tables_id:
- cr.execute('select column_db_name,id,table_id from olap_database_columns where table_id in (' + ','.join(tables_id) + ')')
+ cr.execute('select column_db_name,id,table_id from \
+ olap_database_columns where table_id in (' + ','.join(tables_id) + ')')
else:
-# cr.execute('select column_db_name,id,table_id from olap_database_columns ')
- cr.execute("select olap_database_columns.column_db_name, olap_database_columns.id, olap_database_columns.table_id from olap_database_columns join olap_database_tables on olap_database_columns.table_id = olap_database_tables.id where olap_database_tables.fact_database_id=%d",(id_db,))
+ cr.execute("select olap_database_columns.column_db_name,\
+ olap_database_columns.id, olap_database_columns.table_id \
+ from olap_database_columns join olap_database_tables \
+ on olap_database_columns.table_id = olap_database_tables.id \
+ where olap_database_tables.fact_database_id=%d",(id_db,))
table_col = {}
cols_name = {}
for x in tables:
@@ -1189,14 +1123,14 @@ class bi_load_db_wizard(osv.osv_memory):
cols[str(id_made)] = (val['name'],int(val['table_id']))
print 'Creating / Updating Constraints...'
- cr_db.execute("""select
- table_name,column_name
- from
+ cr_db.execute("""select
+ table_name,column_name
+ from
INFORMATION_schema.key_column_usage
- where
+ where
constraint_name in (
select constraint_name from INFORMATION_SCHEMA .table_constraints
- where
+ where
constraint_type = 'PRIMARY KEY')""")
print "Updating the Primary Key Constraint"
@@ -1209,25 +1143,25 @@ class bi_load_db_wizard(osv.osv_memory):
col_id = tcol.write(cr,uid,int(id_to_write[0]),val,context)
print "Updating the Foreign key constraint"
- cr_db.execute("""select
- constraint_name,table_name
- from
- INFORMATION_schema.constraint_column_usage
+ cr_db.execute("""select
+ constraint_name,table_name
+ from
+ INFORMATION_schema.constraint_column_usage
where
constraint_name in (
- select constraint_name from INFORMATION_SCHEMA.table_constraints
- where
+ select constraint_name from INFORMATION_SCHEMA.table_constraints
+ where
constraint_type = 'FOREIGN KEY')""")
for_key = dict(cr_db.fetchall())
- cr_db.execute("""select
- table_name,column_name,constraint_name
- from
+ cr_db.execute("""select
+ table_name,column_name,constraint_name
+ from
INFORMATION_schema.key_column_usage
- where
+ where
constraint_name in (
- select constraint_name from INFORMATION_SCHEMA.table_constraints
- where
+ select constraint_name from INFORMATION_SCHEMA.table_constraints
+ where
constraint_type = 'FOREIGN KEY')""")
for constraint in cr_db.fetchall():
@@ -1253,18 +1187,21 @@ class bi_load_db_wizard(osv.osv_memory):
raise osv.except_osv('MySQLdb Packages Not Installed.',e)
cr_db = tdb.cursor()
- cr.execute('select table_db_name,id from olap_database_tables where fact_database_id=%d',(id_db,))
+ cr.execute('select table_db_name,id from olap_database_tables \
+ where fact_database_id=%d',(id_db,))
tables = dict(cr.fetchall())
tables_id = map(lambda x: str(tables[x]),tables)
cols = {}
if tables_id:
- cr.execute('select column_db_name,id,table_id from olap_database_columns where table_id in (' + ','.join(tables_id) + ')')
+ cr.execute('select column_db_name,id,table_id from \
+ olap_database_columns where table_id in (' + ','.join(tables_id) + ')')
else:
cr.execute('select column_db_name,id,table_id from olap_database_columns')
for data in cr.fetchall():
cols[str(data[1])] = (data[0],int(data[2]))
- cr_db.execute("select table_name, table_catalog from INFORMATION_SCHEMA.tables where table_schema =%s",(db_name))
+ cr_db.execute("select table_name, table_catalog from \
+ INFORMATION_SCHEMA.tables where table_schema =%s",(db_name))
for table in cr_db.fetchall():
val = {
@@ -1300,17 +1237,16 @@ class bi_load_db_wizard(osv.osv_memory):
id_made = tcol.create(cr,uid,val,context)
cols[str(id_made)] = (val['name'],int(val['table_id']))
- cr_db.execute("""select
+ cr_db.execute("""select
REFERENCED_COLUMN_NAME,REFERENCED_TABLE_NAME,COLUMN_NAME,TABLE_NAME
- from
+ from
INFORMATION_schema.key_column_usage
- where table_schema= %s and
+ where table_schema= %s and
constraint_name in (
select constraint_name from INFORMATION_SCHEMA .table_constraints
- where
+ where
constraint_type in('PRIMARY KEY','FOREIGN KEY'))
""",(db_name))
- # lines=pool.get('olap.schema').browse(cr, uid, part['id'],context)
for constraint in cr_db.fetchall():
if constraint[0]:
@@ -1322,7 +1258,8 @@ class bi_load_db_wizard(osv.osv_memory):
val = {
'primary_key':True
}
- id_to_write = filter(lambda x:(int(cols[x][1]) == int(tables[constraint[3]])and(constraint[2] == cols[x][0])),cols)
+ id_to_write = filter(lambda x:(int(cols[x][1]) == int(tables[constraint[3]])and \
+ (constraint[2] == cols[x][0])),cols)
col_id = tcol.write(cr,uid,int(id_to_write[0]),val,context)
elif type == 'oracle':
@@ -1339,12 +1276,14 @@ class bi_load_db_wizard(osv.osv_memory):
raise osv.except_osv('cx_Oracle Packages Not Installed.',e)
cr_db = tdb.cursor()
- cr.execute('select table_db_name,id from olap_database_tables where fact_database_id=%d',(id_db,))
+ cr.execute('select table_db_name,id from olap_database_tables \
+ where fact_database_id=%d',(id_db,))
tables = dict(cr.fetchall())
tables_id = map(lambda x: str(tables[x]),tables)
cols = {}
if tables_id:
- cr.execute('select column_db_name,id,table_id from olap_database_columns where table_id in (' + ','.join(tables_id) + ')')
+ cr.execute('select column_db_name,id,table_id from \
+ olap_database_columns where table_id in (' + ','.join(tables_id) + ')')
else:
cr.execute('select column_db_name,id,table_id from olap_database_columns')
@@ -1369,7 +1308,7 @@ class bi_load_db_wizard(osv.osv_memory):
cr_db.execute("""SELECT
table_name, column_name, data_type
from
- all_tab_columns
+ all_tab_columns
WHERE owner = %s""",(user))
temp = cr_db.fetchall()
for col in temp:
@@ -1395,14 +1334,14 @@ class bi_load_db_wizard(osv.osv_memory):
id_made = tcol.create(cr,uid,val,context)
cols[str(id_made)] = (val['name'],int(val['table_id']))
- cr_db.execute("""select
+ cr_db.execute("""select
table_name,column_name,constraint_name
- from
+ from
all_cons_columns
where
constraint_name in (
select constraint_name from all_constraints
- where
+ where
constraint_type = 'P' and owner= %s)
""",(user))
temp = cr_db.fetchall()
@@ -1413,26 +1352,27 @@ class bi_load_db_wizard(osv.osv_memory):
}
pk_table[constraint[2]] = constraint[0]
- id_to_write = filter(lambda x : (int(cols[x][1]) == int(tables[constraint[0]])and(constraint[1] == cols[x][0])),cols)
+ id_to_write = filter(lambda x : (int(cols[x][1]) == int(tables[constraint[0]])\
+ and(constraint[1] == cols[x][0])),cols)
col_id = tcol.write(cr,uid,int(id_to_write[0]),val,context)
- cr_db.execute("""select
+ cr_db.execute("""select
constraint_name,r_constraint_name from all_constraints
- where
+ where
constraint_type = 'R' and owner = %s
""",(user))
constraints_map = {}
for data in cr_db.fetchall():
constraints_map[data[0]] = data[1]
- cr_db.execute("""select
+ cr_db.execute("""select
table_name,column_name,constraint_name
- from
+ from
all_cons_columns
where
constraint_name in (
select constraint_name from all_constraints
- where
+ where
constraint_type = 'R' and owner = %s)
""",(user))
@@ -1444,45 +1384,35 @@ class bi_load_db_wizard(osv.osv_memory):
val = {
'related_to' : tables[req_table]
}
- id_to_write = filter(lambda x:(int(cols[x][1]) == int(tables[constraint[0]])and (constraint[1] == cols[x][0])),cols)
+ id_to_write = filter(lambda x:(int(cols[x][1]) == int(tables[constraint[0]])\
+ and (constraint[1] == cols[x][0])),cols)
col_id = tcol.write(cr,uid,int(id_to_write[0]),val,context)
+ data = context and context.get('active_id', False) or False
temp = pooler.get_pool(cr.dbname).get('olap.fact.database').write(cr,uid,[id_db],{'loaded':True})
wf_service = netsvc.LocalService('workflow')
- wf_service.trg_validate(uid,'olap.schema',context['active_id'],'dbload',cr)
- model_data_ids = self.pool.get('ir.model.data').search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_olap_schema_form')])
- resource_id = self.pool.get('ir.model.data').read(cr,uid,model_data_ids,fields = ['res_id'])[0]['res_id']
+ wf_service.trg_validate(uid,'olap.schema',data,'dbload',cr)
+ model_data_ids = self.pool.get('ir.model.data').search(cr,uid,\
+ [('model','=','ir.ui.view'),('name','=','view_olap_schema_form')])
+ resource_id = self.pool.get('ir.model.data').read(cr,uid,\
+ model_data_ids,fields = ['res_id'])[0]['res_id']
return {'type':'ir.actions.act_window_close' }
-# return{
-# 'domain': [],
-# 'name': 'view_olap_schema_form',
-# 'view_type': 'form',
-# 'view_mode': 'form,tree',
-# 'res_id': context['active_id'],
-# 'res_model': 'olap.schema',
-# 'view': [(resource_id,'form')],
-# 'type': 'ir.actions.act_window_close'
-# }
-#
def action_cancel(self,cr,uid,ids,context = None):
return {'type':'ir.actions.act_window_close' }
bi_load_db_wizard()
-
-
-
# Wizard for the Automatic Application Configuration
# Replacement for the Load Wizard according to the new structure
class bi_auto_configure_wizard(osv.osv_memory):
_name = 'bi.auto.configure.wizard'
-
- def _get_name(self,cr,uid,ctx):
- if ctx and ctx.has_key('active_id'):
- schema_obj = self.pool.get('olap.schema').browse(cr,uid,ctx['active_id'])
+ def _get_name(self,cr,uid,context):
+ data = context and context.get('active_id', False) or False
+ if context and context.has_key('active_id'):
+ schema_obj = self.pool.get('olap.schema').browse(cr,uid,data)
return schema_obj.name
return False
@@ -1499,8 +1429,8 @@ class bi_auto_configure_wizard(osv.osv_memory):
vals = {}
apptabnew_vals = {}
appfieldnew_vals = {}
-
- ids = pooler.get_pool(cr.dbname).get('olap.schema').browse(cr,uid,context['active_id'])
+ data = context and context.get('active_id', False) or False
+ ids = pooler.get_pool(cr.dbname).get('olap.schema').browse(cr,uid,data)
if ids.app_detect == "Unknown Application":
raise wizard.except_wizard('Warning','The Application is Unknown, we can not configure it automatically.')
@@ -1532,13 +1462,17 @@ class bi_auto_configure_wizard(osv.osv_memory):
appcol_name.append(apcol.name)
dbtab_obj = pooler.get_pool(cr.dbname).get('olap.database.tables')
-# id_tables=dbtab_obj.search(cr,uid,[('fact_database_id','=',ids.database_id.id),('table_db_name','not in',['inherit','res_roles','user_rule_group_rel','res_roles_users_rel','group_rule_group_rel'])])
id_tables = dbtab_obj.search(cr,uid,[('fact_database_id','=',ids.database_id.id)])
tables_main = dbtab_obj.read(cr,uid,id_tables,context = {'wizard':True})
for tables in tables_main:
- end_user_name = {'name':(" ").join(map(lambda x:x.capitalize(),tables['table_db_name'].split("_")))}
+ end_user_name = {'name':(" ").join(map(lambda x:x.capitalize(),\
+ tables['table_db_name'].split("_")))}
table_new = dbtab_obj.write(cr,uid,tables['id'],end_user_name)
- if not(tables['table_db_name'].startswith('ir') or tables['table_db_name'].startswith('wkf') or tables['table_db_name'].startswith('res_groups') or tables['table_db_name'].startswith('res_role')) and tables['table_db_name'] not in ['inherit','user_rule_group_rel','group_rule_group_rel']:
+ if not(tables['table_db_name'].startswith('ir') or \
+ tables['table_db_name'].startswith('wkf') or \
+ tables['table_db_name'].startswith('res_groups') or \
+ tables['table_db_name'].startswith('res_role')) and \
+ tables['table_db_name'] not in ['inherit','user_rule_group_rel','group_rule_group_rel']:
vals = {}
if len(apptab_ids) == 0 and (tables['table_db_name'] not in apptab_name):
@@ -1551,17 +1485,21 @@ class bi_auto_configure_wizard(osv.osv_memory):
else:
if map_apptab_name_id.has_key(tables['table_db_name']):
app_table = map_apptab_name_id[tables['table_db_name']]
- if ((app_table['table_name'] == tables['table_db_name']) and not (app_table['table_name'] == tables['name'])):
- vals['name'] = (" ").join(map(lambda x:x.capitalize(),tables['name'].split("_")))
+ if ((app_table['table_name'] == tables['table_db_name']) \
+ and not (app_table['table_name'] == tables['name'])):
+ vals['name'] = (" ").join(map(lambda x:x.capitalize(),\
+ tables['name'].split("_")))
vals['is_hidden'] = tables['hide']
tables_obj_new = apptab_objs.write(cr,uid,app_table['id'],vals)
else:
vals['table_name'] = tables['table_db_name']
- vals['name'] = (" ").join(map(lambda x:x.capitalize(),tables['table_db_name'].split("_")))
+ vals['name'] = (" ").join(map(lambda x:x.capitalize(),\
+ tables['table_db_name'].split("_")))
vals['is_hidden'] = tables['hide']
vals['application_id'] = app_id
apptab_new_obj = apptab_objs.create(cr,uid,vals)
- id_columns = pooler.get_pool(cr.dbname).get('olap.database.columns').search(cr,uid,[('table_id','in',id_tables)])
+ id_columns = pooler.get_pool(cr.dbname).get('olap.database.columns').search(cr,uid,\
+ [('table_id','in',id_tables)])
columns = pooler.get_pool(cr.dbname).get('olap.database.columns').read(cr,uid,id_columns,[])
for columns in columns:
vals = {}
@@ -1573,7 +1511,8 @@ class bi_auto_configure_wizard(osv.osv_memory):
vals['application_id'] = x_app['id']
appfield_new_obj = appfield_objs.create(cr,uid,vals)
else:
- filter_column = filter(lambda x: columns['column_db_name'] == x['field_name'] and columns['table_id'][1] == x['table_name'],appfield_data_res)
+ filter_column = filter(lambda x: columns['column_db_name'] == x['field_name'] \
+ and columns['table_id'][1] == x['table_name'],appfield_data_res)
if map_apptab_name_id.has_key(columns['table_id'][1]) and filter_column:
table_id_write = map_apptab_name_id[columns['table_id'][1]]
vals['name'] = (" ").join(map(lambda x:x.capitalize(),columns['name'].split("_")))
@@ -1594,7 +1533,12 @@ class bi_auto_configure_wizard(osv.osv_memory):
make_id = []
for table in tables:
vals = {}
- if (table['table_db_name'].startswith('ir') or table['table_db_name'].startswith('wkf')) or (table['table_db_name'].startswith('res_groups')) or (table['table_db_name'] in ['inherit','res_roles','user_rule_group_rel','res_roles_users_rel','group_rule_group_rel']):
+ if (table['table_db_name'].startswith('ir') or \
+ table['table_db_name'].startswith('wkf')) or \
+ (table['table_db_name'].startswith('res_groups')) or \
+ (table['table_db_name'] in \
+ ['inherit','res_roles','user_rule_group_rel',\
+ 'res_roles_users_rel','group_rule_group_rel']):
vals['hide'] = True
vals['active'] = False
make_id.append(table['id'])
@@ -1609,11 +1553,13 @@ class bi_auto_configure_wizard(osv.osv_memory):
vals['active'] = False
database_columns.write(cr,uid,col['id'],vals)
-
+ data = context and context.get('active_id', False) or False
wf_service = netsvc.LocalService('workflow')
- wf_service.trg_validate(uid,'olap.schema',context['active_id'],'dbconfigure',cr)
- model_data_ids = self.pool.get('ir.model.data').search(cr,uid,[('model','=','ir.ui.view'),('name','=','view_olap_schema_form')])
- resource_id = self.pool.get('ir.model.data').read(cr,uid,model_data_ids,fields = ['res_id'])[0]['res_id']
+ wf_service.trg_validate(uid,'olap.schema',data,'dbconfigure',cr)
+ model_data_ids = self.pool.get('ir.model.data').search(cr,uid,\
+ [('model','=','ir.ui.view'),('name','=','view_olap_schema_form')])
+ resource_id = self.pool.get('ir.model.data').read(cr,uid,\
+ model_data_ids,fields = ['res_id'])[0]['res_id']
return {'type':'ir.actions.act_window_close' }
@@ -1625,9 +1571,10 @@ bi_auto_configure_wizard()
class olap_warehouse_wizard(osv.osv_memory):
+ """ Warehouse """
_name = "olap.warehouse.wizard"
_description = "Olap Warehouse"
-
+
def _get_queries(self, cr, uid, context = {}):
query_obj = self.pool.get('olap.query.logs')
qry_ids = query_obj.search(cr, uid, [('user_id','=',uid),('count','>=',3)])
@@ -1643,15 +1590,18 @@ class olap_warehouse_wizard(osv.osv_memory):
return ''
def action_ok(self, cr, uid, ids, context = {}):
return {'type':'ir.actions.act_window_close' }
-
+
_columns = {
- 'query': fields.text('Query', readonly=True),
+ 'query':fields.text('Query',readonly=True),
}
_defaults = {
'query': _get_queries,
}
olap_warehouse_wizard()
+
+
class olap_parameters_config_wizard(osv.osv_memory):
+ """ Apply Parameters for configuration """
_name = "olap.parameters.config.wizard"
_description = "Olap Server Parameters"
@@ -1661,7 +1611,9 @@ class olap_parameters_config_wizard(osv.osv_memory):
aid = objid._get_id(cr,uid,'olap','menu_url_cube_browser')
aid = objid.browse(cr,uid,aid,context = context).res_id
aid = self.pool.get('ir.actions.url').browse(cr,uid,aid,context = context)
- s_p = Literal("http://").suppress() + Word(alphanums + "_" + ".") + Literal(":").suppress() + Word(nums) + Literal("/").suppress() + Word(alphanums + "_" + " ").suppress()
+ s_p = Literal("http://").suppress() + Word(alphanums + "_" + ".") +\
+ Literal(":").suppress() + Word(nums) + Literal("/").suppress()\
+ + Word(alphanums + "_" + " ").suppress()
return s_p.parseString(aid.url)[0]
def _get_port(self,cr,uid,context = None):
@@ -1670,7 +1622,9 @@ class olap_parameters_config_wizard(osv.osv_memory):
aid = objid._get_id(cr,uid,'olap','menu_url_cube_browser')
aid = objid.browse(cr,uid,aid,context = context).res_id
aid = self.pool.get('ir.actions.url').browse(cr,uid,aid,context = context)
- s_p = Literal("http://").suppress() + Word(alphanums + "_" + ".") + Literal(":").suppress() + Word(nums) + Literal("/").suppress() + Word(alphanums + "_" + " ").suppress()
+ s_p = Literal("http://").suppress() + Word(alphanums + "_" + ".") + \
+ Literal(":").suppress() + Word(nums) + Literal("/").suppress() + \
+ Word(alphanums + "_" + " ").suppress()
return s_p.parseString(aid.url)[1]
_columns = {
@@ -1713,6 +1667,7 @@ class olap_parameters_config_wizard(osv.osv_memory):
'type': 'ir.actions.act_window',
'target':'new',
}
+
olap_parameters_config_wizard()
# vim: ts=4 sts=4 sw=4 si et
diff --git a/addons/olap/wizard/olap_load_column.py b/addons/olap/wizard/olap_load_column.py
index 97dc635d3fc..6fe594f60c8 100755
--- a/addons/olap/wizard/olap_load_column.py
+++ b/addons/olap/wizard/olap_load_column.py
@@ -28,7 +28,6 @@
from osv import fields, osv
class olap_load_column(osv.osv_memory):
- """ Load Database Column """
_name = "olap.load.column"
_description = "Olap Load Column"
@@ -38,11 +37,12 @@ class olap_load_column(osv.osv_memory):
@param cr: the current row, from the database cursor,
@param uid: the current user\'s ID for security checks,
@param ids: List of load column,
- @return : dictionary of database columns window on give id
+ @return: dictionary of database columns window on give id
"""
+ data = context and context.get('active_id', False) or False
ids_cols = self.pool.get('olap.database.columns').search(cr, uid,\
- ([('table_id','=',context['active_id'])]),context={})
+ ([('table_id','=',data)]),context={})
model_data_ids = self.pool.get('ir.model.data').search(cr,uid,\
[('model','=','ir.ui.view'),\
('name','=','view_olap_database_columns_form')],context={})
diff --git a/addons/olap/wizard/olap_load_column_view.xml b/addons/olap/wizard/olap_load_column_view.xml
index ef76ec555c6..21053274e54 100644
--- a/addons/olap/wizard/olap_load_column_view.xml
+++ b/addons/olap/wizard/olap_load_column_view.xml
@@ -1,8 +1,11 @@
+
+
+
- Create Logs
+ Open Columns
olap.load.column
form
diff --git a/addons/olap/wizard/olap_query_logs_clear.py b/addons/olap/wizard/olap_query_logs_clear.py
index 8d271315874..95623ac11d3 100755
--- a/addons/olap/wizard/olap_query_logs_clear.py
+++ b/addons/olap/wizard/olap_query_logs_clear.py
@@ -28,7 +28,6 @@
from osv import fields, osv
class olap_query_logs_clear(osv.osv_memory):
- """ Clear the Logs for Given User """
_name = "olap.query.logs.clear"
_description = "Olap Query Logs Clear"
_columns = {
@@ -69,6 +68,7 @@ class olap_query_logs_clear(osv.osv_memory):
olap_query_logs_clear()
+
class olap_query_logs_clear_msg(osv.osv_memory):
""" Display clear log message """
_name = "olap.query.logs.clear.msg"
@@ -77,4 +77,5 @@ class olap_query_logs_clear_msg(osv.osv_memory):
}
olap_query_logs_clear_msg()
+
# vim: ts=4 sts=4 sw=4 si et
diff --git a/addons/olap/wizard/olap_query_logs_clear_view.xml b/addons/olap/wizard/olap_query_logs_clear_view.xml
index 08d93c9410b..a780988c2b9 100644
--- a/addons/olap/wizard/olap_query_logs_clear_view.xml
+++ b/addons/olap/wizard/olap_query_logs_clear_view.xml
@@ -1,8 +1,11 @@
+
+
+
- Create Logs
+ Clear Logs
olap.query.logs.clear
form
@@ -19,7 +22,7 @@
- Create Logs
+ Clear Logs
ir.actions.act_window
olap.query.logs.clear
form
@@ -28,7 +31,7 @@
- Create Logs Message
+ Clear Logs Message
olap.query.logs.clear.msg
form