diff options
| author | Vijaykumar Baladaniya <vba@tinyerp.com> | 2012-07-09 18:31:13 +0530 |
|---|---|---|
| committer | Vijaykumar Baladaniya <vba@tinyerp.com> | 2012-07-09 18:31:13 +0530 |
| commit | be2e95656aaa113addea2b510fcdcf2f890eaaa4 (patch) | |
| tree | abcb3dd4ef350a1b8ad0eaffdd2b9a1cb91521af /addons/mrp | |
| parent | b982ea278b33132def3927417b7a854b98b5028a (diff) | |
| parent | 3925f76ce85854e5d4834902a05f57bcfc5ace85 (diff) | |
[MERGE]merged with trunk-survey-layout-tta
bzr revid: vba@tinyerp.com-20120709130113-3lchipgil9oqpglg
Diffstat (limited to 'addons/mrp')
| -rw-r--r-- | addons/mrp/mrp.py | 28 | ||||
| -rw-r--r-- | addons/mrp/mrp_demo.xml | 52 | ||||
| -rw-r--r-- | addons/mrp/mrp_report.xml | 26 | ||||
| -rw-r--r-- | addons/mrp/mrp_view.xml | 292 | ||||
| -rw-r--r-- | addons/mrp/process/procurement_process.xml | 2 | ||||
| -rw-r--r-- | addons/mrp/process/service_product_process.xml | 88 | ||||
| -rw-r--r-- | addons/mrp/process/stockable_product_process.xml | 142 | ||||
| -rw-r--r-- | addons/mrp/report/mrp_report.py | 4 | ||||
| -rw-r--r-- | addons/mrp/res_config.py | 9 | ||||
| -rw-r--r-- | addons/mrp/res_config_view.xml | 39 | ||||
| -rw-r--r-- | addons/mrp/wizard/change_production_qty_view.xml | 20 | ||||
| -rw-r--r-- | addons/mrp/wizard/mrp_price_view.xml | 18 | ||||
| -rw-r--r-- | addons/mrp/wizard/mrp_product_produce_view.xml | 23 | ||||
| -rw-r--r-- | addons/mrp/wizard/mrp_workcenter_load_view.xml | 23 |
14 files changed, 412 insertions, 354 deletions
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index 3214cad5a5c..c4a4d8df895 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -454,7 +454,7 @@ class mrp_production(osv.osv): 'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority', select=True), 'product_id': fields.many2one('product.product', 'Product', required=True, readonly=True, states={'draft':[('readonly',False)]}), - 'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product Unit of Measure'), required=True, states={'draft':[('readonly',False)]}, readonly=True), + 'product_qty': fields.float('Product Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), required=True, states={'draft':[('readonly',False)]}, readonly=True), 'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True, states={'draft':[('readonly',False)]}, readonly=True), 'product_uos_qty': fields.float('Product UoS Qty', states={'draft':[('readonly',False)]}, readonly=True), 'product_uos': fields.many2one('product.uom', 'Product UoS', states={'draft':[('readonly',False)]}, readonly=True), @@ -466,13 +466,13 @@ class mrp_production(osv.osv): 'date_planned_end': fields.function(_production_date_end, type='date', string='Scheduled End Date'), 'date_planned_date': fields.function(_production_date, type='date', string='Scheduled Date'), - 'date_planned': fields.datetime('Scheduled date', required=True, select=1), + 'date_planned': fields.datetime('Scheduled Date', required=True, select=1), 'date_start': fields.datetime('Start Date', select=True), 'date_finished': fields.datetime('End Date', select=True), 'bom_id': fields.many2one('mrp.bom', 'Bill of Material', domain=[('bom_id','=',False)], readonly=True, states={'draft':[('readonly',False)]}), 'routing_id': fields.many2one('mrp.routing', string='Routing', on_delete='set null', readonly=True, states={'draft':[('readonly',False)]}, help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification."), - 'picking_id': fields.many2one('stock.picking', 'Picking list', readonly=True, ondelete="restrict", + 'picking_id': fields.many2one('stock.picking', 'Picking List', readonly=True, ondelete="restrict", help="This is the Internal Picking List that brings the finished product to the production plan"), 'move_prod_id': fields.many2one('stock.move', 'Move product', readonly=True), 'move_lines': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Products to Consume', domain=[('state','not in', ('done', 'cancel'))], states={'done':[('readonly',True)]}), @@ -1033,20 +1033,14 @@ class mrp_production(osv.osv): # --------------------------------------------------- # OpenChatter methods and notifications # --------------------------------------------------- - - def get_needaction_user_ids(self, cr, uid, ids, context=None): - result = dict.fromkeys(ids, []) - for obj in self.browse(cr, uid, ids, context=context): - if obj.state == 'draft' and obj.user_id: - result[obj.id] = [obj.user_id.id] - return result def message_get_subscribers(self, cr, uid, ids, context=None): - sub_ids = self.message_get_subscribers_ids(cr, uid, ids, context=context); + """ Override to add responsible user. """ + user_ids = super(mrp_production, self).message_get_subscribers(cr, uid, ids, context=context) for obj in self.browse(cr, uid, ids, context=context): - if obj.user_id: - sub_ids.append(obj.user_id.id) - return self.pool.get('res.users').read(cr, uid, sub_ids, context=context) + if obj.user_id and not obj.user_id.id in user_ids: + user_ids.append(obj.user_id.id) + return user_ids def create_send_note(self, cr, uid, ids, context=None): self.message_append_note(cr, uid, ids, body=_("Manufacturing order has been <b>created</b>."), context=context) @@ -1094,8 +1088,8 @@ class mrp_production_workcenter_line(osv.osv): _columns = { 'name': fields.char('Work Order', size=64, required=True), 'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True), - 'cycle': fields.float('Nbr of cycles', digits=(16,2)), - 'hour': fields.float('Nbr of hours', digits=(16,2)), + 'cycle': fields.float('Number of Cycles', digits=(16,2)), + 'hour': fields.float('Number of Hours', digits=(16,2)), 'sequence': fields.integer('Sequence', required=True, help="Gives the sequence order when displaying a list of work orders."), 'production_id': fields.many2one('mrp.production', 'Production Order', select=True, ondelete='cascade', required=True), } @@ -1112,7 +1106,7 @@ class mrp_production_product_line(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True), 'product_id': fields.many2one('product.product', 'Product', required=True), - 'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product Unit of Measure'), required=True), + 'product_qty': fields.float('Product Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), required=True), 'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True), 'product_uos_qty': fields.float('Product UOS Qty'), 'product_uos': fields.many2one('product.uom', 'Product UOS'), diff --git a/addons/mrp/mrp_demo.xml b/addons/mrp/mrp_demo.xml index 6a581d7fc37..68fe21ea16c 100644 --- a/addons/mrp/mrp_demo.xml +++ b/addons/mrp/mrp_demo.xml @@ -63,9 +63,9 @@ <!-- Resource: res.company --> - <record id="stock.res_company_tinyshop0" model="res.company"> - <field eval="1.0" name="manufacturing_lead"/> - </record> + <record id="stock.res_company_tinyshop0" model="res.company"> + <field eval="1.0" name="manufacturing_lead"/> + </record> <!-- Resource: mrp.property.group --> @@ -644,11 +644,11 @@ </record> <!-- BoMs for 1 Shelf 100cm - Product Ref. Qty UoM Type of BoM - SIDEPAN 2 PCE normal - PROFIL 4 PCE phantom - RPAN100 1 PCE phantom - RCK100 3 PCE phantom + Product Ref. Qty UoM Type of BoM + SIDEPAN 2 PCE normal + PROFIL 4 PCE phantom + RPAN100 1 PCE phantom + RCK100 3 PCE phantom --> <record id="mrp_bom_sidepanel0" model="mrp.bom"> @@ -692,9 +692,9 @@ <!-- BOMs for 1 RCK100 PCE - Product Ref Qty UoM Type of BoM - SPAN100 1 PCE phantom - METC000 4 PCE normal + Product Ref Qty UoM Type of BoM + SPAN100 1 PCE phantom + METC000 4 PCE normal --> <record id="mrp_bom_shelf1" model="mrp.bom"> <field name="sequence">133</field> @@ -722,8 +722,8 @@ </record> <!-- Bill of Materials for 1 SPAN100 PCE - Product Code Quantity Unit of Measure - WOOD010 0.083 m + Product Code Quantity Unit of Measure + WOOD010 0.083 m --> <record id="mrp_bom_span100" model="mrp.bom"> <field name="sequence">135</field> @@ -741,8 +741,8 @@ <field name="name">WOOD010</field> </record> <!-- BoMs for 1 Assembly Section PCE - Product Ref. Qty UoM - LIN40 0.25 Meter + Product Ref. Qty UoM + LIN40 0.25 Meter --> <record id="mrp_bom_assemblysection1" model="mrp.bom"> @@ -765,8 +765,8 @@ </record> <!-- Bill of Materials for 1 RPAN100 PCE - Product Code Quantity Unit of Measure - WOOD002 0.25 m + Product Code Quantity Unit of Measure + WOOD002 0.25 m --> <record id="mrp_bom_rearpanelarm1" model="mrp.bom"> <field name="sequence">131</field> @@ -796,12 +796,12 @@ </record> <!--Defining BoMs of Shelf 200cm - Product Ref. Qty UoM Type of BoM - RPAN200 1 PCE normal - PROFIL 4 PCE normal - SIDEPAN 2 PCE normal - METC000 12 PCE normal - RCK200 3 PCE normal + Product Ref. Qty UoM Type of BoM + RPAN200 1 PCE normal + PROFIL 4 PCE normal + SIDEPAN 2 PCE normal + METC000 12 PCE normal + RCK200 3 PCE normal --> <record id="mrp_bom_rearpanelarm2" model="mrp.bom"> <field name="sequence">147</field> @@ -859,9 +859,9 @@ </record> <!--Defining BoMs of KIT Shelf 100cm - Product Ref. Qty UoM Type of BoM - PROFIL 4 PCE normal - SIDEPAN 2 PCE normal + Product Ref. Qty UoM Type of BoM + PROFIL 4 PCE normal + SIDEPAN 2 PCE normal --> <record id="mrp_bom_assemblysection2" model="mrp.bom"> diff --git a/addons/mrp/mrp_report.xml b/addons/mrp/mrp_report.xml index 2d7ca5d0102..c37343f50db 100644 --- a/addons/mrp/mrp_report.xml +++ b/addons/mrp/mrp_report.xml @@ -5,19 +5,19 @@ <report auto="True" header="False" id="report_bom_structure" model="mrp.bom" name="bom.structure" rml="mrp/report/bom_structure.rml" string="BOM Structure"/> <report - id="report_mrp_production_report" - string="Production Order" - model="mrp.production" - name="mrp.production.order" - rml="mrp/report/order.rml" - auto="False" - /> + id="report_mrp_production_report" + string="Production Order" + model="mrp.production" + name="mrp.production.order" + rml="mrp/report/order.rml" + auto="False" + /> - <report id="report_cost_structure" - model="product.product" - menu="False" - name="product.price" - string="Cost Structure" - xsl="mrp/report/price.xsl"/> + <report id="report_cost_structure" + model="product.product" + menu="False" + name="product.price" + string="Cost Structure" + xsl="mrp/report/price.xsl"/> </data> </openerp> diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 9b1079dc34e..0b725108be4 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -37,7 +37,9 @@ <field name="res_model">mrp.property.group</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> - <field name="help">Define specific property groups that can be assigned to the properties of your bill of materials.</field> + <field name="help"> + Define specific property groups that can be assigned to the properties of your bill of materials. + </field> </record> <menuitem id="menu_mrp_configuration" @@ -103,7 +105,13 @@ <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="search_view_id" ref="view_mrp_property_search"/> - <field name="help">The Properties in OpenERP are used to select the right bill of materials for manufacturing a product when you have different ways of building the same product. You can assign several properties to each Bill of Materials. When a sales person creates a sales order, he can relate it to several properties and OpenERP will automatically select the BoM to use according the needs.</field> + <field name="help"> + The Properties in OpenERP are used to select the right bill of materials for manufacturing + a product when you have different ways of building the same product. + You can assign several properties to each bill of materials. + When a salesperson creates a sale order, they can relate it to several properties + and OpenERP will automatically select the BoM to use according the needs. + </field> </record> <menuitem name="Master Bill of Materials" id="menu_mrp_property" @@ -307,7 +315,11 @@ <field name="view_type">form</field> <field name="view_id" ref="mrp_routing_tree_view"/> <field name="search_view_id" ref="mrp_routing_search_view"/> - <field name="help">Routings allow you to create and manage the manufacturing operations that should be followed within your work centers in order to produce a product. They are attached to bills of materials that will define the required raw materials.</field> + <field name="help"> + Routings allow you to create and manage the manufacturing operations that should be + followed within your work centers in order to produce a product. + They are attached to bills of materials that will define the required raw materials. + </field> </record> <menuitem action="mrp_routing_action" id="menu_mrp_routing_action" parent="mrp.menu_mrp_bom" groups="mrp.group_mrp_routings" sequence="15"/> @@ -321,65 +333,65 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Bill of Material" version="7.0"> - <sheet> - <label for="product_id" class="oe_edit_only"/> - <h1> - <field name="product_id" on_change="onchange_product_id(product_id, name, context)" class="oe_inline"/>: - <field name="product_qty" class="oe_inline"/> - <field name="product_uom" class="oe_inline"/> - </h1> - <label for="routing_id" class="oe_edit_only"/> - <h2> - <field name="routing_id" groups="mrp.group_mrp_routings"/> - </h2> - <group> - <group> - <field name="name"/> - <field name="code" string="Reference"/> - </group> - <group> - <field name="type"/> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> - <field name="product_uos_qty" groups="product.group_uos" /> - <field name="product_uos" groups="product.group_uos"/> - </group> - </group> - <notebook> - <page string="Components"> - <field name="bom_lines" widget="one2many_list"> - <tree string="Components" editable="bottom"> - <field name="product_id" on_change="onchange_product_id(product_id, name)"/> - <field name="product_qty"/> - <field name="product_uom"/> - <field name="name" invisible="1"/> - <field name="date_start"/> - <field name="date_stop"/> - </tree> - </field> - </page> - <page string="Revisions" attrs="{'invisible': [('bom_id','!=',False)]}"> - <field name="revision_ids"/> - </page> - <page string="Properties" groups="product.group_mrp_properties"> - <group> - <group> - <field name="position"/> - <field name="bom_id"/> - <field name="sequence"/> - <field name="active"/> - </group> - <group> - <field name="date_start"/> - <field name="date_stop"/> - <field name="product_rounding"/> - <field name="product_efficiency"/> - </group> - </group> - <separator string="Properties"/> - <field name="property_ids" widget="many2many_tags" /> - </page> - </notebook> - <newline/> + <sheet> + <label for="product_id" string="Product and Quantity" class="oe_edit_only"/> + <h1> + <field name="product_id" on_change="onchange_product_id(product_id, name, context)" class="oe_inline"/>: + <field name="product_qty" class="oe_inline"/> + <field name="product_uom" class="oe_inline" groups="product.group_uom"/> + </h1> + <div groups="mrp.group_mrp_routings"> + <label for="routing_id" class="oe_edit_only"/> + <h2><field name="routing_id" class="oe_inline"/></h2> + </div> + <group> + <group> + <field name="name"/> + <field name="code" string="Reference"/> + </group> + <group> + <field name="type"/> + <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="product_uos_qty" groups="product.group_uos" /> + <field name="product_uos" groups="product.group_uos"/> + </group> + </group> + <notebook> + <page string="Components"> + <field name="bom_lines" widget="one2many_list"> + <tree string="Components" editable="bottom"> + <field name="product_id" on_change="onchange_product_id(product_id, name)"/> + <field name="product_qty"/> + <field name="product_uom" groups="product.group_uom"/> + <field name="name" invisible="1"/> + <field name="date_start"/> + <field name="date_stop"/> + </tree> + </field> + </page> + <page string="Revisions" attrs="{'invisible': [('bom_id','!=',False)]}"> + <field name="revision_ids"/> + </page> + <page string="Properties" groups="product.group_mrp_properties"> + <group> + <group> + <field name="position"/> + <field name="bom_id"/> + <field name="sequence"/> + <field name="active"/> + </group> + <group> + <field name="date_start"/> + <field name="date_stop"/> + <field name="product_rounding"/> + <field name="product_efficiency"/> + </group> + </group> + <separator string="Properties"/> + <field name="property_ids" widget="many2many_tags" /> + </page> + </notebook> + <newline/> </sheet> </form> </field> @@ -423,7 +435,7 @@ <field name="code"/> <field name="product_id"/> <field name="product_qty"/> - <field name="product_uom"/> + <field name="product_uom" groups="product.group_uom"/> <field name="type"/> <field name="method"/> <field name="routing_id" groups="mrp.group_mrp_routings"/> @@ -445,7 +457,7 @@ <field name="product_id" string="Component Product"/> <field name="bom_id"/> <field name="product_qty"/> - <field name="product_uom"/> + <field name="product_uom" groups="product.group_uom"/> <field name="type"/> <field name="method"/> <field name="routing_id" groups="mrp.group_mrp_routings"/> @@ -461,7 +473,13 @@ <field name="view_type">form</field> <field name="domain">[('bom_id','=',False)]</field> <field name="search_view_id" ref="view_mrp_bom_filter"/> - <field name="help">Master Bills of Materials allow you to create and manage the list of necessary raw materials used to make a finished product. OpenERP will use these BoMs to automatically propose manufacturing orders according to product needs. You can either create a bill of materials to define specific production steps or define a single multi-level bill of materials.</field> + <field name="help"> + Master Bills of Materials allow you to create and manage the list of necessary + raw materials used to make a finished product. + OpenERP uses these BoMs to automatically propose manufacturing orders according to product needs. + You can either create a bill of materials to define specific production steps, + or define a single multi-level bill of materials. + </field> </record> <record id="mrp_bom_form_action2" model="ir.actions.act_window"> <field name="name">Bill of Material Components</field> @@ -470,7 +488,10 @@ <field name="view_type">form</field> <field name="view_id" ref="mrp_bom_component_tree_view"/> <field name="domain">[('bom_id','!=',False)]</field> - <field name="help">Bills of materials components are components and sub-products used to create master bills of materials. Use this menu to search in which BoM a specific component is used.</field> + <field name="help"> + Bills of materials components are components and sub-products used to create master bills of materials. + Use this menu to search in which BoM a specific component is used. + </field> </record> <!-- BOM menus --> @@ -541,13 +562,13 @@ <field name="model">mrp.production</field> <field name="type">tree</field> <field name="arch" type="xml"> - <tree fonts="bold:needaction_pending==True" colors="blue:state in ('draft','confirmed');red:date_planned<current_date and state not in ('done','cancel');black:date_planned>=current_date;gray:state in ('done','cancel') " string="Manufacturing Orders"> + <tree fonts="bold:needaction_pending==True" colors="blue:state in ('draft','confirmed');red:date_planned<current_date and state not in ('done','cancel');black:date_planned>=current_date and state not in ('done','cancel');gray:state in ('done','cancel')" string="Manufacturing Orders"> <field name="needaction_pending" invisible="1"/> <field name="name"/> <field name="date_planned"/> <field name="product_id"/> <field name="product_qty" sum="Total Qty"/> - <field name="product_uom"/> + <field name="product_uom" groups="product.group_uom"/> <field name="routing_id" groups="mrp.group_mrp_routings"/> <field name="hour_total" sum="Total Hours"/> <field name="cycle_total" sum="Total Cycles"/> @@ -603,30 +624,33 @@ <field name="arch" type="xml"> <form string="Manufacturing Orders" version="7.0"> <header> - <button name="button_confirm" states="draft" string="Confirm Production"/> - <button name="button_produce" states="ready" string="Start Production"/> - <button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" type="action"/> - <button name="force_production" states="confirmed,picking_except" string="Force Reservation" type="object"/> + <button name="button_confirm" states="draft" string="Confirm Production" class="oe_highlight"/> + <button name="button_produce" states="ready" string="Start Production" class="oe_highlight"/> + <button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" type="action" class="oe_highlight"/> + <button name="force_production" states="confirmed" string="Force Reservation" type="object" class="oe_highlight"/> + <button name="force_production" states="picking_except" string="Force Reservation" type="object"/> <button name="button_recreate" states="picking_except" string="Recreate Picking"/> <button name="button_cancel" states="draft,ready,in_production,picking_except" string="Cancel"/> <button name="action_cancel" type="object" states="confirmed" string="Cancel"/> <field name="state" widget="statusbar" statusbar_visible="draft,ready,in_production,done" statusbar_colors='{"picking_except":"red","confirmed":"blue"}'/> </header> <sheet> - <label for="product_id" class="oe_edit_only"/> - <h1> - <field name="product_id" on_change="product_id_change(product_id)" domain="[('supply_method','=','produce')]" class="oe_inline"/> - <field name="product_qty" class="oe_inline"/> - <field name="product_uom" class="oe_inline"/> - <button type="action" - icon="terp-accessories-archiver+" class="oe_inline" - name="%(mrp.action_change_production_qty)d" - string="Change Qty" states="ready,confirmed" /> - </h1> - <label for="routing_id" groups="mrp.group_mrp_routings" class="oe_edit_only"/> - <h2> - <field name="routing_id" groups="mrp.group_mrp_routings"/> - </h2> + <div class="oe_button_box oe_right"> + <button name="%(mrp.action_change_production_qty)d" type="action" states="ready,confirmed" + string="Change Quantity" icon="terp-accessories-archiver+"/> + </div> + <div class="oe_title"> + <label for="product_id" string="Product and Quantity" class="oe_edit_only"/> + <h1> + <field name="product_id" on_change="product_id_change(product_id)" domain="[('supply_method','=','produce')]" class="oe_inline"/>: + <field name="product_qty" class="oe_inline"/> + <field name="product_uom" class="oe_inline" groups="product.group_uom"/> + </h1> + <div groups="mrp.group_mrp_routings"> + <label for="routing_id" class="oe_edit_only"/> + <h2><field name="routing_id" class="oe_inline"/></h2> + </div> + </div> <group> <group> <field name="name"/> @@ -641,20 +665,22 @@ </group> <notebook> <page string="Consumed Products"> - <group col="4"> - <group> + <group> + <group groups="stock.group_locations"> <field name="location_src_id" domain="[('usage','=','internal')]" on_change="location_id_change(location_src_id,location_dest_id)"/> <field name="location_dest_id" domain="[('usage','=','internal')]"/> </group> <group> - <field name="bom_id" domain="[('product_id','=',product_id),('bom_id','=',False)]" on_change="bom_id_change(bom_id)"/> + <field name="bom_id" domain="[('product_id','=',product_id)]" context="{'default_product_id': product_id}" on_change="bom_id_change(bom_id)"/> </group> + </group> + <group> <field name="move_lines" domain="[('state','<>', ('done', 'cancel'))]"> <tree colors="blue:state == 'draft';black:state in ('picking_except','confirmed','ready','in_production');gray:state in ('cancel','done') " string="Products to Consume"> - <field name="product_id" /> - <field name="product_qty" string="Qty"/> - <field name="product_uom" string="Unit of Measure"/> - <field name="location_id" string="Source Loc."/> + <field name="product_id"/> + <field name="product_qty"/> + <field name="product_uom" string="Unit of Measure" groups="product.group_uom"/> + <field name="location_id" string="Source Loc." groups="stock.group_locations"/> <field name="state" invisible="1"/> <button name="%(stock.move_consume)d" string="Consume Products" type="action" @@ -674,8 +700,8 @@ <field name="move_lines2" domain="[('state','in', ('done', 'cancel'))]"> <tree colors="red:scrapped==True;blue:state == 'draft';black:state in('picking_except','confirmed','ready','in_production');gray:state == 'cancel' " string="Consumed Products" editable="bottom"> <field name="product_id" readonly="1"/> - <field name="product_qty" readonly="1" string="Qty"/> - <field name="product_uom" readonly="1" string="Unit of Measure"/> + <field name="product_qty" readonly="1"/> + <field name="product_uom" readonly="1" string="Unit of Measure" groups="product.group_uom"/> <field name="prodlot_id" context="{'product_id': product_id}"/> <field name="state" invisible="1"/> <field name="scrapped" invisible="1"/> @@ -692,9 +718,9 @@ <group> <field name="move_created_ids" domain="[('state','<>', ('done', 'cancel'))]"> <tree string="Products to Finish"> - <field name="product_id" /> - <field name="product_qty" string="Qty"/> - <field name="product_uom" string="Unit of Measure"/> + <field name="product_id"/> + <field name="product_qty"/> + <field name="product_uom" string="Unit of Measure" groups="product.group_uom"/> <field name="state" invisible="1"/> <button name="%(stock.action_partial_move_server)d" string="Partial" @@ -709,9 +735,9 @@ <field name="move_created_ids2" domain="[('state','in', ('done', 'cancel'))]"> <tree colors="red:scrapped==True;blue:state == 'draft';black:state in('picking_except','confirmed','ready','in_production');gray:state in('cancel','done') " string="Finished Products"> <field name="product_id" readonly="1"/> - <field name="product_qty" readonly="1" string="Qty"/> - <field name="product_uom" readonly="1" string="Unit of Measure"/> - <field name="location_dest_id" readonly="1" string="Destination Loc." widget="selection"/> + <field name="product_qty" readonly="1"/> + <field name="product_uom" readonly="1" string="Unit of Measure" groups="product.group_uom"/> + <field name="location_dest_id" readonly="1" string="Destination Loc." widget="selection" groups="stock.group_locations"/> <field name="prodlot_id" context="{'product_id': product_id}"/> <field name="scrapped" invisible="1"/> <field name="state" invisible="1"/> @@ -754,19 +780,23 @@ <field name="product_lines"/> </page> <page string="Extra Information"> - <group col="4"> - <field name="company_id" groups="base.group_multi_company" widget="selection"/> - <field name="priority"/> - <field name="date_start"/> - <field name="date_finished"/> - <field name="picking_id"/> - <field name="move_prod_id"/> + <group> + <group> + <field name="company_id" groups="base.group_multi_company" widget="selection"/> + <field name="priority"/> + <field name="picking_id"/> + <field name="move_prod_id" groups="stock.group_locations"/> + </group> + <group> + <field name="date_start"/> + <field name="date_finished"/> + </group> </group> </page> </notebook> </sheet> <footer> - <field name="message_ids" widget="ThreadView"/> + <field name="message_ids" widget="mail_thread"/> </footer> </form> </field> @@ -819,7 +849,12 @@ <field name="view_id" eval="False"/> <field name="search_view_id" ref="view_mrp_production_filter"/> <field name="context">{}</field> - <field name="help">Manufacturing Orders are usually proposed automatically by OpenERP based on the bill of materials and the procurement rules, but you can also create manufacturing orders manually. OpenERP will handle the consumption of the raw materials (stock decrease) and the production of the finished products (stock increase) when the order is processed.</field> + <field name="help"> + Click here to create a new Manufacturing Order. + <p> + To process the production, do not forget to create a Bill of Material. + Manufacturing orders can be automatically generated based on procurement rules specified on the product. + </field> </record> <menuitem action="mrp_production_action" id="menu_mrp_production_action" parent="menu_mrp_manufacturing" sequence="1"/> @@ -831,7 +866,14 @@ <field name="view_type">form</field> <field name="view_mode">calendar,tree,form,graph</field> <field name="domain">[('state','in',('ready','confirmed','in_production'))]</field> - <field name="help">Manufacturing Orders describe the operations that need to be carried out and the raw materials usage for each production stage. You use specifications (bills of materials or BoM) to work out the raw material requirements and the manufacturing orders needed for the finished products. Once the bills of materials have been defined, OpenERP is capable of automatically deciding on the manufacturing route depending on the needs of the company.</field> + <field name="help"> + Manufacturing Orders describe the operations that need to be carried out, + and the raw materials usage for each production stage. + You use specifications (bills of materials or BoM) to work out the raw material requirements + and the manufacturing orders needed for the finished products. + Once the bills of materials have been defined, OpenERP is capable of automatically deciding + on the manufacturing route depending on the needs of the company. + </field> </record> <record id="mrp_production_action2" model="ir.actions.act_window"> @@ -877,7 +919,7 @@ <field name="name"/> <field name="product_id"/> <field name="product_qty"/> - <field name="product_uom"/> + <field name="product_uom" groups="product.group_uom"/> <field name="product_uos_qty" groups="product.group_uos"/> <field name="product_uos" groups="product.group_uos"/> </group> @@ -892,7 +934,7 @@ <tree string="Scheduled Products"> <field name="product_id"/> <field name="product_qty"/> - <field name="product_uom"/> + <field name="product_uom" groups="product.group_uom"/> <field name="product_uos_qty" groups="product.group_uos"/> <field name="product_uos" groups="product.group_uos"/> </tree> @@ -929,10 +971,19 @@ <field name="type">form</field> <field name="inherit_id" ref="product.product_normal_form_view"/> <field name="arch" type="xml"> - <group name="misc" position="after"> - <separator string="Bill of Materials" colspan="4"/> - <field name="bom_ids" nolabel="1" colspan="4" context="{'default_product_id': active_id}"/> - </group> + <page string="Procurement & Locations" position="inside"> + <separator string="Bill of Materials"/> + <field name="bom_ids" widget="one2many_list" mode="tree" context="{'default_product_id': active_id}"> + <tree string="Bill of Materials"> + <field name="name" string="Component Name"/> + <field name="bom_id"/> + <field name="product_qty" string="Quantity of Product"/> + <field name="type"/> + <field name="date_start"/> + <field name="date_stop"/> + </tree> + </field> + </page> </field> </record> @@ -965,7 +1016,12 @@ <field name="view_type">form</field> <field name="view_id" ref="mrp_workcenter_tree_view"/> <field name="search_view_id" ref="view_mrp_workcenter_search"/> - <field name="help">Work Centers allow you to create and manage manufacturing units. They consist of workers and/or machines, which are considered as units for capacity and planning forecast. Keep in mind that the working time and resource leave are not taken into account in the time computation of the work center.</field> + <field name="help"> + Work Centers allow you to create and manage manufacturing units. + They consist of workers and/or machines, which are considered as units for capacity and planning forecast. + Keep in mind that the working time and resource leave are not taken into account in the time computation + of the work center. + </field> </record> <menuitem id="menu_pm_resources_config" name="Resources" parent="menu_mrp_configuration"/> diff --git a/addons/mrp/process/procurement_process.xml b/addons/mrp/process/procurement_process.xml index eac65932bc0..b827a2731c9 100644 --- a/addons/mrp/process/procurement_process.xml +++ b/addons/mrp/process/procurement_process.xml @@ -117,7 +117,7 @@ <!-- Process Transition --> - <record id="process_node_procureproducts0" model="process.node"> + <record id="process_node_procureproducts0" model="process.node"> <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> <field name="model_id" ref="mrp.model_procurement_order"/> <field eval=""""state"""" name="kind"/> diff --git a/addons/mrp/process/service_product_process.xml b/addons/mrp/process/service_product_process.xml index 281c53c80ee..965f3f57d69 100644 --- a/addons/mrp/process/service_product_process.xml +++ b/addons/mrp/process/service_product_process.xml @@ -1,47 +1,47 @@ <?xml version="1.0" ?> <openerp> - <data> - - - <!-- - Process Node - --> - - - <record id="process_node_servicemts0" model="process.node"> - <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> - <field name="model_id" ref="mrp.model_procurement_order"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""Assignment from stock."""" name="note"/> - <field eval=""""Make to stock"""" name="name"/> - <field name="process_id" ref="procurement.process_process_serviceproductprocess0"/> - <field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/> - <field eval="0" name="flow_start"/> - </record> - - <record id="process_node_orderrfq0" model="process.node"> - <field name="menu_id" ref="purchase.menu_purchase_form_action"/> - <field name="model_id" ref="purchase.model_purchase_order"/> - <field eval=""""subflow"""" name="kind"/> - <field eval=""""Request for Quotation."""" name="note"/> - <field eval=""""RFQ"""" name="name"/> - <field name="subflow_id" ref="purchase.process_process_purchaseprocess0"/> - <field name="process_id" ref="procurement.process_process_serviceproductprocess0"/> - <field eval=""""object.state=='draft'"""" name="model_states"/> - <field eval="0" name="flow_start"/> - </record> - - <!-- - Process Transition - --> - - <record id="process_transition_servicerfq0" model="process.transition"> - <field eval="[(6,0,[])]" name="transition_ids"/> - <field eval=""""To Buy"""" name="name"/> - <field eval=""""If the service has a 'Buy' supply method, this creates a RFQ, a subcontracting demand for instance."""" name="note"/> - <field model="process.node" name="target_node_id" ref="process_node_orderrfq0"/> - <field model="process.node" name="source_node_id" ref="procurement.process_node_serviceonorder0"/> - </record> - - </data> + <data> + + + <!-- + Process Node + --> + + + <record id="process_node_servicemts0" model="process.node"> + <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> + <field name="model_id" ref="mrp.model_procurement_order"/> + <field eval=""""state"""" name="kind"/> + <field eval=""""Assignment from stock."""" name="note"/> + <field eval=""""Make to stock"""" name="name"/> + <field name="process_id" ref="procurement.process_process_serviceproductprocess0"/> + <field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/> + <field eval="0" name="flow_start"/> + </record> + + <record id="process_node_orderrfq0" model="process.node"> + <field name="menu_id" ref="purchase.menu_purchase_form_action"/> + <field name="model_id" ref="purchase.model_purchase_order"/> + <field eval=""""subflow"""" name="kind"/> + <field eval=""""Request for Quotation."""" name="note"/> + <field eval=""""RFQ"""" name="name"/> + <field name="subflow_id" ref="purchase.process_process_purchaseprocess0"/> + <field name="process_id" ref="procurement.process_process_serviceproductprocess0"/> + <field eval=""""object.state=='draft'"""" name="model_states"/> + <field eval="0" name="flow_start"/> + </record> + + <!-- + Process Transition + --> + + <record id="process_transition_servicerfq0" model="process.transition"> + <field eval="[(6,0,[])]" name="transition_ids"/> + <field eval=""""To Buy"""" name="name"/> + <field eval=""""If the service has a 'Buy' supply method, this creates a RFQ, a subcontracting demand for instance."""" name="note"/> + <field model="process.node" name="target_node_id" ref="process_node_orderrfq0"/> + <field model="process.node" name="source_node_id" ref="procurement.process_node_serviceonorder0"/> + </record> + + </data> </openerp>
\ No newline at end of file diff --git a/addons/mrp/process/stockable_product_process.xml b/addons/mrp/process/stockable_product_process.xml index 8c07b5c6fb2..e3fa1136822 100644 --- a/addons/mrp/process/stockable_product_process.xml +++ b/addons/mrp/process/stockable_product_process.xml @@ -1,85 +1,85 @@ <?xml version="1.0" ?> <openerp> - <data> + <data> - <!-- - Process - --> + <!-- + Process + --> - <record id="process_process_stockableproductprocess0" model="process.process"> - <field eval=""""Stockable Product"""" name="name"/> - <field name="model_id" ref="mrp.model_procurement_order"/> - <field eval="1" name="active"/> - </record> + <record id="process_process_stockableproductprocess0" model="process.process"> + <field eval=""""Stockable Product"""" name="name"/> + <field name="model_id" ref="mrp.model_procurement_order"/> + <field eval="1" name="active"/> + </record> - <!-- - Process Node - --> + <!-- + Process Node + --> - <record id="process_node_mts0" model="process.node"> - <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> - <field name="model_id" ref="mrp.model_procurement_order"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""Assignment from stock."""" name="note"/> - <field eval=""""Make to Stock"""" name="name"/> - <field name="process_id" ref="process_process_stockableproductprocess0"/> - <field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/> - <field eval="0" name="flow_start"/> - </record> + <record id="process_node_mts0" model="process.node"> + <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> + <field name="model_id" ref="mrp.model_procurement_order"/> + <field eval=""""state"""" name="kind"/> + <field eval=""""Assignment from stock."""" name="note"/> + <field eval=""""Make to Stock"""" name="name"/> + <field name="process_id" ref="process_process_stockableproductprocess0"/> + <field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/> + <field eval="0" name="flow_start"/> + </record> - <record id="process_node_stock0" model="process.node"> - <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> - <field name="model_id" ref="mrp.model_procurement_order"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""Assignment from Production or Purchase Order."""" name="note"/> - <field eval=""""Make to Order"""" name="name"/> - <field name="process_id" ref="process_process_stockableproductprocess0"/> - <field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/> - <field eval="0" name="flow_start"/> - </record> + <record id="process_node_stock0" model="process.node"> + <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> + <field name="model_id" ref="mrp.model_procurement_order"/> + <field eval=""""state"""" name="kind"/> + <field eval=""""Assignment from Production or Purchase Order."""" name="note"/> + <field eval=""""Make to Order"""" name="name"/> + <field name="process_id" ref="process_process_stockableproductprocess0"/> + <field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/> + <field eval="0" name="flow_start"/> + </record> - <record id="process_node_rfq0" model="process.node"> - <field name="menu_id" ref="purchase.menu_purchase_form_action"/> - <field name="model_id" ref="purchase.model_purchase_order"/> - <field eval=""""subflow"""" name="kind"/> - <field eval=""""Request for Quotation."""" name="note"/> - <field eval=""""RFQ"""" name="name"/> - <field name="subflow_id" ref="purchase.process_process_purchaseprocess0"/> - <field name="process_id" ref="process_process_stockableproductprocess0"/> - <field eval=""""object.state=='draft'"""" name="model_states"/> - <field eval="0" name="flow_start"/> - </record> + <record id="process_node_rfq0" model="process.node"> + <field name="menu_id" ref="purchase.menu_purchase_form_action"/> + <field name="model_id" ref="purchase.model_purchase_order"/> + <field eval=""""subflow"""" name="kind"/> + <field eval=""""Request for Quotation."""" name="note"/> + <field eval=""""RFQ"""" name="name"/> + <field name="subflow_id" ref="purchase.process_process_purchaseprocess0"/> + <field name="process_id" ref="process_process_stockableproductprocess0"/> + <field eval=""""object.state=='draft'"""" name="model_states"/> + <field eval="0" name="flow_start"/> + </record> - <record id="process_node_production0" model="process.node"> - <field name="menu_id" ref="mrp.menu_mrp_production_action"/> - <field name="model_id" ref="mrp.model_mrp_production"/> - <field eval=""""state"""" name="kind"/> - <field eval=""""Manufacturing Plan."""" name="note"/> - <field eval=""""Production Order"""" name="name"/> - <field name="process_id" ref="process_process_stockableproductprocess0"/> - <field eval=""""object.state=='confirmed'"""" name="model_states"/> - <field eval="0" name="flow_start"/> - </record> + <record id="process_node_production0" model="process.node"> + <field name="menu_id" ref="mrp.menu_mrp_production_action"/> + <field name="model_id" ref="mrp.model_mrp_production"/> + <field eval=""""state"""" name="kind"/> + <field eval=""""Manufacturing Plan."""" name="note"/> + <field eval=""""Production Order"""" name="name"/> + <field name="process_id" ref="process_process_stockableproductprocess0"/> + <field eval=""""object.state=='confirmed'"""" name="model_states"/> + <field eval="0" name="flow_start"/> + </record> - <!-- - Process Transition - --> + <!-- + Process Transition + --> - <record id="process_transition_stockrfq0" model="process.transition"> - <field eval="[(6,0,[])]" name="transition_ids"/> - <field eval=""""To Buy"""" name="name"/> - <field eval=""""In case the Supply method of the product is Buy, the system creates a purchase order."""" name="note"/> - <field model="process.node" name="target_node_id" ref="process_node_rfq0"/> - <field model="process.node" name="source_node_id" ref="process_node_stock0"/> - </record> + <record id="process_transition_stockrfq0" model="process.transition"> + <field eval="[(6,0,[])]" name="transition_ids"/> + <field eval=""""To Buy"""" name="name"/> + <field eval=""""In case the Supply method of the product is Buy, the system creates a purchase order."""" name="note"/> + <field model="process.node" name="target_node_id" ref="process_node_rfq0"/> + <field model="process.node" name="source_node_id" ref="process_node_stock0"/> + </record> - <record id="process_transition_stockproduction0" model="process.transition"> - <field eval="[(6,0,[])]" name="transition_ids"/> - <field eval=""""To Produce"""" name="name"/> - <field eval=""""In case the Supply method of the product is Produce, the system creates a production order."""" name="note"/> - <field model="process.node" name="target_node_id" ref="process_node_production0"/> - <field model="process.node" name="source_node_id" ref="process_node_stock0"/> - </record> + <record id="process_transition_stockproduction0" model="process.transition"> + <field eval="[(6,0,[])]" name="transition_ids"/> + <field eval=""""To Produce"""" name="name"/> + <field eval=""""In case the Supply method of the product is Produce, the system creates a production order."""" name="note"/> + <field model="process.node" name="target_node_id" ref="process_node_production0"/> + <field model="process.node" name="source_node_id" ref="process_node_stock0"/> + </record> - </data> + </data> </openerp> diff --git a/addons/mrp/report/mrp_report.py b/addons/mrp/report/mrp_report.py index 68487527966..b98c5d3e40f 100644 --- a/addons/mrp/report/mrp_report.py +++ b/addons/mrp/report/mrp_report.py @@ -30,8 +30,8 @@ class report_workcenter_load(osv.osv): _columns = { 'name': fields.char('Week', size=64, required=True), 'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True), - 'cycle': fields.float('Nbr of cycle'), - 'hour': fields.float('Nbr of hour'), + 'cycle': fields.float('Number of Cycles'), + 'hour': fields.float('Number of Hours'), } def init(self, cr): diff --git a/addons/mrp/res_config.py b/addons/mrp/res_config.py index 1b2aa1c2732..cbee02cb4a8 100644 --- a/addons/mrp/res_config.py +++ b/addons/mrp/res_config.py @@ -28,7 +28,7 @@ class mrp_config_settings(osv.osv_memory): _inherit = 'res.config.settings' _columns = { - 'module_stock_planning': fields.boolean('Master Manufacturing Order Schedule', + 'module_stock_planning': fields.boolean('Master Production Schedule', help ="""This allows to create a manual procurement plan apart of the normal MRP scheduling, which works automatically based on minimum stock rules. This installs the module stock_planning."""), @@ -68,6 +68,13 @@ class mrp_config_settings(osv.osv_memory): 'group_mrp_properties': fields.boolean("Allow Several BoMs per Product", implied_group='product.group_mrp_properties', help="""The selection of the right Bill of Material to use will depend on the properties specified on the sale order and the Bill of Material."""), + 'module_product_manufacturer': fields.boolean("Define Manufacturers on Products", + help="""This allows you to define the following for a product: + * Manufacturer + * Manufacturer Product Name + * Manufacturer Product Code + * Product Attributes. + This installs the module product_manufacturer."""), } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mrp/res_config_view.xml b/addons/mrp/res_config_view.xml index a00bf797318..48938972f60 100644 --- a/addons/mrp/res_config_view.xml +++ b/addons/mrp/res_config_view.xml @@ -8,24 +8,29 @@ <field name="arch" type="xml"> <form string="Configure Manufacturing" version="7.0"> <header> - <button string="Apply" type="object" name="execute"/> - <button string="Cancel" special="cancel"/> + <button string="Apply" type="object" name="execute" class="oe_highlight"/> + or + <button string="Cancel" type="object" name="cancel" class="oe_link"/> </header> - <newline/> - <group col="4" string="Manufacturing Order"> - <field name="module_mrp_operations"/> - <field name="module_stock_planning"/> - <field name="module_mrp_subproduct"/> - <field name="module_mrp_repair"/> - </group> - <group string="Logistics" col="4"> - <field name="module_mrp_jit"/> - <field name="module_stock_no_autopicking"/> - </group> - <group string="Bill Of Material" col="4"> - <field name="group_mrp_routings"/> - <field name="group_mrp_properties"/> - </group> + <sheet> + <group string="Manufacturing Order"> + <field name="module_mrp_operations"/> + <field name="module_stock_planning"/> + <field name="module_mrp_subproduct"/> + <field name="module_mrp_repair"/> + </group> + <group string="Logistics"> + <field name="module_mrp_jit"/> + <field name="module_stock_no_autopicking"/> + </group> + <group string="Bill Of Material"> + <field name="group_mrp_routings"/> + <field name="group_mrp_properties"/> + </group> + <group string="Products"> + <field name="module_product_manufacturer"/> + </group> + </sheet> </form> </field> </record> diff --git a/addons/mrp/wizard/change_production_qty_view.xml b/addons/mrp/wizard/change_production_qty_view.xml index e166e2a96a7..ee7f5eeb258 100644 --- a/addons/mrp/wizard/change_production_qty_view.xml +++ b/addons/mrp/wizard/change_production_qty_view.xml @@ -9,17 +9,17 @@ <field name="model">change.production.qty</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Change Product Qty"> - <separator string="Change Quantity" colspan="4"/> - <newline/> - <field name="product_qty"/> - <newline/> - <separator colspan="4"/> - <group col="2" colspan="4"> - <button icon='gtk-stop' special="cancel" - string="Cancel" /> + <form string="Change Product Qty" version="7.0"> + <header> <button name="change_prod_qty" string="Approve" - colspan="1" type="object" icon="gtk-ok" /> + colspan="1" type="object" class="oe_highlight" /> + or + <button string="Cancel" class="oe_link" special="cancel" /> + </header> + <group> + <separator string="Change Quantity" colspan="4"/> + <newline/> + <field name="product_qty"/> </group> </form> </field> diff --git a/addons/mrp/wizard/mrp_price_view.xml b/addons/mrp/wizard/mrp_price_view.xml index 9bafa51b941..6ba09ecbdb0 100644 --- a/addons/mrp/wizard/mrp_price_view.xml +++ b/addons/mrp/wizard/mrp_price_view.xml @@ -9,16 +9,14 @@ <field name="model">mrp.product_price</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Product Cost Structure"> - <separator colspan="4" string="Print Cost Structure of Product." /> - <field name="number"/> - <newline/> - <separator string="" colspan="4"/> - <group col="2" colspan="4"> - <button icon='gtk-stop' special="cancel" - string="Cancel" /> - <button name="print_report" string="Print" - colspan="1" type="object" icon="gtk-print" /> + <form string="Product Cost Structure" version="7.0"> + <header> + <button name="print_report" type="object" string="Print" class="oe_highlight"/> + or + <button string="Cancel" class="oe_link" special="cancel" /> + </header> + <group string="Print Cost Structure of Product."> + <field name="number"/> </group> </form> </field> diff --git a/addons/mrp/wizard/mrp_product_produce_view.xml b/addons/mrp/wizard/mrp_product_produce_view.xml index c0576405788..23a51642630 100644 --- a/addons/mrp/wizard/mrp_product_produce_view.xml +++ b/addons/mrp/wizard/mrp_product_produce_view.xml @@ -10,19 +10,16 @@ <field name="model">mrp.product.produce</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Produce"> - <separator string="Produce" colspan="4"/> - <field name="mode" colspan="4"/> - <field name="product_qty" colspan="2"/> - <newline/> - <separator string="" colspan="4" /> - <label string="" colspan="2" /> - <group col="2" colspan="1"> - <button icon='gtk-stop' special="cancel" - string="Cancel" /> - <button name="do_produce" string="Confirm" - colspan="1" type="object" icon="gtk-ok" /> - </group> + <form string="Produce" version="7.0"> + <header> + <button name="do_produce" type="object" string="Confirm" class="oe_highlight"/> + or + <button string="Cancel" class="oe_link" special="cancel" /> + </header> + <group string="Produce"> + <field name="mode"/> + <field name="product_qty" colspan="2"/> + </group> </form> </field> </record> diff --git a/addons/mrp/wizard/mrp_workcenter_load_view.xml b/addons/mrp/wizard/mrp_workcenter_load_view.xml index 79a7df1a6a0..b40be0df0ac 100644 --- a/addons/mrp/wizard/mrp_workcenter_load_view.xml +++ b/addons/mrp/wizard/mrp_workcenter_load_view.xml @@ -9,17 +9,18 @@ <field name="model">mrp.workcenter.load</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Select time unit"> - <field name="time_unit"/> - <newline/> - <field name="measure_unit"/> - <newline/> - <group col="2" colspan="4"> - <button icon='gtk-stop' special="cancel" - string="Cancel" /> - <button name="print_report" string="Print" - colspan="1" type="object" icon="gtk-print" /> - </group> + <form string="Select time unit" version="7.0"> + <header> + <button name="print_report" type="object" string="Print" class="oe_highlight"/> + or + <button string="Cancel" class="oe_link" special="cancel" /> + </header> + <sheet> + <group> + <field name="time_unit"/> + <field name="measure_unit"/> + </group> + </sheet> </form> </field> </record> |
