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