From ccf9eda5083b0e689708efc1522b0e4263835990 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Tue, 17 Feb 2009 18:32:00 +0530 Subject: [PATCH 01/26] Correction for terp file processing when init and update xml are empty. bzr revid: jvo@tinyerp.com-20090217130200-06hgldmh757pacqt --- bin/addons/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 8bcb50d27a9..63c533f76ac 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -593,6 +593,11 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): idref = {} status['progress'] = (float(statusi)+0.4) / len(graph) + + mode = 'update' + if package.state == 'to install': + mode = 'init' + if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'): has_updates = True init_module_objects(cr, m, modules) From 9617fd20022ae00ed2ce5c8ae909e2a9c70b2333 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 17 Feb 2009 16:01:35 +0100 Subject: [PATCH 02/26] [FIX] bugfix child_of in expressions (to backport to 5.0 branch if no bug is reported) bzr revid: christophe@cobalt-20090217150135-q8j3efqz56ov7v0g --- bin/osv/expression.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/osv/expression.py b/bin/osv/expression.py index 24e2c9a8d33..2ee1492ddd0 100644 --- a/bin/osv/expression.py +++ b/bin/osv/expression.py @@ -72,7 +72,7 @@ class expression(object): if not self.__exp: return self - def _rec_get(ids, table, parent, left='id', prefix=''): + def _rec_get(ids, table, parent=None, left='id', prefix=''): if table._parent_store and (not table.pool._init): # TODO: Improve where joins are implemented for many with '.', replace by: # doms += ['&',(prefix+'.parent_left','<',o.parent_right),(prefix+'.parent_left','>=',o.parent_left)] @@ -90,7 +90,7 @@ class expression(object): return [] ids2 = table.search(cr, uid, [(parent, 'in', ids)], context=context) return ids + rg(ids2, table, parent) - return [(left, 'in', rg(ids, table, parent))] + return [(left, 'in', rg(ids, table, parent or table._parent_name))] self.__main_table = table @@ -114,7 +114,7 @@ class expression(object): field = working_table._columns.get(fargs[0], False) if not field: if left == 'id' and operator == 'child_of': - dom = _rec_get(right, working_table, working_table._parent_name) + dom = _rec_get(right, working_table) self.__exp = self.__exp[:i] + dom + self.__exp[i+1:] continue @@ -167,7 +167,7 @@ class expression(object): return ids return self.__execute_recursive_in(cr, field._id1, field._rel, field._id2, ids) - dom = _rec_get(ids2, field_obj, working_table._parent_name) + dom = _rec_get(ids2, field_obj) ids2 = field_obj.search(cr, uid, dom, context=context) self.__exp[i] = ('id', 'in', _rec_convert(ids2)) else: @@ -185,9 +185,9 @@ class expression(object): self.__operator = 'in' if field._obj != working_table._name: - dom = _rec_get(ids2, field_obj, working_table._parent_name, left=left, prefix=field._obj) + dom = _rec_get(ids2, field_obj, left=left, prefix=field._obj) else: - dom = _rec_get(ids2, working_table, left) + dom = _rec_get(ids2, working_table, parent=left) self.__exp = self.__exp[:i] + dom + self.__exp[i+1:] else: if isinstance(right, basestring): # and not isinstance(field, fields.related): From 765f4946b27c9dc15f14ab40045acea0ab86aa93 Mon Sep 17 00:00:00 2001 From: qdp Date: Wed, 18 Feb 2009 15:51:39 +0100 Subject: [PATCH 03/26] [FIX] bugfixed the order of computing records for store={} fields. There was a problem for fields that were dependant on same object like the membership_state field on res_partner that depend on free_member field of res_partner: store = { 'account.invoice':(_get_invoice_partner,['state'], 10), 'membership.membership_line':(_get_partner_id,['state'], 10), 'res.partner':(_get_partners, ['free_member'], 10) } bzr revid: qdp@tinyerp.com-20090218145139-1qnenq2z9dk3oj21 --- bin/osv/orm.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 1a9b2cc3396..6644142517c 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -2491,15 +2491,20 @@ class orm(orm_template): for id in filter(None, ids2): result[fncts[fnct][0]].setdefault(id, []) result[fncts[fnct][0]][id].append(fnct) - result2 = [] + dict = {} for object in result: k2 = {} for id,fnct in result[object].items(): k2.setdefault(tuple(fnct), []) k2[tuple(fnct)].append(id) for fnct,id in k2.items(): - result2.append((fncts[fnct[0]][4],object,id,map(lambda x: fncts[x][1], fnct))) - result2.sort() + dict.setdefault(fncts[fnct[0]][4],[]) + dict[fncts[fnct[0]][4]].append((fncts[fnct[0]][4],object,id,map(lambda x: fncts[x][1], fnct))) + result2 = [] + tmp = dict.keys() + tmp.sort() + for k in tmp: + result2+=dict[k] return result2 def _store_set_values(self, cr, uid, ids, fields, context): From ccb20af4d2607d9c34eb0249f3e1203034705751 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Wed, 18 Feb 2009 17:15:02 +0100 Subject: [PATCH 04/26] [MERGE] backport - Add the missing corporate_defaults.xsl file in the base/report directory bzr revid: stephane@tinyerp.com-20090218161502-umyz7bg4h5aq6qld --- bin/addons/base/report/corporate_defaults.xsl | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 bin/addons/base/report/corporate_defaults.xsl diff --git a/bin/addons/base/report/corporate_defaults.xsl b/bin/addons/base/report/corporate_defaults.xsl new file mode 100644 index 00000000000..de2ef8ee2e1 --- /dev/null +++ b/bin/addons/base/report/corporate_defaults.xsl @@ -0,0 +1,96 @@ + + + + + Open ERP Report + 1cm + 1cm + 1cm + 1cm + 21cm,29.7cm + + a4_letter + + + + + + + + 1cm 25.4cm 20cm 25.4cm + + + + + + + + + + - + + + Phone: + + Mail: + + + + + + 1.5cm 1.2cm 19.9cm 1.2cm + + + Your contact : + + + + + + + + + + + 1cm 25.4cm 20cm 25.4cm + + + + + + + + + + - + + + Phone: + + Mail: + + + + + 1.5cm 1.2cm 19.9cm 1.2cm + + + + + + + + + + + + + + + + + + + + + From 80cf5fa4ff89e17befd59dfd87bff88bb7817e00 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Thu, 19 Feb 2009 15:10:19 +0530 Subject: [PATCH 05/26] [FIX] Bug 329357 : Copy method problem of Accounts. bzr revid: jvo@tinyerp.com-20090219094019-60blsbihme7s9lcx --- addons/account/account.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index cd0c8b59406..23635b298ac 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -371,19 +371,21 @@ class account_account(osv.osv): res.append((record['id'], name)) return res - def copy(self, cr, uid, id, default={}, context={}, done_list=[]): + def copy(self, cr, uid, id, default={}, context={}, done_list=[], local=False): account = self.browse(cr, uid, id, context=context) new_child_ids = [] if not default: default = {} default = default.copy() default['parent_id'] = False + if not local: + done_list = [] if account.id in done_list: return False done_list.append(account.id) if account: for child in account.child_id: - child_ids = self.copy(cr, uid, child.id, default, context=context, done_list=done_list) + child_ids = self.copy(cr, uid, child.id, default, context=context, done_list=done_list, local=True) if child_ids: new_child_ids.append(child_ids) default['child_parent_ids'] = [(6, 0, new_child_ids)] From 1e2f825ba76c59fb010552d50ebcc3ff58368e1c Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Thu, 19 Feb 2009 16:28:47 +0530 Subject: [PATCH 06/26] [FIX] Bug 331474 : Tasks had wrong domain(ref:Christophe Chauvet) bzr revid: jvo@tinyerp.com-20090219105847-bzt30d9l6q1kb6ye --- addons/project/project_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 31e8ebcee2c..0c216b99407 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -416,7 +416,7 @@ project.task form tree,form,calendar,graph - [('user_id', '=', uid),('state','=','open'))] + [('user_id', '=', uid),('state','=','open')] @@ -425,7 +425,7 @@ project.task form tree,form,calendar,graph - [('user_id', '=', uid),('state','=','draft'))] + [('user_id', '=', uid),('state','=','draft')] From 6e75c64d3bf379eeb319df687fbc1dfe4edf7b83 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Thu, 19 Feb 2009 17:42:05 +0530 Subject: [PATCH 07/26] bug fix (313339): membership module state changes problem and associate membership bzr revid: mra@tinyerp.com-20090219121205-0fgh5w0e69ctefga --- addons/membership/membership.py | 16 ++++------------ .../membership/wizard/invoice_membership.py | 19 ++++--------------- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 5c288ed5c98..86b09aa4f55 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -289,15 +289,8 @@ class Partner(osv.osv): if partner_data.free_member and s!=0: res[id] = 'free' if partner_data.associate_member: - associate_partners_list = [] - query="SELECT DISTINCT associate_member FROM res_partner" - cr.execute(query) - for p in cr.fetchall(): - if p != partner_data.id: - associate_partners_list.append(p) - if associate_partners_list != []: - self._membership_state(cr, uid, associate_partners_list, name, args, context) - res[id] = partner_data.associate_member.membership_state + res_state = self._membership_state(cr, uid, [partner_data.associate_member.id], name, args, context) + res[id] = res_state[partner_data.associate_member.id] return res def _membership_start(self, cr, uid, ids, name, args, context=None): @@ -372,7 +365,7 @@ class Partner(osv.osv): selection = STATE ,store = { 'account.invoice':(_get_invoice_partner,['state'], 10), 'membership.membership_line':(_get_partner_id,['state'], 10), - 'res.partner':(_get_partners, ['free_member'], 10) + 'res.partner':(_get_partners, ['free_member', 'membership_state'], 10) } ), 'membership_start': fields.function( @@ -710,8 +703,6 @@ class ReportPartnerMemberYearNew(osv.osv): """) ReportPartnerMemberYearNew() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - class account_invoice_line(osv.osv): _inherit='account.invoice.line' @@ -767,3 +758,4 @@ class account_invoice_line(osv.osv): }) return result account_invoice_line() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/membership/wizard/invoice_membership.py b/addons/membership/wizard/invoice_membership.py index 1321bb38491..ce048e41611 100644 --- a/addons/membership/wizard/invoice_membership.py +++ b/addons/membership/wizard/invoice_membership.py @@ -27,9 +27,7 @@ import time def _invoice_membership(self, cr, uid, data, context): partner_ids = data['ids'] product_id = data['form']['product'] - pool = pooler.get_pool(cr.dbname) - cr.execute(''' SELECT partner_id, id, type FROM res_partner_address @@ -44,12 +42,10 @@ def _invoice_membership(self, cr, uid, data, context): pid = fetchal[x][0] id = fetchal[x][1] type = fetchal[x][2] - if partner_address_ids.has_key(pid) and partner_address_ids[pid]['type'] == 'invoice': continue partner_address_ids[pid] = {'id': id, 'type': type} - invoice_list= [] invoice_obj = pool.get('account.invoice') partner_obj = pool.get('res.partner') @@ -67,28 +63,27 @@ def _invoice_membership(self, cr, uid, data, context): } quantity = 1 - line_dict = invoice_line_obj.product_id_change(cr, uid, {}, product_id, product['uom_id'][0], quantity, '', 'out_invoice', partner_id, fpos_id, context=context) line_value.update(line_dict['value']) if line_value['invoice_line_tax_id']: tax_tab = [(6, 0, line_value['invoice_line_tax_id'])] line_value['invoice_line_tax_id'] = tax_tab - invoice_line_id = invoice_line_obj.create(cr, uid, line_value) invoice_id = invoice_obj.create(cr, uid, { 'partner_id' : partner_id, 'address_invoice_id': partner_address_ids[partner_id]['id'], 'account_id': account_id, - 'invoice_line':[(6,0,[invoice_line_id])], 'fiscal_position': fpos_id or False } ) + line_value['invoice_id'] = invoice_id + invoice_line_id = invoice_line_obj.create(cr, uid, line_value, context) + invoice_obj.write(cr, uid, invoice_id, {'invoice_line':[(6,0,[invoice_line_id])]}) invoice_list.append(invoice_id) if line_value['invoice_line_tax_id']: invoice_obj.write(cr, uid, [invoice_id], {'tax_line':tax_tab}) tax_value = invoice_tax_obj.compute(cr, uid, invoice_id).values()[0] invoice_tax_obj.create(cr, uid, tax_value) - value = { 'domain': [ ('id', 'in', invoice_list), @@ -99,7 +94,6 @@ def _invoice_membership(self, cr, uid, data, context): 'res_model': 'account.invoice', 'type': 'ir.actions.act_window', } - return value wizard_arch= """ @@ -111,12 +105,9 @@ wizard_arch= """ /> """ - - class wizard_invoice_membership(wizard.interface): states = { - 'init' : { 'actions' : [], 'result' : { @@ -132,7 +123,6 @@ class wizard_invoice_membership(wizard.interface): }, 'state' : [('end', 'Cancel'),('ok', 'Confirm') ]} }, - 'ok' : { 'actions' : [], 'result' : {'type' : 'action', @@ -145,5 +135,4 @@ class wizard_invoice_membership(wizard.interface): wizard_invoice_membership("wizard_invoice_membership") -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file From fde86da31169d7c4adec6918faaaaf1af838fa5f Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Fri, 20 Feb 2009 10:57:55 +0530 Subject: [PATCH 08/26] Fix : modify domain which open associate members in list (membership) bzr revid: mra@tinyerp.com-20090220052755-z6f4ngvec4dbkfol --- addons/membership/membership_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml index 5d81d47fb8e..2dd381c65eb 100644 --- a/addons/membership/membership_view.xml +++ b/addons/membership/membership_view.xml @@ -190,7 +190,7 @@ Associated members res.partner - [('membership_state', '=', 'associated')] + [('associate_member', '!=', False), ('membership_state', '!=', 'none')] From 09cbed985d8f31c43c1ff830856f5fc889e90cdc Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Fri, 20 Feb 2009 16:08:02 +0530 Subject: [PATCH 09/26] Correction bzr revid: jvo@tinyerp.com-20090220103802-ddts5amdr34236eo --- bin/addons/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 63c533f76ac..00a12ee784b 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -595,7 +595,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): status['progress'] = (float(statusi)+0.4) / len(graph) mode = 'update' - if package.state == 'to install': + if hasattr(package, 'init') or package.state == 'to install': mode = 'init' if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'): @@ -603,9 +603,9 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): init_module_objects(cr, m, modules) for kind in ('init', 'update'): for filename in package.data.get('%s_xml' % kind, []): - mode = 'update' - if hasattr(package, 'init') or package.state == 'to install': - mode = 'init' +# mode = 'update' +# if hasattr(package, 'init') or package.state == 'to install': +# mode = 'init' logger.notifyChannel('init', netsvc.LOG_INFO, 'module %s: loading %s' % (m, filename)) name, ext = os.path.splitext(filename) fp = tools.file_open(opj(m, filename)) From 349a2f37633ae50e2e99269061b7786dfdc71378 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Wed, 25 Feb 2009 16:44:35 +0530 Subject: [PATCH 10/26] Ir_rule corrected(ref:Corentin Pouhet-Brunerie) bzr revid: jvo@tinyerp.com-20090225111435-6e2pee1j2b6721id --- bin/addons/base/ir/ir_rule.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py index 18fd97c4bd9..fdfa82ec002 100644 --- a/bin/addons/base/ir/ir_rule.py +++ b/bin/addons/base/ir/ir_rule.py @@ -105,18 +105,17 @@ class ir_rule(osv.osv): def _domain_force_get(self, cr, uid, ids, field_name, arg, context={}): res = {} for rule in self.browse(cr, uid, ids, context): + eval_user_data = {'user': self.pool.get('res.users').browse(cr, 1, uid), + 'time':time} if rule.domain_force: - res[rule.id] = eval(rule.domain_force, {'user': self.pool.get('res.users').browse(cr, 1, uid), - 'time':time}) + res[rule.id] = eval(rule.domain_force, eval_user_data) else: if rule.operator in ('in', 'child_of'): dom = eval("[('%s', '%s', [%s])]" % (rule.field_id.name, rule.operator, - rule.operand), {'user': self.pool.get('res.users').browse(cr, 1, uid), - 'time':time}) + eval(rule.operand,eval_user_data)), eval_user_data) else: dom = eval("[('%s', '%s', %s)]" % (rule.field_id.name, rule.operator, - rule.operand), {'user': self.pool.get('res.users').browse(cr, 1, uid), - 'time':time}) + rule.operand), eval_user_data) res[rule.id] = dom return res From 8bcdd313adf2c88763316ebc9d9766a68de8e7d4 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Wed, 25 Feb 2009 17:04:40 +0530 Subject: [PATCH 11/26] [FIX] Bug 333872 : Corrected stock bzr revid: jvo@tinyerp.com-20090225113440-0sxjcwpmxoyfj20l --- addons/stock/stock.py | 10 +++++----- addons/stock/wizard/wizard_invoice_onshipping.py | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 197b3eb15e5..f94c274256c 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -665,15 +665,15 @@ class stock_picking(osv.osv): invoice_id = invoices_group[partner.id] invoice=invoice_obj.browse(cursor, user,invoice_id) invoice_vals = { - 'name': invoice.name +', '+picking.name, - 'origin': invoice.origin+', '+picking.name+(picking.origin and (':' + picking.origin) or ''), + 'name': invoice.name +', '+str(picking.name or ''), + 'origin': invoice.origin+', '+str(picking.name or '')+(picking.origin and (':' + picking.origin) or ''), 'comment':(comment and (invoice.comment and invoice.comment+"\n"+comment or comment)) or (invoice.comment and invoice.comment or ''), } invoice_obj.write(cursor, user, [invoice_id],invoice_vals,context=context) else: invoice_vals = { 'name': picking.name, - 'origin': picking.name + (picking.origin and (':' + picking.origin) or ''), + 'origin': str(picking.name or '') + (picking.origin and (':' + picking.origin) or ''), 'type': type, 'account_id': account_id, 'partner_id': partner.id, @@ -697,7 +697,7 @@ class stock_picking(osv.osv): if move_line.picking_id.origin: origin+=':' + move_line.picking_id.origin if group: - name = picking.name + '-' + move_line.name + name = str(picking.name or '') + '-' + move_line.name else: name = move_line.name @@ -911,7 +911,7 @@ class stock_move(osv.osv): ['prodlot_id'])] def _default_location_destination(self, cr, uid, context={}): if context.get('move_line', []): - return context['move_line'][0][2]['location_dest_id'] + return context['move_line'][0][2] and context['move_line'][0][2]['location_dest_id'] or False if context.get('address_out_id', False): return self.pool.get('res.partner.address').browse(cr, uid, context['address_out_id'], context).partner_id.property_stock_customer.id return False diff --git a/addons/stock/wizard/wizard_invoice_onshipping.py b/addons/stock/wizard/wizard_invoice_onshipping.py index eeacca878e3..f2775c1be5c 100644 --- a/addons/stock/wizard/wizard_invoice_onshipping.py +++ b/addons/stock/wizard/wizard_invoice_onshipping.py @@ -67,9 +67,9 @@ def _get_type(obj, cr, uid, data, context): usage = 'customer' pick = picking_obj.browse(cr, uid, data['id'], context) if pick.invoice_state=='invoiced': - raise wizard.except_wizard('UserError','Invoice is already created') + raise wizard.except_wizard('UserError','Invoice is already created.') if pick.invoice_state=='none': - raise wizard.except_wizard('UserError','Invoice can not create from Packing') + raise wizard.except_wizard('UserError','Invoice cannot be created from Packing.') if pick.move_lines: usage=pick.move_lines[0].location_id.usage From aafc10a79225dcb7d98ea977f0ca536a70603f6f Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Thu, 26 Feb 2009 12:55:11 +0530 Subject: [PATCH 12/26] [Fix] Bug 333273:Report_sxw corrected(ref : Davide Corio) bzr revid: jvo@tinyerp.com-20090226072511-3b6lwffdat01xvum --- bin/report/report_sxw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py index 8e0537cf933..9c653513bb1 100644 --- a/bin/report/report_sxw.py +++ b/bin/report/report_sxw.py @@ -520,7 +520,7 @@ class rml_parse(object): rml_head = rml_head.replace('','') - head_dom = xml.dom.minidom.parseString(rml_head) + head_dom = xml.dom.minidom.parseString(rml_head.encode('utf-8')) #for frame in head_dom.getElementsByTagName('frame'): # frame.parentNode.removeChild(frame) node2 = head_dom.documentElement From 21ca788ccaee75c1213a3802bfd734e3655237ca Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 4 Mar 2009 11:08:43 +0100 Subject: [PATCH 13/26] =?UTF-8?q?[FIX]=20l10n=5Ffr:=20remove=20duplicate?= =?UTF-8?q?=20report=20(thanks=20to=20R=C3=A9pInfo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bzr revid: christophe@tinyerp.com-20090304100843-mgxb87xyrel8j91z --- addons/l10n_fr/l10n_fr_pcg_account_report.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/addons/l10n_fr/l10n_fr_pcg_account_report.xml b/addons/l10n_fr/l10n_fr_pcg_account_report.xml index 22606850ca6..3e195d4f8f4 100644 --- a/addons/l10n_fr/l10n_fr_pcg_account_report.xml +++ b/addons/l10n_fr/l10n_fr_pcg_account_report.xml @@ -55,17 +55,6 @@ - - - - - - - - - - - From ad2bc76a2c2cbaf4a172ba2e9f0036cbe7759358 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Wed, 4 Mar 2009 17:22:19 +0530 Subject: [PATCH 14/26] fix bug : 337680 bzr revid: mra@tinyerp.com-20090304115219-rsk3z1fliz6ck4az --- addons/account/wizard/wizard_pay_invoice.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/account/wizard/wizard_pay_invoice.py b/addons/account/wizard/wizard_pay_invoice.py index a87ba6047e2..2baba87e51d 100644 --- a/addons/account/wizard/wizard_pay_invoice.py +++ b/addons/account/wizard/wizard_pay_invoice.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- ############################################################################## # -# OpenERP, Open Source Management Solution +# OpenERP, Open Source Management Solution # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved # $Id$ # @@ -111,8 +111,8 @@ def _get_period(self, cr, uid, data, context={}): if len(ids): period_id = ids[0] invoice = pool.get('account.invoice').browse(cr, uid, data['id'], context) - if invoice.state == 'draft': - raise wizard.except_wizard(_('Error !'), _('Can not pay draft invoice.')) + if invoice.state in ['draft', 'proforma2', 'cancel']: + raise wizard.except_wizard(_('Error !'), _('Can not pay draft/proforma/cancel invoice.')) return { 'period_id': period_id, 'amount': invoice.residual, From f97b6d1f01cde13598f4b5e3de9bf848395fff82 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Thu, 5 Mar 2009 15:39:36 +0530 Subject: [PATCH 18/26] bug fix on credit note of invoice bzr revid: mra@tinyerp.com-20090305100936-q14kqxspt9zc6vd0 --- addons/account/wizard/wizard_refund.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/wizard/wizard_refund.py b/addons/account/wizard/wizard_refund.py index 85ecb258971..90a9ce76c11 100644 --- a/addons/account/wizard/wizard_refund.py +++ b/addons/account/wizard/wizard_refund.py @@ -63,8 +63,8 @@ class wiz_refund(wizard.interface): period = False description = False for inv in pool.get('account.invoice').browse(cr, uid, data['ids']): - if inv.state == 'draft': - raise wizard.except_wizard(_('Error !'), _('Can not %s draft invoice.') % (mode)) + if inv.state in ['draft', 'proforma2', 'cancel']: + raise wizard.except_wizard(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode)) if form['period'] : period = form['period'] else: From f50eb4d19ef03086b88f20f8996553171694b600 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 5 Mar 2009 13:09:28 +0100 Subject: [PATCH 20/26] [FIX] ir_values is now ir_rules aware bzr revid: christophe@tinyerp.com-20090305120928-i0v8j7jm20ajbmjt --- bin/addons/base/ir/ir_values.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/addons/base/ir/ir_values.py b/bin/addons/base/ir/ir_values.py index 5b64622f356..7965c88790a 100644 --- a/bin/addons/base/ir/ir_values.py +++ b/bin/addons/base/ir/ir_values.py @@ -21,6 +21,7 @@ ############################################################################## from osv import osv,fields +from osv.orm import except_orm import pickle from tools.translate import _ @@ -225,7 +226,10 @@ class ir_values(osv.osv): del fields[pos] else: pos+=1 - datas = self.pool.get(model).read(cr, uid, [id], fields, context) + try: + datas = self.pool.get(model).read(cr, uid, [id], fields, context) + except except_orm: + return False datas= datas and datas[0] or None if not datas: #ir_del(cr, uid, x[0]) From 11b72020eead2146d1f1d9c22f8e5c6ccbca964c Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Fri, 6 Mar 2009 10:33:10 +0100 Subject: [PATCH 24/26] [FIX] Add the required flag and set the value to True [IMP] Add a new "note" field in the object and in the view bzr revid: stephane@tinyerp.com-20090306093310-9k4ap5m2heosd5wf --- addons/mrp/mrp.py | 3 ++- addons/mrp/mrp_view.xml | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index b4388f6d19b..cb9e1500f52 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -797,7 +797,8 @@ class mrp_procurement(osv.osv): ('cancel','Cancel'), ('ready','Ready'), ('done','Done'), - ('waiting','Waiting')], 'Status') + ('waiting','Waiting')], 'Status', required=True), + 'note' : fields.text('Note'), } _defaults = { 'state': lambda *a: 'draft', diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index e977758e1d4..2093c51396d 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -711,6 +711,10 @@ + + + + From 284eb997964daa4b1a505e3d2f8bec55ddc88185 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 11 Mar 2009 14:34:51 +0100 Subject: [PATCH 25/26] [IMP] crm: add default date bzr revid: christophe@tinyerp.com-20090311133451-46a08rdfdoqzfnjl --- addons/crm/crm.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/crm/crm.py b/addons/crm/crm.py index f634475d942..bee8b550817 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -388,6 +388,7 @@ class crm_case(osv.osv): 'email_from': _get_default_email, 'state': lambda *a: 'open', 'priority': lambda *a: AVAILABLE_PRIORITIES[2][0], + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), } _order = 'priority, date_deadline desc, date desc,id desc' From e3c53d3f720d0c91b07ba93892fe563cb2c3e6c2 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 11 Mar 2009 14:37:53 +0100 Subject: [PATCH 26/26] [FIX] account: fix super call bzr revid: christophe@tinyerp.com-20090311133753-jd1gah5a0e0i3bzd --- addons/account/account.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index 23635b298ac..449a58f136d 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -470,7 +470,7 @@ class account_journal(osv.osv): 'user_id': lambda self,cr,uid,context: uid, } def create(self, cr, uid, vals, context={}): - journal_id = super(osv.osv, self).create(cr, uid, vals, context) + journal_id = super(account_journal, self).create(cr, uid, vals, context) # journal_name = self.browse(cr, uid, [journal_id])[0].code # periods = self.pool.get('account.period') # ids = periods.search(cr, uid, [('date_stop','>=',time.strftime('%Y-%m-%d'))]) @@ -481,6 +481,7 @@ class account_journal(osv.osv): # 'period_id': period.id # }) return journal_id + def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80): if not args: args=[]