|
diff --git a/addons/base_report_creator/base_report_creator.py b/addons/base_report_creator/base_report_creator.py
index 12e95186217..93f2ff837c0 100644
--- a/addons/base_report_creator/base_report_creator.py
+++ b/addons/base_report_creator/base_report_creator.py
@@ -47,6 +47,32 @@ from tools.translate import _
# return super(ir_model_fields, self).search(cr, uid, args, offset, limit, order, context)
#ir_model_fields()
+class ir_model(osv.osv):
+ _inherit = 'ir.model'
+
+ def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
+ res_model_ids = super(ir_model,self).search(cr, uid, args, offset, limit, order, context=context, count=count)
+ try:
+ if 'model_ids' in context and context['model_ids'][0][2]:
+ model_ids = context['model_ids'][0][2]
+ result = []
+ name_list = []
+ if model_ids:
+ obj = self.read(cr, uid, model_ids,['model'])
+ for name in obj:
+ name_list.append(name['model'])
+ cr.execute("SELECT model_id, relation FROM ir_model_fields WHERE relation in (%s)" % (','.join(map(lambda x: "'"+str(x)+"'",name_list))))
+
+ for r in cr.fetchall():
+ result.append(r[0])
+ return result
+ return res_model_ids
+
+ except Exception,e:
+ pass
+
+ir_model()
+
class report_creator(osv.osv):
_name = "base_report_creator.report"
_description = "Report"
@@ -354,8 +380,8 @@ class report_creator(osv.osv):
_constraints = [
(_function_field, 'You can not display field which are not stored in Database.', ['field_ids']),
- (_aggregation_error, 'You can apply agregate function to the non calculated field.', ['field_ids']),
- (_calander_view_error, "You must have to give calander view's color,start date and delay.", ['field_ids']),
+ (_aggregation_error, 'You can apply aggregate function to the non calculated field.', ['field_ids']),
+ (_calander_view_error, "You must have to give calendar view's color,start date and delay.", ['field_ids']),
]
report_creator()
diff --git a/addons/base_report_creator/base_report_creator_view.xml b/addons/base_report_creator/base_report_creator_view.xml
index 494e98d7d02..7ae858012ed 100644
--- a/addons/base_report_creator/base_report_creator_view.xml
+++ b/addons/base_report_creator/base_report_creator_view.xml
@@ -38,7 +38,7 @@
-
+
diff --git a/addons/base_report_creator/wizard/wiz_set_filter_fields.py b/addons/base_report_creator/wizard/wiz_set_filter_fields.py
index 39ef0d2a991..df5a33a0aaf 100644
--- a/addons/base_report_creator/wizard/wiz_set_filter_fields.py
+++ b/addons/base_report_creator/wizard/wiz_set_filter_fields.py
@@ -72,7 +72,7 @@ def set_field_operator(self,field_name,field_type,search_operator,search_value):
field_search[1]='in'
field_search[2] = "("+','.join([str(x) for x in search_value])+")"
elif field_type in char_type or field_type in date_type:
- field_search[2] = "'"+field_search[2]+"'"
+ field_search[2] = field_search[2] and "'"+field_search[2]+"'" or False
elif search_operator == '<>':
if field_type=='many2one':
field_search[1]='not in'
@@ -123,18 +123,17 @@ def _set_filter_value(self, cr, uid, data, context):
table_name = model_pool._table
model_name = model_pool._description
- if field_type == 'boolean' and value_data == 1:
- value_data = 'true'
- else:
- value_data = 'false'
-
if field_type:
+ if field_type == 'boolean':
+ if value_data == 1:
+ value_data = 'true'
+ else:
+ value_data = 'false'
if field_type == 'many2many' and value_data and len(value_data):
fields_list = set_field_operator(self,table_name+"."+field_data['name'],field_data['ttype'],form_data['operator'],value_data[0][2])
else:
fields_list = set_field_operator(self,table_name+"."+field_data['name'],field_data['ttype'],form_data['operator'],value_data)
-
- if fields_list and value_data:
+ if fields_list:
create_dict = {
'name':model_name + "/" +field_data['field_description'] +" "+ mapping_fields[form_data['operator']] + " " + str(fields_list[2]) + " ",
'expression':' '.join(fields_list),
diff --git a/addons/hr_timesheet/hr_timesheet.py b/addons/hr_timesheet/hr_timesheet.py
index a74efd53cdd..70d4a80c501 100644
--- a/addons/hr_timesheet/hr_timesheet.py
+++ b/addons/hr_timesheet/hr_timesheet.py
@@ -111,7 +111,15 @@ class hr_analytic_timesheet(osv.osv):
}
def on_change_account_id(self, cr, uid, ids, account_id):
return {'value':{}}
-
+
+ def on_change_date(self, cr, uid, ids, date):
+ if ids:
+ new_date = self.read(cr,uid,ids[0],['date'])['date']
+ if date != new_date:
+ warning = {'title':'User Alert!','message':'Changing the date will let this entry appear in the timesheet of the new date.'}
+ return {'value':{},'warning':warning}
+ return {'value':{}}
+
def create(self, cr, uid, vals, context={}):
try:
res = super(hr_analytic_timesheet, self).create(cr, uid, vals, context)
diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml
index e44a50ace19..c9f7214ecca 100644
--- a/addons/hr_timesheet/hr_timesheet_view.xml
+++ b/addons/hr_timesheet/hr_timesheet_view.xml
@@ -8,7 +8,7 @@
-
+
@@ -25,9 +25,9 @@
form
|