From b615996a6235ffe3426100ef87899d8bc35fce9f Mon Sep 17 00:00:00 2001 From: manu Date: Mon, 31 Oct 2011 15:58:09 +0100 Subject: [PATCH] [UPDATE] to openerp 6.1 version --- crm_claim_rma/crm_claim_rma.py | 27 ++++++++++--------- crm_claim_rma/crm_claim_rma_view.xml | 26 ++++++++++++++---- crm_claim_rma/security/ir.model.access.csv | 9 ++++--- .../wizard/exchange_from_returned_lines.py | 4 ++- .../wizard/picking_from_exchange_lines.py | 6 ++--- .../wizard/picking_from_returned_lines.py | 6 ++--- .../wizard/refund_from_returned_lines.py | 14 +++++----- .../wizard/returned_lines_from_invoice.py | 2 +- .../wizard/returned_lines_from_serial.py | 12 ++++----- product_warranty/product_warranty.py | 2 +- 10 files changed, 67 insertions(+), 41 deletions(-) diff --git a/crm_claim_rma/crm_claim_rma.py b/crm_claim_rma/crm_claim_rma.py index 7277c0ee..e340558d 100644 --- a/crm_claim_rma/crm_claim_rma.py +++ b/crm_claim_rma/crm_claim_rma.py @@ -104,20 +104,23 @@ class return_line(osv.osv): # Method to calculate warranty limit def set_warranty_limit(self, cr, uid, ids,context,return_line): - warning = "Valid" - if return_line.claim_id.claim_type == 'supplier': - if return_line.prodlot_id : - limit = (datetime.strptime(return_line.invoice_id.date_invoice, '%Y-%m-%d') + relativedelta(months=int(return_line.product_id.seller_ids[0].warranty_duration))).strftime('%Y-%m-%d') # TO BE IMPLEMENTED !!! + if return_line.invoice_id.date_invoice: + warning = "Valid" + if return_line.claim_id.claim_type == 'supplier': + if return_line.prodlot_id : + limit = (datetime.strptime(return_line.invoice_id.date_invoice, '%Y-%m-%d') + relativedelta(months=int(return_line.product_id.seller_ids[0].warranty_duration))).strftime('%Y-%m-%d') # TO BE IMPLEMENTED !!! + else : + limit = (datetime.strptime(return_line.invoice_id.date_invoice, '%Y-%m-%d') + relativedelta(months=int(return_line.product_id.seller_ids[0].warranty_duration))).strftime('%Y-%m-%d') else : - limit = (datetime.strptime(return_line.invoice_id.date_invoice, '%Y-%m-%d') + relativedelta(months=int(return_line.product_id.seller_ids[0].warranty_duration))).strftime('%Y-%m-%d') - else : - limit = (datetime.strptime(return_line.invoice_id.date_invoice, '%Y-%m-%d') + relativedelta(months=int(return_line.product_id.warranty))).strftime('%Y-%m-%d') - if limit < return_line.claim_id.date: - warning = 'Expired' - self.write(cr,uid,ids,{ + limit = (datetime.strptime(return_line.invoice_id.date_invoice, '%Y-%m-%d') + relativedelta(months=int(return_line.product_id.warranty))).strftime('%Y-%m-%d') + if limit < return_line.claim_id.date: + warning = 'Expired' + self.write(cr,uid,ids,{ 'guarantee_limit' : limit, 'warning' : warning, - }) + }) + else: + raise osv.except_osv(_('Error !'), _('Cannot find any date for invoice ! Must be a validated invoice !')) return True # Method to return the partner delivery address or if none, the default address @@ -243,7 +246,7 @@ class crm_claim_product_return(osv.osv): _description = "Add product return functionalities, product exchange and aftersale outsourcing to CRM claim" _inherit = 'crm.claim' _columns = { - 'sequence': fields.char('Sequence', size=128, required=True,readonly=True, help="Company internal claim unique number"), + 'sequence': fields.char('Sequence', size=128,readonly=True,states={'draft': [('readonly', False)]},required=True, help="Company internal claim unique number"), 'claim_type': fields.selection([('customer','Customer'), ('supplier','Supplier'), ('other','Other')], 'Claim type', required=True, help="customer = from customer to company ; supplier = from company to supplier"), diff --git a/crm_claim_rma/crm_claim_rma_view.xml b/crm_claim_rma/crm_claim_rma_view.xml index 6859cba1..222d9ce1 100644 --- a/crm_claim_rma/crm_claim_rma_view.xml +++ b/crm_claim_rma/crm_claim_rma_view.xml @@ -101,7 +101,7 @@ - + @@ -283,18 +283,34 @@ + + + +