diff --git a/addons/account/account.py b/addons/account/account.py
index c969496beae..b6a114110ce 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -2070,8 +2070,6 @@ class wizard_multi_charts_accounts(osv.osv_memory):
#create the account_account for this bank journal
tmp = self.pool.get('res.partner.bank').name_get(cr, uid, [line.acc_no.id])[0][1]
dig = obj_multi.code_digits
- print ">>>>",dig
- print ">>>",ref_acc_bank.code.ljust(dig,'0')
vals={
'name': line.acc_no.bank and line.acc_no.bank.name+' '+tmp or tmp,
'currency_id': line.currency_id and line.currency_id.id or False,
diff --git a/addons/account_tax_include/invoice_tax_incl.xml b/addons/account_tax_include/invoice_tax_incl.xml
index 87e1dba37e0..3e25d37a818 100644
--- a/addons/account_tax_include/invoice_tax_incl.xml
+++ b/addons/account_tax_include/invoice_tax_incl.xml
@@ -21,7 +21,7 @@
account.invoice
-
+
@@ -33,7 +33,7 @@
account.invoice
-
+
diff --git a/addons/base_module_quality/security/ir.model.access.csv b/addons/base_module_quality/security/ir.model.access.csv
index 748e3895696..6471e45563c 100644
--- a/addons/base_module_quality/security/ir.model.access.csv
+++ b/addons/base_module_quality/security/ir.model.access.csv
@@ -1,2 +1,3 @@
"id","name","model_id:id","perm_read","perm_write","perm_create","perm_unlink"
-"access_wizard_quality_check","wizard.quality.check","model_wizard_quality_check",1,1,1,1
+"access_wizard_quality_check","wizard.quality.check","model_wizard_quality_check",,1,1,1,1
+"access_quality_check_detail","quality.check.detail","model_quality_check_detail",,1,1,1,1
\ No newline at end of file
diff --git a/addons/board/wizard/board_wizard.py b/addons/board/wizard/board_wizard.py
index c65ad7e00a1..191cb3f294b 100644
--- a/addons/board/wizard/board_wizard.py
+++ b/addons/board/wizard/board_wizard.py
@@ -38,9 +38,17 @@ section_fields = {
'menu_parent_id': {'string':'Parent Menu', 'type':'many2one', 'relation':'ir.ui.menu', 'required':True},
}
+def check_views(self, cr, uid, data, context):
+ pool = pooler.get_pool(cr.dbname)
+ board = pool.get('board.board').browse(cr, uid, data['id'])
+ if not board.line_ids:
+ raise wizard.except_wizard('User Error!',"Please Insert Dashboard View(s) !")
+ return data['form']
+
def board_menu_create(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
board = pool.get('board.board').browse(cr, uid, data['id'])
+
action_id = pool.get('ir.actions.act_window').create(cr, uid, {
'name': board.name,
'view_type':'form',
@@ -54,12 +62,13 @@ def board_menu_create(self, cr, uid, data, context):
'icon': 'STOCK_SELECT_COLOR',
'action': 'ir.actions.act_window,'+str(action_id)
}, context)
+
return {}
class wizard_section_menu_create(wizard.interface):
states = {
'init': {
- 'actions': [],
+ 'actions': [check_views],
'result': {'type':'form', 'arch':section_form, 'fields':section_fields, 'state':[('end','Cancel'),('create_menu','Create Menu')]}
},
'create_menu': {
diff --git a/addons/crm_configuration/crm_config_view.xml b/addons/crm_configuration/crm_config_view.xml
index eda2fe3d2e3..93a74249d08 100644
--- a/addons/crm_configuration/crm_config_view.xml
+++ b/addons/crm_configuration/crm_config_view.xml
@@ -62,5 +62,39 @@
+
+ # ------------------------------------------------------
+ # Stage
+ # ------------------------------------------------------
+
+ crm.case.stage.tree
+ crm.case.stage
+ tree
+
+
+
+
+
+
+
+
+ crm.case.stage.form
+ crm.case.stage
+ form
+
+
+
+
+
+ Stages
+ crm.case.stage
+ form
+
+
+
+
diff --git a/addons/crm_configuration/crm_lead_view.xml b/addons/crm_configuration/crm_lead_view.xml
index c3c84523deb..b67fd1630e0 100644
--- a/addons/crm_configuration/crm_lead_view.xml
+++ b/addons/crm_configuration/crm_lead_view.xml
@@ -128,7 +128,7 @@
-
+
diff --git a/addons/document/document.py b/addons/document/document.py
index 3d0b0176dce..5a0a3cefb0f 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -87,27 +87,28 @@ class node_class(object):
if self.object2:
where.append( ('res_model','=',self.object2._name) )
where.append( ('res_id','=',self.object2.id) )
- for content in self.object.content_ids:
- if self.object2 or not content.include_name:
- if content.include_name:
- test_nodename = self.object2.name + (content.suffix or '') + (content.extension or '')
- else:
- test_nodename = (content.suffix or '') + (content.extension or '')
- if test_nodename.find('/'):
- test_nodename=test_nodename.replace('/', '_')
- path = self.path+'/'+test_nodename
- if not nodename:
- n = node_class(self.cr, self.uid,path, self.object2, False, content=content, type='content', root=False)
- res2.append( n)
- else:
- if nodename == test_nodename:
- n = node_class(self.cr, self.uid, path, self.object2, False, content=content, type='content', root=False)
- res2.append(n)
else:
where.append( ('parent_id','=',self.object.id) )
where.append( ('res_id','=',False) )
if nodename:
- where.append( (fobj._rec_name,'like',nodename) )
+ where.append( (fobj._rec_name,'like',nodename) )
+ for content in self.object.content_ids:
+ if self.object2 or not content.include_name:
+ if content.include_name:
+ test_nodename = self.object2.name + (content.suffix or '') + (content.extension or '')
+ else:
+ test_nodename = (content.suffix or '') + (content.extension or '')
+ if test_nodename.find('/'):
+ test_nodename=test_nodename.replace('/', '_')
+ path = self.path+'/'+test_nodename
+ if not nodename:
+ n = node_class(self.cr, self.uid,path, self.object2, False, content=content, type='content', root=False)
+ res2.append( n)
+ else:
+ if nodename == test_nodename:
+ n = node_class(self.cr, self.uid, path, self.object2, False, content=content, type='content', root=False)
+ res2.append(n)
+
ids = fobj.search(self.cr, self.uid, where+[ ('parent_id','=',self.object and self.object.id or False) ], context=self.context)
if self.object and self.root and (self.object.type=='ressource'):
ids += fobj.search(self.cr, self.uid, where+[ ('parent_id','=',False) ], context=self.context)
diff --git a/addons/document/ftpserver/abstracted_fs.py b/addons/document/ftpserver/abstracted_fs.py
index fe64ab44063..9b8b78b6e8a 100644
--- a/addons/document/ftpserver/abstracted_fs.py
+++ b/addons/document/ftpserver/abstracted_fs.py
@@ -26,6 +26,7 @@ class file_wrapper(StringIO.StringIO):
def close(self, *args, **kwargs):
db,pool = pooler.get_db_and_pool(self.dbname)
cr = db.cursor()
+ cr.commit()
try:
val = self.getvalue()
val2 = {
@@ -49,6 +50,7 @@ class content_wrapper(StringIO.StringIO):
def close(self, *args, **kwargs):
db,pool = pooler.get_db_and_pool(self.dbname)
cr = db.cursor()
+ cr.commit()
try:
getattr(self.pool.get('document.directory.content'), 'process_write_'+self.node.content.extension[1:])(cr, self.uid, self.node, self.getvalue())
finally:
@@ -617,7 +619,7 @@ class abstracted_fs:
elif self.isfile(path):
basedir, filename = os.path.split(path.path)
self.lstat(path) # raise exc in case of problems
- return self.format_list(basedir, [filename])
+ return self.format_list(basedir, [path])
# Ok
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index 8f05ffcd1f1..4e46240f170 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -47,6 +47,12 @@ class hr_timesheet_group(osv.osv):
while todo>0:
cr.execute("select hour_from,hour_to from hr_timesheet where dayofweek='%s' and tgroup_id=%s order by hour_from", (dt_from.day_of_week,id))
for (hour_from,hour_to) in cr.fetchall():
+
+ import math
+
+ hour_from = '%02d:%02d' % (math.floor(abs(hour_from)),round(abs(hour_from)%1+0.01,2) * 60)
+ hour_to = '%02d:%02d' % (math.floor(abs(hour_to)),round(abs(hour_to)%1+0.01,2) * 60)
+
h1,m1 = map(int,hour_from.split(':'))
h2,m2 = map(int,hour_to.split(':'))
d1 = DateTime.DateTime(dt_from.year,dt_from.month,dt_from.day,h1,m1)
diff --git a/addons/l10n_be/__terp__.py b/addons/l10n_be/__terp__.py
index 608ee2c1b68..a345df5dceb 100644
--- a/addons/l10n_be/__terp__.py
+++ b/addons/l10n_be/__terp__.py
@@ -34,7 +34,7 @@
* We have the account templates which can be helpful to generate Charts of Accounts.
* On that particular wizard,You will be asked to pass the name of the company,the chart template to follow,the no. of digits to generate the code for your account and Bank account,currency to create Journals.
Thus,the pure copy of Chart Template is generated.
- * This is the same wizard that runs from Financial Managament/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
+ * This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
Wizards provided by this module:
* Enlist the partners with their related VAT and invoiced amounts.Prepares an XML file format.Path to access : Financial Management/Reporting/Listing of VAT Customers.
diff --git a/addons/project/project.py b/addons/project/project.py
index b7779bb3520..6a1e1dfef6d 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -409,11 +409,15 @@ class project_work(osv.osv):
}
_order = "date desc"
def create(self, cr, uid, vals, *args, **kwargs):
+ if 'hours' in vals and (not vals['hours']):
+ vals['hours'] = 0.00
if 'task_id' in vals:
cr.execute('update project_task set remaining_hours=remaining_hours - %s where id=%s', (vals.get('hours',0.0), vals['task_id']))
return super(project_work,self).create(cr, uid, vals, *args, **kwargs)
def write(self, cr, uid, ids,vals,context={}):
+ if 'hours' in vals and (not vals['hours']):
+ vals['hours'] = 0.00
for work in self.browse(cr, uid, ids, context):
cr.execute('update project_task set remaining_hours=remaining_hours - %s + (%s) where id=%s', (vals.get('hours',0.0), work.hours, work.task_id.id))
return super(project_work,self).write(cr, uid, ids, vals, context)
diff --git a/addons/report_analytic_line/report_analytic_line_view.xml b/addons/report_analytic_line/report_analytic_line_view.xml
index f0f2311f703..ef61bd70645 100644
--- a/addons/report_analytic_line/report_analytic_line_view.xml
+++ b/addons/report_analytic_line/report_analytic_line_view.xml
@@ -7,7 +7,7 @@
report.account.analytic.line.to.invoice
form
-
+
+
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 1a55d855865..4fef9daa20e 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -563,7 +563,7 @@
-
+