35
9
<field name="inherit_id" ref="purchase.purchase_order_form" />
36
10
<field name="arch" type="xml">
38
<xpath expr="/form/group/field[@name='partner_ref']" position="attributes">
39
<attribute name="attrs">{'readonly': ['|', ('partner_type', 'not in', ['external', 'esc']), ('state', 'not in', ['draft', 'confirmed'])]}</attribute>
41
<xpath expr="/form/notebook//page[@string='Delivery & Invoicing']/group[2]" position="replace" >
44
<xpath expr="/form/notebook//page[@string='Delivery & Invoicing']//separator[@string='Purchase Control']" position="replace" >
46
<xpath expr="/form/notebook//page[@string='Delivery & Invoicing']//field[@name='validator']" position="attributes" >
47
<attribute name="invisible">1</attribute>
49
<xpath expr="/form/notebook//page[@string='Delivery & Invoicing']//field[@name='date_approve']" position="attributes" >
50
<attribute name="invisible">1</attribute>
53
<xpath expr="/form/notebook//page[@string='Delivery & Invoicing']//separator[@string='Invoices']" position="replace" >
55
<xpath expr="/form/notebook//page[@string='Delivery & Invoicing']//field[@name='invoice_ids']" position="replace" >
59
<xpath expr="/form/notebook/page[@string='Notes']" position="before" >
60
<page string="Invoices" >
61
<group colspan="2" col="2">
62
<separator string="Invoice Control" colspan="2"/>
63
<field name="invoice_method"/>
64
<field name="fiscal_position" widget="selection"/>
66
<separator string="Invoices" colspan="4"/>
68
<field name="invoice_ids" nolabel="1" colspan="4" context="{'type':'in_invoice', 'journal_type': 'purchase'}"/>
72
<xpath expr="/form/notebook/page[@string='Notes']/field[@name='notes']" position="after">
73
<separator colspan="4" string="Message ESC" />
74
<field name="message_esc" colspan="4" nolabel="1" readonly="1" attrs="{'invisible': [('partner_type', '!=', 'esc')]}" />
75
<separator colspan="4" string="Project info" />
76
<field name="project_ref" readonly="1" />
79
<xpath expr="/form//field[@name='warehouse_id']" position="replace">
80
<field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id,order_type,dest_address_id)" widget="selection"/>
83
<xpath expr="/form/notebook/page[@string='Purchase Order']/field[@name='partner_id']" position="replace">
84
<field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1}" domain="[('id', '!=', company_id)]" />
85
<field name="allocation_setup" invisible="1" />
12
<!-- <xpath expr="/form/notebook/page[@string='Purchase Order']/field[@name='partner_id']" position="replace">
13
<field name="partner_id" on_change="onchange_partner_id(partner_id, order_type)" context="{'search_default_supplier':1}" />
88
16
<xpath expr="/form/group/field[@name='company_id']" position="before">
89
<field name="order_type" on_change="onchange_internal_type(order_type, partner_id, categ, dest_partner_id, warehouse_id, delivery_requested_date)" />
17
<field name="order_type" on_change="onchange_internal_type(order_type, partner_id)" />
90
18
<field name="priority" />
92
20
<field name="categ" />
21
<field name="loan_duration" attrs="{'invisible': [('order_type', '!=', 'loan')], 'required': [('order_type', '=', 'loan')]}" />
93
22
<field name="details" />
94
<field name="parent_order_name" readonly="True" attrs="{'invisible': [('parent_order_name', '=', False)]}" />
96
<field name="loan_duration" attrs="{'invisible': [('order_type', '!=', 'loan')], 'required': [('order_type', '=', 'loan')]}" />
98
<xpath expr="/form/notebook/page//field[@name='invoice_method']" position="replace">
99
<field name="invoice_method" attrs="{'invisible': [('order_type', 'in', ['donation_exp', 'donation_st', 'in_kind', 'loan'])]}" />
100
<field name="unallocation_ok" attrs="{'readonly': ['|', ('cross_docking_ok', '=', True), ('allocation_setup', '!=', 'mixed')]}" />
102
<xpath expr="/form/notebook//field[@name='dest_address_id']" position="replace">
103
<field name="dest_partner_id" attrs="{'invisible': [('order_type', '!=', 'direct')], 'required': [('order_type', '=', 'direct')], 'readonly': [('state', 'not in', ['draft', 'confirmed'])]}"
104
on_change="on_change_dest_partner_id(dest_partner_id)" />
105
<field name="dest_address_id" domain="[('dest_address', '=', dest_partner_id)]" attrs="{'required': [('order_type', '=', 'direct')], 'readonly': [('state', 'not in', ['draft', 'confirmed'])]}" />
107
<xpath expr="/form/notebook//field[@name='fiscal_position']" position="after">
108
<field name="invoice_address_id"
109
domain="[('inv_address', 'in', [company_id])]"
110
context="contact_display='partner_address'"
111
attrs="{'required': [('order_type', '=', 'direct')], 'readonly': [('state', 'not in', ['draft', 'confirmed'])]}"
115
<xpath expr="/form/notebook//tree" position="attributes">
116
<attribute name="hide_delete_button">True</attribute>
119
<xpath expr="/form/notebook//tree//field[@name='price_subtotal']" position="after">
120
<field name="rfq_ok" invisible="1" />
121
<field name="fake_state" invisible="1" />
122
<field name="order_state_purchase_order_line" invisible="True" />
123
<button string="Split line" icon="terp-stock_effects-object-colorize" name="open_split_wizard" type="object"
124
attrs="{'invisible': ['|', ('rfq_ok', '=', True), ('order_state_purchase_order_line', 'not in', ('draft', 'wait', 'confirmed'))]}" />
125
<button string="Delete" icon="gtk-del" type="object" name="ask_unlink"
126
attrs="{'invisible': ['|', ('rfq_ok', '=', True), ('order_state_purchase_order_line', 'not in', ('draft', 'wait', 'confirmed'))]}" />
129
<xpath expr="/form//field[@name='state']" position="after">
130
<button name="dpo_received"
131
string="Validate the reception"
132
icon="terp-camera_test"
133
attrs="{'invisible': ['|', ('state', '!=', 'approved'), ('order_type', '!=', 'direct')]}"
24
<xpath expr="/form/notebook/page[@string='Delivery & Invoicing']//field[@name='invoice_method']" position="replace">
25
<field name="invoice_method" attrs="{'readonly':[('state','in', ['confirmed','approved','done'] )] , 'invisible': [('order_type', 'in', ['donation_exp', 'donation_st', 'in_kind', 'loan'])]}" />
140
<record id="purchase.purchase_order_tree" model="ir.ui.view">
31
<record id="purchase_order_type_tree_view" model="ir.ui.view">
141
32
<field name="name">purchase.order.type.tree.view</field>
142
33
<field name="model">purchase.order</field>
143
34
<field name="type">tree</field>
35
<field name="inherit_id" ref="purchase.purchase_order_tree" />
144
36
<field name="arch" type="xml">
145
<tree string="Purchase Orders"
146
colors="grey:state=='cancel';blue:state in ('wait','confirmed');red:state in ('except_invoice','except_picking')">
147
<field name="name" string="Reference" />
148
<field name="order_type" />
149
<field name="priority" />
150
<field name="categ" />
151
<field name="date_order" />
152
<field name="partner_ref" />
153
<field name="partner_id" string="Supplier" />
154
<field name="delivery_requested_date" />
155
<field name="origin" />
156
<field name="dest_partner_names" />
157
<field name="shipped_rate" widget="progressbar" />
158
<field name="invoiced_rate" widget="progressbar" />
159
<field name="amount_total" sum="Total amount" />
160
<field name="pricelist_id" string="Currency" />
161
<field name="state" />
38
<xpath expr="/tree/field[@name='date_order']" position="before">
39
<field name="order_type" />
166
<record id="purchase.view_purchase_order_filter" model="ir.ui.view">
167
<field name="name">purchase.view.purchase.order.filter</field>
45
<record id="purchase_order_type_search_view" model="ir.ui.view">
46
<field name="name">purchase.order.type.search.view</field>
168
47
<field name="model">purchase.order</field>
169
48
<field name="type">search</field>
49
<field name="inherit_id" ref="purchase.view_purchase_order_filter" />
170
50
<field name="arch" type="xml">
171
<search string="Search Purchase Orders">
172
<group col="8" colspan="4">
173
<filter icon="terp-document-new" name="draft" string="Draft" domain="[('state', 'in', ['draft'])]" separator="1" help="Purchase orders which are in draft state" />
174
<filter icon="terp-camera_test" name="confirmed" string="Validated" domain="[('state','in',['confirmed','wait'])]" separator="1" help="Purchase orders which are in validated state." />
175
<filter icon="gtk-paste-v" name="sourced" string="Sourced" domain="[('state','=','sourced')]" separator="1" />
176
<filter icon="terp-check" name="confirmed_wait" string="Confirmed (waiting)" domain="[('state', 'in', ['confirmed_wait'])]" separator="1" help="Purchase orders which are in approved state." />
177
<filter icon="terp-check" name="approved" string="Confirmed" domain="[('state', 'in', ['approved'])]" separator="1" help="Purchase orders which are in approved state." />
178
<filter icon="gtk-close" name="done" string="Closed" domain="[('state', 'in', ['done'])]" separator="1" help="Purchase orders which are in done state." />
179
<separator orientation="vertical" />
180
<filter icon="gtk-missing-image" name="inactive" string="Show Split" domain="[('state','=','split')]" context="{'active_test': False}" separator="1" />
181
<separator orientation="vertical" />
182
<filter icon="gtk-cancel" name="cancelled" string="Cancelled" domain="[('state', 'in', ['cancel'])]" separator="1" help="Purchase orders which are in cancelled state." />
183
<separator orientation="vertical" />
184
<filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state', 'in', ['except_invoice', 'except_picking'])]" separator="1" help="Purchase orders which are in the exception state." />
185
<separator orientation="vertical" />
186
<field name="name" select="1" string="Reference" />
187
<field name="partner_id" select="1" string="Supplier" />
188
<field name="partner_ref" select="1" string="Supplier Ref." />
192
<field name="product_id" />
193
<field name="origin" />
194
<field name="create_uid" />
195
<field name="date_order" />
52
<field name="product_id" position="after">
53
<field name="origin" />
55
<filter name="draft" position="replace">
56
<filter icon="terp-document-new" name="draft" string="Draft" domain="[('state', 'in', ('draft',))]" separator="1" help="Purchase order which are in draft state"/>
58
<xpath expr="/search/group/field[@name='create_uid']" position="after">
198
60
<group string="Type" expand="0">
199
<filter icon="terp-check" string="Regular" domain="[('order_type','=','regular')]" />
200
<filter icon="terp-stage" string="Donation before expiry" domain="[('order_type','=','donation_exp')]" />
201
<filter icon="terp-gtk-jump-to-ltr" string="Standard Donation" domain="[('order_type','=','donation_st')]" />
202
<filter icon="terp-partner" string="Loan" domain="[('order_type','=','loan')]" />
203
<filter icon="terp-gtk-jump-to-rtl" string="In-Kind donation" domain="[('order_type','=','in_kind')]" />
204
<filter icon="terp-purchase" string="Purchase List" domain="[('order_type','=','purchase_list')]" />
205
<filter icon="terp-crm" string="Direct PO" domain="[('order_type','=','direct')]" />
208
<group string="Priority" expand="0">
209
<filter icon="gtk-dialog-warning" string="Emergency" domain="[('priority','=','emergency')]"/>
210
<filter icon="gtk-yes" string="Normal" domain="[('priority','=','normal')]"/>
211
<filter icon="gtk-info" string="Priority" domain="[('priority','=','priority')]"/>
214
<group string="Category" expand="0">
215
<filter icon="gtk-color-picker" string="Medical" domain="[('categ','=','medical')]"/>
216
<filter icon="terp-stock" string="Logistic" domain="[('categ','=','log')]"/>
217
<filter icon="terp-purchase" string="Service" domain="[('categ','=','service')]"/>
218
<filter icon="gtk-quit" string="Transport" domain="[('categ','=','transport')]"/>
219
<filter icon="gtk-harddisk" string="Other" domain="[('categ','=','other')]"/>
222
<group expand="0" string="Group By..." colspan="4" col="10">
223
<filter string="Order Type" icon="terp-rating-rated" domain="[]" context="{'group_by':'order_type'}"/>
224
<separator orientation="vertical" />
225
<filter string="Priority" icon="terp-project" domain="[]" context="{'group_by': 'priority'}" />
226
<separator orientation="vertical" />
227
<filter string="Category" icon="terp-translate" domain="[]" context="{'group_by':'categ'}"/>
228
<separator orientation="vertical" />
229
<filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
230
<separator orientation="vertical" />
231
<filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
232
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
233
<separator orientation="vertical" />
234
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
235
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'delivery_requested_date'}" />
61
<filter icon="terp-check" string="Regular" domain="[('order_type','=','regular')]" />
62
<filter icon="terp-stage" string="Donation before expiry" domain="[('order_type','=','donation_exp')]" />
63
<filter icon="terp-gtk-jump-to-ltr" string="Standard Donation" domain="[('order_type','=','donation_st')]" />
64
<filter icon="terp-partner" string="Loan" domain="[('order_type','=','loan')]" />
65
<filter icon="terp-gtk-jump-to-rtl" string="In-Kind donation" domain="[('order_type','=','in_kind')]" />
66
<filter icon="terp-purchase" string="Purchase List" domain="[('order_type','=','purchase_list')]" />
67
<filter icon="terp-crm" string="Direct PO" domain="[('order_type','=','direct')]" />
70
<group string="Priority" expand="0">
71
<filter icon="gtk-dialog-warning" string="Emergency" domain="[('priority','=','emergency')]"/>
72
<filter icon="gtk-yes" string="Normal" domain="[('priority','=','normal')]"/>
73
<filter icon="gtk-info" string="Medium" domain="[('priority','=','priority')]"/>
76
<group string="Category" expand="0">
77
<filter icon="gtk-color-picker" string="Medical" domain="[('categ','=','medical')]"/>
78
<filter icon="terp-stock" string="Logistic" domain="[('categ','=','log')]"/>
79
<filter icon="terp-accessories-archiver" string="Food" domain="[('categ','=','food')]"/>
80
<filter icon="terp-purchase" string="Service" domain="[('categ','=','service')]"/>
81
<filter icon="gtk-network" string="Asset" domain="[('categ','=','asset')]"/>
82
<filter icon="terp-stock_symbol-selection" string="Mixed" domain="[('categ','=','mixed')]"/>
83
<filter icon="gtk-harddisk" string="Other" domain="[('categ','=','other')]"/>
87
<xpath expr="/search/group[2]/filter[@string='Supplier']" position="before">
88
<filter string="Order Type" icon="terp-rating-rated" domain="[]" context="{'group_by':'order_type'}"/>
89
<separator orientation="vertical"/>
90
<filter string="Priority" icon="terp-project" domain="[]" context="{'group_by':'priority'}"/>
91
<separator orientation="vertical"/>
92
<filter string="Category" icon="terp-translate" domain="[]" context="{'group_by':'categ'}"/>
93
<separator orientation="vertical"/>
243
101
<field name="type">ir.actions.act_window</field>
244
102
<field name="res_model">purchase.order</field>
245
103
<field name="view_mode">tree,form,graph,calendar</field>
246
<field name="context">{'search_default_approved': 1,'search_default_create_uid':uid, 'purchase_order': True}</field>
247
<field name="domain">[('tender_id', '=', False)]</field>
104
<field name="context">{'search_default_approved': 1,'search_default_create_uid':uid}</field>
105
<field name="domain">[('tender_id', '=', False),]</field>
248
106
<field name="search_view_id" ref="purchase.view_purchase_order_filter"/>
249
107
<field name="help">Use this menu to search within your purchase orders by references, supplier, products, etc. For each purchase order, you can track the products received, and control the supplier invoices.</field>
252
<!-- REWORK THE PURCHASE MENU − SEE UF-657 - ERGONOMIC REQUIREMENTS -->
253
<!-- Purchase Management -->
254
<menuitem id="purchase.menu_purchase_form_action"
255
action="purchase.purchase_form_action"
257
parent="purchase.menu_procurement_management" />
259
<menuitem id="purchase.menu_purchase_rfq"
260
action="purchase.purchase_rfq"
262
parent="purchase.menu_procurement_management" />
264
<menuitem id="base.menu_procurement_management_supplier_name"
265
action="base.action_partner_supplier_form"
267
parent="purchase.menu_procurement_management" />
269
<menuitem id="base.menu_purchase_root" sequence="2" />
271
<!-- Address Book -->
272
<menuitem id="base.menu_procurement_management_supplier"
274
parent="purchase.menu_purchase_config_purchase" />
276
<record id="res_partner_address_list_view" model="ir.ui.view">
277
<field name="name">res.partner.address.list.view</field>
278
<field name="model">res.partner.address</field>
279
<field name="type">tree</field>
280
<field name="inherit_id" ref="base.view_partner_address_tree" />
281
<field name="arch" type="xml">
282
<xpath expr="/tree//field[@name='name']" position="after">
283
<field name="street" />
288
<record id="action_supplier_address_form" model="ir.actions.act_window">
289
<field name="name">Addresses</field>
290
<field name="type">ir.actions.act_window</field>
291
<field name="res_model">res.partner.address</field>
292
<field name="view_type">form</field>
293
<field name="context">{"search_default_supplier":1}</field>
294
<field name="search_view_id" ref="base.view_res_partner_address_filter" />
295
<field name="help">Suppliers (also called Partners in other areas of the system) helps you manage your address book of companies whether they are prospects, customers and/or suppliers. The partner form allows you to track and record all the necessary information to interact with your partners from the company address to their contacts as well as pricelists, and much more. If you installed the CRM, with the history tab, you can track all the interactions with a partner such as opportunities, emails, or sales orders issued.</field>
298
<record id="purchase_order_line_form_view_inherit" model="ir.ui.view">
299
<field name="name">purchase.order.line.form.view</field>
300
<field name="model">purchase.order.line</field>
301
<field name="type">form</field>
302
<field name="inherit_id" ref="purchase.purchase_order_line_form" />
303
<field name="arch" type="xml">
305
<xpath expr="/form//field[@name='product_id']" position="replace">
306
<field name="tender_line_id" invisible="1" />
307
<field name="product_id" colspan="4"
308
context="partner_id=parent.partner_id,quantity=product_qty,pricelist=parent.pricelist_id,uom=product_uom,warehouse=parent.warehouse_id, available_for_restriction=parent.partner_type,search_default_not_restricted=1,categ=parent.categ"
309
on_change="product_id_on_change(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order,parent.fiscal_position,date_planned,name,price_unit,notes,parent.state,old_price_unit,nomen_manda_0,comment,context)"
310
attrs="{'readonly': [('tender_line_id', '!=', False)]}"
312
<!-- domain="[('purchase_type', '=', parent.categ)] />" -->
315
<xpath expr="/form//field[@name='price_unit']" position="replace">
316
<field name="rfq_ok" invisible="1" />
317
<field name="state" invisible="1" />
318
<field name="fake_id" invisible="1" />
319
<field name="change_price_ok" invisible="1" />
320
<field name="old_price_unit" invisible="1" />
321
<field name="price_unit"
322
on_change="price_unit_change(fake_id, price_unit, product_id, product_uom, product_qty, parent.pricelist_id, parent.partner_id, parent.date_order, change_price_ok, parent.state, old_price_unit, nomen_manda_0, comment, context)" />
329
<!-- Modify the view of the merge PO wizard -->
330
<record id="inherit_view_purchase_order_group" model="ir.ui.view">
331
<field name="name">Merger Purchase Orders</field>
332
<field name="model">purchase.order.group</field>
333
<field name="inherit_id" ref="purchase.view_purchase_order_group" />
334
<field name="arch" type="xml">
335
<xpath expr="/form//label" position="replace">
338
<p>Please note that: </p>
339
<p style="margin-left:10px">Orders will only be merged if: </p>
340
<p style="margin-left:20px">* Purchase Orders are in draft</p>
341
<p style="margin-left:20px">* Purchase Orders belong to the same supplier and the same currency</p>
344
<separator colspan="4" />
346
<field name="po_value_id" readonly="1" colspan="2" />
348
<field name="unmatched_categ" invisible="1" />
350
<p>All information of the PO template will be written in the new PO,</p>
351
<p>except the Delivery Requested date which will be the earliest date of all POs.</p>
354
<group colspan="4" col="4" attrs="{'invisible': [('unmatched_categ', '=', False)]}">
356
<p style="margin-top:10px;padding-left:5px;border-style:solid;border-width:1px;background-color:#F0EBA4;border-radius:5px;">
357
<span style="font-weight:bold">WARNING: </span>
358
<span>The category of the new PO is not consistent with the category of the other POs being merged</span>
367
<record id="purchase_order_confirm_wizard" model="ir.ui.view">
368
<field name="name">purchase.order.confirm.wizard</field>
369
<field name="model">purchase.order.confirm.wizard</field>
370
<field name="type">form</field>
371
<field name="arch" type="xml">
372
<form string="Warning on confirmation">
373
<separator colspan="4" string="Purchase Order" />
374
<field name="order_id" colspan="4" />
375
<separator colspan="4" string="Warning" />
376
<field name="errors" colspan="4" nolabel="1" />
377
<separator colspan="4" string="Actions" />
378
<button special="cancel" icon="gtk-cancel" string="Close window" colspan="1" />
379
<button type="object" name="validate_order" icon="terp-check" string="Confirm" colspan="3" />
384
<!-- Invoice control -->
385
<menuitem id="purchase.menu_action_stock_move_report_po" parent="stock.next_id_61" />
387
<!-- Invoice control -->
388
<!-- MOVED THIS BLOCK TO hidden_menu.xml === DO NOT HARD DELETE MenuItem -->
391
<delete model="ir.ui.menu" id="purchase.menu_purchase_config_pricelist" />
392
<delete model="ir.ui.menu" id="purchase.menu_product_in_config_purchase" />
393
used in useability_dashboard_and_menu/menu/supply_config_menu.xml
395
<!-- <delete model="ir.ui.menu" id="purchase.action_supplier_address_form" /> -->
397
<!-- Here was an act_window to display all PO from products views.
398
This action is defined on product_attributes module -->
400
<record id="purchase_order_line_unlink_wizard_form_view" model="ir.ui.view">
401
<field name="name">purchase.order.line.unlink.wizard.form.view</field>
402
<field name="model">purchase.order.line.unlink.wizard</field>
403
<field name="type">form</field>
404
<field name="arch" type="xml">
405
<form string="Purchase order line cancelation">
406
<group colspan="4" col="1">
408
<h4 style="text-align: center; margin: 10px">Would you re-source the needs sourced by this purchase order line ?</h4>
412
<separator string="Actions" colspan="4" />
413
<button name="just_cancel" string="No" type="object" icon="gtk-execute" colspan="2" />
414
<button name="cancel_and_resource" string="Yes" type="object" icon="gtk-execute" colspan="2" />
419
<record id="purchase_order_cancel_wizard_form_view" model="ir.ui.view">
420
<field name="name">purchase.order.cancel.wizard.form.view</field>
421
<field name="model">purchase.order.cancel.wizard</field>
422
<field name="type">form</field>
423
<field name="arch" type="xml">
424
<form string="Cancel Purchase Order">
425
<group colspan="4" col="1">
427
<h4 style="text-align: center; margin: 10px">If you click on 'Cancel & Resource' button, all Field Order lines or Internal Request lines sourced by this Purchase Order will be re-sourced.</h4>
431
<separator string="Actions" />
432
<button name="cancel_po" string="Cancel only" type="object" icon="gtk-cancel" colspan="2" />
433
<button name="cancel_and_resource" string="Cancel & Resource" type="object" icon="gtk-cancel" colspan="2" />
438
<record id="ask_po_cancel_wizard_form_view" model="ir.ui.view">
439
<field name="name">ask.po.cancel.wizard.form.view</field>
440
<field name="model">purchase.order.cancel.wizard</field>
441
<field name="type">form</field>
442
<field name="priority" eval="99" />
443
<field name="arch" type="xml">
444
<form string="Cancel Purchase Order">
445
<group colspan="4" col="1">
447
<h4 style="text-align: center; margin: 10px">You removed all lines of this purchase order, would you cancel it ?</h4>
451
<separator string="Actions" colspan="4" />
452
<button colspan="1" type="object" icon="gtk-cancel" name="close_window" string="Close window" />
453
<button colspan="2" type="object" icon="gtk-execute" name="cancel_po" string="Cancel PO" />