[IMP]mrp_operations : Added state and buttons on top bar
[odoo/odoo.git] / addons / mrp_operations / mrp_operations_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3 <data>
4
5     <record id="mrp_production_form_inherit_view" model="ir.ui.view">
6             <field name="name">mrp.production.form.inherit</field>
7             <field name="model">mrp.production</field>
8             <field name="type">form</field>
9             <field name="inherit_id" ref="mrp.mrp_production_form_view"/>
10             <field name="arch" type="xml">
11                <xpath expr="/form/sheet/notebook/page/field[@name='workcenter_lines']/form/field[@name='hour']" position="after">
12                    <group colspan="8" col="8">
13                        <separator colspan="8"/>
14                    <field name="state"/>
15                        <button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop" help="Cancel Order"/>
16                    <button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert" help="Set to Draft"/>
17                        <button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
18                        <button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
19                        <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
20                        <button name="button_done" string="Finished" states="startworking" icon="terp-check" help="Finish Order"/>
21                </group>
22                </xpath>
23             </field>
24     </record>
25
26     <record id="mrp_production_form_inherit_view2" model="ir.ui.view">
27         <field name="name">mrp.production.form.inherit2</field>
28         <field name="model">mrp.production</field>
29         <field name="type">form</field>
30         <field name="inherit_id" ref="mrp.mrp_production_form_view"/>
31         <field name="arch" type="xml">
32            <xpath expr="/form/sheet/notebook/page/field[@name='workcenter_lines']/tree/field[@name='hour']" position="after">
33                 <field name="state"/>
34                 <button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
35                 <button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr"/>
36                 <button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
37                 <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause"/>
38                 <button name="button_done" string="Finished" states="startworking" icon="terp-check"/>
39            </xpath>
40         </field>
41     </record>
42
43     <record model="ir.ui.view" id="mrp_production_workcenter_tree_view_inherit">
44         <field name="name">mrp.production.workcenter.line.tree</field>
45         <field name="model">mrp.production.workcenter.line</field>
46         <field name="type">tree</field>
47         <field name="inherit_id" eval="False"/>
48         <field name="arch" type="xml">
49             <tree string="Work Orders" colors="gray:state in ('done','cancel');black:state in ('draft','startworking') and date_planned&gt;=current_date;red:date_planned&lt;current_date and state in ('draft', 'confirmed', 'ready')">
50                 <field name="production_id"/>
51                 <field name="date_planned"/>
52                 <field name="product"/>
53                 <field name="qty"/>
54                 <field name="uom"/>
55                 <field name="name"/>
56                 <field name="workcenter_id" widget="selection"/>
57                 <field name="cycle"/>
58                 <field name="hour"/>
59                 <field name="state" />
60                 <button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
61                 <button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
62                 <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
63                 <button name="button_done" string="Finished" states="startworking" icon="terp-check" help="Finish Order"/>
64             </tree>
65         </field>
66     </record>
67
68     <record model="ir.ui.view" id="mrp_production_workcenter_form_view_inherit">
69         <field name="name">mrp.production.workcenter.line.form</field>
70         <field name="model">mrp.production.workcenter.line</field>
71         <field name="type">form</field>
72         <field name="inherit_id" eval="False"/>
73         <field name="arch" type="xml">
74             <form layout="manual">
75             <div class="oe_form_topbar">
76                   <button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr"/>
77                   <button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
78                   <button name="button_done" string="Finished" states="startworking" icon="terp-check"/>
79                   <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause"/>
80                   <button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
81                   <button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop"/>
82             <div class="oe_right">
83                  <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,startworking"/>
84             </div>
85             </div>
86             <sheet string="Work Orders" layout="auto">
87                 <group col="6" colspan="4" class="oe_form_header">
88                     <field colspan="4" name="name" select="1"/>
89                     <field name="workcenter_id" select="1" widget="selection"/>
90                     <field name="production_id"/>
91                     <field name="production_state"/>
92                     <field name="sequence"/>
93                 </group>
94                 <notebook colspan="4">
95                 <page string="Information">
96                     <group colspan="2" col="2">
97                         <separator string="Planned Date" colspan="2"/>
98                         <field name="date_planned"/>
99                         <field name="date_planned_end"/>
100                     </group>
101
102                     <group colspan="2" col="2">
103                         <separator string="Duration" colspan="2"/>
104                         <field name="cycle"/>
105                         <field name="hour" widget="float_time"/>
106                     </group>
107
108                     <group colspan="2" col="2">
109                         <separator string="Real" colspan="2"/>
110                         <field name="date_start" readonly="1"/>
111                         <field name="date_finished" readonly="1"/>
112                         <field name="delay" widget="float_time"/>
113                     </group>
114                     <group colspan="2" col="2">
115                         <separator string="Product to Produce" colspan="2"/>
116                         <field name="product"/>
117                         <field name="qty"/>
118                         <field name="uom" widget="selection"/>
119                     </group>
120                 </page>
121                 </notebook>
122                 </sheet>
123                 <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
124             </form>
125         </field>
126     </record>
127
128     <record id="view_mrp_production_workcenter_form_view_filter" model="ir.ui.view">
129             <field name="name">mrp.production.workcenter.line.select</field>
130             <field name="model">mrp.production.workcenter.line</field>
131             <field name="type">search</field>
132             <field name="arch" type="xml">
133             <search string="Search Work Orders">
134                         <group>
135                                <filter icon="terp-document-new" string="Draft"
136                                    domain="[('state','=','draft')]"/>
137                                <filter icon="terp-check" string="In Progress" name="Current"
138                                    domain="[('state','=','startworking')]"/>
139                                <filter icon="terp-gtk-media-pause" string="Pending"
140                                    domain="[('state','=','pause')]"/>
141                                <separator orientation="vertical"/>
142                                <filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
143                                    domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
144                                    help="Production started late" />
145                                <separator orientation="vertical"/>
146                                         <field name="name"/>
147                                         <field name="workcenter_id" widget="selection"/>
148                                         <field name="production_id" />
149                                         <field name="state" />
150                                         <field name="date_planned"/>
151                                 </group>
152                         <newline/>
153                     <group expand="0" string="Group By...">
154                         <filter string="Work Center" icon="terp-go-home" domain="[]" context="{'group_by':'workcenter_id'}"/>
155                         <filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/>
156                         <separator orientation="vertical"/>
157                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
158                         <separator orientation="vertical"/>
159                         <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}"/>
160                     </group>
161                </search>
162             </field>
163     </record>
164
165     <record id="workcenter_line_calendar" model="ir.ui.view">
166         <field name="name">mrp.production.workcenter.line.calendar</field>
167         <field name="model">mrp.production.workcenter.line</field>
168         <field name="type">calendar</field>
169         <field name="arch" type="xml">
170             <calendar color="product" date_stop="date_finished" date_start="date_start" string="Operations">
171                 <field name="workcenter_id"/>
172                 <field name="production_id"/>
173             </calendar>
174         </field>
175     </record>
176
177
178     <record id="workcenter_line_gantt" model="ir.ui.view">
179         <field name="name">mrp.production.workcenter.line.gantt</field>
180         <field name="model">mrp.production.workcenter.line</field>
181         <field name="type">gantt</field>
182         <field name="arch" type="xml">
183             <gantt date_delay="hour" date_start="date_planned" string="Operations" default_group_by="production_id">
184             </gantt>
185         </field>
186     </record>
187
188
189     <!-- Action for All Operations   -->
190
191     <record model="ir.actions.act_window" id="mrp_production_wc_action_form">
192         <field name="name">Work Orders</field>
193         <field name="type">ir.actions.act_window</field>
194         <field name="res_model">mrp.production.workcenter.line</field>
195         <field name="view_type">form</field>
196         <field name="view_mode">tree,form,gantt,calendar,graph</field>
197         <field name="search_view_id" ref="view_mrp_production_workcenter_form_view_filter"/>
198         <field name="help">Work Orders is the list of operations to be performed for each manufacturing order. Once you start the first work order of a manufacturing order, the manufacturing order is automatically marked as started. Once you finish the latest operation of a manufacturing order, the MO is automatically done and the related products are produced.</field>
199     </record>
200
201     <record model="ir.actions.act_window" id="mrp_production_wc_action_planning">
202         <field name="name">Work Orders Planning</field>
203         <field name="type">ir.actions.act_window</field>
204         <field name="res_model">mrp.production.workcenter.line</field>
205         <field name="view_type">form</field>
206         <field name="domain">[('production_state','in',('ready','confirmed','in_production'))]</field>
207         <field name="view_mode">gantt,tree,form,graph,calendar</field>
208         <field name="help">To manufacture or assemble products, and use raw materials and finished products you must also handle manufacturing operations. Manufacturing operations are often called Work Orders. The various operations will have different impacts on the costs of manufacturing and planning depending on the available workload.</field>
209     </record>
210
211
212     <record id="workcenter_line_resource_gantt" model="ir.ui.view">
213         <field name="name">mrp.production.workcenter.line.resource.gantt</field>
214         <field name="model">mrp.production.workcenter.line</field>
215         <field name="type">gantt</field>
216         <field name="arch" type="xml">
217             <gantt date_delay="hour" date_start="date_planned" default_group_by="workcenter_id">
218             </gantt>
219         </field>
220     </record>
221
222     <record model="ir.actions.act_window" id="mrp_production_wc_resource_planning">
223         <field name="name">Work Centers</field>
224         <field name="type">ir.actions.act_window</field>
225         <field name="res_model">mrp.production.workcenter.line</field>
226         <field name="view_type">form</field>
227         <field name="domain">[('production_state','in',('ready','confirmed','in_production'))]</field>
228         <field name="view_mode">gantt,tree,form,calendar,graph</field>
229         <field name="view_id" ref="workcenter_line_resource_gantt"/>
230     </record>
231
232     <!-- Action for Confirm Operations   -->
233
234     <record model="ir.actions.act_window" id="mrp_production_wc_confirm_action">
235         <field name="name">Confirmed Work Orders</field>
236         <field name="type">ir.actions.act_window</field>
237         <field name="res_model">mrp.production.workcenter.line</field>
238         <field name="view_type">form</field>
239         <field name="view_mode">tree,form,graph,gantt,calendar</field>
240         <field name="domain">[('production_state','=','ready')]</field>
241         <field name="filter" eval="True"/>
242     </record>
243
244     <!-- Action for Draft Operations   -->
245
246     <record model="ir.actions.act_window" id="mrp_production_wc_draft_action">
247         <field name="name">Future Work Orders</field>
248         <field name="type">ir.actions.act_window</field>
249         <field name="res_model">mrp.production.workcenter.line</field>
250         <field name="view_type">form</field>
251         <field name="view_mode">tree,form,graph</field>
252         <field name="domain">[('state','=','draft')]</field>
253         <field name="filter" eval="True"/>
254     </record>
255
256     <record model="ir.values" id="mrp_production_wc_action_open">
257         <field name="key2" eval="'tree_but_open'"/>
258         <field name="model" eval="'mrp.production.workcenter.line'"/>
259         <field name="name">Work Orders</field>
260         <field name="value" eval="'ir.actions.act_window,'+str(mrp_production_wc_action_form)"/>
261     </record>
262
263     <menuitem name="Work Orders" parent="mrp.menu_mrp_manufacturing"
264         id="menu_mrp_production_wc_order"
265         action="mrp_production_wc_action_form"
266         sequence="2"/>
267     <menuitem name="Work Orders By Resource" parent="mrp.menu_mrp_planning"
268         id="menu_mrp_production_wc_action_planning"
269         action="mrp_production_wc_action_planning"
270         sequence="2"
271         icon="STOCK_INDENT"/>
272    <!-- <menuitem parent="mrp.menu_mrp_planning"
273         id="menu_mrp_production_wc_resource_planning"
274         action="mrp_production_wc_resource_planning"
275         icon="STOCK_INDENT"/>-->
276
277     <!-- Operation codes -->
278
279     <record model="ir.ui.view" id="mrp_production_code_tree_view">
280         <field name="name">mrp.production.code.tree</field>
281         <field name="model">mrp_operations.operation.code</field>
282         <field name="type">tree</field>
283         <field name="arch" type="xml">
284             <tree string="Production Operation Code">
285                 <field name="name" select="1"/>
286                 <field name="code" select="1"/>
287                 <field name="start_stop" select="1"/>
288             </tree>
289         </field>
290     </record>
291     <record model="ir.ui.view" id="mrp_production_code_form_view">
292         <field name="name">mrp.production.code.form</field>
293         <field name="model">mrp_operations.operation.code</field>
294         <field name="type">form</field>
295         <field name="arch" type="xml">
296             <form string="Production Operation Code">
297                 <field name="name" select="1"/>
298                 <field name="code" select="1"/>
299                 <field name="start_stop" select="1"/>
300             </form>
301         </field>
302     </record>
303
304     <record model="ir.actions.act_window" id="mrp_production_code_action">
305         <field name="name">Operation Codes</field>
306         <field name="type">ir.actions.act_window</field>
307         <field name="res_model">mrp_operations.operation.code</field>
308         <field name="view_type">form</field>
309         <field name="view_mode">tree,form</field>
310         <field name="view_id" ref="mrp_production_code_tree_view"/>
311     </record>
312
313     <!-- Operations -->
314
315     <record model="ir.ui.view" id="mrp_production_operation_tree_view">
316         <field name="name">mrp.production.operation.tree</field>
317         <field name="model">mrp_operations.operation</field>
318         <field name="type">tree</field>
319         <field name="arch" type="xml">
320             <tree string="Production Operation" editable="top">
321                 <field name="production_id"/>
322                 <field name="workcenter_id"/>
323                 <field name="code_id"/>
324                 <field name="date_start"/>
325                 <field name="date_finished"/>
326                 <field name="order_date"/>
327             </tree>
328         </field>
329     </record>
330
331      <record id="graph_in_hrs_workcenter" model="ir.ui.view">
332             <field name="name">graph.in.hrs.workcenter</field>
333             <field name="model">mrp.production.workcenter.line</field>
334             <field name="type">graph</field>
335             <field name="arch" type="xml">
336                 <graph string="Hours by Work Center" type="bar">
337                      <field name="date_start_date"/>
338                      <field name="hour" operator="+"/>
339                      <field name="workcenter_id" group="True"/>
340                 </graph>
341             </field>
342         </record>
343
344     <record model="ir.actions.act_window" id="mrp_production_operation_action">
345         <field name="name">Operations</field>
346         <field name="type">ir.actions.act_window</field>
347         <field name="res_model">mrp_operations.operation</field>
348         <field name="view_type">form</field>
349         <field name="view_mode">tree,calendar,form</field>
350         <field name="view_id" ref="mrp_production_operation_tree_view"/>
351     </record>
352     <record id="mrp_production_reorder_form_view" model="ir.ui.view">
353         <field name="name">mrp.production.allow_reorder.form</field>
354         <field name="inherit_id" ref="mrp.mrp_production_form_view"/>
355         <field name="model">mrp.production</field>
356         <field name="type">form</field>
357         <field name="arch" type="xml">
358             <field name="priority" position="after">
359                 <field name="allow_reorder"/>
360             </field>
361         </field>
362     </record>
363
364     <record model="ir.ui.view" id="operation_calendar_view">
365             <field name="name">mrp.perations.calendar</field>
366             <field name="model">mrp_operations.operation</field>
367             <field name="type">calendar</field>
368             <field name="priority" eval="2"/>
369             <field name="arch" type="xml">
370                 <calendar string="Calendar View" date_start="order_date" color="workcenter_id">
371                     <field name="date_start"/>
372                     <field name="date_finished"/>
373                 </calendar>
374             </field>
375     </record>
376
377 </data>
378 </openerp>