Merge lp:~openerp-commiter/openobject-addons/chricar_trunk_layout into lp:openobject-addons

Proposed by Ferdinand
Status: Rejected
Rejected by: Fabien (Open ERP)
Proposed branch: lp:~openerp-commiter/openobject-addons/chricar_trunk_layout
Merge into: lp:openobject-addons
Diff against target: 2054 lines (+300/-1119)
12 files modified
account/account_invoice_view.xml (+61/-50)
account/invoice.py (+2/-1)
delivery/delivery_view.xml (+8/-6)
purchase/purchase.py (+21/-8)
purchase/purchase_view.xml (+23/-14)
sale/__openerp__.py (+1/-1)
sale/sale.py (+36/-3)
sale/sale_view.xml (+35/-44)
sale/stock_view.xml (+8/-0)
smtpclient/i18n/fr.po (+0/-871)
stock/stock.py (+3/-1)
stock/stock_view.xml (+102/-120)
To merge this branch: bzr merge lp:~openerp-commiter/openobject-addons/chricar_trunk_layout
Reviewer Review Type Date Requested Status
Jay Vora (Serpent Consulting Services) (community) Needs Fixing
Ferdinand (community) Needs Resubmitting
Fabien (Open ERP) Needs Fixing
Review via email: mp+24656@code.launchpad.net

This proposal supersedes a proposal from 2010-05-04.

Description of the change

fixed some bugs

To post a comment you must log in.
Revision history for this message
Ferdinand (office-chricar) wrote :

forgot to push the changes

Revision history for this message
Ferdinand (office-chricar) wrote :

please merge ASAP as bzr merge from trunk needs always very time consuming manual review of xml files

unified layout for PO/SO/Picking/Invoice
unified logic for SO/PO (payment_term, scheduled date)

review: Needs Resubmitting
Revision history for this message
Fabien (Open ERP) (fp-tinyerp) wrote :

Why did you removed this ?
   <field name="context">{'contact_display': 'partner',

We need this.

review: Needs Fixing
Revision history for this message
Ferdinand (office-chricar) wrote :

> Review: Needs Fixing
> Why did you removed this ?
> <field name="context">{'contact_display': 'partner',
>
>
> We need this.
We need to display partner AND address and
as we can not have address_id twice
so I have added in stock.py

 'partner_id':
fields.related('picking_id','address_id','partner_id',type='many2one',
relation="res.partner", string="Partner"),

and display (a few lines later)
partner_id and adress_id

hope that is OK
--
regards
Ferdinand Gassauer
ChriCar Beteiligungs- und Beratungs- GmbH
Official OpenERP Partner

Revision history for this message
Ferdinand (office-chricar) wrote :

We need to display partner AND address and
as we can not have address_id twice
so I have added in stock.py

 'partner_id':
fields.related('picking_id','address_id','partner_id',type='many2one',
relation="res.partner", string="Partner"),

and display (a few lines later)
partner_id and adress_id

hope that is OK

review: Needs Resubmitting
Revision history for this message
Ferdinand (office-chricar) wrote :
Revision history for this message
Ferdinand (office-chricar) wrote :

@Fabien
well I will create a address_display_id instead and keep the original address_id functionality

Revision history for this message
Ferdinand (office-chricar) wrote :

stock view uses again
name="address_id" context="{'contact_display':'partner'}"
and partner_id displays partner name (which as missing)

review: Needs Resubmitting
Revision history for this message
Ferdinand (office-chricar) wrote :

improved layout merged with r 3541

please let me know if you ever want to accept these layout changes - it costs about 2-3 hours to check conflicts each time.

review: Needs Resubmitting
Revision history for this message
Jay Vora (Serpent Consulting Services) (jayvora) wrote :

Hello,
<button name="195" type="action" string="Re-Open" states="paid" icon="gtk-convert"/>

It has always to be the reference of action, not an id directly.

Thanks.

review: Needs Fixing
Revision history for this message
Ferdinand (office-chricar) wrote :

As I said in mail on expert list
* the branch trunk_layout as it is needs fixing -
** layout changes (combined relocation of fields AND changes of field attributes) are not (well) handled by bzr merge / bzr emerge
* it last worked with r 3541

I will not be able to do much before weekend or beginning of next week.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'account/account_invoice_view.xml'
2--- account/account_invoice_view.xml 2010-05-26 08:28:37 +0000
3+++ account/account_invoice_view.xml 2010-05-27 21:44:29 +0000
4@@ -140,31 +140,38 @@
5 <field name="type">form</field>
6 <field name="priority">2</field>
7 <field name="arch" type="xml">
8- <form string="Supplier invoice">
9+ <form string="Supplier invoice">
10 <group col="6" colspan="4">
11- <field domain="[('type', '=', 'purchase')]" name="journal_id"/>
12 <field name="number" readonly="1"/>
13- <field name="type" invisible="1"/>
14- <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
15- <newline/>
16- <field name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" context="{'default_customer': 0}"/>
17- <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
18- <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
19- <newline/>
20 <field name="date_invoice"/>
21+ <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
22+ <field name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" context="{'default_customer': 0}" colspan="4"/>
23+ <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" colspan="4"/>
24+
25+
26+<newline/>
27+ <field name="type" />
28 <field name="period_id" groups="base.group_user"/>
29- <group colspan="2" col="1" groups="base.group_user">
30- <label align="0.0" string="(keep empty to use the current period)"/>
31- </group>
32+ <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
33 </group>
34 <notebook colspan="4">
35 <page string="Invoice">
36- <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user"/>
37+ <group col="6" colspan="4">
38+ <field domain="[('type', '=', 'purchase')]" name="journal_id" colspan="4" />
39+
40+ <field name="payment_term" widget="selection"/>
41+ <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user" colspan="4"/>
42+ <field name="date_due"/>
43+ <field name="name" colspan="4" />
44+ <field name="reconciled"/>
45 <field name="reference_type" nolabel="1" size="0"/>
46- <field name="reference" nolabel="1"/>
47- <field name="date_due"/>
48- <field name="check_total" required="2"/>
49+ <field name="reference" nolabel="1" colspan="3"/>
50+
51+ </group>
52 <field colspan="4" default_get="{'check_total': check_total, 'invoice_line': invoice_line, 'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False}" name="invoice_line" nolabel="1">
53+<!--
54+ -->
55+
56 <tree string="Invoice lines">
57 <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
58 <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(parent.fiscal_position,account_id)"/>
59@@ -194,8 +201,10 @@
60 <button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="gtk-apply"/>
61 <field name="amount_untaxed"/>
62 <label string="" colspan="2"/>
63+
64+
65 <field name="amount_tax"/>
66- <field name="reconciled"/>
67+ <field name="check_total" required="2"/>
68 <field name="amount_total"/>
69 <field name="state"/>
70 <field name="residual"/>
71@@ -203,26 +212,29 @@
72 <button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-apply"/>
73 <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
74 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
75- <button name="%(action_account_state_open)d" type='action' string='Re-Open' states='paid' icon="gtk-convert"/>
76+ <button name="195" type="action" string="Re-Open" states="paid" icon="gtk-convert"/>
77 </group>
78 </group>
79 </page>
80 <page string="Other Info">
81- <field domain="[('partner_id', '=', partner_id)]" name="partner_bank" on_change="onchange_partner_bank(partner_bank)"/>
82-
83- <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
84- <newline/>
85- <field name="payment_term" widget="selection"/>
86- <field name="name"/>
87+ <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
88+
89+ <field colspan="4" domain="[('partner_id', '=', partner_id)]" name="partner_bank" on_change="onchange_partner_bank(partner_bank)"/>
90+
91+
92 <newline/>
93 <field name="origin" groups="base.group_extended"/>
94- <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
95+
96+ <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
97 <field name="move_id"/>
98+
99 <separator colspan="4" string="Additional Information"/>
100 <field colspan="4" name="comment" nolabel="1"/>
101+
102+
103 </page>
104 <page string="Payments" groups="base.group_extended">
105- <field name="payment_ids" colspan="4" nolabel="1" >
106+ <field name="payment_ids" colspan="4" nolabel="1">
107 <tree string="Payments">
108 <field name="date"/>
109 <field name="ref"/>
110@@ -246,29 +258,33 @@
111 <field name="model">account.invoice</field>
112 <field name="type">form</field>
113 <field name="arch" type="xml">
114- <form string="Invoice">
115+ <form string="Customer Invoice">
116 <group colspan="4" col="6">
117- <field name="journal_id" groups="base.group_user"/>
118- <field name="number"/>
119- <field name="type" invisible="1"/>
120- <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
121- <newline/>
122- <field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" groups="base.group_user"/>
123- <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
124- <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
125- <newline/>
126
127+ <field name="number" readonly="1"/>
128 <field name="date_invoice"/>
129+ <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
130+ <field name="partner_id" domain="[('customer','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" groups="base.group_user" context="{'default_supplier': 0}" colspan="4"/>
131+ <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" colspan="4"/>
132+ <newline/>
133+ <field name="type" />
134 <field name="period_id" groups="base.group_user"/>
135- <group colspan="2" col="1" groups="base.group_user">
136- <label align="0.0" string="(keep empty to use the current period)"/>
137- </group>
138+ <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
139 </group>
140+
141 <notebook colspan="4">
142 <page string="Invoice">
143- <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user"/>
144- <field name="name"/>
145+ <group colspan="4" col="6">
146+
147+ <field name="journal_id" groups="base.group_user" colspan="4"/>
148 <field name="payment_term" widget="selection"/>
149+<newline/>
150+ <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user" colspan="4"/>
151+ <field name="date_due"/>
152+ <field name="name" colspan="4"/>
153+ <field name="reconciled"/>
154+ </group>
155+
156 <field colspan="4" name="invoice_line" nolabel="1" widget="one2many_list"/>
157 <group col="1" colspan="2">
158 <field name="tax_line" nolabel="1">
159@@ -286,7 +302,7 @@
160 <field name="amount_untaxed"/>
161 <label string="" colspan="2"/>
162 <field name="amount_tax"/>
163- <field name="reconciled"/>
164+ <label string="" colspan="2"/>
165 <field name="amount_total"/>
166 <field name="state"/>
167 <field name="residual"/>
168@@ -295,21 +311,16 @@
169 <button name="invoice_open" states="draft,proforma2" string="Create" icon="gtk-execute"/>
170 <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
171 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
172- <button name='%(action_account_state_open)d' type='action' string='Re-Open' states='paid' icon="gtk-convert"/>
173+ <button name="195" type="action" string="Re-Open" states="paid" icon="gtk-convert"/>
174 </group>
175 </group>
176 </page>
177 <page string="Other Info">
178- <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
179- <newline/>
180- <field name="date_due"/>
181 <field name="user_id"/>
182 <newline/>
183- <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank"
184- groups="base.group_extended"/>
185+ <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank" groups="base.group_extended"/>
186 <field name="origin"/>
187- <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id"
188- groups="base.group_extended"/>
189+ <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
190 <field name="move_id" groups="base.group_user"/>
191 <separator colspan="4" string="Additionnal Information"/>
192 <field colspan="4" name="comment" nolabel="1"/>
193
194=== modified file 'account/invoice.py'
195--- account/invoice.py 2010-05-26 08:28:37 +0000
196+++ account/invoice.py 2010-05-27 21:44:29 +0000
197@@ -288,7 +288,8 @@
198 'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
199 'journal_id': fields.many2one('account.journal', 'Journal', required=True,readonly=True, states={'draft':[('readonly',False)]}),
200 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True),
201- 'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]}),
202+ 'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]},
203+ help="Total amount on invoice"),
204 'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean',
205 store={
206 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 50), # Check if we can remove ?
207
208=== modified file 'delivery/delivery_view.xml'
209--- delivery/delivery_view.xml 2010-05-12 11:43:48 +0000
210+++ delivery/delivery_view.xml 2010-05-27 21:44:29 +0000
211@@ -139,8 +139,8 @@
212 <field name="model">stock.picking</field>
213 <field name="inherit_id" ref="stock.view_picking_out_form"/>
214 <field name="arch" type="xml">
215- <field name="address_id" position="after">
216- <field name="carrier_id"/>
217+ <field name="backorder_id" position="after">
218+ <field name="carrier_id" colspan="4"/>
219 <field name="weight"/>
220 </field>
221 </field>
222@@ -152,7 +152,8 @@
223 <field name="model">stock.picking</field>
224 <field name="inherit_id" ref="stock.view_picking_in_form"/>
225 <field name="arch" type="xml">
226- <field name="type" position="after">
227+ <field name="backorder_id" position="after">
228+ <field name="carrier_id" colspan="4"/>
229 <field name="weight"/>
230 </field>
231 </field>
232@@ -164,7 +165,8 @@
233 <field name="model">stock.picking</field>
234 <field name="inherit_id" ref="stock.view_picking_form"/>
235 <field name="arch" type="xml">
236- <field name="type" position="after">
237+ <field name="backorder_id" position="after">
238+ <field name="carrier_id" colspan="4"/>
239 <field name="weight"/>
240 </field>
241 </field>
242@@ -176,8 +178,8 @@
243 <field name="model">stock.picking</field>
244 <field name="inherit_id" ref="stock.view_picking_delivery_form"/>
245 <field name="arch" type="xml">
246- <field name="address_id" position="after">
247- <field name="carrier_id"/>
248+ <field name="backorder_id" position="after">
249+ <field name="carrier_id" colspan="4"/>
250 <field name="weight"/>
251 </field>
252 </field>
253
254=== modified file 'purchase/purchase.py'
255--- purchase/purchase.py 2010-05-26 08:28:37 +0000
256+++ purchase/purchase.py 2010-05-27 21:44:29 +0000
257@@ -141,6 +141,15 @@
258 def _invoiced(self, cursor, user, ids, name, arg, context=None):
259 res = {}
260 for purchase in self.browse(cursor, user, ids, context=context):
261+ if purchase.invoice_id:
262+ res[purchase.id] = True
263+ else:
264+ res[purchase.id] = False
265+ return res
266+
267+ def _paid(self, cursor, user, ids, name, arg, context=None):
268+ res = {}
269+ for purchase in self.browse(cursor, user, ids, context=context):
270 if purchase.invoice_id.reconciled:
271 res[purchase.id] = purchase.invoice_id.reconciled
272 else:
273@@ -161,6 +170,7 @@
274 help="Put an address if you want to deliver directly from the supplier to the customer." \
275 "In this case, it will remove the warehouse link and set the customer location."
276 ),
277+ 'partner_order_id': fields.many2one('res.partner.address', 'Ordering Contact', readonly=True, states={'draft': [('readonly', False)]}, help="The name and address of the contact who accepted the order or quotation."),
278 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', states={'posted':[('readonly',True)]}),
279 'location_id': fields.many2one('stock.location', 'Destination', required=True, domain=[('usage','<>','view')]),
280 'pricelist_id':fields.many2one('product.pricelist', 'Pricelist', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, help="The pricelist sets the currency used for this purchase order. It also computes the supplier price for the selected products/quantities."),
281@@ -172,7 +182,8 @@
282 'picking_ids': fields.one2many('stock.picking', 'purchase_id', 'Picking List', readonly=True, help="This is the list of picking list that have been generated for this purchase"),
283 'shipped':fields.boolean('Received', readonly=True, select=True),
284 'shipped_rate': fields.function(_shipped_rate, method=True, string='Received', type='float'),
285- 'invoiced': fields.function(_invoiced, method=True, string='Invoiced & Paid', type='boolean'),
286+ 'invoiced': fields.function(_invoiced, method=True, string='Invoiced', type='boolean'),
287+ 'paid': fields.function(_paid, method=True, string='Paid', type='boolean'),
288 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'),
289 'invoice_method': fields.selection([('manual','Manual'),('order','From Order'),('picking','From Picking')], 'Invoicing Control', required=True,
290 help="From Order: a draft invoice will be pre-generated based on the purchase order. The accountant " \
291@@ -184,19 +195,20 @@
292 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount',
293 store={
294 'purchase.order.line': (_get_order, None, 10),
295- }, multi="sums"),
296+ }, multi="sums",help="Calculated net"),
297 'amount_tax': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Taxes',
298 store={
299 'purchase.order.line': (_get_order, None, 10),
300- }, multi="sums"),
301+ }, multi="sums",help="Calculated tax"),
302 'amount_total': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Total',
303 store={
304 'purchase.order.line': (_get_order, None, 10),
305- }, multi="sums"),
306+ }, multi="sums",help="Calculated total"),
307 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),
308 'product_id': fields.related('order_line','product_id', type='many2one', relation='product.product', string='Product'),
309 'create_uid': fields.many2one('res.users', 'Responsible'),
310 'company_id': fields.many2one('res.company','Company',required=True,select=1),
311+ 'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
312 }
313 _defaults = {
314 'date_order': lambda *a: time.strftime('%Y-%m-%d'),
315@@ -250,12 +262,13 @@
316 def onchange_partner_id(self, cr, uid, ids, part):
317
318 if not part:
319- return {'value':{'partner_address_id': False, 'fiscal_position': False}}
320- addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['default'])
321+ return {'value':{'partner_address_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}}
322+ addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['default','contact'])
323 part = self.pool.get('res.partner').browse(cr, uid, part)
324 pricelist = part.property_product_pricelist_purchase.id
325 fiscal_position = part.property_account_position and part.property_account_position.id or False
326- return {'value':{'partner_address_id': addr['default'], 'pricelist_id': pricelist, 'fiscal_position': fiscal_position}}
327+ payment_term = part.property_payment_term and part.property_payment_term.id or False
328+ return {'value':{'partner_address_id': addr['default'],'partner_order_id': addr['contact'], 'pricelist_id': pricelist, 'payment_term': payment_term, 'fiscal_position': fiscal_position}}
329
330 def wkf_approve_order(self, cr, uid, ids, context={}):
331 self.write(cr, uid, ids, {'state': 'approved', 'date_approve': time.strftime('%Y-%m-%d')})
332@@ -358,7 +371,7 @@
333 'origin': o.name,
334 'invoice_line': il,
335 'fiscal_position': o.partner_id.property_account_position.id,
336- 'payment_term': o.partner_id.property_payment_term and o.partner_id.property_payment_term.id or False,
337+ 'payment_term': o.payment_term.id,
338 'company_id': o.company_id.id,
339 }
340 inv_id = self.pool.get('account.invoice').create(cr, uid, inv, {'type':'in_invoice'})
341
342=== modified file 'purchase/purchase_view.xml'
343--- purchase/purchase_view.xml 2010-05-26 08:28:37 +0000
344+++ purchase/purchase_view.xml 2010-05-27 21:44:29 +0000
345@@ -66,23 +66,32 @@
346 <field name="model">purchase.order</field>
347 <field name="type">form</field>
348 <field name="arch" type="xml">
349- <form string="Purchase Order">
350+ <form string="Purchase Order">
351 <group col="6" colspan="4">
352 <field name="name"/>
353- <field name="date_order"/>
354- <field name="invoiced"/>
355- <newline/>
356- <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection"/>
357+ <field name="date_order" select="1"/>
358+ <field name="company_id" groups="base.group_multi_company" widget="selection"/>
359+ <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1" select="1" domain="[('supplier','=', 1)]" colspan="4"/>
360+ <field name="partner_ref"/>
361+ <field domain="[('partner_id','=',partner_id)]" name="partner_address_id" colspan="4"/>
362+<!--
363+ <label colspan="2" align="0.0" string="Missing Customer reference date"/>
364+-->
365 <field name="origin"/>
366- <field name="shipped"/>
367- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
368 </group>
369 <notebook colspan="4">
370 <page string="Purchase Order">
371- <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('supplier','=', 1)]"/>
372- <field name="partner_address_id"/>
373- <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>
374- <field name="partner_ref"/>
375+ <group col="6" colspan="4">
376+ <field name="dest_address_id" on_change="onchange_dest_address_id(dest_address_id)" colspan="4"/>
377+ <field name="shipped_rate" widget="progressbar"/>
378+ <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" colspan="4"/>
379+ <field name="invoiced_rate" widget="progressbar"/>
380+ <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection"/>
381+ <field name="minimum_planned_date"/>
382+ <field name="paid"/>
383+ <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>
384+ <field name="payment_term" widget="selection"/>
385+ </group>
386 <newline/>
387 <field colspan="4" name="order_line" nolabel="1" mode="tree,form">
388 <tree colors="red:date_planned&lt;=current_date;black:date_planned&gt;current_date" string="Purchase Order Lines">
389@@ -120,8 +129,7 @@
390 <page string="Delivery &amp; Invoices" groups="account.group_account_user">
391 <group colspan="2" col="2" groups="base.group_extended">
392 <separator string="Delivery" colspan="2"/>
393- <field name="dest_address_id" on_change="onchange_dest_address_id(dest_address_id)"/>
394- <field name="minimum_planned_date"/>
395+
396 <field name="location_id"/>
397 </group>
398 <group colspan="2" col="2">
399@@ -230,8 +238,9 @@
400 <field colspan="4" name="name"/>
401 <field name="date_planned" widget="date"/>
402 <field name="price_unit"/>
403- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
404+ <field name="company_id" invisible="1"/>
405 <field name="price_subtotal" readonly="1"/>
406+ <field colspan="4" name="taxes_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','sale')]"/>
407 </page>
408 <page string="Notes">
409 <field colspan="4" name="notes" nolabel="1"/>
410
411=== modified file 'sale/__openerp__.py'
412--- sale/__openerp__.py 2010-05-26 08:28:37 +0000
413+++ sale/__openerp__.py 2010-05-27 21:44:29 +0000
414@@ -60,7 +60,7 @@
415 'stock_view.xml',
416 # 'process/sale_process.xml',
417 ],
418- 'demo_xml': ['sale_demo.xml'],
419+ 'demo_xml': [],
420 'test': [
421 'test/shipping_manual_sale_order.yml',
422 'test/prepaid_sale_order.yml',
423
424=== modified file 'sale/sale.py'
425--- sale/sale.py 2010-05-26 08:28:37 +0000
426+++ sale/sale.py 2010-05-27 21:44:29 +0000
427@@ -160,7 +160,19 @@
428 for sale in self.browse(cursor, user, ids, context=context):
429 res[sale.id] = True
430 for invoice in sale.invoice_ids:
431- if invoice.state != 'paid':
432+ break
433+ if not sale.invoice_ids:
434+ res[sale.id] = False
435+ return res
436+
437+ def _paid(self, cursor, user, ids, name, arg, context=None):
438+ if context is None:
439+ context = {}
440+ res = {}
441+ for sale in self.browse(cursor, user, ids, context=context):
442+ res[sale.id] = True
443+ for invoice in sale.invoice_ids:
444+ if invoice.reconciled != True:
445 res[sale.id] = False
446 break
447 if not sale.invoice_ids:
448@@ -204,6 +216,23 @@
449 result[line.order_id.id] = True
450 return result.keys()
451
452+ def _minimum_planned_date(self, cr, uid, ids, field_name, arg, context):
453+ res={}
454+ sale_obj=self.browse(cr, uid, ids, context=context)
455+ for sale in sale_obj:
456+ res[sale.id] = False
457+ if sale.order_line:
458+ #min_date=sale.order_line[0].date_planned
459+ min_date=''
460+ for line in sale.order_line:
461+ if line.date_planned and ( not min_date or line.date_planned < min_date):
462+ min_date=line.date_planned
463+ if not min_date:
464+ min_date=datetime.now()
465+ res[sale.id]=min_date
466+ return res
467+
468+
469 _columns = {
470 'name': fields.char('Order Reference', size=64, required=True, select=True),
471 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)]}),
472@@ -220,7 +249,7 @@
473 ('done', 'Done'),
474 ('cancel', 'Cancelled')
475 ], 'Order State', readonly=True, help="Gives the state of the quotation or sale order. The exception state is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception). The 'Waiting Schedule' state is set when the invoice is confirmed but waiting for the scheduler to run on the date 'Ordered Date'.", select=True),
476- 'date_order': fields.date('Ordered Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
477+ 'date_order': fields.date('Date Ordered', required=True, readonly=True, states={'draft': [('readonly', False)]}),
478 'create_date': fields.date('Creation Date', readonly=True),
479 'date_confirm': fields.date('Confirmation Date', readonly=True),
480 'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True),
481@@ -252,7 +281,9 @@
482 'shipped': fields.boolean('Picked', readonly=True),
483 'picked_rate': fields.function(_picked_rate, method=True, string='Picked', type='float'),
484 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'),
485- 'invoiced': fields.function(_invoiced, method=True, string='Paid',
486+ 'invoiced': fields.function(_invoiced, method=True, string='Invoiced',
487+ fnct_search=_invoiced_search, type='boolean'),
488+ 'paid': fields.function(_paid, method=True, string='Paid',
489 fnct_search=_invoiced_search, type='boolean'),
490 'note': fields.text('Notes', translate=True),
491
492@@ -279,6 +310,7 @@
493 'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
494 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),
495 'company_id': fields.many2one('res.company','Company',select=1),
496+ 'minimum_planned_date':fields.function(_minimum_planned_date, method=True,store=True, string='Expected Date', type='datetime', help="This is computed as the minimum scheduled date of all sale order lines' products."),
497 }
498 _defaults = {
499 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'sale.order', context=c),
500@@ -842,6 +874,7 @@
501 'order_partner_id': fields.related('order_id', 'partner_id', type='many2one', relation='res.partner', string='Customer'),
502 'salesman_id':fields.related('order_id','user_id',type='many2one',relation='res.users',string='Salesman'),
503 'company_id': fields.related('order_id','company_id',type='many2one',relation='res.company',string='Company',store=True),
504+ 'date_planned': fields.datetime('Scheduled date', ),
505 }
506 _order = 'sequence, id'
507 _defaults = {
508
509=== modified file 'sale/sale_view.xml'
510--- sale/sale_view.xml 2010-05-26 08:28:37 +0000
511+++ sale/sale_view.xml 2010-05-27 21:44:29 +0000
512@@ -95,69 +95,59 @@
513 <field name="model">sale.order</field>
514 <field name="type">form</field>
515 <field name="arch" type="xml">
516- <form string="Sales order">
517+ <form string="Sales order">
518 <group col="6" colspan="4">
519 <field name="name"/>
520+ <field name="date_order"/>
521+ <field name="company_id" groups="base.group_multi_company" widget="selection"/>
522+ <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1" select="1" domain="[('customer','=', 1)]" colspan="4"/>
523 <field name="client_order_ref"/>
524- <field name="shipped"/>
525- <field name="date_order"/>
526- <field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="base.group_extended"/>
527- <field name="invoiced"/>
528+ <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" colspan="4"/>
529+ <label colspan="2" align="0.0" string="Missing Customer reference date"/>
530+
531 </group>
532 <notebook colspan="4">
533 <page string="Sale Order">
534- <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1"/>
535- <field domain="[('partner_id','=',partner_id)]" name="partner_order_id"/>
536- <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id"/>
537- <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id"/>
538- <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" widget="selection"/>
539- <field name="project_id"
540- context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}"
541- groups="base.group_extended"/>
542+ <group col="6" colspan="4">
543+ <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" colspan="4"/>
544+ <field name="picked_rate" widget="progressbar"/>
545+ <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" colspan="4"/>
546+ <field name="invoiced_rate" widget="progressbar"/>
547+ <field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="base.group_extended"/>
548+ <field name="minimum_planned_date"/>
549+ <field name="paid"/>
550 <newline/>
551+ <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended"/>
552+ <field name="payment_term" widget="selection"/>
553+ </group>
554 <field colspan="4" mode="tree,form,graph" name="order_line" nolabel="1" widget="one2many_list">
555 <form string="Sale Order Lines">
556 <notebook>
557 <page string="Order Line">
558- <field colspan="4"
559- context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
560- name="product_id"
561- on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], True, parent.date_order, product_packaging, parent.fiscal_position)"
562- />
563- <field
564- context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
565- name="product_uom_qty"
566- on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position, True)"
567- />
568- <field name="product_uom"
569- on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order)"
570- widget="selection"/>
571- <field
572- name="product_packaging"
573- context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
574- on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position)"
575- domain="[('product_id','=',product_id)]"
576- groups="base.group_extended"/>
577+ <field colspan="4" context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom" name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], True, parent.date_order, product_packaging, parent.fiscal_position)" select="1"/>
578+ <field context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom" name="product_uom_qty" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position, True)" select="1"/>
579+ <field name="product_uom" on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order)"/>
580+ <field name="product_packaging" context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position)" domain="[('product_id','=',product_id)]" groups="base.group_extended"/>
581
582- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
583+ <field name="type" groups="base.group_extended"/>
584 <field colspan="4" name="name"/>
585 <field name="price_unit"/>
586 <field name="discount"/>
587- <field name="type" groups="base.group_extended"/>
588+ <field name="price_subtotal"/>
589+ <newline/>
590+ <field name="date_planned"/>
591 <field name="delay" groups="base.group_extended"/>
592+ <field name="company_id" invisible="1"/>
593 <newline/>
594 <field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
595+<!-- FIXME Make invoice defined on order line ????
596 <group colspan="4" col="5" groups="base.group_extended">
597 <separator colspan="5" string="States"/>
598- <field name="state"/>
599+ <field name="state" readonly="1"/>
600 <field name="invoiced"/>
601- <button colspan="1"
602- name="%(action_view_sale_order_line_make_invoice)d"
603- states="confirmed"
604- string="Make Invoice"
605- type="action"
606- icon="gtk-print" />
607+ <button colspan="1" name="368" states="confirmed" string="Make Invoice" type="action" icon="gtk-print"/>
608 </group>
609+-->
610 </page>
611 <page groups="base.group_extended" string="Extra Info">
612 <field name="th_weight"/>
613@@ -177,6 +167,7 @@
614 </notebook>
615 </form>
616 <tree string="Sales order lines">
617+ <field name="date_planned"/>
618 <field colspan="4" name="name"/>
619 <field name="product_uom_qty" string="Qty"/>
620 <field name="product_uom" string="UoM"/>
621@@ -222,10 +213,9 @@
622 <field groups="base.group_extended" name="origin"/>
623 </group>
624 <group colspan="2" col="2" groups="base.group_extended">
625- <separator string="Conditions" colspan="2"/>
626- <field name="payment_term" widget="selection"/>
627+ <separator string="Accounting" colspan="2"/>
628+<field name="project_id" context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="base.group_extended"/>
629 <field name="fiscal_position" widget="selection"/>
630- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
631 </group>
632 <group colspan="2" col="2" groups="base.group_extended">
633 <separator string="Dates" colspan="2"/>
634@@ -343,6 +333,7 @@
635 <field name="type">tree</field>
636 <field name="arch" type="xml">
637 <tree string="Sales order lines">
638+ <field name="date_planned"/>
639 <field name="order_id"/>
640 <field name="order_partner_id"/>
641 <field name="product_id"/>
642
643=== modified file 'sale/stock_view.xml'
644--- sale/stock_view.xml 2010-04-16 09:16:25 +0000
645+++ sale/stock_view.xml 2010-05-27 21:44:29 +0000
646@@ -12,5 +12,13 @@
647 </field>
648 </field>
649 </record>
650+
651+ <act_window
652+ domain="[('sale_id', '=', active_id)]"
653+ id="act_sale_order_2_stock_picking"
654+ name="Picking"
655+ res_model="stock.picking"
656+ src_model="sale.order"/>
657+
658 </data>
659 </openerp>
660
661=== removed directory 'smtpclient'
662=== removed directory 'smtpclient/i18n'
663=== removed file 'smtpclient/i18n/fr.po'
664--- smtpclient/i18n/fr.po 2010-05-26 08:28:37 +0000
665+++ smtpclient/i18n/fr.po 1970-01-01 00:00:00 +0000
666@@ -1,871 +0,0 @@
667-# French translation for openobject-addons
668-# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
669-# This file is distributed under the same license as the openobject-addons package.
670-# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
671-#
672-msgid ""
673-msgstr ""
674-"Project-Id-Version: openobject-addons\n"
675-"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
676-"POT-Creation-Date: 2009-11-26 06:00+0000\n"
677-"PO-Revision-Date: 2010-05-22 09:14+0000\n"
678-"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ <Unknown>\n"
679-"Language-Team: French <fr@li.org>\n"
680-"MIME-Version: 1.0\n"
681-"Content-Type: text/plain; charset=UTF-8\n"
682-"Content-Transfer-Encoding: 8bit\n"
683-"X-Launchpad-Export-Date: 2010-05-23 03:57+0000\n"
684-"X-Generator: Launchpad (build Unknown)\n"
685-
686-#. module: smtpclient
687-#: field:email.smtpclient.queue,bcc:0
688-msgid "BCC to"
689-msgstr "Copie cachée à"
690-
691-#. module: smtpclient
692-#: view:email.smtpclient:0
693-msgid "__number__ for Invoice / Sales Number"
694-msgstr "__number__ pour la facture / Numéro de vente"
695-
696-#. module: smtpclient
697-#: field:email.smtpclient,ssl:0
698-msgid "Use SSL?"
699-msgstr "Utiliser SSL?"
700-
701-#. module: smtpclient
702-#: view:email.smtpclient:0
703-msgid "Start Server"
704-msgstr "Démarrer le serveur"
705-
706-#. module: smtpclient
707-#: model:ir.actions.wizard,name:smtpclient.wizard_email_verifycode
708-msgid "Verify Server"
709-msgstr "Vérifier le serveur"
710-
711-#. module: smtpclient
712-#: field:email.smtpclient,priority:0
713-msgid "Server Priority"
714-msgstr "Priorité du serveur"
715-
716-#. module: smtpclient
717-#: help:email.sendcode,init,emailto:0
718-msgid "Enter the address Email where you want to get the Verification Code"
719-msgstr ""
720-"Saisir l'adresse email à laquelle vous voulez envoyer le code de vérification"
721-
722-#. module: smtpclient
723-#: selection:email.smtpclient,auth_type:0
724-msgid "Other Mail Servers"
725-msgstr "Autres serveurs de courrier"
726-
727-#. module: smtpclient
728-#: constraint:ir.actions.act_window:0
729-msgid "Invalid model name in the action definition."
730-msgstr "Nom de modèle invalide pour la définition de l'action"
731-
732-#. module: smtpclient
733-#: field:email.smtpclient.queue,to:0
734-msgid "Mail to"
735-msgstr "Envoyer par email à"
736-
737-#. module: smtpclient
738-#: code:addons/smtpclient/smtpclient.py:0
739-#, python-format
740-msgid "Message Error!"
741-msgstr "Erreur de message!"
742-
743-#. module: smtpclient
744-#: field:email.smtpclient,name:0
745-msgid "Server Name"
746-msgstr "Nom du serveur"
747-
748-#. module: smtpclient
749-#: field:email.smtpclient,header_ids:0
750-msgid "Default Headers"
751-msgstr "Entêtes de courrier par défaut"
752-
753-#. module: smtpclient
754-#: wizard_button:email.testemail,init,send:0
755-msgid "Send Email"
756-msgstr "Envoyer un email"
757-
758-#. module: smtpclient
759-#: field:res.company.address,company_id:0
760-msgid "Company"
761-msgstr "Société"
762-
763-#. module: smtpclient
764-#: view:email.smtpclient:0
765-msgid "Set to Draft"
766-msgstr "Mettre en brouillon"
767-
768-#. module: smtpclient
769-#: code:addons/smtpclient/wizard/verifycode.py:0
770-#, python-format
771-msgid "Server already verified!"
772-msgstr "Serveur déjà vérifié!"
773-
774-#. module: smtpclient
775-#: code:addons/smtpclient/wizard/sendcode.py:0
776-#: code:addons/smtpclient/wizard/testemail.py:0
777-#, python-format
778-msgid "Verification Failed. Please check the Server Configuration!"
779-msgstr ""
780-"Échec de vérification. Merci de vérifier le serveur de configuration!"
781-
782-#. module: smtpclient
783-#: code:addons/smtpclient/smtpclient.py:0
784-#, python-format
785-msgid "SMTP Server Error!"
786-msgstr "Erreur du serveur SMTP!"
787-
788-#. module: smtpclient
789-#: field:email.smtpclient,auth_type:0
790-#: field:email.smtpclient,type:0
791-msgid "Server Type"
792-msgstr "Type de serveur"
793-
794-#. module: smtpclient
795-#: field:email.smtpclient,from_email:0
796-msgid "Email From"
797-msgstr "Email de"
798-
799-#. module: smtpclient
800-#: view:email.smtpclient:0
801-msgid "User Information"
802-msgstr "Information utilisateur"
803-
804-#. module: smtpclient
805-#: code:addons/smtpclient/smtpclient.py:0
806-#, python-format
807-msgid "OpenERP SMTP server Email Registration Code!"
808-msgstr "Code d'enregistrement email du serveur SMTP OpenERP!"
809-
810-#. module: smtpclient
811-#: model:ir.model,name:smtpclient.model_report_smtp_server
812-#: view:report.smtp.server:0
813-msgid "Server Statistics"
814-msgstr "Statistiques du serveur"
815-
816-#. module: smtpclient
817-#: view:email.smtpclient:0
818-msgid "Messages"
819-msgstr "Messages"
820-
821-#. module: smtpclient
822-#: selection:email.smtpclient,type:0
823-#: selection:res.company.address,name:0
824-msgid "Sale"
825-msgstr "Vente"
826-
827-#. module: smtpclient
828-#: field:email.headers,value:0
829-msgid "Value"
830-msgstr "Valeur"
831-
832-#. module: smtpclient
833-#: view:email.smtpclient:0
834-msgid "Access Permission"
835-msgstr "Permission d'accès"
836-
837-#. module: smtpclient
838-#: model:ir.model,name:smtpclient.model_email_headers
839-msgid "Email Headers"
840-msgstr "Entêtes de courrier"
841-
842-#. module: smtpclient
843-#: field:email.smtpclient,delete_queue:0
844-msgid "Queue Option"
845-msgstr "Option de file d'attente"
846-
847-#. module: smtpclient
848-#: code:addons/smtpclient/smtpclient.py:0
849-#, python-format
850-msgid "Please configure Email Server Messages [Verification / Test]"
851-msgstr ""
852-"Merci de configurer les messages du serveur email [Vérification / Test]"
853-
854-#. module: smtpclient
855-#: code:addons/smtpclient/wizard/verifycode.py:0
856-#, python-format
857-msgid "Verification failed. Invalid Verification Code!"
858-msgstr "Échec de vérification. Code de vérification non valide!"
859-
860-#. module: smtpclient
861-#: model:ir.actions.act_window,name:smtpclient.act_mail_server_2_mail_history
862-msgid "Email History"
863-msgstr "Historique des emails"
864-
865-#. module: smtpclient
866-#: view:email.smtpclient.history:0
867-msgid "Server History"
868-msgstr "Historique du serveur"
869-
870-#. module: smtpclient
871-#: selection:email.smtpclient,auth_type:0
872-msgid "Yahoo!!! Server"
873-msgstr "Serveur Yahoo!"
874-
875-#. module: smtpclient
876-#: view:email.smtpclient:0
877-#: field:email.smtpclient,test_email:0
878-msgid "Test Message"
879-msgstr "Message de test"
880-
881-#. module: smtpclient
882-#: field:report.smtp.server,server_id:0
883-msgid "Server ID"
884-msgstr "ID du serveur"
885-
886-#. module: smtpclient
887-#: help:email.smtpclient,delete_queue_period:0
888-msgid "delete emails/contents from email queue after specified no of days"
889-msgstr ""
890-"effacer les emails/contenu placé en attente après le nombre de jours spécifié"
891-
892-#. module: smtpclient
893-#: field:report.smtp.server,no:0
894-msgid "Total No."
895-msgstr "Nombre total"
896-
897-#. module: smtpclient
898-#: help:email.smtpclient,process_id:0
899-msgid "Mail Transport Agent Process"
900-msgstr "Processus d'agent de transport email"
901-
902-#. module: smtpclient
903-#: view:email.smtpclient:0
904-msgid "__user__ for User Name"
905-msgstr "__user__ pour le nom d'utilisateur"
906-
907-#. module: smtpclient
908-#: field:email.smtpclient,date_create:0
909-msgid "Date Create"
910-msgstr "Date de création"
911-
912-#. module: smtpclient
913-#: field:email.smtpclient,state:0
914-msgid "Server Status"
915-msgstr "État du serveur"
916-
917-#. module: smtpclient
918-#: field:email.smtpclient.queue,error:0
919-msgid "Last Error"
920-msgstr "Dernière erreur"
921-
922-#. module: smtpclient
923-#: wizard_view:email.sendcode,init:0
924-#: wizard_button:email.sendcode,init,send:0
925-msgid "Send Code"
926-msgstr "Envoyer un code"
927-
928-#. module: smtpclient
929-#: field:email.smtpclient.queue,name:0
930-msgid "Subject"
931-msgstr "Sujet"
932-
933-#. module: smtpclient
934-#: code:addons/smtpclient/smtpclient.py:0
935-#, python-format
936-msgid "Read Error!"
937-msgstr "Erreur de lecture!"
938-
939-#. module: smtpclient
940-#: code:addons/smtpclient/smtpclient.py:0
941-#, python-format
942-msgid "Unable to read Server Settings"
943-msgstr "Impossible de lire les paramètres du serveur"
944-
945-#. module: smtpclient
946-#: field:email.smtpclient,server_statistics:0
947-msgid "Statistics"
948-msgstr "Statistiques"
949-
950-#. module: smtpclient
951-#: wizard_view:email.testemail,init:0
952-msgid "Test Email"
953-msgstr "Email de test"
954-
955-#. module: smtpclient
956-#: field:email.smtpclient.history,server_id:0
957-msgid "Smtp Server"
958-msgstr "Serveur SMTP"
959-
960-#. module: smtpclient
961-#: field:res.company,addresses:0
962-msgid "Email Addresses"
963-msgstr "Adresses email"
964-
965-#. module: smtpclient
966-#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_history_tree
967-#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_server_history
968-msgid "Email Server History"
969-msgstr "Historique du serveur email"
970-
971-#. module: smtpclient
972-#: selection:email.smtpclient.queue,state:0
973-msgid "Waiting"
974-msgstr "En attente"
975-
976-#. module: smtpclient
977-#: help:email.testemail,init,emailto:0
978-msgid "Enter the address Email where you want to get the Test Email"
979-msgstr ""
980-"Saisir l'adresse email à laquelle vous voulez recevoir l'email de test"
981-
982-#. module: smtpclient
983-#: selection:email.smtpclient,state:0
984-msgid "Not Verified"
985-msgstr "Non vérifié"
986-
987-#. module: smtpclient
988-#: field:email.smtpclient.history,email:0
989-msgid "Email"
990-msgstr "Email"
991-
992-#. module: smtpclient
993-#: selection:email.smtpclient.queue,state:0
994-msgid "Sent"
995-msgstr "Envoyé"
996-
997-#. module: smtpclient
998-#: field:email.smtpclient.history,user_id:0
999-msgid "Username"
1000-msgstr "Nom d'utilisateur"
1001-
1002-#. module: smtpclient
1003-#: field:res.company.address,name:0
1004-msgid "Address Type"
1005-msgstr "Type d'adresse"
1006-
1007-#. module: smtpclient
1008-#: view:email.smtpclient:0
1009-msgid "Permission"
1010-msgstr "Permission"
1011-
1012-#. module: smtpclient
1013-#: view:email.smtpclient.queue:0
1014-msgid "Message with All Headers"
1015-msgstr "Message avec entêtes complètes"
1016-
1017-#. module: smtpclient
1018-#: view:email.smtpclient:0
1019-msgid "Message Headers"
1020-msgstr "Entêtes de message"
1021-
1022-#. module: smtpclient
1023-#: field:ir.actions.server,report_id:0
1024-msgid "Report"
1025-msgstr "Rapport"
1026-
1027-#. module: smtpclient
1028-#: view:email.smtpclient:0
1029-msgid "Other Information"
1030-msgstr "Autre information"
1031-
1032-#. module: smtpclient
1033-#: view:email.smtpclient:0
1034-msgid "Configuration"
1035-msgstr "Configuration"
1036-
1037-#. module: smtpclient
1038-#: constraint:ir.cron:0
1039-msgid "Invalid arguments"
1040-msgstr "Paramètres non valides"
1041-
1042-#. module: smtpclient
1043-#: constraint:ir.ui.view:0
1044-msgid "Invalid XML for View Architecture!"
1045-msgstr "XML non valide pour l'architecture de la vue !"
1046-
1047-#. module: smtpclient
1048-#: view:email.smtpclient:0
1049-#: field:email.smtpclient,disclaimers:0
1050-msgid "Disclaimers"
1051-msgstr "Avertissement de responsabilité limitée"
1052-
1053-#. module: smtpclient
1054-#: field:report.smtp.server,name:0
1055-msgid "Server"
1056-msgstr "Serveur"
1057-
1058-#. module: smtpclient
1059-#: view:res.company:0
1060-msgid "SMTP Settings"
1061-msgstr "Paramètres SMTP"
1062-
1063-#. module: smtpclient
1064-#: help:email.smtpclient,body:0
1065-msgid ""
1066-"The message text that will be send along with the email which is send "
1067-"through this server"
1068-msgstr "Le message texte qui sera envoyé avec l'email envoyé par ce serveur"
1069-
1070-#. module: smtpclient
1071-#: model:ir.actions.wizard,name:smtpclient.wizard_email_testemail
1072-msgid "Send Test Email"
1073-msgstr "Envoyer email de test"
1074-
1075-#. module: smtpclient
1076-#: model:ir.model,name:smtpclient.model_email_smtpclient_queue
1077-msgid "Email Queue"
1078-msgstr "File d'attente email"
1079-
1080-#. module: smtpclient
1081-#: view:email.smtpclient:0
1082-msgid "Server Information"
1083-msgstr "Information sur le serveur"
1084-
1085-#. module: smtpclient
1086-#: help:email.verifycode,init,code:0
1087-msgid "Enter the verification code thay you get in your verification Email"
1088-msgstr ""
1089-"Saisir le code de vérification que vous avez reçu dans votre email de "
1090-"vérification"
1091-
1092-#. module: smtpclient
1093-#: model:ir.model,name:smtpclient.model_email_smtpclient_history
1094-msgid "Email Client History"
1095-msgstr "Historique du client email"
1096-
1097-#. module: smtpclient
1098-#: selection:email.smtpclient,delete_queue:0
1099-msgid "Never Delete Message"
1100-msgstr "Ne jamais effacer le message"
1101-
1102-#. module: smtpclient
1103-#: code:addons/smtpclient/smtpclient.py:0
1104-#, python-format
1105-msgid "OpenERP Test Email!"
1106-msgstr "Email de test OpenERP!"
1107-
1108-#. module: smtpclient
1109-#: view:email.smtpclient:0
1110-#: field:email.smtpclient,body:0
1111-#: view:email.smtpclient.queue:0
1112-#: field:email.smtpclient.queue,serialized_message:0
1113-msgid "Message"
1114-msgstr "Message"
1115-
1116-#. module: smtpclient
1117-#: field:email.smtpclient,process_id:0
1118-msgid "MTA Process"
1119-msgstr "Processus MTA"
1120-
1121-#. module: smtpclient
1122-#: field:email.headers,server_id:0
1123-#: view:email.smtpclient:0
1124-#: field:email.smtpclient,server:0
1125-#: field:email.smtpclient.queue,server_id:0
1126-#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_smtp_server
1127-msgid "SMTP Server"
1128-msgstr "Serveur SMTP"
1129-
1130-#. module: smtpclient
1131-#: selection:email.smtpclient,auth_type:0
1132-msgid "Google Server"
1133-msgstr "Serveur Google"
1134-
1135-#. module: smtpclient
1136-#: selection:email.smtpclient,state:0
1137-msgid "Verified"
1138-msgstr "Vérifié"
1139-
1140-#. module: smtpclient
1141-#: help:email.smtpclient,priority:0
1142-msgid ""
1143-"Priority between 0 to 10, will be used to define the MTA process priotiry"
1144-msgstr ""
1145-"Priorité de 0 à 10, utilisé pour définir les priorités des processus MTA"
1146-
1147-#. module: smtpclient
1148-#: field:email.smtpclient,port:0
1149-msgid "SMTP Port"
1150-msgstr "Port SMTP"
1151-
1152-#. module: smtpclient
1153-#: code:addons/smtpclient/smtpclient.py:0
1154-#, python-format
1155-msgid "Email TO Address not Defined !"
1156-msgstr "Adresse d'envoi non définie!"
1157-
1158-#. module: smtpclient
1159-#: code:addons/smtpclient/smtpclient.py:0
1160-#, python-format
1161-msgid "SMTP Server Error !"
1162-msgstr "Erreur de serveur SMTP!"
1163-
1164-#. module: smtpclient
1165-#: field:email.smtpclient,auth:0
1166-msgid "Use Auth"
1167-msgstr "Utiliser l'authentification"
1168-
1169-#. module: smtpclient
1170-#: field:email.smtpclient,pstate:0
1171-msgid "Server Statue"
1172-msgstr "État du serveur"
1173-
1174-#. module: smtpclient
1175-#: field:email.smtpclient,user:0
1176-msgid "User Name"
1177-msgstr "Nom d'utilisateur"
1178-
1179-#. module: smtpclient
1180-#: field:email.smtpclient,verify_email:0
1181-msgid "Verify Message"
1182-msgstr "Vérifiez le message"
1183-
1184-#. module: smtpclient
1185-#: model:ir.model,name:smtpclient.model_email_smtpclient
1186-#: model:ir.module.module,shortdesc:smtpclient.module_meta_information
1187-msgid "Email Client"
1188-msgstr "Client email"
1189-
1190-#. module: smtpclient
1191-#: view:email.smtpclient:0
1192-msgid "Disclaimers Message"
1193-msgstr "Message sur la limitation de garantie"
1194-
1195-#. module: smtpclient
1196-#: view:email.smtpclient:0
1197-msgid "__code__ for Verification Code"
1198-msgstr "__code__ pour le Code de Vérification"
1199-
1200-#. module: smtpclient
1201-#: selection:email.smtpclient.queue,state:0
1202-msgid "Queued"
1203-msgstr "File d'attente"
1204-
1205-#. module: smtpclient
1206-#: field:email.smtpclient.history,date_create:0
1207-#: field:email.smtpclient.queue,date_create:0
1208-msgid "Date"
1209-msgstr "Date"
1210-
1211-#. module: smtpclient
1212-#: field:email.smtpclient.queue,cc:0
1213-msgid "CC to"
1214-msgstr "En copie à"
1215-
1216-#. module: smtpclient
1217-#: model:email.smtpclient,verify_email:smtpclient.email_smtpclient_sendmailserver0
1218-msgid ""
1219-"Verification Message. This is the code\n"
1220-"__code__ \n"
1221-"you must copy in the OpenERP Email Server (Verify Server wizard).\n"
1222-"Created by user __user__"
1223-msgstr ""
1224-"Message de vérification. Ceci est le code\n"
1225-"__code__ \n"
1226-"que vous devez saisir dans le serveur email OpenERP (assistant Vérification "
1227-"du Serveur).\n"
1228-"Créé par utilisateur __utilisateur__"
1229-
1230-#. module: smtpclient
1231-#: view:email.smtpclient.queue:0
1232-#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_queue_tree
1233-#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_smtp_server_queue
1234-msgid "Message Queue"
1235-msgstr "File d'attente des messages"
1236-
1237-#. module: smtpclient
1238-#: selection:email.smtpclient,type:0
1239-#: selection:res.company.address,name:0
1240-msgid "Default"
1241-msgstr "Défaut"
1242-
1243-#. module: smtpclient
1244-#: selection:email.smtpclient,delete_queue:0
1245-msgid "Delete Content After"
1246-msgstr "Effacer le contenu après"
1247-
1248-#. module: smtpclient
1249-#: code:addons/smtpclient/smtpclient.py:0
1250-#, python-format
1251-msgid "You have no permission to access SMTP Server : %s "
1252-msgstr "Vous n'avez aucune permission d'accès au serveur SMTP : %s "
1253-
1254-#. module: smtpclient
1255-#: field:email.smtpclient,active:0
1256-msgid "Active"
1257-msgstr "Actif"
1258-
1259-#. module: smtpclient
1260-#: model:ir.actions.act_window,name:smtpclient.act_mail_server_2_mail_queue
1261-msgid "Message Queus"
1262-msgstr "File d'attente des messages"
1263-
1264-#. module: smtpclient
1265-#: code:addons/smtpclient/wizard/sendcode.py:0
1266-#: code:addons/smtpclient/wizard/testemail.py:0
1267-#: code:addons/smtpclient/wizard/verifycode.py:0
1268-#: view:email.smtpclient.queue:0
1269-#: selection:email.smtpclient.queue,state:0
1270-#, python-format
1271-msgid "Error"
1272-msgstr "Erreur"
1273-
1274-#. module: smtpclient
1275-#: code:addons/smtpclient/smtpclient.py:0
1276-#, python-format
1277-msgid "Server Error!"
1278-msgstr "Erreur serveur !"
1279-
1280-#. module: smtpclient
1281-#: selection:email.smtpclient,delete_queue:0
1282-msgid "Clear All After"
1283-msgstr "Tout effacer après"
1284-
1285-#. module: smtpclient
1286-#: code:addons/smtpclient/smtpclient.py:0
1287-#, python-format
1288-msgid ""
1289-"Please verify Email Server, without verification you can not send Email(s)."
1290-msgstr ""
1291-"Merci de vérifier votre serveur email, sans vérification vous ne pouvez pas "
1292-"envoyer d'email(s)."
1293-
1294-#. module: smtpclient
1295-#: field:email.smtpclient,history_line:0
1296-#: field:report.smtp.server,history:0
1297-msgid "History"
1298-msgstr "Historique"
1299-
1300-#. module: smtpclient
1301-#: field:email.smtpclient.queue,priority:0
1302-msgid "Message Priority"
1303-msgstr "Priorité du message"
1304-
1305-#. module: smtpclient
1306-#: field:ir.actions.server,file_ids:0
1307-msgid "Attachments"
1308-msgstr "Fichiers attachés"
1309-
1310-#. module: smtpclient
1311-#: view:email.smtpclient:0
1312-msgid "__name__ for Customer Name"
1313-msgstr "__name__ pour le Nom du Client"
1314-
1315-#. module: smtpclient
1316-#: view:email.smtpclient.queue:0
1317-msgid "General"
1318-msgstr "Général"
1319-
1320-#. module: smtpclient
1321-#: field:email.headers,key:0
1322-msgid "Header"
1323-msgstr "Entête"
1324-
1325-#. module: smtpclient
1326-#: code:addons/smtpclient/smtpclient.py:0
1327-#, python-format
1328-msgid ""
1329-"Verification Message. This is the code\n"
1330-"\n"
1331-"__code__\n"
1332-"\n"
1333-"you must copy in the OpenERP Email Server (Verify Server wizard).\n"
1334-"\n"
1335-"Created by user __user__"
1336-msgstr ""
1337-"Message de vérification. Voici le code\n"
1338-"\n"
1339-"__code__\n"
1340-"\n"
1341-"Vous devez le copier dans le serveur de couriel d'Open ERP (Assistant de "
1342-"vérification).\n"
1343-"\n"
1344-"Créer par l'utilisateur __user__"
1345-
1346-#. module: smtpclient
1347-#: selection:res.company.address,name:0
1348-msgid "Invoice"
1349-msgstr "Facture"
1350-
1351-#. module: smtpclient
1352-#: wizard_view:email.verifycode,init:0
1353-#: wizard_button:email.verifycode,init,check:0
1354-msgid "Verify Code"
1355-msgstr "Code de vérification"
1356-
1357-#. module: smtpclient
1358-#: wizard_button:email.sendcode,init,end:0
1359-#: wizard_button:email.testemail,init,end:0
1360-#: wizard_button:email.verifycode,init,end:0
1361-msgid "Cancel"
1362-msgstr "Annuler"
1363-
1364-#. module: smtpclient
1365-#: field:email.smtpclient,delete_queue_period:0
1366-msgid "Delete after"
1367-msgstr "Effacer après"
1368-
1369-#. module: smtpclient
1370-#: code:addons/smtpclient/smtpclient.py:0
1371-#, python-format
1372-msgid "Server is not Verified, Please Verify the Server !"
1373-msgstr "Le serveur n'est pas vérifié, merci de vérifier le serveur!"
1374-
1375-#. module: smtpclient
1376-#: field:email.smtpclient.history,resource_id:0
1377-msgid "Resource ID"
1378-msgstr "ID de la ressource"
1379-
1380-#. module: smtpclient
1381-#: code:addons/smtpclient/smtpclient.py:0
1382-#, python-format
1383-msgid "SMTP Data Error !"
1384-msgstr "Erreur de données SMTP !"
1385-
1386-#. module: smtpclient
1387-#: constraint:ir.model:0
1388-msgid ""
1389-"The Object name must start with x_ and not contain any special character !"
1390-msgstr ""
1391-"Le nom de l'objet doit commencer par x_ et ne doit pas contenir de "
1392-"caractères spéciaux !"
1393-
1394-#. module: smtpclient
1395-#: selection:email.smtpclient,delete_queue:0
1396-msgid "Delete when Email Sent"
1397-msgstr "Effacer une fois l'email envoyé"
1398-
1399-#. module: smtpclient
1400-#: selection:email.smtpclient,type:0
1401-msgid "Account"
1402-msgstr "Compte"
1403-
1404-#. module: smtpclient
1405-#: model:ir.module.module,description:smtpclient.module_meta_information
1406-msgid ""
1407-"Email Client module that provides:\n"
1408-" Sending Email\n"
1409-" Use Multiple Server\n"
1410-" Multi Threading\n"
1411-" Multi Attachment\n"
1412-" "
1413-msgstr ""
1414-"Module de client email qui permet d' :\n"
1415-" Envoyer des emails\n"
1416-" Utiliser plusieurs serveurs\n"
1417-" Utiliser plusieurs files d'envoi (multi-threading)\n"
1418-" Envoyer plusieurs fichiers attachés\n"
1419-" "
1420-
1421-#. module: smtpclient
1422-#: selection:email.smtpclient,type:0
1423-msgid "Stock"
1424-msgstr "Stock"
1425-
1426-#. module: smtpclient
1427-#: field:email.smtpclient.history,name:0
1428-msgid "Description"
1429-msgstr "Description"
1430-
1431-#. module: smtpclient
1432-#: field:email.smtpclient,code:0
1433-#: wizard_field:email.verifycode,init,code:0
1434-msgid "Verification Code"
1435-msgstr "Code de vérifcation"
1436-
1437-#. module: smtpclient
1438-#: selection:email.smtpclient,pstate:0
1439-msgid "Stop"
1440-msgstr "Arrêter"
1441-
1442-#. module: smtpclient
1443-#: field:email.smtpclient.queue,body:0
1444-msgid "Email Text"
1445-msgstr "Texte de l'email"
1446-
1447-#. module: smtpclient
1448-#: selection:res.company.address,name:0
1449-msgid "Delivery"
1450-msgstr "Livraison"
1451-
1452-#. module: smtpclient
1453-#: selection:email.smtpclient,pstate:0
1454-msgid "Running"
1455-msgstr "En cours"
1456-
1457-#. module: smtpclient
1458-#: view:email.smtpclient.queue:0
1459-msgid "Last Error occured"
1460-msgstr "Dernière erreur apparu"
1461-
1462-#. module: smtpclient
1463-#: selection:email.smtpclient,state:0
1464-msgid "Waiting for Verification"
1465-msgstr "En attente de vérification"
1466-
1467-#. module: smtpclient
1468-#: field:email.smtpclient,password:0
1469-msgid "Password"
1470-msgstr "Mot de passe"
1471-
1472-#. module: smtpclient
1473-#: field:email.smtpclient,users_id:0
1474-msgid "Users Allowed"
1475-msgstr "Utilisateurs authorisés"
1476-
1477-#. module: smtpclient
1478-#: code:addons/smtpclient/wizard/sendcode.py:0
1479-#, python-format
1480-msgid "Verification Code Already Generated !"
1481-msgstr "Génération du code de vérification déjà effectuée!"
1482-
1483-#. module: smtpclient
1484-#: wizard_field:email.sendcode,init,emailto:0
1485-#: field:email.smtpclient,email:0
1486-#: wizard_field:email.testemail,init,emailto:0
1487-#: view:res.company:0
1488-#: field:res.company.address,email:0
1489-msgid "Email Address"
1490-msgstr "Adresse courriel"
1491-
1492-#. module: smtpclient
1493-#: view:email.smtpclient:0
1494-msgid "Verification Message"
1495-msgstr "Message de vérification"
1496-
1497-#. module: smtpclient
1498-#: view:email.smtpclient:0
1499-msgid "Stop Server"
1500-msgstr "Arrêter le serveur"
1501-
1502-#. module: smtpclient
1503-#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_server
1504-msgid "Email Servers"
1505-msgstr "Serveurs email"
1506-
1507-#. module: smtpclient
1508-#: model:ir.actions.wizard,name:smtpclient.wizard_email_sendcode
1509-msgid "Send Verification Code"
1510-msgstr "Envoyer le code de vérification"
1511-
1512-#. module: smtpclient
1513-#: field:email.smtpclient.history,model:0
1514-msgid "Model"
1515-msgstr "Modèle"
1516-
1517-#. module: smtpclient
1518-#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_tree
1519-#: field:ir.actions.server,email_server:0
1520-msgid "Email Server"
1521-msgstr "Serveur de couriel"
1522-
1523-#. module: smtpclient
1524-#: code:addons/smtpclient/smtpclient.py:0
1525-#, python-format
1526-msgid "Permission Error!"
1527-msgstr "Erreur de permission !"
1528-
1529-#. module: smtpclient
1530-#: model:ir.model,name:smtpclient.model_res_company_address
1531-msgid "res.company.address"
1532-msgstr "res.company.address"
1533-
1534-#. module: smtpclient
1535-#: field:email.smtpclient.queue,state:0
1536-msgid "Message Status"
1537-msgstr "État du message"
1538
1539=== modified file 'stock/stock.py'
1540--- stock/stock.py 2010-05-26 08:40:33 +0000
1541+++ stock/stock.py 2010-05-27 21:44:29 +0000
1542@@ -516,7 +516,9 @@
1543 'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),
1544 'delivery_line':fields.one2many('stock.delivery', 'picking_id', 'Delivery lines', readonly=True),
1545 'auto_picking': fields.boolean('Auto-Picking'),
1546- 'address_id': fields.many2one('res.partner.address', 'Partner', help="Address of partner"),
1547+ 'address_id': fields.many2one('res.partner.address', 'Address',
1548+ help="Shipping address - changing it also changes the partner"),
1549+ 'partner_id': fields.related('address_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", readonly = True, help="Partner for shipping and invoice",store=True),
1550 'invoice_state': fields.selection([
1551 ("invoiced", "Invoiced"),
1552 ("2binvoiced", "To Be Invoiced"),
1553
1554=== modified file 'stock/stock_view.xml'
1555--- stock/stock_view.xml 2010-05-26 08:40:33 +0000
1556+++ stock/stock_view.xml 2010-05-27 21:44:29 +0000
1557@@ -599,18 +599,21 @@
1558 <field name="model">stock.picking</field>
1559 <field name="type">form</field>
1560 <field name="arch" type="xml">
1561- <form string="Picking list">
1562- <group colspan="4" col="6">
1563+ <form string="Outgoing Form">
1564+ <group colspan="4" col="6">
1565
1566- <field name="name" readonly="1"/>
1567 <!-- <field name="address_id" context="{'contact_display' : 'partner'}" groups="base.group_extended"/>-->
1568- <field name="origin"/>
1569
1570- <field name="backorder_id" groups="base.group_extended" readonly="1"/>
1571- <field name="date"/>
1572- <field name="min_date"/>
1573+ <field name="min_date" select="1"/>
1574+ <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1575+ <field name="partner_id" colspan="4"/>
1576 <field name="type"/>
1577- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1578+ <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/>
1579+ <field name="move_type"/>
1580+ <field name="origin" readonly="1"/>
1581+ <field name="date" select="1" />
1582+ <field name="backorder_id" groups="base.group_extended" readonly="1"/>
1583+
1584 </group>
1585 <notebook colspan="4">
1586 <page string="General Information">
1587@@ -627,16 +630,9 @@
1588 <field name="date_planned"/>
1589 <field name="date_expected" string="Date Expected"/>
1590 <field name="state"/>
1591- <button
1592- name="%(stock.track_line)d"
1593- string="Split in production lots"
1594- type="action" icon="gtk-justify-fill"
1595- states="draft,waiting,confirmed,assigned" />
1596+ <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" states="draft,waiting,confirmed,assigned"/>
1597
1598- <button name="%(stock.move_scrap)d"
1599- string="Scrap Products" type="action"
1600- icon="gtk-convert" context="{'scrap': True}"
1601- states="draft,waiting,confirmed,assigned" />
1602+ <button name="265" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" states="draft,waiting,confirmed,assigned"/>
1603 </tree>
1604 <form string="Stock Moves">
1605 <notebook colspan="4">
1606@@ -654,16 +650,12 @@
1607 <field name="date_planned"/>
1608 <field name="date_expected" string="Date Expected"/>
1609 <field name="address_id" context="{'contact_display':'partner'}"/>
1610- <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
1611- <field name="prodlot_id" groups="base.group_extended"
1612- context="{'location_id':location_id, 'product_id':product_id}"
1613- domain="[('product_id','=?',product_id)]"
1614- on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1615+ <field name="prodlot_id" groups="base.group_extended" context="{'location_id':location_id, 'product_id':product_id}" domain="[('product_id','=?',product_id)]" on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1616 <field groups="base.group_extended" name="tracking_id"/>
1617 <newline/>
1618 <label/>
1619- <button name="%(track_line)d" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1620- <button name="%(move_scrap)d" string="Scrap Move Line" type="action" icon="gtk-justify-fill"/>
1621+ <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1622+ <button name="265" string="Scrap Move Line" type="action" icon="gtk-justify-fill"/>
1623 <separator colspan="4" string="Move State"/>
1624 <field name="state"/>
1625 <group colspan="2">
1626@@ -684,7 +676,7 @@
1627 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
1628 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
1629 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1630- <button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-apply"/>
1631+ <button name="267" states="assigned" string="Validate" type="action" icon="gtk-apply"/>
1632 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
1633 </group>
1634 </page>
1635@@ -692,12 +684,10 @@
1636 <field colspan="4" name="note" nolabel="1"/>
1637 </page>
1638 <page string="Other info" groups="base.group_extended">
1639+ <field name="invoice_state" string="Invoice Control"/>
1640 <field name="active"/>
1641+ <field name="date_done"/>
1642 <field name="auto_picking"/>
1643- <field name="invoice_state"/>
1644- <field name="date_done"/>
1645- <newline/>
1646- <field name="move_type"/>
1647 </page>
1648 </notebook>
1649 </form>
1650@@ -754,15 +744,16 @@
1651 <field name="model">stock.picking</field>
1652 <field name="type">form</field>
1653 <field name="arch" type="xml">
1654- <form string="Picking list">
1655+ <form string="Delivery Form">
1656 <group col="6" colspan="4">
1657 <field name="name" readonly="1"/>
1658- <field name="address_id"/>
1659- <field name="origin"/>
1660- <field name="backorder_id" groups="base.group_extended" readonly="1"/>
1661- <field name="date" />
1662 <field name="min_date"/>
1663 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1664+ <field name="partner_id" colspan="4"/>
1665+ <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/>
1666+ <field name="origin" readonly="1"/>
1667+ <field name="date" select="1" />
1668+ <field name="backorder_id" groups="base.group_extended" readonly="1"/>
1669 </group>
1670 <notebook colspan="4">
1671 <page string="General Information">
1672@@ -779,16 +770,8 @@
1673 <field name="date_planned"/>
1674 <field name="date_expected" string="Date Expected"/>
1675 <field name="state"/>
1676- <button
1677- name="%(stock.track_line)d"
1678- string="Split in production lots"
1679- type="action" icon="gtk-justify-fill"
1680- groups="base.group_extended"
1681- states="draft,waiting,confirmed,assigned" />
1682- <button name="%(stock.move_scrap)d"
1683- string="Scrap Products" type="action"
1684- icon="gtk-convert" context="{'scrap': True}"
1685- states="draft,waiting,confirmed,assigned" />
1686+ <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" groups="base.group_extended" states="draft,waiting,confirmed,assigned"/>
1687+ <button name="265" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" states="draft,waiting,confirmed,assigned"/>
1688 </tree>
1689 <form string="Stock Moves">
1690 <notebook colspan="4">
1691@@ -805,11 +788,7 @@
1692 <field invisible="1" name="date"/>
1693 <field name="date_planned"/>
1694 <field name="date_expected" string="Date Expected"/>
1695- <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
1696- <field name="prodlot_id" groups="base.group_extended"
1697- context="{'location_id':location_id, 'product_id':product_id}"
1698- domain="[('product_id','=?',product_id)]"
1699- on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1700+ <field name="prodlot_id" groups="base.group_extended" context="{'location_id':location_id, 'product_id':product_id}" domain="[('product_id','=?',product_id)]" on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1701 <field groups="base.group_extended" name="tracking_id"/>
1702 <separator colspan="4" string="Move State"/>
1703 <field name="state"/>
1704@@ -831,7 +810,7 @@
1705 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
1706 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
1707 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1708- <button name="%(action_partial_picking)d" states="assigned" string="Products Sent" type="action" icon="gtk-go-forward"/>
1709+ <button name="267" states="assigned" string="Products Sent" type="action" icon="gtk-go-forward"/>
1710 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
1711 </group>
1712 </page>
1713@@ -839,12 +818,12 @@
1714 <field colspan="4" name="note" nolabel="1"/>
1715 </page>
1716 <page string="Other info" groups="base.group_extended">
1717- <field name="auto_picking"/>
1718+ <field name="invoice_state" string="Invoice Control"/>
1719 <field name="active"/>
1720- <newline/>
1721- <field name="date"/>
1722 <field name="date_done"/>
1723- <field name="move_type"/>
1724+ <field name="auto_picking"/>
1725+ <field name="type"/>
1726+
1727 </page>
1728 </notebook>
1729 </form>
1730@@ -864,12 +843,12 @@
1731 <filter icon="terp-stock" string="Back Order" domain="[('backorder_id','!=',False)]" help="Back Order"/>
1732 <separator orientation="vertical"/>
1733 <field name="name"/>
1734- <field name="address_id"/>
1735- <field name="origin"/>
1736+ <field name="partner_id" select="1"/>
1737+ <field name="address_id" context="{'contact_display':'partner'}" select="1"/>
1738 </group>
1739 <newline/>
1740 <group expand="1" string="Group By..." colspan="4" col="10">
1741- <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
1742+ <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'partner_id'}"/>
1743 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
1744 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
1745 </group>
1746@@ -884,7 +863,10 @@
1747 <field name="view_type">form</field>
1748 <field name="view_mode">tree,form,calendar</field>
1749 <field name="domain">[('type','=','delivery')]</field>
1750+<!-- FIXME
1751 <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>
1752+-->
1753+ <field name="context">{"search_default_available":1}</field>
1754 <field name="search_view_id" ref="view_stock_delivery_filter"/>
1755 </record>
1756 <record id="action_picking_tree_delivery_view1" model="ir.actions.act_window.view">
1757@@ -917,7 +899,8 @@
1758 <field name="arch" type="xml">
1759 <tree colors="blue:state in ('draft');grey:state in ('cancel');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
1760 <field name="name"/>
1761- <field name="address_id"/>
1762+ <field name="partner_id"/>
1763+ <field name="address_id" context="{'contact_display':'partner'}"/>
1764 <field name="backorder_id" groups="base.group_extended"/>
1765 <field name="origin"/>
1766 <field name="date"/>
1767@@ -934,15 +917,18 @@
1768 <field name="model">stock.picking</field>
1769 <field name="type">form</field>
1770 <field name="arch" type="xml">
1771- <form string="Picking list">
1772+ <form string="Outgoing Picking list">
1773 <group col="6" colspan="4">
1774- <field name="address_id"/>
1775+ <field name="name" readonly="1"/>
1776 <field name="min_date"/>
1777- <field name="name" readonly="1"/>
1778- <field name="invoice_state"/>
1779- <field name="backorder_id" readonly="1"/>
1780+ <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1781+ <field name="partner_id" colspan="4"/>
1782+ <field name="invoice_state" string="Invoice Control"/>
1783+ <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/>
1784+ <field name="move_type"/>
1785 <field name="origin" readonly="1"/>
1786- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1787+ <field name="date" select="1" />
1788+ <field name="backorder_id" readonly="1"/>
1789 </group>
1790 <notebook colspan="4">
1791 <page string="General Information">
1792@@ -959,16 +945,8 @@
1793 <field name="date_planned"/>
1794 <field name="date_expected" string="Date Expected"/>
1795 <field name="state"/>
1796- <button
1797- name="%(stock.track_line)d"
1798- string="Split in production lots"
1799- type="action" icon="gtk-justify-fill"
1800- states="draft,waiting,confirmed,assigned" />
1801- <button
1802- name="%(stock.move_scrap)d"
1803- string="Scrap Products" type="action"
1804- icon="gtk-convert"
1805- states="draft,waiting,confirmed,assigned" />
1806+ <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" states="draft,waiting,confirmed,assigned"/>
1807+ <button name="265" string="D" type="action" icon="gtk-convert" states="draft,waiting,confirmed,assigned"/>
1808 </tree>
1809 <form string="Stock Moves">
1810 <notebook colspan="4">
1811@@ -977,7 +955,7 @@
1812 <field name="location_id" domain="[('usage','=','internal')]"/>
1813 <field name="location_dest_id" domain="[('usage','&lt;&gt;','view')]"/>
1814 <field colspan="4" context="location=location_id" name="product_id" on_change="onchange_product_id(product_id, location_id, location_dest_id, parent.address_id)"/>
1815- <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" />
1816+ <field name="product_qty" select="1" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
1817 <field name="product_uom"/>
1818 <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
1819 <field groups="product.group_uos" name="product_uos_qty"/>
1820@@ -985,20 +963,17 @@
1821 <field invisible="1" name="date"/>
1822 <field name="date_planned"/>
1823 <field name="date_expected" string="Date Expected"/>
1824- <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
1825- <field name="prodlot_id" groups="base.group_extended"
1826- context="{'location_id':location_id, 'product_id':product_id}"
1827- domain="[('product_id','=?',product_id)]"
1828- on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1829+ <field name="prodlot_id" select="1" groups="base.group_extended" context="{'location_id':location_id, 'product_id':product_id}" domain="[('product_id','=?',product_id)]" on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1830+ <field name="prodlot_id" groups="base.group_extended"/>
1831 <field groups="base.group_extended" name="tracking_id"/>
1832 <label/>
1833- <button name="%(track_line)d" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1834+ <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1835 <separator colspan="4" string="Move State"/>
1836 <field name="state"/>
1837 <group colspan="2">
1838- <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1839- <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-no"/>
1840- <button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
1841+ <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1842+ <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-no"/>
1843+ <button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
1844 </group>
1845 </page>
1846 <page string="Return Picking History">
1847@@ -1013,7 +988,7 @@
1848 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-yes"/>
1849 <button name="action_assign" states="confirmed" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-apply"/>
1850 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1851- <button name="%(action_partial_picking)d" states="assigned" string="Picking Done" type="action" icon="gtk-execute"/>
1852+ <button name="267" states="assigned" string="Picking Done" type="action" icon="gtk-execute"/>
1853 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
1854 </group>
1855 </page>
1856@@ -1022,14 +997,15 @@
1857 </page>
1858 <page string="Other info" groups="base.group_extended">
1859 <field name="active"/>
1860+ <field name="date_done"/>
1861 <field name="auto_picking"/>
1862+ <field name="type"/>
1863 <newline/>
1864- <field name="date"/>
1865- <field name="date_done"/>
1866- <field name="move_type"/>
1867+
1868 </page>
1869 </notebook>
1870 </form>
1871+
1872 </field>
1873 </record>
1874
1875@@ -1044,14 +1020,14 @@
1876 <filter icon="terp-stock" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Outgoing Orders"/>
1877 <separator orientation="vertical"/>
1878
1879- <field name="name"/>
1880- <field name="address_id" />
1881+ <field name="partner_id" select="1"/>
1882+ <field name="address_id" context="{'contact_display':'partner'}" select="1"/>
1883 <!-- <field name="company_id" widget="selection"/>-->
1884
1885 </group>
1886 <newline/>
1887 <group expand="1" string="Group By..." colspan="4" col="8">
1888- <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
1889+ <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'partner_id'}"/>
1890 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
1891 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
1892 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
1893@@ -1067,7 +1043,9 @@
1894 <field name="view_type">form</field>
1895 <field name="view_mode">tree,form,calendar</field>
1896 <field name="domain">[('type','=','out')]</field>
1897+<!--
1898 <field name="context">{'contact_display': 'partner'}</field>
1899+-->
1900 <field name="search_view_id" ref="view_picking_out_search"/>
1901 </record>
1902 <record id="action_picking_tree_out_view1_waiting" model="ir.actions.act_window.view">
1903@@ -1096,7 +1074,8 @@
1904 <field name="arch" type="xml">
1905 <tree colors="blue:state in ('draft');grey:state in ('done');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
1906 <field name="name"/>
1907- <field name="address_id"/>
1908+ <field name="partner_id"/>
1909+ <field name="address_id" context="{'contact_display':'partner'}"/>
1910 <field name="backorder_id" groups="base.group_extended"/>
1911 <field name="origin"/>
1912 <field name="date"/>
1913@@ -1113,18 +1092,19 @@
1914 <field name="model">stock.picking</field>
1915 <field name="type">form</field>
1916 <field name="arch" type="xml">
1917- <form string="Input Picking List">
1918+ <form string="Incoming Picking List">
1919 <group colspan="4" col="6">
1920-
1921+ <field name="name" select="1" readonly="1"/>
1922 <field name="name" readonly="1"/>
1923- <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" />
1924- <field name="origin"/>
1925- <field name="backorder_id" readonly="1" groups="base.group_extended"/>
1926- <field name="date"/>
1927- <field name="type"/>
1928 <field name="min_date" readonly="1"/>
1929- <field name="invoice_state" string="Invoice Control"/>
1930 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1931+ <field name="partner_id" colspan="4"/>
1932+ <field name="address_id" context="{'contact_display':'partner'}" on_change="onchange_partner_in(address_id)" colspan="4"/>
1933+ <field name="move_type"/>
1934+ <field name="origin" readonly="1"/>
1935+ <field name="date" select="1" />
1936+ <field name="backorder_id" groups="base.group_extended" readonly="1"/>
1937+
1938 </group>
1939 <notebook colspan="4">
1940 <page string="General Information">
1941@@ -1136,15 +1116,8 @@
1942 <field name="location_dest_id"/>
1943 <field name="prodlot_id" groups="base.group_extended"/>
1944 <field name="state"/>
1945- <button
1946- name="%(stock.track_line)d"
1947- string="Split in production lots"
1948- type="action" icon="gtk-justify-fill"
1949- states="draft,waiting,confirmed,assigned" />
1950- <button name="%(stock.move_scrap)d"
1951- string="Scrap Products" type="action"
1952- icon="gtk-convert" context="{'scrap': True}"
1953- states="draft,waiting,confirmed,assigned" />
1954+ <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" states="draft,waiting,confirmed,assigned"/>
1955+ <button name="265" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" states="draft,waiting,confirmed,assigned"/>
1956 </tree>
1957 <form string="Stock Moves">
1958 <notebook colspan="4">
1959@@ -1164,14 +1137,11 @@
1960 <newline/>
1961 <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
1962 <newline/>
1963- <field name="prodlot_id" groups="base.group_extended"
1964- context="{'location_id':location_id, 'product_id':product_id}"
1965- domain="[('product_id','=?',product_id)]"
1966- on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1967+ <field name="prodlot_id" select="1" groups="base.group_extended" context="{'location_id':location_id, 'product_id':product_id}" domain="[('product_id','=?',product_id)]" on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1968 <field groups="base.group_extended" name="tracking_id"/>
1969 <newline/>
1970 <label/>
1971- <button groups="base.group_extended" name="%(track_line)d" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1972+ <button groups="base.group_extended" name="266" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1973 <separator colspan="4" string="Move State"/>
1974 <field name="state"/>
1975 <group colspan="2">
1976@@ -1188,7 +1158,7 @@
1977 </field>
1978 <group col="7" colspan="4">
1979 <label colspan="5"/>
1980- <button name="%(act_stock_picking_move_wizard)d" string="Unreceived Products" type="action" states="draft" icon="gtk-redo"/>
1981+ <button name="288" string="Unreceived Products" type="action" states="draft" icon="gtk-redo"/>
1982 </group>
1983 <group col="10" colspan="4">
1984 <field name="state" readonly="1"/>
1985@@ -1196,13 +1166,21 @@
1986 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
1987 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
1988 <button name="force_assign" states="confirmed" string="Force Availability" type="object" groups="base.group_extended" icon="gtk-jump-to"/>
1989- <button name="%(action_partial_picking)d" states="assigned" string="Products Received" type="action" icon="gtk-ok"/>
1990+ <button name="267" states="assigned" string="Products Received" type="action" icon="gtk-ok"/>
1991 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
1992 </group>
1993 </page>
1994 <page string="Notes">
1995 <field colspan="4" name="note" nolabel="1"/>
1996 </page>
1997+ <page string="Other info" groups="base.group_extended">
1998+ <field name="invoice_state" string="Invoice Control"/>
1999+ <field name="active"/>
2000+ <field name="date_done"/>
2001+ <field name="auto_picking"/>
2002+ <field name="type"/>
2003+ </page>
2004+
2005 </notebook>
2006 </form>
2007 </field>
2008@@ -1220,14 +1198,13 @@
2009 <filter icon="terp-stock" string="Back Order" domain="[('backorder_id', '!=', False)]" help="Has Back Order" groups="base.group_extended"/>
2010 <separator orientation="vertical"/>
2011 <field name="name"/>
2012- <field name="address_id"/>
2013- <field name="company_id" widget="selection" groups="base.group_multi_company" />
2014+ <field name="partner_id" select="1"/>
2015+ <field name="address_id" context="{'contact_display':'partner'}" select="1"/>
2016 </group>
2017 <newline/>
2018 <group expand="1" string="Group By..." colspan="4" col="8">
2019 <filter icon="terp-stock" name="state" string="State" domain="[]" context="{'group_by':'state'}"/>
2020 <separator orientation="vertical" />
2021- <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
2022 <separator orientation="vertical" />
2023 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
2024 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
2025@@ -1246,7 +1223,10 @@
2026 <field name="view_type">form</field>
2027 <field name="view_mode">tree,form,calendar</field>
2028 <field name="domain">[('type','=','in')]</field>
2029+<!--
2030 <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>
2031+-->
2032+ <field name="context">{"search_default_available":1}</field>
2033 <field name="search_view_id" ref="view_picking_in_search"/>
2034 </record>
2035 <record id="action_invoice_tree5_view1" model="ir.actions.act_window.view">
2036@@ -1285,7 +1265,6 @@
2037 <newline/>
2038 <group expand="1" string="Group By..." colspan="4" col="8">
2039 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
2040- <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
2041 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
2042 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
2043 <filter string="Origin" icon="terp-stock" domain="[]" context="{'group_by':'origin'}"/>
2044@@ -1301,7 +1280,10 @@
2045 <field name="view_type">form</field>
2046 <field name="view_mode">tree,form,calendar</field>
2047 <field name="domain">[('type','=','internal')]</field>
2048+<!--
2049 <field name="context">{'contact_display': 'partner',"search_default_confirmed":1}</field>
2050+-->
2051+ <field name="context">{"search_default_confirmed":1}</field>
2052 <field name="search_view_id" ref="view_picking_internal_search"/>
2053 </record>
2054 <menuitem action="action_picking_tree6" id="menu_action_picking_tree6" parent="menu_stock_warehouse_mgmt" groups="base.group_extended" sequence="2"/>

Subscribers

People subscribed via source and target branches

to all changes: