From 9ba3031e879c4f9c65d96f538cfffe98a7e083dd Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Thu, 20 May 2010 09:53:42 +0200 Subject: [PATCH 1/7] [IMP] fix on project views bzr revid: fp@tinyerp.com-20100520075342-qtnhmzst2j5nyioq --- addons/project/project_view.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index ef7919356fa..8b65468c158 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -423,10 +423,10 @@ - - - - + + + + From edf42894039e41e8af69024034574c1653415042 Mon Sep 17 00:00:00 2001 From: Quentin De Paoli Date: Thu, 20 May 2010 11:34:53 +0200 Subject: [PATCH 2/7] [FIX] mrp/mrp_procurement: commited work of team1 bzr revid: qdp@cyan-20100520093453-suu4n8d0305gb19j --- addons/mrp/__openerp__.py | 6 +- addons/mrp/mrp_view.xml | 23 +- addons/mrp/mrp_workflow.xml | 34 +- .../mrp/report/mrp_production_order_view.xml | 6 +- addons/mrp/report/order.rml | 95 ++++- addons/mrp/test/mrp_phantom_bom.yml | 16 +- addons/mrp/test/mrp_procurement.yml | 336 ++++++++++++++++++ addons/mrp/test/mrp_production_order.yml | 12 +- .../mrp_procurement/mrp_procurement_view.xml | 21 +- .../mrp_procurement_workflow.xml | 58 +-- addons/project_mrp/project_mrp_workflow.xml | 4 +- 11 files changed, 494 insertions(+), 117 deletions(-) create mode 100644 addons/mrp/test/mrp_procurement.yml diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 0fa66ac7bd1..97e23f3488d 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -77,7 +77,11 @@ 'report/mrp_production_order_view.xml', ], 'demo_xml': ['mrp_demo.xml', 'mrp_order_point.xml'], -# 'test': ['test/mrp_phantom_bom.yml','test/mrp_production_order.yml'], + 'test': [ + 'test/mrp_phantom_bom.yml', + 'test/mrp_production_order.yml', + 'test/mrp_procurement.yml' + ], 'installable': True, 'active': False, 'certificate': '0032052481373', diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index dcea7ac4f9e..1c7dce6e30b 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -249,7 +249,7 @@ - + @@ -471,10 +471,10 @@
- - - - + + + + @@ -493,7 +493,7 @@ - + @@ -592,8 +592,8 @@ - - + + @@ -611,7 +611,7 @@ - + @@ -636,8 +636,7 @@ - mrp.production form tree,form,calendar,graph,gantt + {'search_default_current':1} @@ -799,6 +799,7 @@ + action_produce_assign_product() - - - produce_check - - - - produce_service - function - action_produce_assign_service() - - - - - - check_produce() - - - - - not check_product() - - - - - - subflow.cancel - - - - - - - + check_product() diff --git a/addons/mrp/report/mrp_production_order_view.xml b/addons/mrp/report/mrp_production_order_view.xml index a97abe846de..1ae2e6b32bb 100644 --- a/addons/mrp/report/mrp_production_order_view.xml +++ b/addons/mrp/report/mrp_production_order_view.xml @@ -48,8 +48,8 @@ - - + + @@ -101,7 +101,7 @@ tree,graph - {'search_default_Product': 1} + {'search_default_Product': 1,'search_default_this_year':1,'search_default_this_month':1} diff --git a/addons/mrp/report/order.rml b/addons/mrp/report/order.rml index 7bc2e7e7ee5..af55afce91b 100644 --- a/addons/mrp/report/order.rml +++ b/addons/mrp/report/order.rml @@ -135,19 +135,36 @@ + + + + + + + + + + + + + + + + + - - + + - - - - - - - + + + + + + + @@ -172,6 +189,7 @@ +
[[ repeatIn(objects,'o') ]] @@ -313,7 +331,10 @@ +
+ Products to Consume + [[ o.move_lines ==[] and removeParentNode('section')]] Product @@ -329,9 +350,10 @@ +
- [[ repeatIn(o.move_lines,'line') ]] + [[ repeatIn(o.move_lines,'line') ]] [[ line.product_id.code ]] [[ line.product_id.name ]] @@ -350,9 +372,54 @@ - - - +
+ + + +
+ Consumed Products + + + [[ o.move_lines2 ==[] and removeParentNode('section')]] + + + Product + + + Quantity + + + Source Location + + + Destination Location + + + +
+
+ + [[ repeatIn(o.move_lines2,'line2') ]] + + + [[ line2.product_id.code ]] [[ line2.product_id.name ]] + + + [[ formatLang( line2.product_qty) ]] + + + [[line2.product_uom.name]] + + + [[ line2.location_id.name ]] + + + [[ line2.location_dest_id.name ]] + + + +
+
- + \ No newline at end of file diff --git a/addons/mrp/test/mrp_phantom_bom.yml b/addons/mrp/test/mrp_phantom_bom.yml index df4ade1cb6e..5475d54ffd4 100644 --- a/addons/mrp/test/mrp_phantom_bom.yml +++ b/addons/mrp/test/mrp_phantom_bom.yml @@ -2,7 +2,7 @@ In order to test the mrp phantom bom type in OpenERP, I will create products and then I will create Phantom bom structure for those products. - - I create the products required to produce some orange juices: Oranges, Sugar and Water. + I create the products required to produce some orange juices with Oranges, Sugar and Water. - !record {model: product.uom, id: product_uom_litre0}: category_id: product.product_uom_categ_kgm @@ -129,7 +129,6 @@ date_planned: '2010-04-16 15:53:36' location_dest_id: stock.stock_location_output location_src_id: stock.stock_location_stock - name: MO/00002 product_id: product_product_orangejuice0 product_qty: 100.0 product_uom: product_uom_litre0 @@ -171,7 +170,7 @@ - !python {model: mrp.procurement}: | from tools.translate import _ - proc_ids = self.search(cr, uid, [('origin','=',':MO/00002')]) + proc_ids = self.search(cr, uid, [('state','!=','cofirmed')]) assert proc_ids, _('No Procurements!') - The scheduler runs. @@ -196,7 +195,7 @@ !python {model: purchase.order}: | from tools.translate import _ import netsvc - purch_ids = self.search(cr, uid, [('origin','in',['SCHEDULER','OP/00002','OP/00003'])]) + purch_ids = self.search(cr, uid, [('state','=','draft')]) assert purch_ids, _('No Purchase Orders were made!') wf_service = netsvc.LocalService("workflow") for p_id in purch_ids: @@ -207,7 +206,7 @@ !python {model: purchase.order}: | from tools.translate import _ import netsvc - purch_ids = self.search(cr, uid, [('origin','in',['SCHEDULER','OP/00002','OP/00003']),('state','=','confirmed')]) + purch_ids = self.search(cr, uid, [('state','=','confirmed')]) assert purch_ids, _('No Confirmed Purchase Orders found!') wf_service = netsvc.LocalService("workflow") for p_id in purch_ids: @@ -217,7 +216,7 @@ - !python {model: stock.picking}: | from tools.translate import _ - pick_ids = self.search(cr, uid, [('origin','in',['PO00001:SCHEDULER','PO00002:SCHEDULER','PO00003:OP/00002','PO00004:OP/00003']),('type','=','in')]) + pick_ids = self.search(cr, uid, [('type','=','in')]) assert pick_ids, _('No Incoming Shipments found!') - I receive both the products. My incoming pickings are done. @@ -229,6 +228,7 @@ - !python {model: stock.partial.picking}: | pick_obj = self.pool.get('stock.picking') - picking_ids = pick_obj.search(cr, uid, [('origin','in',['PO00001:SCHEDULER','PO00002:SCHEDULER','PO00003:OP/00002','PO00004:OP/00003']),('type','=','in')]) - self.do_partial(cr, uid, [1],context={'active_ids': picking_ids}) + picking_ids = pick_obj.search(cr, uid, [('type','=','in')]) + self.view_init(cr, uid, ['date','partner_id','address_id'],context={'active_ids': picking_ids}) + self.do_partial(cr, uid, [1], context={'active_ids': picking_ids}) \ No newline at end of file diff --git a/addons/mrp/test/mrp_procurement.yml b/addons/mrp/test/mrp_procurement.yml new file mode 100644 index 00000000000..37d0de5c5a9 --- /dev/null +++ b/addons/mrp/test/mrp_procurement.yml @@ -0,0 +1,336 @@ +- + In order to test the flow of procurement orders. I will put some orders with + different procurement methods. I have installed sale, mrp and purchase modules. +- + I am creating products. +- + Creating a product.product record +- + !record {model: product.product, id: product_product_shirt0}: + categ_id: product.cat1 + cost_method: standard + list_price: 350.0 + mes_type: fixed + name: Shirt + procure_method: make_to_stock + property_stock_inventory: stock.location_inventory + property_stock_procurement: stock.location_procurement + property_stock_production: stock.location_production + seller_delay: '1' + standard_price: 300.0 + supply_method: produce + type: product + uom_id: product.product_uom_unit + uom_po_id: product.product_uom_unit + volume: 0.0 + warranty: 0.0 + weight: 0.0 + weight_net: 0.0 +- + Creating a product.product record +- + !record {model: product.product, id: product_product_cloth0}: + categ_id: product.cat1 + cost_method: standard + mes_type: fixed + name: Cloth + procure_method: make_to_order + property_stock_inventory: stock.location_inventory + property_stock_procurement: stock.location_procurement + property_stock_production: stock.location_production + seller_delay: '1' + seller_ids: + - delay: 1 + name: base.res_partner_maxtor + qty: 300.0 + standard_price: 1.0 + supply_method: buy + type: product + uom_id: product.product_uom_unit + uom_po_id: product.product_uom_unit + volume: 0.0 + warranty: 0.0 + weight: 0.0 + weight_net: 0.0 +- + Creating a product.product record +- + !record {model: product.product, id: product_product_buttons0}: + categ_id: product.cat1 + cost_method: standard + mes_type: fixed + name: Buttons + procure_method: make_to_stock + property_stock_inventory: stock.location_inventory + property_stock_procurement: stock.location_procurement + property_stock_production: stock.location_production + seller_delay: '1' + seller_ids: + - delay: 1 + name: base.res_partner_asus + qty: 100.0 + standard_price: 1.0 + supply_method: buy + type: product + uom_id: product.product_uom_kgm + uom_po_id: product.product_uom_kgm + volume: 0.0 + warranty: 0.0 + weight: 0.0 + weight_net: 0.0 +- + I am creating bills of material for 'Shirt'. +- + Creating a mrp.bom record +- + !record {model: mrp.bom, id: mrp_bom_shirt0}: + bom_lines: + - company_id: base.main_company + name: Cloth + product_efficiency: 1.0 + product_id: product_product_cloth0 + product_qty: 1.0 + product_uom: product.product_uom_unit + product_uos_qty: 0.0 + sequence: 0.0 + type: normal + - company_id: base.main_company + name: Buttons + product_efficiency: 1.0 + product_id: product_product_buttons0 + product_qty: 8.0 + product_uom: product.product_uom_unit + product_uos_qty: 0.0 + sequence: 0.0 + type: normal + company_id: base.main_company + name: Shirt + product_efficiency: 1.0 + product_id: product_product_shirt0 + product_qty: 1.0 + product_uom: product.product_uom_unit + product_uos_qty: 0.0 + sequence: 0.0 + type: normal +- + I create minimum stock rule for product Buttons +- + !record {model: stock.warehouse.orderpoint, id: stock_warehouse_orderpoint_op0}: + company_id: base.main_company + location_id: stock.stock_location_stock + logic: max + name: OP/00007 + product_id: mrp.product_product_buttons0 + product_max_qty: 50.0 + product_min_qty: 10.0 + product_uom: product.product_uom_unit + qty_multiple: 1 + warehouse_id: stock.warehouse0 +- + I create a procurement order for product Shirt. +- + !record {model: mrp.procurement, id: mrp_procurement_shirt0}: + name: 'PROC: Shirt' + product_id: product_product_shirt0 + product_qty: 5.00 + location_id: stock.stock_location_stock + product_uom: product.product_uom_unit +- + I confirm the procurement order. +- + !workflow {model: mrp.procurement, action: button_confirm, ref: mrp_procurement_shirt0} +- + I run the procurement. +- + !workflow {model: mrp.procurement, action: button_check, ref: mrp_procurement_shirt0} +- + I see that there is a manufacturing order for Shirt. +- + !python {model: mrp.production}: | + from tools.translate import _ + order_ids = self.search(cr, uid, [('product_id','=',ref('product_product_shirt0'))]) + assert order_ids, 'No Manufacturing Order.' +- + I also check that there are two more procurement orders for sub products Cloth and Buttons. +- + !python {model: mrp.procurement}: | + from tools.translate import _ + proc_ids = self.search(cr, uid, [('product_id','in',[ref('product_product_cloth0'),ref('product_product_buttons0')])]) + assert proc_ids, 'No Procurements.' +- + The scheduler runs. +- + !function {model: mrp.procurement, name: run_scheduler}: + - model: mrp.procurement + search: "[]" +- + I check that there is one purchase order for Cloth. +- + !python {model: purchase.order}: | + purch_ids = self.search(cr, uid, [('partner_id.name','=','Maxtor')]) + assert purch_ids, 'No Purchase Orders.' +- + I confirm purchase order for Cloth. +- + !python {model: purchase.order}: | + import netsvc + purch_ids = self.search(cr, uid, [('partner_id.name','=','Maxtor')]) + wf_service = netsvc.LocalService("workflow") + for p_id in purch_ids: + wf_service.trg_validate(uid, 'purchase.order', p_id, 'purchase_confirm', cr) +- + I get the approval from the supplier. So I approve my purchase orders. +- + !python {model: purchase.order}: | + from tools.translate import _ + import netsvc + purch_ids = self.search(cr, uid, [('state','=','confirmed')]) + assert purch_ids, _('No Confirmed Purchase Orders found!') + wf_service = netsvc.LocalService("workflow") + for p_id in purch_ids: + wf_service.trg_validate(uid, 'purchase.order', p_id, 'purchase_approve', cr) +- + I confirm purchase order for Buttons. +- + !python {model: purchase.order}: | + import netsvc + purch_ids = self.search(cr, uid, [('partner_id.name','=','ASUStek')]) + wf_service = netsvc.LocalService("workflow") + for p_id in purch_ids: + wf_service.trg_validate(uid, 'purchase.order', p_id, 'purchase_confirm', cr) +- + I get the approval from the supplier. So I approve my purchase orders. +- + !python {model: purchase.order}: | + from tools.translate import _ + import netsvc + purch_ids = self.search(cr, uid, [('state','=','confirmed')]) + assert purch_ids, _('No Confirmed Purchase Orders found!') + wf_service = netsvc.LocalService("workflow") + for p_id in purch_ids: + wf_service.trg_validate(uid, 'purchase.order', p_id, 'purchase_approve', cr) +- + I Check incoming shipments for cloth. And receive products. +- + !python {model: stock.picking}: | + from tools.translate import _ + pick_ids = self.search(cr, uid, [('address_id.name','=','Wong'),('state','=','assigned')]) + assert pick_ids, _('No Incoming Shipments found!') +- + !record {model: stock.partial.picking, id: stock_partial_picking0}: + date: '2010-04-30 16:53:36' + partner_id: base.res_partner_maxtor + address_id: base.res_partner_address_wong +- + !python {model: stock.partial.picking}: | + pick_obj = self.pool.get('stock.picking') + picking_ids = pick_obj.search(cr, uid, [('address_id.name','=','Wong'),('state','=','assigned')]) + partial = self.browse(cr, uid, 1, context) + partial_datas = { + 'partner_id' : partial.partner_id and partial.partner_id.id or False, + 'address_id' : partial.address_id and partial.address_id.id or False, + 'delivery_date' : partial.date + } + for pick in pick_obj.browse(cr, uid, picking_ids): + for m in pick.move_lines: + partial_datas['move%s'%(m.id)] = { + 'product_id' : m.product_id.id, + 'product_qty' : m.product_qty, + 'product_uom' : m.product_uom.id + } + if (pick.type == 'in') and (m.product_id.cost_method == 'average'): + partial_datas['move%s'%(m.id)].update({ + 'product_price' : m.product_price, + 'product_currency': m.product_currency + }) + pick_obj.do_partial(cr, uid, picking_ids, partial_datas, context=context) +- + I Check incoming shipments for buttons. And receive products. +- + !python {model: stock.picking}: | + from tools.translate import _ + pick_ids = self.search(cr, uid, [('address_id.name','=','Tang'),('state','=','assigned')]) + assert pick_ids, _('No Incoming Shipments found!') +- + !record {model: stock.partial.picking, id: stock_partial_picking0}: + date: '2010-04-30 16:53:36' + partner_id: base.res_partner_maxtor + address_id: base.res_partner_address_wong +- + !python {model: stock.partial.picking}: | + pick_obj = self.pool.get('stock.picking') + picking_ids = pick_obj.search(cr, uid, [('address_id.name','=','Tang'),('state','=','assigned')]) + partial = self.browse(cr, uid, 1, context) + partial_datas = { + 'partner_id': partial.partner_id and partial.partner_id.id or False, + 'address_id': partial.address_id and partial.address_id.id or False, + 'delivery_date': partial.date + } + for pick in pick_obj.browse(cr, uid, picking_ids): + for m in pick.move_lines: + partial_datas['move%s'%(m.id)] = { + 'product_id': m.product_id.id, + 'product_qty': m.product_qty, + 'product_uom': m.product_uom.id + } + if (pick.type == 'in') and (m.product_id.cost_method == 'average'): + partial_datas['move%s'%(m.id)].update({ + 'product_price': m.product_price, + 'product_currency': m.product_currency + }) + pick_obj.do_partial(cr, uid, picking_ids, partial_datas, context=context) +- + Run scheduler again. +- + !function {model: mrp.procurement, name: run_scheduler}: + - model: mrp.procurement + search: "[]" +- + Check state of manufacturing order for Shirt. +- + !python {model: mrp.production}: | + from tools.translate import _ + order_ids = self.search(cr, uid, [('product_id','=',ref('product_product_shirt0')),('state','=','ready')]) + assert order_ids, 'No Manufacturing Order in Ready state.' +- + I start production order for Shirt. +- + !python {model: mrp.production}: | + from tools.translate import _ + import netsvc + prod_ids = self.search(cr, uid, [('state','=','ready')]) + assert prod_ids, _('No Ready Manufacturing Orders found!') + wf_service = netsvc.LocalService("workflow") + for p_id in prod_ids: + wf_service.trg_validate(uid, 'mrp.production', p_id, 'button_produce', cr) +- + !record {model: mrp.product.produce, id: mrp_product_produce0}: + product_qty: 5.00 + mode: 'consume_produce' +- + !python {model: mrp.product.produce}: | + from tools.translate import _ + prod_obj = self.pool.get('mrp.production') + prod_ids = prod_obj.search(cr, uid, [('product_id.name','=','Shirt')]) + self.do_produce(cr, uid, [1], context={'active_ids': prod_ids}) +- + !record {model: stock.move.consume, id: stock_move_consume0}: + product_id: product_product_buttons0 + product_qty: 35.00 + product_uom: product.product_uom_unit + location_id: stock.stock_location_stock +- + !python {model: stock.move.consume}: | + from tools.translate import _ + stock_obj = self.pool.get('stock.move') + stock_ids = stock_obj.search(cr, uid, [('product_id.name','=','Buttons')]) + self.do_move_consume(cr, uid, [1], context={'active_ids': stock_ids}) +- + And finally production order is done. +- + !python {model: mrp.product.produce}: | + from tools.translate import _ + prod_obj = self.pool.get('mrp.production') + prod_ids = prod_obj.search(cr, uid, [('product_id.name','=','Shirt')]) + self.do_produce(cr, uid, [1], context={'active_ids': prod_ids}) + \ No newline at end of file diff --git a/addons/mrp/test/mrp_production_order.yml b/addons/mrp/test/mrp_production_order.yml index 023a9f22f31..5de26180723 100644 --- a/addons/mrp/test/mrp_production_order.yml +++ b/addons/mrp/test/mrp_production_order.yml @@ -86,27 +86,27 @@ - !python {model: mrp.procurement}: | from tools.translate import _ - proc_ids = self.search(cr, uid, [('origin','=',':MO/00004')]) + proc_ids = self.search(cr, uid, [('state','!=','confirmed')]) assert proc_ids, _('No Procurements!') - The scheduler runs. - !function {model: mrp.procurement, name: run_scheduler}: - model: mrp.procurement - search: "[('origin','=',':MO/00004')]" + search: "[('state','=','confirmed')]" - I am checking Internal picking. - !python {model: stock.picking}: | from tools.translate import _ - pick_ids = self.search(cr, uid, [('origin','=',':MO/00004'),('type','=','internal')]) + pick_ids = self.search(cr, uid, [('state','!=','done'),('type','=','internal')]) assert pick_ids, _('No Internal Pickings!') - I see that there is a manufacturing order for the subproduct of PC1 with ready state. - !python {model: mrp.production}: | from tools.translate import _ - order_ids = self.search(cr, uid, [('origin','=',':MO/00004'),('state','=','ready')]) + order_ids = self.search(cr, uid, [('state','=','confirmed')]) assert order_ids, _('No manufacturing order!') - I start producing that product first. So I marked it as started. @@ -117,7 +117,7 @@ - !python {model: mrp.product.produce}: | prod_obj = self.pool.get('mrp.production') - prod_ids = prod_obj.search(cr, uid, [('origin','=',':MO/00004')]) + prod_ids = prod_obj.search(cr, uid, [('state','=','confirmed')]) self.do_produce(cr, uid, [1], context={'active_ids': prod_ids}) - Now the manufacturing order for subproduct CPU_GEN is done. And manufacturing @@ -125,7 +125,7 @@ - !python {model: mrp.production}: | from tools.translate import _ - prod_ids = self.search(cr, uid, [('origin','=',':MO/00004'),('state','=','done')]) + prod_ids = self.search(cr, uid, [('state','!=','done')]) assert prod_ids, _('Manufacturing order is yet not done!') - I start producing the product PC1. diff --git a/addons/mrp_procurement/mrp_procurement_view.xml b/addons/mrp_procurement/mrp_procurement_view.xml index 84b47ee516d..94ee009d7df 100644 --- a/addons/mrp_procurement/mrp_procurement_view.xml +++ b/addons/mrp_procurement/mrp_procurement_view.xml @@ -29,20 +29,20 @@ - + - + - + - + @@ -85,7 +85,7 @@ - + mrp.procurement form + {'search_default_current':1} @@ -179,11 +180,11 @@ - - - - - + + + + + diff --git a/addons/mrp_procurement/mrp_procurement_workflow.xml b/addons/mrp_procurement/mrp_procurement_workflow.xml index 46c4a10fffc..5ab36dd4cb8 100644 --- a/addons/mrp_procurement/mrp_procurement_workflow.xml +++ b/addons/mrp_procurement/mrp_procurement_workflow.xml @@ -48,16 +48,16 @@ function action_move_assigned() - - - - - - - - - - + + + produce_check + + + + produce_service + function + action_produce_assign_service() + ready @@ -155,16 +155,16 @@ check_make_to_stock() - - - - - - - - - - + + + + check_produce() + + + + + not check_product() + @@ -172,15 +172,15 @@ - - - - - - - - - + + + + subflow.cancel + + + + + diff --git a/addons/project_mrp/project_mrp_workflow.xml b/addons/project_mrp/project_mrp_workflow.xml index a4f038f4ad2..43217d69f83 100644 --- a/addons/project_mrp/project_mrp_workflow.xml +++ b/addons/project_mrp/project_mrp_workflow.xml @@ -1,8 +1,8 @@ - - + + subflow.done From be5cd712c591b7f25362cf6701116802ee89e69a Mon Sep 17 00:00:00 2001 From: Quentin De Paoli Date: Thu, 20 May 2010 12:01:51 +0200 Subject: [PATCH 3/7] [FIX] temporary comment bzr revid: qdp@cyan-20100520100151-59ae13nfrw3zvvua --- addons/project_mrp/__openerp__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py index e94f43b3ad2..ee5a94208aa 100644 --- a/addons/project_mrp/__openerp__.py +++ b/addons/project_mrp/__openerp__.py @@ -49,7 +49,9 @@ automatically created via sale orders. 'website': 'http://www.openerp.com', 'depends': ['project', 'mrp_procurement', 'sale', 'mrp_jit'], 'init_xml': [], - 'update_xml': ['project_mrp_workflow.xml', 'process/project_mrp_process.xml'], + 'update_xml': ['project_mrp_workflow.xml', + #'process/project_mrp_process.xml', + ], 'demo_xml': [], 'installable': True, 'active': False, From 9db96a7573c0fd97a59e540609bc95b867087da4 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Thu, 20 May 2010 17:32:51 +0530 Subject: [PATCH 4/7] [REF] bzr revid: jvo@tinyerp.com-20100520120251-e1n70n8j3iyu2s5a --- addons/account/account_bank_statement.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 9b1497b563f..81b6e3157a1 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -630,7 +630,7 @@ class account_bank_statement_line(osv.osv): 'statement_id': fields.many2one('account.bank.statement', 'Statement', select=True, required=True, ondelete='cascade'), 'reconcile_id': fields.many2one('account.bank.statement.reconcile', - 'Reconcile', states={'confirm':[('readonly',True)]}), + 'Reconcile'), 'move_ids': fields.many2many('account.move', 'account_bank_statement_line_move_rel', 'move_id','statement_id', 'Moves'), From e0b5f5c64245e3737a6753dac890ac1c7d3c7381 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Thu, 20 May 2010 19:34:29 +0200 Subject: [PATCH 5/7] [FIX] typo bzr revid: fp@tinyerp.com-20100520173429-2hd3mhl7vvo2kale --- addons/crm/crm_lead.py | 4 ++-- addons/mrp/mrp_workflow.xml | 3 ++- addons/mrp_procurement/mrp_procurement_workflow.xml | 2 -- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index fe0eb82c52a..5c4c20b384f 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -103,7 +103,7 @@ class crm_lead(osv.osv, crm_case): 'email_cc': fields.text('Watchers Emails', size=252 , help="These \ people will receive a copy of the future communication between partner \ and users by email"), - 'description': fields.text('Description'), + 'description': fields.text('Note'), 'write_date': fields.datetime('Update Date' , readonly=True), # Lead fields @@ -137,7 +137,7 @@ and users by email"), \nIf the case is in progress the state is set to \'Open\'.\ \nWhen the case is over, the state is set to \'Done\'.\ \nIf the case needs to be reviewed then the state is set to \'Pending\'.'), - } + } _defaults = { 'active': lambda *a: 1, diff --git a/addons/mrp/mrp_workflow.xml b/addons/mrp/mrp_workflow.xml index 791c376ef92..83def2c006b 100644 --- a/addons/mrp/mrp_workflow.xml +++ b/addons/mrp/mrp_workflow.xml @@ -113,8 +113,9 @@ button_cancel - + + produce diff --git a/addons/mrp_procurement/mrp_procurement_workflow.xml b/addons/mrp_procurement/mrp_procurement_workflow.xml index 46c4a10fffc..051067f6fec 100644 --- a/addons/mrp_procurement/mrp_procurement_workflow.xml +++ b/addons/mrp_procurement/mrp_procurement_workflow.xml @@ -2,8 +2,6 @@ - - mrp.procurement.basic mrp.procurement From 7909755eaa2beeaa9e8b6c4fdece32ba11b6ef67 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Thu, 20 May 2010 19:34:35 +0200 Subject: [PATCH 6/7] [FIX] typo bzr revid: fp@tinyerp.com-20100520173435-jg6tracp042y2pla --- addons/crm/crm_lead.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 5c4c20b384f..fe43982ad66 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -103,7 +103,7 @@ class crm_lead(osv.osv, crm_case): 'email_cc': fields.text('Watchers Emails', size=252 , help="These \ people will receive a copy of the future communication between partner \ and users by email"), - 'description': fields.text('Note'), + 'description': fields.text('Notes'), 'write_date': fields.datetime('Update Date' , readonly=True), # Lead fields From 731db7a48097ca0f265e530559e4fd97727e82fb Mon Sep 17 00:00:00 2001 From: Launchpad Code Hosting Date: Fri, 21 May 2010 04:38:08 +0100 Subject: [PATCH 7/7] Launchpad automatic translations update. bzr revid: codehost@crowberry-20100521033808-s086x71ntdjjymmr --- addons/account/i18n/th.po | 11 ++++++----- addons/account_chart/i18n/th.po | 2 +- addons/base_setup/i18n/th.po | 2 +- addons/multi_company/i18n/fr.po | 22 +++++++++++++--------- addons/stock/i18n/fr.po | 10 +++++----- 5 files changed, 26 insertions(+), 21 deletions(-) diff --git a/addons/account/i18n/th.po b/addons/account/i18n/th.po index 320fdc82290..7389cdda788 100644 --- a/addons/account/i18n/th.po +++ b/addons/account/i18n/th.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-03-15 03:12+0000\n" +"PO-Revision-Date: 2010-05-20 07:09+0000\n" "Last-Translator: Songpon Phusing \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 04:08+0000\n" +"X-Launchpad-Export-Date: 2010-05-21 03:38+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account @@ -51,7 +51,7 @@ msgstr "" #. module: account #: model:account.account.type,name:account.account_type_asset msgid "Asset" -msgstr "" +msgstr "สินทรัพย์" #. module: account #: constraint:ir.actions.act_window:0 @@ -106,7 +106,7 @@ msgstr "" #: model:ir.actions.wizard,name:account.wizard_vat_declaration #: model:ir.ui.menu,name:account.menu_wizard_vat_declaration msgid "Print Taxes Report" -msgstr "" +msgstr "พิมพ์รายงานภาษี" #. module: account #: field:account.account,parent_id:0 @@ -2133,7 +2133,8 @@ msgid "Analytic Entry" msgstr "" #. module: account -#: view:res.company:0 field:res.company,overdue_msg:0 +#: view:res.company:0 +#: field:res.company,overdue_msg:0 msgid "Overdue Payments Message" msgstr "" diff --git a/addons/account_chart/i18n/th.po b/addons/account_chart/i18n/th.po index 9b4d7b21560..e53bfc9b6c2 100644 --- a/addons/account_chart/i18n/th.po +++ b/addons/account_chart/i18n/th.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-05-20 05:23+0000\n" +"X-Launchpad-Export-Date: 2010-05-21 03:38+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_chart diff --git a/addons/base_setup/i18n/th.po b/addons/base_setup/i18n/th.po index e4c04634f12..0d613b0573b 100644 --- a/addons/base_setup/i18n/th.po +++ b/addons/base_setup/i18n/th.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-05-20 05:23+0000\n" +"X-Launchpad-Export-Date: 2010-05-21 03:37+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_setup diff --git a/addons/multi_company/i18n/fr.po b/addons/multi_company/i18n/fr.po index 2e6f71b23d4..0f63c32dd30 100644 --- a/addons/multi_company/i18n/fr.po +++ b/addons/multi_company/i18n/fr.po @@ -8,41 +8,45 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-12-08 11:46+0000\n" -"PO-Revision-Date: 2010-01-26 11:01+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2010-05-20 14:21+0000\n" +"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 04:21+0000\n" +"X-Launchpad-Export-Date: 2010-05-21 03:38+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: multi_company #: help:multi_company.default,object_id:0 msgid "Object affect by this rules" -msgstr "" +msgstr "Objet affecté par cette règle" #. module: multi_company #: constraint:ir.model:0 msgid "" "The Object name must start with x_ and not contain any special character !" msgstr "" +"Le nom de l'objet doit commencer par x_ et ne doit pas contenir de " +"caractères spéciaux !" #. module: multi_company #: constraint:product.template:0 msgid "" "Error: The default UOM and the purchase UOM must be in the same category." msgstr "" +"Erreur: l'unité de mesure par défaut et l'unité de mesure d'achat doivent " +"faire partie de la même catégorie" #. module: multi_company #: constraint:res.partner:0 msgid "The VAT doesn't seem to be correct." -msgstr "" +msgstr "La TVA ne semble pas correcte" #. module: multi_company #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "" +msgstr "Nom de l'objet invalide dans l'action défini" #. module: multi_company #: model:res.company,overdue_msg:multi_company.res_company_odoo @@ -59,18 +63,18 @@ msgstr "" #. module: multi_company #: field:multi_company.default,company_dest_id:0 msgid "Default Company" -msgstr "" +msgstr "Société par défaut" #. module: multi_company #: field:multi_company.default,object_id:0 msgid "Object" -msgstr "" +msgstr "Objet" #. module: multi_company #: model:ir.module.module,shortdesc:multi_company.module_meta_information #: view:multi_company.default:0 msgid "Multi Company" -msgstr "" +msgstr "Multi société" #. module: multi_company #: model:ir.module.module,description:multi_company.module_meta_information diff --git a/addons/stock/i18n/fr.po b/addons/stock/i18n/fr.po index 9d0c7b40248..6b82ef00f96 100644 --- a/addons/stock/i18n/fr.po +++ b/addons/stock/i18n/fr.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.0\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-03-25 14:13+0000\n" -"Last-Translator: Numérigraphe \n" +"PO-Revision-Date: 2010-05-20 06:22+0000\n" +"Last-Translator: Olivier (Open ERP) \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 03:56+0000\n" +"X-Launchpad-Export-Date: 2010-05-21 03:37+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: stock @@ -677,7 +677,7 @@ msgstr "Date d'envoi prévue" #. module: stock #: rml:stock.picking.list:0 msgid "Shipping Address :" -msgstr "" +msgstr "Adresse de livraison" #. module: stock #: view:stock.tracking:0 @@ -1703,7 +1703,7 @@ msgstr "Magasin" #: selection:stock.move,state:0 #: selection:stock.picking,state:0 msgid "Done" -msgstr "Terminer" +msgstr "Terminé" #. module: stock #: model:stock.location,name:stock.stock_location_locations_virtual