diff --git a/addons/point_of_sale/report/pos_receipt.py b/addons/point_of_sale/report/pos_receipt.py index 687519d2457..69f4bd706c2 100644 --- a/addons/point_of_sale/report/pos_receipt.py +++ b/addons/point_of_sale/report/pos_receipt.py @@ -22,6 +22,7 @@ import time from report import report_sxw +from mx.DateTime.ISO import ParseAny import pooler @@ -35,11 +36,17 @@ class order(report_sxw.rml_parse): self.localcontext.update({ 'time': time, + 'dformat': '%Y/%m/%d %H:%M:%S', 'disc': self.discount, 'net': self.netamount, + 'formatdate': self.formatdate, 'address': partner.address and partner.address[0] or False, }) + def formatdate(self, datestr): + dateobj = ParseAny(datestr) + return dateobj.strftime(self.localcontext['dformat']) + def netamount(self, order_line_id): sql = 'select (qty*price_unit) as net_price from pos_order_line where id = %s' self.cr.execute(sql, (order_line_id,)) diff --git a/addons/point_of_sale/report/pos_receipt.rml b/addons/point_of_sale/report/pos_receipt.rml index 75b5ce3f01e..067d775db2f 100644 --- a/addons/point_of_sale/report/pos_receipt.rml +++ b/addons/point_of_sale/report/pos_receipt.rml @@ -83,8 +83,8 @@ Tel : [[ address and address.phone ]] E-mail : [[ address and address.email ]] Salesman : [[ o.salesman_id.name ]] - Sale Date : [[ o.date_order ]] - Receipt Printing Date : [[ time.strftime('%d/%m/%Y %H:%M') ]] + Sale Date : [[ formatdate(o.date_order) ]] + Receipt Printing Date : [[ time.strftime(dformat) ]] diff --git a/addons/report_task/i18n/de_DE.po b/addons/report_task/i18n/de_DE.po index 90a78633d48..80aa37c3abd 100644 --- a/addons/report_task/i18n/de_DE.po +++ b/addons/report_task/i18n/de_DE.po @@ -161,4 +161,12 @@ msgstr "Fehlerhafter xml Code für diese Ansicht!" #. module: report_task #: field:report.closed.task,delay_hours:0 -ms \ No newline at end of file +msgid "Delay Hours" +msgstr "" + +#. module: report_task +#: field:report.closed.task,project_id:0 +msgid "Project" +msgstr "" + +#. module: repo \ No newline at end of file diff --git a/addons/report_task/i18n/fr_FR.po b/addons/report_task/i18n/fr_FR.po index 1aeb2b71c5a..6caaac91dc9 100644 --- a/addons/report_task/i18n/fr_FR.po +++ b/addons/report_task/i18n/fr_FR.po @@ -160,4 +160,13 @@ msgid "Invalid XML for View Architecture!" msgstr "XML non valide pour l'architecture de la vue" #. module: report_task -#: field:report.closed.task,delay_hours \ No newline at end of file +#: field:report.closed.task,delay_hours:0 +msgid "Delay Hours" +msgstr "" + +#. module: report_task +#: field:report.closed.task,project_id:0 +msgid "Project" +msgstr "" + +#. module: repo \ No newline at end of file diff --git a/addons/scrum/scrum_view.xml b/addons/scrum/scrum_view.xml index 116dd7bed13..9133f40d242 100644 --- a/addons/scrum/scrum_view.xml +++ b/addons/scrum/scrum_view.xml @@ -316,7 +316,7 @@ View sprint Tasks form tree,form - [('product_backlog_id', '=', 'S('+str(active_id)+')')] + [('product_backlog_id', '=', active_id)] diff --git a/addons/scrum/wizard/backlog_to_task.py b/addons/scrum/wizard/backlog_to_task.py index 4f578494428..4701b95ce29 100644 --- a/addons/scrum/wizard/backlog_to_task.py +++ b/addons/scrum/wizard/backlog_to_task.py @@ -46,7 +46,8 @@ def _do_create(self, cr, uid, data, context): 'description': backlog.note, 'project_id': backlog.project_id.id, 'user_id': (backlog.user_id and backlog.user_id.id) or uid, - 'priority': backlog.priority + 'priority': backlog.priority, + 'planned_hours': backlog.planned_hours })) value = { diff --git a/addons/stock/stock.py b/addons/stock/stock.py index e32bdcf3c07..3d6e9c46d68 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1405,12 +1405,16 @@ class stock_picking_move_wizard(osv.osv_memory): for act in self.read(cr,uid,ids): move_lines=move_obj.browse(cr,uid,act['move_ids']) for line in move_lines: - picking_obj.write(cr,uid,[line.picking_id.id],{'move_lines':[(1,line.id,{'picking_id':act['picking_id']})]}) - picking_obj.write(cr,uid,[act['picking_id']],{'move_lines':[(1,line.id,{'picking_id':act['picking_id']})]}) - cr.commit() - old_picking=picking_obj.read(cr,uid,[line.picking_id.id])[0] - if not len(old_picking['move_lines']): - picking_obj.write(cr,uid,[old_picking['id']],{'state':'done'}) + if line.picking_id: + picking_obj.write(cr,uid,[line.picking_id.id],{'move_lines':[(1,line.id,{'picking_id':act['picking_id']})]}) + picking_obj.write(cr,uid,[act['picking_id']],{'move_lines':[(1,line.id,{'picking_id':act['picking_id']})]}) + cr.commit() + old_picking=picking_obj.read(cr,uid,[line.picking_id.id])[0] + if not len(old_picking['move_lines']): + picking_obj.write(cr,uid,[old_picking['id']],{'state':'done'}) + else: + raise osv.except_osv(_('UserError'), + _('You can not create new moves.')) return {'type':'ir.actions.act_window_close' } stock_picking_move_wizard()