From 60de30c62feb3ee2bff5e700d55efece75a47975 Mon Sep 17 00:00:00 2001 From: "ATP (OpenERP)" <> Date: Sat, 10 Jul 2010 13:55:32 +0530 Subject: [PATCH 1/3] [Fix]: project_retro_planning: Fix the problem of dateformat in yml bzr revid: sbh@tinyerp.com-20100710082532-suz4vr7ir9xate1e --- .../test/deadline_change.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/project_retro_planning/test/deadline_change.yml b/addons/project_retro_planning/test/deadline_change.yml index 717dccd5d97..b5f65d5b6eb 100644 --- a/addons/project_retro_planning/test/deadline_change.yml +++ b/addons/project_retro_planning/test/deadline_change.yml @@ -3,10 +3,9 @@ - !record {model: project.project, id: project_project_retroplanning0}: company_id: base.main_company - date: '2010-06-10' + date: !eval time.strftime('%Y-%m-%d') name: Retro Planning - - Create task 'Plan all projects' - @@ -19,12 +18,11 @@ project_id: project_project_retroplanning0 remaining_hours: 24.0 state: draft - - Check if task deadline_date and start_date changes upon changing its project's end_date - !python {model: project.project}: | - from datetime import datetime, date + from datetime import datetime, date, timedelta import time data_project = self.browse(cr,uid,[ref("project_project_retroplanning0")]) prj = data_project[0] @@ -32,17 +30,19 @@ if prj.date: old_end_date = date(*time.strptime(prj.date,'%Y-%m-%d')[:3]) if old_end_date: - new_end_date = date(*time.strptime('2010-06-10','%Y-%m-%d')[:3]) + new_end_date = date.today()+timedelta(1) res={} for task in prj.tasks: start_dt = (datetime(*time.strptime(task.date_start,'%Y-%m-%d %H:%M:%S')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d %H:%M:%S') deadline_dt='' if task.date_deadline: - deadline_dt = (datetime(*time.strptime(task.date_deadline,'%Y-%m-%d')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d') + deadline_dt = (datetime(*time.strptime(task.date_deadline,'%Y-%m-%d')[:6])+(new_end_date-old_end_date)).strftime('%Y-%m-%d') res[task.id]=[start_dt,deadline_dt] - self.write(cr, uid, [ref("project_project_retroplanning0")], {'date':'2010-06-10'}) + self.write(cr, uid, [ref("project_project_retroplanning0")], {'date' : (datetime.datetime.now()+datetime.timedelta(1)).strftime('%Y-%m-%d') +}) data_project = self.browse(cr,uid,[ref("project_project_retroplanning0")]) prj = data_project[0] + for task in prj.tasks: assert task.date_start == res[task.id][0], "task start date differs, expected %s, got %s"%(res[task.id][0], task.date_start) assert task.date_deadline == res[task.id][1], "task deadline date differs, expected %s, got %s"%(res[task.id][1], task.date_deadline) \ No newline at end of file From 6102a64b4fa0bcf03e792d331b32b90c9efcb4a1 Mon Sep 17 00:00:00 2001 From: "sbh (Open ERP)" Date: Sat, 10 Jul 2010 13:58:03 +0530 Subject: [PATCH 2/3] [ADD] purchase: Add the yml of procument bzr revid: sbh@tinyerp.com-20100710082803-jsyzlbttjqdmfo7x --- addons/purchase/purchase_workflow.xml | 1 + addons/purchase/test/procurement_buy.yml | 109 +++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 addons/purchase/test/procurement_buy.yml diff --git a/addons/purchase/purchase_workflow.xml b/addons/purchase/purchase_workflow.xml index a194cd16713..d14530e5f48 100644 --- a/addons/purchase/purchase_workflow.xml +++ b/addons/purchase/purchase_workflow.xml @@ -103,6 +103,7 @@ + purchase_approve diff --git a/addons/purchase/test/procurement_buy.yml b/addons/purchase/test/procurement_buy.yml new file mode 100644 index 00000000000..011e70d0cdc --- /dev/null +++ b/addons/purchase/test/procurement_buy.yml @@ -0,0 +1,109 @@ +- + In order to test the procurement with product type buy in OpenERP, I will create product + and then I will create procurement for this product. +- + I create product. +- + !record {model: product.product, id: product_product_cddrive0}: + categ_id: product.product_category_3 + cost_method: standard + mes_type: fixed + name: CD drive + procure_method: make_to_order + supply_method: buy + type: product + uom_id: product.product_uom_unit + uom_po_id: product.product_uom_unit + valuation: manual_periodic + volume: 0.0 + warranty: 0.0 + weight: 0.0 + weight_net: 0.0 + seller_ids: + - delay: 1 + name: base.res_partner_asus + qty: 5.0 +- + I create procurement order. +- + !record {model: procurement.order, id: procurement_order_testcase0}: + company_id: base.main_company + date_planned: '2010-07-07 15:38:53' + location_id: stock.stock_location_stock + name: Test Case + priority: '1' + procure_method: make_to_order + product_id: product_product_cddrive0 + product_qty: 5.0 + product_uom: product.product_uom_unit + product_uos: product.product_uom_unit + product_uos_qty: 0.0 + state: draft +- + I confirm on procurement order. +- + !workflow {model: procurement.order, action: button_confirm, ref: procurement_order_testcase0} +- + I run the scheduler. +- + !workflow {model: procurement.order, action: button_check, ref: procurement_order_testcase0} +- + I check that purchase order is generated. +- + !python {model: procurement.order}: | + from tools.translate import _ + proc_ids = self.browse(cr, uid, [ref('procurement_order_testcase0')])[0] + assert(proc_ids.purchase_id), _('Purchase Order is not Created!') +- + I check the state is running. +- + !python {model: procurement.order}: | + from tools.translate import _ + proc_ids = self.browse(cr, uid, [ref('procurement_order_testcase0')])[0] + assert(proc_ids.state == 'running'), _('Exception') +- + I confirm and Approve the purchase order. +- + !python {model: purchase.order}: | + procurement_obj = self.pool.get('procurement.order') + proc_ids = procurement_obj.browse(cr, uid, [ref('procurement_order_testcase0')])[0] + import netsvc + wf_service = netsvc.LocalService("workflow") + wf_service.trg_validate(uid, 'purchase.order',proc_ids.purchase_id.id,'purchase_confirm', cr) + wf_service.trg_validate(uid, 'purchase.order',proc_ids.purchase_id.id,'purchase_approve', cr) +- + I receive the order of the supplier ASUStek from the Incoming Shipments menu. +- + !python {model: stock.picking }: | + import time + procurement_obj = self.pool.get('procurement.order') + proc_ids = procurement_obj.browse(cr, uid, [ref('procurement_order_testcase0')])[0] + picking_id = self.search(cr, uid, [('origin', '=', proc_ids.purchase_id.name)]) + if picking_id: + pick=self.browse(cr,uid,picking_id[0]) + move =pick.move_lines[0] + partial_datas = { + 'partner_id':pick.address_id.partner_id.id, + 'address_id': pick.address_id.id, + 'delivery_date' : time.strftime('%Y-%m-%d') + } + partial_datas['move%s'%(move.id)]= { + 'product_id': move.product_id, + 'product_qty': move.product_qty, + 'product_uom': move.product_uom.id, + } + self.do_partial(cr, uid, picking_id,partial_datas) +- + I confirm the Reservation. +- + !python {model: stock.move }: | + procurement_obj = self.pool.get('procurement.order') + proc_ids = procurement_obj.browse(cr, uid, [ref('procurement_order_testcase0')])[0] + self.action_done(cr,uid,[proc_ids.move_id.id]) +- + I check the state is Done. +- + !python {model: procurement.order}: | + from tools.translate import _ + proc_ids = self.browse(cr, uid, [ref('procurement_order_testcase0')])[0] + assert(proc_ids.state == 'done'), _('Order is not in done state') From 2128bb753a14157a7afaa7976e7e28ed3268f9d5 Mon Sep 17 00:00:00 2001 From: "Vir (Open ERP)" Date: Sat, 10 Jul 2010 14:46:49 +0530 Subject: [PATCH 3/3] [Fix] Event : problem badge and product are fixed bzr revid: vir@tinyerp.com-20100710091649-qxgphaf6v4dwy029 --- addons/event/event.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/event/event.py b/addons/event/event.py index 73ff7f6755a..8efa132477b 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -454,7 +454,7 @@ and users by email"), contact_id = self.pool.get('res.partner.contact').browse(cr, uid, contact) data['badge_name'] = contact_id.name - data['badge_title'] = contact_id.title + data['badge_title'] = contact_id.title.name if partner: partner_addresses = self.pool.get('res.partner.address').search(cr, uid, [('partner_id', '=', partner)]) job_ids = self.pool.get('res.partner.job').search(cr, uid, [('contact_id', '=', contact), ('address_id', 'in', partner_addresses)]) @@ -471,7 +471,9 @@ and users by email"), data_event = self.pool.get('event.event').browse(cr, uid, event_id) context['currency_id'] = data_event.currency_id.id - + if data_event.user_id.id: + return {'value': {'user_id':data_event.user_id.id}} + if data_event.product_id: if not partner_invoice_id: unit_price=self.pool.get('product.product').price_get(cr, uid, [data_event.product_id.id], context=context)[data_event.product_id.id] @@ -516,6 +518,7 @@ and users by email"), data_event = self.pool.get('event.event').browse(cr, uid, event_id) if data_event.product_id: + data['event_product']=data_event.product_id.name if not partner_invoice_id: data['unit_price']=self.pool.get('product.product').price_get(cr, uid, [data_event.product_id.id], context=context)[data_event.product_id.id] return {'value': data}