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
=== modified file 'account/account_invoice_view.xml'
--- account/account_invoice_view.xml 2010-05-26 08:28:37 +0000
+++ account/account_invoice_view.xml 2010-05-27 21:44:29 +0000
@@ -140,31 +140,38 @@
140 <field name="type">form</field>140 <field name="type">form</field>
141 <field name="priority">2</field>141 <field name="priority">2</field>
142 <field name="arch" type="xml">142 <field name="arch" type="xml">
143 <form string="Supplier invoice">143 <form string="Supplier invoice">
144 <group col="6" colspan="4">144 <group col="6" colspan="4">
145 <field domain="[('type', '=', 'purchase')]" name="journal_id"/>
146 <field name="number" readonly="1"/>145 <field name="number" readonly="1"/>
147 <field name="type" invisible="1"/>
148 <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
149 <newline/>
150 <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}"/>
151 <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
152 <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
153 <newline/>
154 <field name="date_invoice"/>146 <field name="date_invoice"/>
147 <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"/>
148 <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"/>
149 <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" colspan="4"/>
150
151
152<newline/>
153 <field name="type" />
155 <field name="period_id" groups="base.group_user"/>154 <field name="period_id" groups="base.group_user"/>
156 <group colspan="2" col="1" groups="base.group_user">155 <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
157 <label align="0.0" string="(keep empty to use the current period)"/>
158 </group>
159 </group>156 </group>
160 <notebook colspan="4">157 <notebook colspan="4">
161 <page string="Invoice">158 <page string="Invoice">
162 <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user"/>159 <group col="6" colspan="4">
160 <field domain="[('type', '=', 'purchase')]" name="journal_id" colspan="4" />
161
162 <field name="payment_term" widget="selection"/>
163 <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user" colspan="4"/>
164 <field name="date_due"/>
165 <field name="name" colspan="4" />
166 <field name="reconciled"/>
163 <field name="reference_type" nolabel="1" size="0"/>167 <field name="reference_type" nolabel="1" size="0"/>
164 <field name="reference" nolabel="1"/>168 <field name="reference" nolabel="1" colspan="3"/>
165 <field name="date_due"/>169
166 <field name="check_total" required="2"/>170 </group>
167 <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">171 <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">
172<!--
173 -->
174
168 <tree string="Invoice lines">175 <tree string="Invoice lines">
169 <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})"/>176 <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})"/>
170 <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)"/>177 <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)"/>
@@ -194,8 +201,10 @@
194 <button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="gtk-apply"/>201 <button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="gtk-apply"/>
195 <field name="amount_untaxed"/>202 <field name="amount_untaxed"/>
196 <label string="" colspan="2"/>203 <label string="" colspan="2"/>
204
205
197 <field name="amount_tax"/>206 <field name="amount_tax"/>
198 <field name="reconciled"/>207 <field name="check_total" required="2"/>
199 <field name="amount_total"/>208 <field name="amount_total"/>
200 <field name="state"/>209 <field name="state"/>
201 <field name="residual"/>210 <field name="residual"/>
@@ -203,26 +212,29 @@
203 <button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-apply"/>212 <button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-apply"/>
204 <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>213 <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
205 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>214 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
206 <button name="%(action_account_state_open)d" type='action' string='Re-Open' states='paid' icon="gtk-convert"/>215 <button name="195" type="action" string="Re-Open" states="paid" icon="gtk-convert"/>
207 </group>216 </group>
208 </group>217 </group>
209 </page>218 </page>
210 <page string="Other Info">219 <page string="Other Info">
211 <field domain="[('partner_id', '=', partner_id)]" name="partner_bank" on_change="onchange_partner_bank(partner_bank)"/>220 <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
212221
213 <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"/>222 <field colspan="4" domain="[('partner_id', '=', partner_id)]" name="partner_bank" on_change="onchange_partner_bank(partner_bank)"/>
214 <newline/>223
215 <field name="payment_term" widget="selection"/>224
216 <field name="name"/>
217 <newline/>225 <newline/>
218 <field name="origin" groups="base.group_extended"/>226 <field name="origin" groups="base.group_extended"/>
219 <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>227
228 <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
220 <field name="move_id"/>229 <field name="move_id"/>
230
221 <separator colspan="4" string="Additional Information"/>231 <separator colspan="4" string="Additional Information"/>
222 <field colspan="4" name="comment" nolabel="1"/>232 <field colspan="4" name="comment" nolabel="1"/>
233
234
223 </page>235 </page>
224 <page string="Payments" groups="base.group_extended">236 <page string="Payments" groups="base.group_extended">
225 <field name="payment_ids" colspan="4" nolabel="1" >237 <field name="payment_ids" colspan="4" nolabel="1">
226 <tree string="Payments">238 <tree string="Payments">
227 <field name="date"/>239 <field name="date"/>
228 <field name="ref"/>240 <field name="ref"/>
@@ -246,29 +258,33 @@
246 <field name="model">account.invoice</field>258 <field name="model">account.invoice</field>
247 <field name="type">form</field>259 <field name="type">form</field>
248 <field name="arch" type="xml">260 <field name="arch" type="xml">
249 <form string="Invoice">261 <form string="Customer Invoice">
250 <group colspan="4" col="6">262 <group colspan="4" col="6">
251 <field name="journal_id" groups="base.group_user"/>
252 <field name="number"/>
253 <field name="type" invisible="1"/>
254 <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
255 <newline/>
256 <field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" groups="base.group_user"/>
257 <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
258 <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
259 <newline/>
260263
264 <field name="number" readonly="1"/>
261 <field name="date_invoice"/>265 <field name="date_invoice"/>
266 <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"/>
267 <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"/>
268 <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" colspan="4"/>
269 <newline/>
270 <field name="type" />
262 <field name="period_id" groups="base.group_user"/>271 <field name="period_id" groups="base.group_user"/>
263 <group colspan="2" col="1" groups="base.group_user">272 <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)"/>
264 <label align="0.0" string="(keep empty to use the current period)"/>
265 </group>
266 </group>273 </group>
274
267 <notebook colspan="4">275 <notebook colspan="4">
268 <page string="Invoice">276 <page string="Invoice">
269 <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user"/>277 <group colspan="4" col="6">
270 <field name="name"/>278
279 <field name="journal_id" groups="base.group_user" colspan="4"/>
271 <field name="payment_term" widget="selection"/>280 <field name="payment_term" widget="selection"/>
281<newline/>
282 <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user" colspan="4"/>
283 <field name="date_due"/>
284 <field name="name" colspan="4"/>
285 <field name="reconciled"/>
286 </group>
287
272 <field colspan="4" name="invoice_line" nolabel="1" widget="one2many_list"/>288 <field colspan="4" name="invoice_line" nolabel="1" widget="one2many_list"/>
273 <group col="1" colspan="2">289 <group col="1" colspan="2">
274 <field name="tax_line" nolabel="1">290 <field name="tax_line" nolabel="1">
@@ -286,7 +302,7 @@
286 <field name="amount_untaxed"/>302 <field name="amount_untaxed"/>
287 <label string="" colspan="2"/>303 <label string="" colspan="2"/>
288 <field name="amount_tax"/>304 <field name="amount_tax"/>
289 <field name="reconciled"/>305 <label string="" colspan="2"/>
290 <field name="amount_total"/>306 <field name="amount_total"/>
291 <field name="state"/>307 <field name="state"/>
292 <field name="residual"/>308 <field name="residual"/>
@@ -295,21 +311,16 @@
295 <button name="invoice_open" states="draft,proforma2" string="Create" icon="gtk-execute"/>311 <button name="invoice_open" states="draft,proforma2" string="Create" icon="gtk-execute"/>
296 <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>312 <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
297 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>313 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
298 <button name='%(action_account_state_open)d' type='action' string='Re-Open' states='paid' icon="gtk-convert"/>314 <button name="195" type="action" string="Re-Open" states="paid" icon="gtk-convert"/>
299 </group>315 </group>
300 </group>316 </group>
301 </page>317 </page>
302 <page string="Other Info">318 <page string="Other Info">
303 <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"/>
304 <newline/>
305 <field name="date_due"/>
306 <field name="user_id"/>319 <field name="user_id"/>
307 <newline/>320 <newline/>
308 <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank"321 <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank" groups="base.group_extended"/>
309 groups="base.group_extended"/>
310 <field name="origin"/>322 <field name="origin"/>
311 <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id"323 <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
312 groups="base.group_extended"/>
313 <field name="move_id" groups="base.group_user"/>324 <field name="move_id" groups="base.group_user"/>
314 <separator colspan="4" string="Additionnal Information"/>325 <separator colspan="4" string="Additionnal Information"/>
315 <field colspan="4" name="comment" nolabel="1"/>326 <field colspan="4" name="comment" nolabel="1"/>
316327
=== modified file 'account/invoice.py'
--- account/invoice.py 2010-05-26 08:28:37 +0000
+++ account/invoice.py 2010-05-27 21:44:29 +0000
@@ -288,7 +288,8 @@
288 'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),288 'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
289 'journal_id': fields.many2one('account.journal', 'Journal', required=True,readonly=True, states={'draft':[('readonly',False)]}),289 'journal_id': fields.many2one('account.journal', 'Journal', required=True,readonly=True, states={'draft':[('readonly',False)]}),
290 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True),290 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True),
291 'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]}),291 'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]},
292 help="Total amount on invoice"),
292 'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean',293 'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean',
293 store={294 store={
294 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 50), # Check if we can remove ?295 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 50), # Check if we can remove ?
295296
=== modified file 'delivery/delivery_view.xml'
--- delivery/delivery_view.xml 2010-05-12 11:43:48 +0000
+++ delivery/delivery_view.xml 2010-05-27 21:44:29 +0000
@@ -139,8 +139,8 @@
139 <field name="model">stock.picking</field>139 <field name="model">stock.picking</field>
140 <field name="inherit_id" ref="stock.view_picking_out_form"/>140 <field name="inherit_id" ref="stock.view_picking_out_form"/>
141 <field name="arch" type="xml">141 <field name="arch" type="xml">
142 <field name="address_id" position="after">142 <field name="backorder_id" position="after">
143 <field name="carrier_id"/>143 <field name="carrier_id" colspan="4"/>
144 <field name="weight"/>144 <field name="weight"/>
145 </field>145 </field>
146 </field>146 </field>
@@ -152,7 +152,8 @@
152 <field name="model">stock.picking</field>152 <field name="model">stock.picking</field>
153 <field name="inherit_id" ref="stock.view_picking_in_form"/>153 <field name="inherit_id" ref="stock.view_picking_in_form"/>
154 <field name="arch" type="xml">154 <field name="arch" type="xml">
155 <field name="type" position="after">155 <field name="backorder_id" position="after">
156 <field name="carrier_id" colspan="4"/>
156 <field name="weight"/>157 <field name="weight"/>
157 </field>158 </field>
158 </field>159 </field>
@@ -164,7 +165,8 @@
164 <field name="model">stock.picking</field>165 <field name="model">stock.picking</field>
165 <field name="inherit_id" ref="stock.view_picking_form"/>166 <field name="inherit_id" ref="stock.view_picking_form"/>
166 <field name="arch" type="xml">167 <field name="arch" type="xml">
167 <field name="type" position="after">168 <field name="backorder_id" position="after">
169 <field name="carrier_id" colspan="4"/>
168 <field name="weight"/>170 <field name="weight"/>
169 </field>171 </field>
170 </field>172 </field>
@@ -176,8 +178,8 @@
176 <field name="model">stock.picking</field>178 <field name="model">stock.picking</field>
177 <field name="inherit_id" ref="stock.view_picking_delivery_form"/>179 <field name="inherit_id" ref="stock.view_picking_delivery_form"/>
178 <field name="arch" type="xml">180 <field name="arch" type="xml">
179 <field name="address_id" position="after">181 <field name="backorder_id" position="after">
180 <field name="carrier_id"/>182 <field name="carrier_id" colspan="4"/>
181 <field name="weight"/>183 <field name="weight"/>
182 </field>184 </field>
183 </field>185 </field>
184186
=== modified file 'purchase/purchase.py'
--- purchase/purchase.py 2010-05-26 08:28:37 +0000
+++ purchase/purchase.py 2010-05-27 21:44:29 +0000
@@ -141,6 +141,15 @@
141 def _invoiced(self, cursor, user, ids, name, arg, context=None):141 def _invoiced(self, cursor, user, ids, name, arg, context=None):
142 res = {}142 res = {}
143 for purchase in self.browse(cursor, user, ids, context=context):143 for purchase in self.browse(cursor, user, ids, context=context):
144 if purchase.invoice_id:
145 res[purchase.id] = True
146 else:
147 res[purchase.id] = False
148 return res
149
150 def _paid(self, cursor, user, ids, name, arg, context=None):
151 res = {}
152 for purchase in self.browse(cursor, user, ids, context=context):
144 if purchase.invoice_id.reconciled:153 if purchase.invoice_id.reconciled:
145 res[purchase.id] = purchase.invoice_id.reconciled154 res[purchase.id] = purchase.invoice_id.reconciled
146 else:155 else:
@@ -161,6 +170,7 @@
161 help="Put an address if you want to deliver directly from the supplier to the customer." \170 help="Put an address if you want to deliver directly from the supplier to the customer." \
162 "In this case, it will remove the warehouse link and set the customer location."171 "In this case, it will remove the warehouse link and set the customer location."
163 ),172 ),
173 '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."),
164 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', states={'posted':[('readonly',True)]}),174 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', states={'posted':[('readonly',True)]}),
165 'location_id': fields.many2one('stock.location', 'Destination', required=True, domain=[('usage','<>','view')]),175 'location_id': fields.many2one('stock.location', 'Destination', required=True, domain=[('usage','<>','view')]),
166 '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."),176 '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."),
@@ -172,7 +182,8 @@
172 '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"),182 '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"),
173 'shipped':fields.boolean('Received', readonly=True, select=True),183 'shipped':fields.boolean('Received', readonly=True, select=True),
174 'shipped_rate': fields.function(_shipped_rate, method=True, string='Received', type='float'),184 'shipped_rate': fields.function(_shipped_rate, method=True, string='Received', type='float'),
175 'invoiced': fields.function(_invoiced, method=True, string='Invoiced & Paid', type='boolean'),185 'invoiced': fields.function(_invoiced, method=True, string='Invoiced', type='boolean'),
186 'paid': fields.function(_paid, method=True, string='Paid', type='boolean'),
176 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'),187 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'),
177 'invoice_method': fields.selection([('manual','Manual'),('order','From Order'),('picking','From Picking')], 'Invoicing Control', required=True,188 'invoice_method': fields.selection([('manual','Manual'),('order','From Order'),('picking','From Picking')], 'Invoicing Control', required=True,
178 help="From Order: a draft invoice will be pre-generated based on the purchase order. The accountant " \189 help="From Order: a draft invoice will be pre-generated based on the purchase order. The accountant " \
@@ -184,19 +195,20 @@
184 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount',195 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount',
185 store={196 store={
186 'purchase.order.line': (_get_order, None, 10),197 'purchase.order.line': (_get_order, None, 10),
187 }, multi="sums"),198 }, multi="sums",help="Calculated net"),
188 'amount_tax': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Taxes',199 'amount_tax': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Taxes',
189 store={200 store={
190 'purchase.order.line': (_get_order, None, 10),201 'purchase.order.line': (_get_order, None, 10),
191 }, multi="sums"),202 }, multi="sums",help="Calculated tax"),
192 'amount_total': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Total',203 'amount_total': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Total',
193 store={204 store={
194 'purchase.order.line': (_get_order, None, 10),205 'purchase.order.line': (_get_order, None, 10),
195 }, multi="sums"),206 }, multi="sums",help="Calculated total"),
196 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),207 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),
197 'product_id': fields.related('order_line','product_id', type='many2one', relation='product.product', string='Product'),208 'product_id': fields.related('order_line','product_id', type='many2one', relation='product.product', string='Product'),
198 'create_uid': fields.many2one('res.users', 'Responsible'),209 'create_uid': fields.many2one('res.users', 'Responsible'),
199 'company_id': fields.many2one('res.company','Company',required=True,select=1),210 'company_id': fields.many2one('res.company','Company',required=True,select=1),
211 'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
200 }212 }
201 _defaults = {213 _defaults = {
202 'date_order': lambda *a: time.strftime('%Y-%m-%d'),214 'date_order': lambda *a: time.strftime('%Y-%m-%d'),
@@ -250,12 +262,13 @@
250 def onchange_partner_id(self, cr, uid, ids, part):262 def onchange_partner_id(self, cr, uid, ids, part):
251 263
252 if not part:264 if not part:
253 return {'value':{'partner_address_id': False, 'fiscal_position': False}}265 return {'value':{'partner_address_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}}
254 addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['default'])266 addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['default','contact'])
255 part = self.pool.get('res.partner').browse(cr, uid, part)267 part = self.pool.get('res.partner').browse(cr, uid, part)
256 pricelist = part.property_product_pricelist_purchase.id268 pricelist = part.property_product_pricelist_purchase.id
257 fiscal_position = part.property_account_position and part.property_account_position.id or False269 fiscal_position = part.property_account_position and part.property_account_position.id or False
258 return {'value':{'partner_address_id': addr['default'], 'pricelist_id': pricelist, 'fiscal_position': fiscal_position}}270 payment_term = part.property_payment_term and part.property_payment_term.id or False
271 return {'value':{'partner_address_id': addr['default'],'partner_order_id': addr['contact'], 'pricelist_id': pricelist, 'payment_term': payment_term, 'fiscal_position': fiscal_position}}
259272
260 def wkf_approve_order(self, cr, uid, ids, context={}):273 def wkf_approve_order(self, cr, uid, ids, context={}):
261 self.write(cr, uid, ids, {'state': 'approved', 'date_approve': time.strftime('%Y-%m-%d')})274 self.write(cr, uid, ids, {'state': 'approved', 'date_approve': time.strftime('%Y-%m-%d')})
@@ -358,7 +371,7 @@
358 'origin': o.name,371 'origin': o.name,
359 'invoice_line': il,372 'invoice_line': il,
360 'fiscal_position': o.partner_id.property_account_position.id,373 'fiscal_position': o.partner_id.property_account_position.id,
361 'payment_term': o.partner_id.property_payment_term and o.partner_id.property_payment_term.id or False,374 'payment_term': o.payment_term.id,
362 'company_id': o.company_id.id,375 'company_id': o.company_id.id,
363 }376 }
364 inv_id = self.pool.get('account.invoice').create(cr, uid, inv, {'type':'in_invoice'})377 inv_id = self.pool.get('account.invoice').create(cr, uid, inv, {'type':'in_invoice'})
365378
=== modified file 'purchase/purchase_view.xml'
--- purchase/purchase_view.xml 2010-05-26 08:28:37 +0000
+++ purchase/purchase_view.xml 2010-05-27 21:44:29 +0000
@@ -66,23 +66,32 @@
66 <field name="model">purchase.order</field>66 <field name="model">purchase.order</field>
67 <field name="type">form</field>67 <field name="type">form</field>
68 <field name="arch" type="xml">68 <field name="arch" type="xml">
69 <form string="Purchase Order">69 <form string="Purchase Order">
70 <group col="6" colspan="4">70 <group col="6" colspan="4">
71 <field name="name"/>71 <field name="name"/>
72 <field name="date_order"/>72 <field name="date_order" select="1"/>
73 <field name="invoiced"/>73 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
74 <newline/>74 <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1" select="1" domain="[('supplier','=', 1)]" colspan="4"/>
75 <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection"/>75 <field name="partner_ref"/>
76 <field domain="[('partner_id','=',partner_id)]" name="partner_address_id" colspan="4"/>
77<!--
78 <label colspan="2" align="0.0" string="Missing Customer reference date"/>
79-->
76 <field name="origin"/>80 <field name="origin"/>
77 <field name="shipped"/>
78 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
79 </group>81 </group>
80 <notebook colspan="4">82 <notebook colspan="4">
81 <page string="Purchase Order">83 <page string="Purchase Order">
82 <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('supplier','=', 1)]"/>84 <group col="6" colspan="4">
83 <field name="partner_address_id"/>85 <field name="dest_address_id" on_change="onchange_dest_address_id(dest_address_id)" colspan="4"/>
84 <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>86 <field name="shipped_rate" widget="progressbar"/>
85 <field name="partner_ref"/>87 <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" colspan="4"/>
88 <field name="invoiced_rate" widget="progressbar"/>
89 <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection"/>
90 <field name="minimum_planned_date"/>
91 <field name="paid"/>
92 <field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>
93 <field name="payment_term" widget="selection"/>
94 </group>
86 <newline/>95 <newline/>
87 <field colspan="4" name="order_line" nolabel="1" mode="tree,form">96 <field colspan="4" name="order_line" nolabel="1" mode="tree,form">
88 <tree colors="red:date_planned&lt;=current_date;black:date_planned&gt;current_date" string="Purchase Order Lines">97 <tree colors="red:date_planned&lt;=current_date;black:date_planned&gt;current_date" string="Purchase Order Lines">
@@ -120,8 +129,7 @@
120 <page string="Delivery &amp; Invoices" groups="account.group_account_user">129 <page string="Delivery &amp; Invoices" groups="account.group_account_user">
121 <group colspan="2" col="2" groups="base.group_extended">130 <group colspan="2" col="2" groups="base.group_extended">
122 <separator string="Delivery" colspan="2"/>131 <separator string="Delivery" colspan="2"/>
123 <field name="dest_address_id" on_change="onchange_dest_address_id(dest_address_id)"/>132
124 <field name="minimum_planned_date"/>
125 <field name="location_id"/>133 <field name="location_id"/>
126 </group>134 </group>
127 <group colspan="2" col="2">135 <group colspan="2" col="2">
@@ -230,8 +238,9 @@
230 <field colspan="4" name="name"/>238 <field colspan="4" name="name"/>
231 <field name="date_planned" widget="date"/>239 <field name="date_planned" widget="date"/>
232 <field name="price_unit"/>240 <field name="price_unit"/>
233 <field name="company_id" groups="base.group_multi_company" widget="selection"/>241 <field name="company_id" invisible="1"/>
234 <field name="price_subtotal" readonly="1"/>242 <field name="price_subtotal" readonly="1"/>
243 <field colspan="4" name="taxes_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','sale')]"/>
235 </page>244 </page>
236 <page string="Notes">245 <page string="Notes">
237 <field colspan="4" name="notes" nolabel="1"/>246 <field colspan="4" name="notes" nolabel="1"/>
238247
=== modified file 'sale/__openerp__.py'
--- sale/__openerp__.py 2010-05-26 08:28:37 +0000
+++ sale/__openerp__.py 2010-05-27 21:44:29 +0000
@@ -60,7 +60,7 @@
60 'stock_view.xml',60 'stock_view.xml',
61# 'process/sale_process.xml',61# 'process/sale_process.xml',
62 ],62 ],
63 'demo_xml': ['sale_demo.xml'],63 'demo_xml': [],
64 'test': [64 'test': [
65 'test/shipping_manual_sale_order.yml',65 'test/shipping_manual_sale_order.yml',
66 'test/prepaid_sale_order.yml',66 'test/prepaid_sale_order.yml',
6767
=== modified file 'sale/sale.py'
--- sale/sale.py 2010-05-26 08:28:37 +0000
+++ sale/sale.py 2010-05-27 21:44:29 +0000
@@ -160,7 +160,19 @@
160 for sale in self.browse(cursor, user, ids, context=context):160 for sale in self.browse(cursor, user, ids, context=context):
161 res[sale.id] = True161 res[sale.id] = True
162 for invoice in sale.invoice_ids:162 for invoice in sale.invoice_ids:
163 if invoice.state != 'paid':163 break
164 if not sale.invoice_ids:
165 res[sale.id] = False
166 return res
167
168 def _paid(self, cursor, user, ids, name, arg, context=None):
169 if context is None:
170 context = {}
171 res = {}
172 for sale in self.browse(cursor, user, ids, context=context):
173 res[sale.id] = True
174 for invoice in sale.invoice_ids:
175 if invoice.reconciled != True:
164 res[sale.id] = False176 res[sale.id] = False
165 break177 break
166 if not sale.invoice_ids:178 if not sale.invoice_ids:
@@ -204,6 +216,23 @@
204 result[line.order_id.id] = True216 result[line.order_id.id] = True
205 return result.keys()217 return result.keys()
206218
219 def _minimum_planned_date(self, cr, uid, ids, field_name, arg, context):
220 res={}
221 sale_obj=self.browse(cr, uid, ids, context=context)
222 for sale in sale_obj:
223 res[sale.id] = False
224 if sale.order_line:
225 #min_date=sale.order_line[0].date_planned
226 min_date=''
227 for line in sale.order_line:
228 if line.date_planned and ( not min_date or line.date_planned < min_date):
229 min_date=line.date_planned
230 if not min_date:
231 min_date=datetime.now()
232 res[sale.id]=min_date
233 return res
234
235
207 _columns = {236 _columns = {
208 'name': fields.char('Order Reference', size=64, required=True, select=True),237 'name': fields.char('Order Reference', size=64, required=True, select=True),
209 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)]}),238 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)]}),
@@ -220,7 +249,7 @@
220 ('done', 'Done'),249 ('done', 'Done'),
221 ('cancel', 'Cancelled')250 ('cancel', 'Cancelled')
222 ], '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),251 ], '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),
223 'date_order': fields.date('Ordered Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),252 'date_order': fields.date('Date Ordered', required=True, readonly=True, states={'draft': [('readonly', False)]}),
224 'create_date': fields.date('Creation Date', readonly=True),253 'create_date': fields.date('Creation Date', readonly=True),
225 'date_confirm': fields.date('Confirmation Date', readonly=True),254 'date_confirm': fields.date('Confirmation Date', readonly=True),
226 'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True),255 'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True),
@@ -252,7 +281,9 @@
252 'shipped': fields.boolean('Picked', readonly=True),281 'shipped': fields.boolean('Picked', readonly=True),
253 'picked_rate': fields.function(_picked_rate, method=True, string='Picked', type='float'),282 'picked_rate': fields.function(_picked_rate, method=True, string='Picked', type='float'),
254 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'),283 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'),
255 'invoiced': fields.function(_invoiced, method=True, string='Paid',284 'invoiced': fields.function(_invoiced, method=True, string='Invoiced',
285 fnct_search=_invoiced_search, type='boolean'),
286 'paid': fields.function(_paid, method=True, string='Paid',
256 fnct_search=_invoiced_search, type='boolean'),287 fnct_search=_invoiced_search, type='boolean'),
257 'note': fields.text('Notes', translate=True),288 'note': fields.text('Notes', translate=True),
258289
@@ -279,6 +310,7 @@
279 'payment_term': fields.many2one('account.payment.term', 'Payment Term'),310 'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
280 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),311 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),
281 'company_id': fields.many2one('res.company','Company',select=1),312 'company_id': fields.many2one('res.company','Company',select=1),
313 '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."),
282 }314 }
283 _defaults = {315 _defaults = {
284 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'sale.order', context=c),316 'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'sale.order', context=c),
@@ -842,6 +874,7 @@
842 'order_partner_id': fields.related('order_id', 'partner_id', type='many2one', relation='res.partner', string='Customer'),874 'order_partner_id': fields.related('order_id', 'partner_id', type='many2one', relation='res.partner', string='Customer'),
843 'salesman_id':fields.related('order_id','user_id',type='many2one',relation='res.users',string='Salesman'),875 'salesman_id':fields.related('order_id','user_id',type='many2one',relation='res.users',string='Salesman'),
844 'company_id': fields.related('order_id','company_id',type='many2one',relation='res.company',string='Company',store=True),876 'company_id': fields.related('order_id','company_id',type='many2one',relation='res.company',string='Company',store=True),
877 'date_planned': fields.datetime('Scheduled date', ),
845 }878 }
846 _order = 'sequence, id'879 _order = 'sequence, id'
847 _defaults = {880 _defaults = {
848881
=== modified file 'sale/sale_view.xml'
--- sale/sale_view.xml 2010-05-26 08:28:37 +0000
+++ sale/sale_view.xml 2010-05-27 21:44:29 +0000
@@ -95,69 +95,59 @@
95 <field name="model">sale.order</field>95 <field name="model">sale.order</field>
96 <field name="type">form</field>96 <field name="type">form</field>
97 <field name="arch" type="xml">97 <field name="arch" type="xml">
98 <form string="Sales order">98 <form string="Sales order">
99 <group col="6" colspan="4">99 <group col="6" colspan="4">
100 <field name="name"/>100 <field name="name"/>
101 <field name="date_order"/>
102 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
103 <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1" select="1" domain="[('customer','=', 1)]" colspan="4"/>
101 <field name="client_order_ref"/>104 <field name="client_order_ref"/>
102 <field name="shipped"/>105 <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" colspan="4"/>
103 <field name="date_order"/>106 <label colspan="2" align="0.0" string="Missing Customer reference date"/>
104 <field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="base.group_extended"/>107
105 <field name="invoiced"/>
106 </group>108 </group>
107 <notebook colspan="4">109 <notebook colspan="4">
108 <page string="Sale Order">110 <page string="Sale Order">
109 <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1"/>111 <group col="6" colspan="4">
110 <field domain="[('partner_id','=',partner_id)]" name="partner_order_id"/>112 <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" colspan="4"/>
111 <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id"/>113 <field name="picked_rate" widget="progressbar"/>
112 <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id"/>114 <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" colspan="4"/>
113 <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" widget="selection"/>115 <field name="invoiced_rate" widget="progressbar"/>
114 <field name="project_id"116 <field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="base.group_extended"/>
115 context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}"117 <field name="minimum_planned_date"/>
116 groups="base.group_extended"/>118 <field name="paid"/>
117 <newline/>119 <newline/>
120 <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended"/>
121 <field name="payment_term" widget="selection"/>
122 </group>
118 <field colspan="4" mode="tree,form,graph" name="order_line" nolabel="1" widget="one2many_list">123 <field colspan="4" mode="tree,form,graph" name="order_line" nolabel="1" widget="one2many_list">
119 <form string="Sale Order Lines">124 <form string="Sale Order Lines">
120 <notebook>125 <notebook>
121 <page string="Order Line">126 <page string="Order Line">
122 <field colspan="4"127 <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"/>
123 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"128 <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"/>
124 name="product_id"129 <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)"/>
125 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)"130 <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"/>
126 />
127 <field
128 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
129 name="product_uom_qty"
130 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)"
131 />
132 <field name="product_uom"
133 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)"
134 widget="selection"/>
135 <field
136 name="product_packaging"
137 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
138 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)"
139 domain="[('product_id','=',product_id)]"
140 groups="base.group_extended"/>
141131
142 <field name="company_id" groups="base.group_multi_company" widget="selection"/>132 <field name="type" groups="base.group_extended"/>
143 <field colspan="4" name="name"/>133 <field colspan="4" name="name"/>
144 <field name="price_unit"/>134 <field name="price_unit"/>
145 <field name="discount"/>135 <field name="discount"/>
146 <field name="type" groups="base.group_extended"/>136 <field name="price_subtotal"/>
137 <newline/>
138 <field name="date_planned"/>
147 <field name="delay" groups="base.group_extended"/>139 <field name="delay" groups="base.group_extended"/>
140 <field name="company_id" invisible="1"/>
148 <newline/>141 <newline/>
149 <field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>142 <field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
143<!-- FIXME Make invoice defined on order line ????
150 <group colspan="4" col="5" groups="base.group_extended">144 <group colspan="4" col="5" groups="base.group_extended">
151 <separator colspan="5" string="States"/>145 <separator colspan="5" string="States"/>
152 <field name="state"/>146 <field name="state" readonly="1"/>
153 <field name="invoiced"/>147 <field name="invoiced"/>
154 <button colspan="1"148 <button colspan="1" name="368" states="confirmed" string="Make Invoice" type="action" icon="gtk-print"/>
155 name="%(action_view_sale_order_line_make_invoice)d"
156 states="confirmed"
157 string="Make Invoice"
158 type="action"
159 icon="gtk-print" />
160 </group>149 </group>
150-->
161 </page>151 </page>
162 <page groups="base.group_extended" string="Extra Info">152 <page groups="base.group_extended" string="Extra Info">
163 <field name="th_weight"/>153 <field name="th_weight"/>
@@ -177,6 +167,7 @@
177 </notebook>167 </notebook>
178 </form>168 </form>
179 <tree string="Sales order lines">169 <tree string="Sales order lines">
170 <field name="date_planned"/>
180 <field colspan="4" name="name"/>171 <field colspan="4" name="name"/>
181 <field name="product_uom_qty" string="Qty"/>172 <field name="product_uom_qty" string="Qty"/>
182 <field name="product_uom" string="UoM"/>173 <field name="product_uom" string="UoM"/>
@@ -222,10 +213,9 @@
222 <field groups="base.group_extended" name="origin"/>213 <field groups="base.group_extended" name="origin"/>
223 </group>214 </group>
224 <group colspan="2" col="2" groups="base.group_extended">215 <group colspan="2" col="2" groups="base.group_extended">
225 <separator string="Conditions" colspan="2"/>216 <separator string="Accounting" colspan="2"/>
226 <field name="payment_term" widget="selection"/>217<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"/>
227 <field name="fiscal_position" widget="selection"/>218 <field name="fiscal_position" widget="selection"/>
228 <field name="company_id" widget="selection" groups="base.group_multi_company"/>
229 </group>219 </group>
230 <group colspan="2" col="2" groups="base.group_extended">220 <group colspan="2" col="2" groups="base.group_extended">
231 <separator string="Dates" colspan="2"/>221 <separator string="Dates" colspan="2"/>
@@ -343,6 +333,7 @@
343 <field name="type">tree</field>333 <field name="type">tree</field>
344 <field name="arch" type="xml">334 <field name="arch" type="xml">
345 <tree string="Sales order lines">335 <tree string="Sales order lines">
336 <field name="date_planned"/>
346 <field name="order_id"/>337 <field name="order_id"/>
347 <field name="order_partner_id"/>338 <field name="order_partner_id"/>
348 <field name="product_id"/>339 <field name="product_id"/>
349340
=== modified file 'sale/stock_view.xml'
--- sale/stock_view.xml 2010-04-16 09:16:25 +0000
+++ sale/stock_view.xml 2010-05-27 21:44:29 +0000
@@ -12,5 +12,13 @@
12 </field>12 </field>
13 </field>13 </field>
14 </record>14 </record>
15
16 <act_window
17 domain="[('sale_id', '=', active_id)]"
18 id="act_sale_order_2_stock_picking"
19 name="Picking"
20 res_model="stock.picking"
21 src_model="sale.order"/>
22
15 </data>23 </data>
16</openerp>24</openerp>
1725
=== removed directory 'smtpclient'
=== removed directory 'smtpclient/i18n'
=== removed file 'smtpclient/i18n/fr.po'
--- smtpclient/i18n/fr.po 2010-05-26 08:28:37 +0000
+++ smtpclient/i18n/fr.po 1970-01-01 00:00:00 +0000
@@ -1,871 +0,0 @@
1# French translation for openobject-addons
2# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
3# This file is distributed under the same license as the openobject-addons package.
4# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
5#
6msgid ""
7msgstr ""
8"Project-Id-Version: openobject-addons\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"POT-Creation-Date: 2009-11-26 06:00+0000\n"
11"PO-Revision-Date: 2010-05-22 09:14+0000\n"
12"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ <Unknown>\n"
13"Language-Team: French <fr@li.org>\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2010-05-23 03:57+0000\n"
18"X-Generator: Launchpad (build Unknown)\n"
19
20#. module: smtpclient
21#: field:email.smtpclient.queue,bcc:0
22msgid "BCC to"
23msgstr "Copie cachée à"
24
25#. module: smtpclient
26#: view:email.smtpclient:0
27msgid "__number__ for Invoice / Sales Number"
28msgstr "__number__ pour la facture / Numéro de vente"
29
30#. module: smtpclient
31#: field:email.smtpclient,ssl:0
32msgid "Use SSL?"
33msgstr "Utiliser SSL?"
34
35#. module: smtpclient
36#: view:email.smtpclient:0
37msgid "Start Server"
38msgstr "Démarrer le serveur"
39
40#. module: smtpclient
41#: model:ir.actions.wizard,name:smtpclient.wizard_email_verifycode
42msgid "Verify Server"
43msgstr "Vérifier le serveur"
44
45#. module: smtpclient
46#: field:email.smtpclient,priority:0
47msgid "Server Priority"
48msgstr "Priorité du serveur"
49
50#. module: smtpclient
51#: help:email.sendcode,init,emailto:0
52msgid "Enter the address Email where you want to get the Verification Code"
53msgstr ""
54"Saisir l'adresse email à laquelle vous voulez envoyer le code de vérification"
55
56#. module: smtpclient
57#: selection:email.smtpclient,auth_type:0
58msgid "Other Mail Servers"
59msgstr "Autres serveurs de courrier"
60
61#. module: smtpclient
62#: constraint:ir.actions.act_window:0
63msgid "Invalid model name in the action definition."
64msgstr "Nom de modèle invalide pour la définition de l'action"
65
66#. module: smtpclient
67#: field:email.smtpclient.queue,to:0
68msgid "Mail to"
69msgstr "Envoyer par email à"
70
71#. module: smtpclient
72#: code:addons/smtpclient/smtpclient.py:0
73#, python-format
74msgid "Message Error!"
75msgstr "Erreur de message!"
76
77#. module: smtpclient
78#: field:email.smtpclient,name:0
79msgid "Server Name"
80msgstr "Nom du serveur"
81
82#. module: smtpclient
83#: field:email.smtpclient,header_ids:0
84msgid "Default Headers"
85msgstr "Entêtes de courrier par défaut"
86
87#. module: smtpclient
88#: wizard_button:email.testemail,init,send:0
89msgid "Send Email"
90msgstr "Envoyer un email"
91
92#. module: smtpclient
93#: field:res.company.address,company_id:0
94msgid "Company"
95msgstr "Société"
96
97#. module: smtpclient
98#: view:email.smtpclient:0
99msgid "Set to Draft"
100msgstr "Mettre en brouillon"
101
102#. module: smtpclient
103#: code:addons/smtpclient/wizard/verifycode.py:0
104#, python-format
105msgid "Server already verified!"
106msgstr "Serveur déjà vérifié!"
107
108#. module: smtpclient
109#: code:addons/smtpclient/wizard/sendcode.py:0
110#: code:addons/smtpclient/wizard/testemail.py:0
111#, python-format
112msgid "Verification Failed. Please check the Server Configuration!"
113msgstr ""
114"Échec de vérification. Merci de vérifier le serveur de configuration!"
115
116#. module: smtpclient
117#: code:addons/smtpclient/smtpclient.py:0
118#, python-format
119msgid "SMTP Server Error!"
120msgstr "Erreur du serveur SMTP!"
121
122#. module: smtpclient
123#: field:email.smtpclient,auth_type:0
124#: field:email.smtpclient,type:0
125msgid "Server Type"
126msgstr "Type de serveur"
127
128#. module: smtpclient
129#: field:email.smtpclient,from_email:0
130msgid "Email From"
131msgstr "Email de"
132
133#. module: smtpclient
134#: view:email.smtpclient:0
135msgid "User Information"
136msgstr "Information utilisateur"
137
138#. module: smtpclient
139#: code:addons/smtpclient/smtpclient.py:0
140#, python-format
141msgid "OpenERP SMTP server Email Registration Code!"
142msgstr "Code d'enregistrement email du serveur SMTP OpenERP!"
143
144#. module: smtpclient
145#: model:ir.model,name:smtpclient.model_report_smtp_server
146#: view:report.smtp.server:0
147msgid "Server Statistics"
148msgstr "Statistiques du serveur"
149
150#. module: smtpclient
151#: view:email.smtpclient:0
152msgid "Messages"
153msgstr "Messages"
154
155#. module: smtpclient
156#: selection:email.smtpclient,type:0
157#: selection:res.company.address,name:0
158msgid "Sale"
159msgstr "Vente"
160
161#. module: smtpclient
162#: field:email.headers,value:0
163msgid "Value"
164msgstr "Valeur"
165
166#. module: smtpclient
167#: view:email.smtpclient:0
168msgid "Access Permission"
169msgstr "Permission d'accès"
170
171#. module: smtpclient
172#: model:ir.model,name:smtpclient.model_email_headers
173msgid "Email Headers"
174msgstr "Entêtes de courrier"
175
176#. module: smtpclient
177#: field:email.smtpclient,delete_queue:0
178msgid "Queue Option"
179msgstr "Option de file d'attente"
180
181#. module: smtpclient
182#: code:addons/smtpclient/smtpclient.py:0
183#, python-format
184msgid "Please configure Email Server Messages [Verification / Test]"
185msgstr ""
186"Merci de configurer les messages du serveur email [Vérification / Test]"
187
188#. module: smtpclient
189#: code:addons/smtpclient/wizard/verifycode.py:0
190#, python-format
191msgid "Verification failed. Invalid Verification Code!"
192msgstr "Échec de vérification. Code de vérification non valide!"
193
194#. module: smtpclient
195#: model:ir.actions.act_window,name:smtpclient.act_mail_server_2_mail_history
196msgid "Email History"
197msgstr "Historique des emails"
198
199#. module: smtpclient
200#: view:email.smtpclient.history:0
201msgid "Server History"
202msgstr "Historique du serveur"
203
204#. module: smtpclient
205#: selection:email.smtpclient,auth_type:0
206msgid "Yahoo!!! Server"
207msgstr "Serveur Yahoo!"
208
209#. module: smtpclient
210#: view:email.smtpclient:0
211#: field:email.smtpclient,test_email:0
212msgid "Test Message"
213msgstr "Message de test"
214
215#. module: smtpclient
216#: field:report.smtp.server,server_id:0
217msgid "Server ID"
218msgstr "ID du serveur"
219
220#. module: smtpclient
221#: help:email.smtpclient,delete_queue_period:0
222msgid "delete emails/contents from email queue after specified no of days"
223msgstr ""
224"effacer les emails/contenu placé en attente après le nombre de jours spécifié"
225
226#. module: smtpclient
227#: field:report.smtp.server,no:0
228msgid "Total No."
229msgstr "Nombre total"
230
231#. module: smtpclient
232#: help:email.smtpclient,process_id:0
233msgid "Mail Transport Agent Process"
234msgstr "Processus d'agent de transport email"
235
236#. module: smtpclient
237#: view:email.smtpclient:0
238msgid "__user__ for User Name"
239msgstr "__user__ pour le nom d'utilisateur"
240
241#. module: smtpclient
242#: field:email.smtpclient,date_create:0
243msgid "Date Create"
244msgstr "Date de création"
245
246#. module: smtpclient
247#: field:email.smtpclient,state:0
248msgid "Server Status"
249msgstr "État du serveur"
250
251#. module: smtpclient
252#: field:email.smtpclient.queue,error:0
253msgid "Last Error"
254msgstr "Dernière erreur"
255
256#. module: smtpclient
257#: wizard_view:email.sendcode,init:0
258#: wizard_button:email.sendcode,init,send:0
259msgid "Send Code"
260msgstr "Envoyer un code"
261
262#. module: smtpclient
263#: field:email.smtpclient.queue,name:0
264msgid "Subject"
265msgstr "Sujet"
266
267#. module: smtpclient
268#: code:addons/smtpclient/smtpclient.py:0
269#, python-format
270msgid "Read Error!"
271msgstr "Erreur de lecture!"
272
273#. module: smtpclient
274#: code:addons/smtpclient/smtpclient.py:0
275#, python-format
276msgid "Unable to read Server Settings"
277msgstr "Impossible de lire les paramètres du serveur"
278
279#. module: smtpclient
280#: field:email.smtpclient,server_statistics:0
281msgid "Statistics"
282msgstr "Statistiques"
283
284#. module: smtpclient
285#: wizard_view:email.testemail,init:0
286msgid "Test Email"
287msgstr "Email de test"
288
289#. module: smtpclient
290#: field:email.smtpclient.history,server_id:0
291msgid "Smtp Server"
292msgstr "Serveur SMTP"
293
294#. module: smtpclient
295#: field:res.company,addresses:0
296msgid "Email Addresses"
297msgstr "Adresses email"
298
299#. module: smtpclient
300#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_history_tree
301#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_server_history
302msgid "Email Server History"
303msgstr "Historique du serveur email"
304
305#. module: smtpclient
306#: selection:email.smtpclient.queue,state:0
307msgid "Waiting"
308msgstr "En attente"
309
310#. module: smtpclient
311#: help:email.testemail,init,emailto:0
312msgid "Enter the address Email where you want to get the Test Email"
313msgstr ""
314"Saisir l'adresse email à laquelle vous voulez recevoir l'email de test"
315
316#. module: smtpclient
317#: selection:email.smtpclient,state:0
318msgid "Not Verified"
319msgstr "Non vérifié"
320
321#. module: smtpclient
322#: field:email.smtpclient.history,email:0
323msgid "Email"
324msgstr "Email"
325
326#. module: smtpclient
327#: selection:email.smtpclient.queue,state:0
328msgid "Sent"
329msgstr "Envoyé"
330
331#. module: smtpclient
332#: field:email.smtpclient.history,user_id:0
333msgid "Username"
334msgstr "Nom d'utilisateur"
335
336#. module: smtpclient
337#: field:res.company.address,name:0
338msgid "Address Type"
339msgstr "Type d'adresse"
340
341#. module: smtpclient
342#: view:email.smtpclient:0
343msgid "Permission"
344msgstr "Permission"
345
346#. module: smtpclient
347#: view:email.smtpclient.queue:0
348msgid "Message with All Headers"
349msgstr "Message avec entêtes complètes"
350
351#. module: smtpclient
352#: view:email.smtpclient:0
353msgid "Message Headers"
354msgstr "Entêtes de message"
355
356#. module: smtpclient
357#: field:ir.actions.server,report_id:0
358msgid "Report"
359msgstr "Rapport"
360
361#. module: smtpclient
362#: view:email.smtpclient:0
363msgid "Other Information"
364msgstr "Autre information"
365
366#. module: smtpclient
367#: view:email.smtpclient:0
368msgid "Configuration"
369msgstr "Configuration"
370
371#. module: smtpclient
372#: constraint:ir.cron:0
373msgid "Invalid arguments"
374msgstr "Paramètres non valides"
375
376#. module: smtpclient
377#: constraint:ir.ui.view:0
378msgid "Invalid XML for View Architecture!"
379msgstr "XML non valide pour l'architecture de la vue !"
380
381#. module: smtpclient
382#: view:email.smtpclient:0
383#: field:email.smtpclient,disclaimers:0
384msgid "Disclaimers"
385msgstr "Avertissement de responsabilité limitée"
386
387#. module: smtpclient
388#: field:report.smtp.server,name:0
389msgid "Server"
390msgstr "Serveur"
391
392#. module: smtpclient
393#: view:res.company:0
394msgid "SMTP Settings"
395msgstr "Paramètres SMTP"
396
397#. module: smtpclient
398#: help:email.smtpclient,body:0
399msgid ""
400"The message text that will be send along with the email which is send "
401"through this server"
402msgstr "Le message texte qui sera envoyé avec l'email envoyé par ce serveur"
403
404#. module: smtpclient
405#: model:ir.actions.wizard,name:smtpclient.wizard_email_testemail
406msgid "Send Test Email"
407msgstr "Envoyer email de test"
408
409#. module: smtpclient
410#: model:ir.model,name:smtpclient.model_email_smtpclient_queue
411msgid "Email Queue"
412msgstr "File d'attente email"
413
414#. module: smtpclient
415#: view:email.smtpclient:0
416msgid "Server Information"
417msgstr "Information sur le serveur"
418
419#. module: smtpclient
420#: help:email.verifycode,init,code:0
421msgid "Enter the verification code thay you get in your verification Email"
422msgstr ""
423"Saisir le code de vérification que vous avez reçu dans votre email de "
424"vérification"
425
426#. module: smtpclient
427#: model:ir.model,name:smtpclient.model_email_smtpclient_history
428msgid "Email Client History"
429msgstr "Historique du client email"
430
431#. module: smtpclient
432#: selection:email.smtpclient,delete_queue:0
433msgid "Never Delete Message"
434msgstr "Ne jamais effacer le message"
435
436#. module: smtpclient
437#: code:addons/smtpclient/smtpclient.py:0
438#, python-format
439msgid "OpenERP Test Email!"
440msgstr "Email de test OpenERP!"
441
442#. module: smtpclient
443#: view:email.smtpclient:0
444#: field:email.smtpclient,body:0
445#: view:email.smtpclient.queue:0
446#: field:email.smtpclient.queue,serialized_message:0
447msgid "Message"
448msgstr "Message"
449
450#. module: smtpclient
451#: field:email.smtpclient,process_id:0
452msgid "MTA Process"
453msgstr "Processus MTA"
454
455#. module: smtpclient
456#: field:email.headers,server_id:0
457#: view:email.smtpclient:0
458#: field:email.smtpclient,server:0
459#: field:email.smtpclient.queue,server_id:0
460#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_smtp_server
461msgid "SMTP Server"
462msgstr "Serveur SMTP"
463
464#. module: smtpclient
465#: selection:email.smtpclient,auth_type:0
466msgid "Google Server"
467msgstr "Serveur Google"
468
469#. module: smtpclient
470#: selection:email.smtpclient,state:0
471msgid "Verified"
472msgstr "Vérifié"
473
474#. module: smtpclient
475#: help:email.smtpclient,priority:0
476msgid ""
477"Priority between 0 to 10, will be used to define the MTA process priotiry"
478msgstr ""
479"Priorité de 0 à 10, utilisé pour définir les priorités des processus MTA"
480
481#. module: smtpclient
482#: field:email.smtpclient,port:0
483msgid "SMTP Port"
484msgstr "Port SMTP"
485
486#. module: smtpclient
487#: code:addons/smtpclient/smtpclient.py:0
488#, python-format
489msgid "Email TO Address not Defined !"
490msgstr "Adresse d'envoi non définie!"
491
492#. module: smtpclient
493#: code:addons/smtpclient/smtpclient.py:0
494#, python-format
495msgid "SMTP Server Error !"
496msgstr "Erreur de serveur SMTP!"
497
498#. module: smtpclient
499#: field:email.smtpclient,auth:0
500msgid "Use Auth"
501msgstr "Utiliser l'authentification"
502
503#. module: smtpclient
504#: field:email.smtpclient,pstate:0
505msgid "Server Statue"
506msgstr "État du serveur"
507
508#. module: smtpclient
509#: field:email.smtpclient,user:0
510msgid "User Name"
511msgstr "Nom d'utilisateur"
512
513#. module: smtpclient
514#: field:email.smtpclient,verify_email:0
515msgid "Verify Message"
516msgstr "Vérifiez le message"
517
518#. module: smtpclient
519#: model:ir.model,name:smtpclient.model_email_smtpclient
520#: model:ir.module.module,shortdesc:smtpclient.module_meta_information
521msgid "Email Client"
522msgstr "Client email"
523
524#. module: smtpclient
525#: view:email.smtpclient:0
526msgid "Disclaimers Message"
527msgstr "Message sur la limitation de garantie"
528
529#. module: smtpclient
530#: view:email.smtpclient:0
531msgid "__code__ for Verification Code"
532msgstr "__code__ pour le Code de Vérification"
533
534#. module: smtpclient
535#: selection:email.smtpclient.queue,state:0
536msgid "Queued"
537msgstr "File d'attente"
538
539#. module: smtpclient
540#: field:email.smtpclient.history,date_create:0
541#: field:email.smtpclient.queue,date_create:0
542msgid "Date"
543msgstr "Date"
544
545#. module: smtpclient
546#: field:email.smtpclient.queue,cc:0
547msgid "CC to"
548msgstr "En copie à"
549
550#. module: smtpclient
551#: model:email.smtpclient,verify_email:smtpclient.email_smtpclient_sendmailserver0
552msgid ""
553"Verification Message. This is the code\n"
554"__code__ \n"
555"you must copy in the OpenERP Email Server (Verify Server wizard).\n"
556"Created by user __user__"
557msgstr ""
558"Message de vérification. Ceci est le code\n"
559"__code__ \n"
560"que vous devez saisir dans le serveur email OpenERP (assistant Vérification "
561"du Serveur).\n"
562"Créé par utilisateur __utilisateur__"
563
564#. module: smtpclient
565#: view:email.smtpclient.queue:0
566#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_queue_tree
567#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_smtp_server_queue
568msgid "Message Queue"
569msgstr "File d'attente des messages"
570
571#. module: smtpclient
572#: selection:email.smtpclient,type:0
573#: selection:res.company.address,name:0
574msgid "Default"
575msgstr "Défaut"
576
577#. module: smtpclient
578#: selection:email.smtpclient,delete_queue:0
579msgid "Delete Content After"
580msgstr "Effacer le contenu après"
581
582#. module: smtpclient
583#: code:addons/smtpclient/smtpclient.py:0
584#, python-format
585msgid "You have no permission to access SMTP Server : %s "
586msgstr "Vous n'avez aucune permission d'accès au serveur SMTP : %s "
587
588#. module: smtpclient
589#: field:email.smtpclient,active:0
590msgid "Active"
591msgstr "Actif"
592
593#. module: smtpclient
594#: model:ir.actions.act_window,name:smtpclient.act_mail_server_2_mail_queue
595msgid "Message Queus"
596msgstr "File d'attente des messages"
597
598#. module: smtpclient
599#: code:addons/smtpclient/wizard/sendcode.py:0
600#: code:addons/smtpclient/wizard/testemail.py:0
601#: code:addons/smtpclient/wizard/verifycode.py:0
602#: view:email.smtpclient.queue:0
603#: selection:email.smtpclient.queue,state:0
604#, python-format
605msgid "Error"
606msgstr "Erreur"
607
608#. module: smtpclient
609#: code:addons/smtpclient/smtpclient.py:0
610#, python-format
611msgid "Server Error!"
612msgstr "Erreur serveur !"
613
614#. module: smtpclient
615#: selection:email.smtpclient,delete_queue:0
616msgid "Clear All After"
617msgstr "Tout effacer après"
618
619#. module: smtpclient
620#: code:addons/smtpclient/smtpclient.py:0
621#, python-format
622msgid ""
623"Please verify Email Server, without verification you can not send Email(s)."
624msgstr ""
625"Merci de vérifier votre serveur email, sans vérification vous ne pouvez pas "
626"envoyer d'email(s)."
627
628#. module: smtpclient
629#: field:email.smtpclient,history_line:0
630#: field:report.smtp.server,history:0
631msgid "History"
632msgstr "Historique"
633
634#. module: smtpclient
635#: field:email.smtpclient.queue,priority:0
636msgid "Message Priority"
637msgstr "Priorité du message"
638
639#. module: smtpclient
640#: field:ir.actions.server,file_ids:0
641msgid "Attachments"
642msgstr "Fichiers attachés"
643
644#. module: smtpclient
645#: view:email.smtpclient:0
646msgid "__name__ for Customer Name"
647msgstr "__name__ pour le Nom du Client"
648
649#. module: smtpclient
650#: view:email.smtpclient.queue:0
651msgid "General"
652msgstr "Général"
653
654#. module: smtpclient
655#: field:email.headers,key:0
656msgid "Header"
657msgstr "Entête"
658
659#. module: smtpclient
660#: code:addons/smtpclient/smtpclient.py:0
661#, python-format
662msgid ""
663"Verification Message. This is the code\n"
664"\n"
665"__code__\n"
666"\n"
667"you must copy in the OpenERP Email Server (Verify Server wizard).\n"
668"\n"
669"Created by user __user__"
670msgstr ""
671"Message de vérification. Voici le code\n"
672"\n"
673"__code__\n"
674"\n"
675"Vous devez le copier dans le serveur de couriel d'Open ERP (Assistant de "
676"vérification).\n"
677"\n"
678"Créer par l'utilisateur __user__"
679
680#. module: smtpclient
681#: selection:res.company.address,name:0
682msgid "Invoice"
683msgstr "Facture"
684
685#. module: smtpclient
686#: wizard_view:email.verifycode,init:0
687#: wizard_button:email.verifycode,init,check:0
688msgid "Verify Code"
689msgstr "Code de vérification"
690
691#. module: smtpclient
692#: wizard_button:email.sendcode,init,end:0
693#: wizard_button:email.testemail,init,end:0
694#: wizard_button:email.verifycode,init,end:0
695msgid "Cancel"
696msgstr "Annuler"
697
698#. module: smtpclient
699#: field:email.smtpclient,delete_queue_period:0
700msgid "Delete after"
701msgstr "Effacer après"
702
703#. module: smtpclient
704#: code:addons/smtpclient/smtpclient.py:0
705#, python-format
706msgid "Server is not Verified, Please Verify the Server !"
707msgstr "Le serveur n'est pas vérifié, merci de vérifier le serveur!"
708
709#. module: smtpclient
710#: field:email.smtpclient.history,resource_id:0
711msgid "Resource ID"
712msgstr "ID de la ressource"
713
714#. module: smtpclient
715#: code:addons/smtpclient/smtpclient.py:0
716#, python-format
717msgid "SMTP Data Error !"
718msgstr "Erreur de données SMTP !"
719
720#. module: smtpclient
721#: constraint:ir.model:0
722msgid ""
723"The Object name must start with x_ and not contain any special character !"
724msgstr ""
725"Le nom de l'objet doit commencer par x_ et ne doit pas contenir de "
726"caractères spéciaux !"
727
728#. module: smtpclient
729#: selection:email.smtpclient,delete_queue:0
730msgid "Delete when Email Sent"
731msgstr "Effacer une fois l'email envoyé"
732
733#. module: smtpclient
734#: selection:email.smtpclient,type:0
735msgid "Account"
736msgstr "Compte"
737
738#. module: smtpclient
739#: model:ir.module.module,description:smtpclient.module_meta_information
740msgid ""
741"Email Client module that provides:\n"
742" Sending Email\n"
743" Use Multiple Server\n"
744" Multi Threading\n"
745" Multi Attachment\n"
746" "
747msgstr ""
748"Module de client email qui permet d' :\n"
749" Envoyer des emails\n"
750" Utiliser plusieurs serveurs\n"
751" Utiliser plusieurs files d'envoi (multi-threading)\n"
752" Envoyer plusieurs fichiers attachés\n"
753" "
754
755#. module: smtpclient
756#: selection:email.smtpclient,type:0
757msgid "Stock"
758msgstr "Stock"
759
760#. module: smtpclient
761#: field:email.smtpclient.history,name:0
762msgid "Description"
763msgstr "Description"
764
765#. module: smtpclient
766#: field:email.smtpclient,code:0
767#: wizard_field:email.verifycode,init,code:0
768msgid "Verification Code"
769msgstr "Code de vérifcation"
770
771#. module: smtpclient
772#: selection:email.smtpclient,pstate:0
773msgid "Stop"
774msgstr "Arrêter"
775
776#. module: smtpclient
777#: field:email.smtpclient.queue,body:0
778msgid "Email Text"
779msgstr "Texte de l'email"
780
781#. module: smtpclient
782#: selection:res.company.address,name:0
783msgid "Delivery"
784msgstr "Livraison"
785
786#. module: smtpclient
787#: selection:email.smtpclient,pstate:0
788msgid "Running"
789msgstr "En cours"
790
791#. module: smtpclient
792#: view:email.smtpclient.queue:0
793msgid "Last Error occured"
794msgstr "Dernière erreur apparu"
795
796#. module: smtpclient
797#: selection:email.smtpclient,state:0
798msgid "Waiting for Verification"
799msgstr "En attente de vérification"
800
801#. module: smtpclient
802#: field:email.smtpclient,password:0
803msgid "Password"
804msgstr "Mot de passe"
805
806#. module: smtpclient
807#: field:email.smtpclient,users_id:0
808msgid "Users Allowed"
809msgstr "Utilisateurs authorisés"
810
811#. module: smtpclient
812#: code:addons/smtpclient/wizard/sendcode.py:0
813#, python-format
814msgid "Verification Code Already Generated !"
815msgstr "Génération du code de vérification déjà effectuée!"
816
817#. module: smtpclient
818#: wizard_field:email.sendcode,init,emailto:0
819#: field:email.smtpclient,email:0
820#: wizard_field:email.testemail,init,emailto:0
821#: view:res.company:0
822#: field:res.company.address,email:0
823msgid "Email Address"
824msgstr "Adresse courriel"
825
826#. module: smtpclient
827#: view:email.smtpclient:0
828msgid "Verification Message"
829msgstr "Message de vérification"
830
831#. module: smtpclient
832#: view:email.smtpclient:0
833msgid "Stop Server"
834msgstr "Arrêter le serveur"
835
836#. module: smtpclient
837#: model:ir.ui.menu,name:smtpclient.menu_smtpclient_administration_server
838msgid "Email Servers"
839msgstr "Serveurs email"
840
841#. module: smtpclient
842#: model:ir.actions.wizard,name:smtpclient.wizard_email_sendcode
843msgid "Send Verification Code"
844msgstr "Envoyer le code de vérification"
845
846#. module: smtpclient
847#: field:email.smtpclient.history,model:0
848msgid "Model"
849msgstr "Modèle"
850
851#. module: smtpclient
852#: model:ir.actions.act_window,name:smtpclient.action_email_smtpclient_tree
853#: field:ir.actions.server,email_server:0
854msgid "Email Server"
855msgstr "Serveur de couriel"
856
857#. module: smtpclient
858#: code:addons/smtpclient/smtpclient.py:0
859#, python-format
860msgid "Permission Error!"
861msgstr "Erreur de permission !"
862
863#. module: smtpclient
864#: model:ir.model,name:smtpclient.model_res_company_address
865msgid "res.company.address"
866msgstr "res.company.address"
867
868#. module: smtpclient
869#: field:email.smtpclient.queue,state:0
870msgid "Message Status"
871msgstr "État du message"
8720
=== modified file 'stock/stock.py'
--- stock/stock.py 2010-05-26 08:40:33 +0000
+++ stock/stock.py 2010-05-27 21:44:29 +0000
@@ -516,7 +516,9 @@
516 'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),516 'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),
517 'delivery_line':fields.one2many('stock.delivery', 'picking_id', 'Delivery lines', readonly=True),517 'delivery_line':fields.one2many('stock.delivery', 'picking_id', 'Delivery lines', readonly=True),
518 'auto_picking': fields.boolean('Auto-Picking'),518 'auto_picking': fields.boolean('Auto-Picking'),
519 'address_id': fields.many2one('res.partner.address', 'Partner', help="Address of partner"),519 'address_id': fields.many2one('res.partner.address', 'Address',
520 help="Shipping address - changing it also changes the partner"),
521 '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),
520 'invoice_state': fields.selection([522 'invoice_state': fields.selection([
521 ("invoiced", "Invoiced"),523 ("invoiced", "Invoiced"),
522 ("2binvoiced", "To Be Invoiced"),524 ("2binvoiced", "To Be Invoiced"),
523525
=== modified file 'stock/stock_view.xml'
--- stock/stock_view.xml 2010-05-26 08:40:33 +0000
+++ stock/stock_view.xml 2010-05-27 21:44:29 +0000
@@ -599,18 +599,21 @@
599 <field name="model">stock.picking</field>599 <field name="model">stock.picking</field>
600 <field name="type">form</field>600 <field name="type">form</field>
601 <field name="arch" type="xml">601 <field name="arch" type="xml">
602 <form string="Picking list">602 <form string="Outgoing Form">
603 <group colspan="4" col="6">603 <group colspan="4" col="6">
604604
605 <field name="name" readonly="1"/>
606<!-- <field name="address_id" context="{'contact_display' : 'partner'}" groups="base.group_extended"/>-->605<!-- <field name="address_id" context="{'contact_display' : 'partner'}" groups="base.group_extended"/>-->
607 <field name="origin"/>
608606
609 <field name="backorder_id" groups="base.group_extended" readonly="1"/>607 <field name="min_date" select="1"/>
610 <field name="date"/>608 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
611 <field name="min_date"/>609 <field name="partner_id" colspan="4"/>
612 <field name="type"/>610 <field name="type"/>
613 <field name="company_id" groups="base.group_multi_company" widget="selection"/>611 <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/>
612 <field name="move_type"/>
613 <field name="origin" readonly="1"/>
614 <field name="date" select="1" />
615 <field name="backorder_id" groups="base.group_extended" readonly="1"/>
616
614 </group>617 </group>
615 <notebook colspan="4">618 <notebook colspan="4">
616 <page string="General Information">619 <page string="General Information">
@@ -627,16 +630,9 @@
627 <field name="date_planned"/>630 <field name="date_planned"/>
628 <field name="date_expected" string="Date Expected"/>631 <field name="date_expected" string="Date Expected"/>
629 <field name="state"/>632 <field name="state"/>
630 <button633 <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" states="draft,waiting,confirmed,assigned"/>
631 name="%(stock.track_line)d"
632 string="Split in production lots"
633 type="action" icon="gtk-justify-fill"
634 states="draft,waiting,confirmed,assigned" />
635634
636 <button name="%(stock.move_scrap)d"635 <button name="265" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" states="draft,waiting,confirmed,assigned"/>
637 string="Scrap Products" type="action"
638 icon="gtk-convert" context="{'scrap': True}"
639 states="draft,waiting,confirmed,assigned" />
640 </tree>636 </tree>
641 <form string="Stock Moves">637 <form string="Stock Moves">
642 <notebook colspan="4">638 <notebook colspan="4">
@@ -654,16 +650,12 @@
654 <field name="date_planned"/>650 <field name="date_planned"/>
655 <field name="date_expected" string="Date Expected"/> 651 <field name="date_expected" string="Date Expected"/>
656 <field name="address_id" context="{'contact_display':'partner'}"/>652 <field name="address_id" context="{'contact_display':'partner'}"/>
657 <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>653 <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)"/>
658 <field name="prodlot_id" groups="base.group_extended"
659 context="{'location_id':location_id, 'product_id':product_id}"
660 domain="[('product_id','=?',product_id)]"
661 on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
662 <field groups="base.group_extended" name="tracking_id"/>654 <field groups="base.group_extended" name="tracking_id"/>
663 <newline/>655 <newline/>
664 <label/>656 <label/>
665 <button name="%(track_line)d" string="Split in production lots" type="action" icon="gtk-justify-fill"/>657 <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
666 <button name="%(move_scrap)d" string="Scrap Move Line" type="action" icon="gtk-justify-fill"/>658 <button name="265" string="Scrap Move Line" type="action" icon="gtk-justify-fill"/>
667 <separator colspan="4" string="Move State"/>659 <separator colspan="4" string="Move State"/>
668 <field name="state"/>660 <field name="state"/>
669 <group colspan="2">661 <group colspan="2">
@@ -684,7 +676,7 @@
684 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>676 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
685 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>677 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
686 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>678 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
687 <button name="%(action_partial_picking)d" states="assigned" string="Validate" type="action" icon="gtk-apply"/>679 <button name="267" states="assigned" string="Validate" type="action" icon="gtk-apply"/>
688 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>680 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
689 </group>681 </group>
690 </page>682 </page>
@@ -692,12 +684,10 @@
692 <field colspan="4" name="note" nolabel="1"/>684 <field colspan="4" name="note" nolabel="1"/>
693 </page>685 </page>
694 <page string="Other info" groups="base.group_extended">686 <page string="Other info" groups="base.group_extended">
687 <field name="invoice_state" string="Invoice Control"/>
695 <field name="active"/>688 <field name="active"/>
689 <field name="date_done"/>
696 <field name="auto_picking"/>690 <field name="auto_picking"/>
697 <field name="invoice_state"/>
698 <field name="date_done"/>
699 <newline/>
700 <field name="move_type"/>
701 </page>691 </page>
702 </notebook>692 </notebook>
703 </form>693 </form>
@@ -754,15 +744,16 @@
754 <field name="model">stock.picking</field>744 <field name="model">stock.picking</field>
755 <field name="type">form</field>745 <field name="type">form</field>
756 <field name="arch" type="xml">746 <field name="arch" type="xml">
757 <form string="Picking list">747 <form string="Delivery Form">
758 <group col="6" colspan="4">748 <group col="6" colspan="4">
759 <field name="name" readonly="1"/>749 <field name="name" readonly="1"/>
760 <field name="address_id"/>
761 <field name="origin"/>
762 <field name="backorder_id" groups="base.group_extended" readonly="1"/>
763 <field name="date" />
764 <field name="min_date"/>750 <field name="min_date"/>
765 <field name="company_id" groups="base.group_multi_company" widget="selection"/>751 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
752 <field name="partner_id" colspan="4"/>
753 <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/>
754 <field name="origin" readonly="1"/>
755 <field name="date" select="1" />
756 <field name="backorder_id" groups="base.group_extended" readonly="1"/>
766 </group>757 </group>
767 <notebook colspan="4">758 <notebook colspan="4">
768 <page string="General Information">759 <page string="General Information">
@@ -779,16 +770,8 @@
779 <field name="date_planned"/>770 <field name="date_planned"/>
780 <field name="date_expected" string="Date Expected"/> 771 <field name="date_expected" string="Date Expected"/>
781 <field name="state"/>772 <field name="state"/>
782 <button773 <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" groups="base.group_extended" states="draft,waiting,confirmed,assigned"/>
783 name="%(stock.track_line)d"774 <button name="265" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" states="draft,waiting,confirmed,assigned"/>
784 string="Split in production lots"
785 type="action" icon="gtk-justify-fill"
786 groups="base.group_extended"
787 states="draft,waiting,confirmed,assigned" />
788 <button name="%(stock.move_scrap)d"
789 string="Scrap Products" type="action"
790 icon="gtk-convert" context="{'scrap': True}"
791 states="draft,waiting,confirmed,assigned" />
792 </tree>775 </tree>
793 <form string="Stock Moves">776 <form string="Stock Moves">
794 <notebook colspan="4">777 <notebook colspan="4">
@@ -805,11 +788,7 @@
805 <field invisible="1" name="date"/>788 <field invisible="1" name="date"/>
806 <field name="date_planned"/>789 <field name="date_planned"/>
807 <field name="date_expected" string="Date Expected"/> 790 <field name="date_expected" string="Date Expected"/>
808 <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>791 <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)"/>
809 <field name="prodlot_id" groups="base.group_extended"
810 context="{'location_id':location_id, 'product_id':product_id}"
811 domain="[('product_id','=?',product_id)]"
812 on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
813 <field groups="base.group_extended" name="tracking_id"/>792 <field groups="base.group_extended" name="tracking_id"/>
814 <separator colspan="4" string="Move State"/>793 <separator colspan="4" string="Move State"/>
815 <field name="state"/>794 <field name="state"/>
@@ -831,7 +810,7 @@
831 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>810 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
832 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>811 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
833 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>812 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
834 <button name="%(action_partial_picking)d" states="assigned" string="Products Sent" type="action" icon="gtk-go-forward"/>813 <button name="267" states="assigned" string="Products Sent" type="action" icon="gtk-go-forward"/>
835 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>814 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
836 </group>815 </group>
837 </page>816 </page>
@@ -839,12 +818,12 @@
839 <field colspan="4" name="note" nolabel="1"/>818 <field colspan="4" name="note" nolabel="1"/>
840 </page>819 </page>
841 <page string="Other info" groups="base.group_extended">820 <page string="Other info" groups="base.group_extended">
842 <field name="auto_picking"/>821 <field name="invoice_state" string="Invoice Control"/>
843 <field name="active"/>822 <field name="active"/>
844 <newline/>
845 <field name="date"/>
846 <field name="date_done"/>823 <field name="date_done"/>
847 <field name="move_type"/>824 <field name="auto_picking"/>
825 <field name="type"/>
826
848 </page>827 </page>
849 </notebook>828 </notebook>
850 </form>829 </form>
@@ -864,12 +843,12 @@
864 <filter icon="terp-stock" string="Back Order" domain="[('backorder_id','!=',False)]" help="Back Order"/>843 <filter icon="terp-stock" string="Back Order" domain="[('backorder_id','!=',False)]" help="Back Order"/>
865 <separator orientation="vertical"/>844 <separator orientation="vertical"/>
866 <field name="name"/>845 <field name="name"/>
867 <field name="address_id"/>846 <field name="partner_id" select="1"/>
868 <field name="origin"/>847 <field name="address_id" context="{'contact_display':'partner'}" select="1"/>
869 </group>848 </group>
870 <newline/>849 <newline/>
871 <group expand="1" string="Group By..." colspan="4" col="10">850 <group expand="1" string="Group By..." colspan="4" col="10">
872 <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>851 <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'partner_id'}"/>
873 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>852 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
874 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>853 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
875 </group>854 </group>
@@ -884,7 +863,10 @@
884 <field name="view_type">form</field>863 <field name="view_type">form</field>
885 <field name="view_mode">tree,form,calendar</field>864 <field name="view_mode">tree,form,calendar</field>
886 <field name="domain">[('type','=','delivery')]</field>865 <field name="domain">[('type','=','delivery')]</field>
866<!-- FIXME
887 <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>867 <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>
868-->
869 <field name="context">{"search_default_available":1}</field>
888 <field name="search_view_id" ref="view_stock_delivery_filter"/>870 <field name="search_view_id" ref="view_stock_delivery_filter"/>
889 </record>871 </record>
890 <record id="action_picking_tree_delivery_view1" model="ir.actions.act_window.view">872 <record id="action_picking_tree_delivery_view1" model="ir.actions.act_window.view">
@@ -917,7 +899,8 @@
917 <field name="arch" type="xml">899 <field name="arch" type="xml">
918 <tree colors="blue:state in ('draft');grey:state in ('cancel');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">900 <tree colors="blue:state in ('draft');grey:state in ('cancel');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
919 <field name="name"/>901 <field name="name"/>
920 <field name="address_id"/>902 <field name="partner_id"/>
903 <field name="address_id" context="{'contact_display':'partner'}"/>
921 <field name="backorder_id" groups="base.group_extended"/>904 <field name="backorder_id" groups="base.group_extended"/>
922 <field name="origin"/>905 <field name="origin"/>
923 <field name="date"/>906 <field name="date"/>
@@ -934,15 +917,18 @@
934 <field name="model">stock.picking</field>917 <field name="model">stock.picking</field>
935 <field name="type">form</field>918 <field name="type">form</field>
936 <field name="arch" type="xml">919 <field name="arch" type="xml">
937 <form string="Picking list">920 <form string="Outgoing Picking list">
938 <group col="6" colspan="4">921 <group col="6" colspan="4">
939 <field name="address_id"/>922 <field name="name" readonly="1"/>
940 <field name="min_date"/>923 <field name="min_date"/>
941 <field name="name" readonly="1"/>924 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
942 <field name="invoice_state"/>925 <field name="partner_id" colspan="4"/>
943 <field name="backorder_id" readonly="1"/>926 <field name="invoice_state" string="Invoice Control"/>
927 <field name="address_id" context="{'contact_display':'partner'}" colspan="4"/>
928 <field name="move_type"/>
944 <field name="origin" readonly="1"/>929 <field name="origin" readonly="1"/>
945 <field name="company_id" groups="base.group_multi_company" widget="selection"/>930 <field name="date" select="1" />
931 <field name="backorder_id" readonly="1"/>
946 </group>932 </group>
947 <notebook colspan="4">933 <notebook colspan="4">
948 <page string="General Information">934 <page string="General Information">
@@ -959,16 +945,8 @@
959 <field name="date_planned"/>945 <field name="date_planned"/>
960 <field name="date_expected" string="Date Expected"/> 946 <field name="date_expected" string="Date Expected"/>
961 <field name="state"/>947 <field name="state"/>
962 <button948 <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" states="draft,waiting,confirmed,assigned"/>
963 name="%(stock.track_line)d"949 <button name="265" string="D" type="action" icon="gtk-convert" states="draft,waiting,confirmed,assigned"/>
964 string="Split in production lots"
965 type="action" icon="gtk-justify-fill"
966 states="draft,waiting,confirmed,assigned" />
967 <button
968 name="%(stock.move_scrap)d"
969 string="Scrap Products" type="action"
970 icon="gtk-convert"
971 states="draft,waiting,confirmed,assigned" />
972 </tree>950 </tree>
973 <form string="Stock Moves">951 <form string="Stock Moves">
974 <notebook colspan="4">952 <notebook colspan="4">
@@ -977,7 +955,7 @@
977 <field name="location_id" domain="[('usage','=','internal')]"/>955 <field name="location_id" domain="[('usage','=','internal')]"/>
978 <field name="location_dest_id" domain="[('usage','&lt;&gt;','view')]"/>956 <field name="location_dest_id" domain="[('usage','&lt;&gt;','view')]"/>
979 <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)"/>957 <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)"/>
980 <field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" />958 <field name="product_qty" select="1" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
981 <field name="product_uom"/>959 <field name="product_uom"/>
982 <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>960 <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
983 <field groups="product.group_uos" name="product_uos_qty"/>961 <field groups="product.group_uos" name="product_uos_qty"/>
@@ -985,20 +963,17 @@
985 <field invisible="1" name="date"/>963 <field invisible="1" name="date"/>
986 <field name="date_planned"/>964 <field name="date_planned"/>
987 <field name="date_expected" string="Date Expected"/> 965 <field name="date_expected" string="Date Expected"/>
988 <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>966 <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)"/>
989 <field name="prodlot_id" groups="base.group_extended"967 <field name="prodlot_id" groups="base.group_extended"/>
990 context="{'location_id':location_id, 'product_id':product_id}"
991 domain="[('product_id','=?',product_id)]"
992 on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
993 <field groups="base.group_extended" name="tracking_id"/>968 <field groups="base.group_extended" name="tracking_id"/>
994 <label/>969 <label/>
995 <button name="%(track_line)d" string="Split in production lots" type="action" icon="gtk-justify-fill"/>970 <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
996 <separator colspan="4" string="Move State"/>971 <separator colspan="4" string="Move State"/>
997 <field name="state"/>972 <field name="state"/>
998 <group colspan="2">973 <group colspan="2">
999 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>974 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1000 <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-no"/>975 <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-no"/>
1001 <button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>976 <button name="action_cancel" states="assigned" string="Cancel" type="object" icon="gtk-cancel"/>
1002 </group>977 </group>
1003 </page>978 </page>
1004 <page string="Return Picking History">979 <page string="Return Picking History">
@@ -1013,7 +988,7 @@
1013 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-yes"/>988 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-yes"/>
1014 <button name="action_assign" states="confirmed" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-apply"/>989 <button name="action_assign" states="confirmed" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-apply"/>
1015 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>990 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
1016 <button name="%(action_partial_picking)d" states="assigned" string="Picking Done" type="action" icon="gtk-execute"/>991 <button name="267" states="assigned" string="Picking Done" type="action" icon="gtk-execute"/>
1017 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>992 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
1018 </group>993 </group>
1019 </page>994 </page>
@@ -1022,14 +997,15 @@
1022 </page>997 </page>
1023 <page string="Other info" groups="base.group_extended">998 <page string="Other info" groups="base.group_extended">
1024 <field name="active"/>999 <field name="active"/>
1000 <field name="date_done"/>
1025 <field name="auto_picking"/>1001 <field name="auto_picking"/>
1002 <field name="type"/>
1026 <newline/>1003 <newline/>
1027 <field name="date"/>1004
1028 <field name="date_done"/>
1029 <field name="move_type"/>
1030 </page>1005 </page>
1031 </notebook>1006 </notebook>
1032 </form>1007 </form>
1008
1033 </field>1009 </field>
1034 </record>1010 </record>
10351011
@@ -1044,14 +1020,14 @@
1044 <filter icon="terp-stock" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Outgoing Orders"/>1020 <filter icon="terp-stock" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Outgoing Orders"/>
1045 <separator orientation="vertical"/>1021 <separator orientation="vertical"/>
10461022
1047 <field name="name"/>1023 <field name="partner_id" select="1"/>
1048 <field name="address_id" />1024 <field name="address_id" context="{'contact_display':'partner'}" select="1"/>
1049<!-- <field name="company_id" widget="selection"/>-->1025<!-- <field name="company_id" widget="selection"/>-->
10501026
1051 </group>1027 </group>
1052 <newline/>1028 <newline/>
1053 <group expand="1" string="Group By..." colspan="4" col="8">1029 <group expand="1" string="Group By..." colspan="4" col="8">
1054 <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>1030 <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'partner_id'}"/>
1055 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>1031 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
1056 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>1032 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
1057 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>1033 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
@@ -1067,7 +1043,9 @@
1067 <field name="view_type">form</field>1043 <field name="view_type">form</field>
1068 <field name="view_mode">tree,form,calendar</field>1044 <field name="view_mode">tree,form,calendar</field>
1069 <field name="domain">[('type','=','out')]</field>1045 <field name="domain">[('type','=','out')]</field>
1046<!--
1070 <field name="context">{'contact_display': 'partner'}</field>1047 <field name="context">{'contact_display': 'partner'}</field>
1048-->
1071 <field name="search_view_id" ref="view_picking_out_search"/>1049 <field name="search_view_id" ref="view_picking_out_search"/>
1072 </record>1050 </record>
1073 <record id="action_picking_tree_out_view1_waiting" model="ir.actions.act_window.view">1051 <record id="action_picking_tree_out_view1_waiting" model="ir.actions.act_window.view">
@@ -1096,7 +1074,8 @@
1096 <field name="arch" type="xml">1074 <field name="arch" type="xml">
1097 <tree colors="blue:state in ('draft');grey:state in ('done');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">1075 <tree colors="blue:state in ('draft');grey:state in ('done');red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
1098 <field name="name"/>1076 <field name="name"/>
1099 <field name="address_id"/>1077 <field name="partner_id"/>
1078 <field name="address_id" context="{'contact_display':'partner'}"/>
1100 <field name="backorder_id" groups="base.group_extended"/>1079 <field name="backorder_id" groups="base.group_extended"/>
1101 <field name="origin"/>1080 <field name="origin"/>
1102 <field name="date"/>1081 <field name="date"/>
@@ -1113,18 +1092,19 @@
1113 <field name="model">stock.picking</field>1092 <field name="model">stock.picking</field>
1114 <field name="type">form</field>1093 <field name="type">form</field>
1115 <field name="arch" type="xml">1094 <field name="arch" type="xml">
1116 <form string="Input Picking List">1095 <form string="Incoming Picking List">
1117 <group colspan="4" col="6">1096 <group colspan="4" col="6">
11181097 <field name="name" select="1" readonly="1"/>
1119 <field name="name" readonly="1"/>1098 <field name="name" readonly="1"/>
1120 <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" />
1121 <field name="origin"/>
1122 <field name="backorder_id" readonly="1" groups="base.group_extended"/>
1123 <field name="date"/>
1124 <field name="type"/>
1125 <field name="min_date" readonly="1"/>1099 <field name="min_date" readonly="1"/>
1126 <field name="invoice_state" string="Invoice Control"/>
1127 <field name="company_id" groups="base.group_multi_company" widget="selection"/>1100 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
1101 <field name="partner_id" colspan="4"/>
1102 <field name="address_id" context="{'contact_display':'partner'}" on_change="onchange_partner_in(address_id)" colspan="4"/>
1103 <field name="move_type"/>
1104 <field name="origin" readonly="1"/>
1105 <field name="date" select="1" />
1106 <field name="backorder_id" groups="base.group_extended" readonly="1"/>
1107
1128 </group>1108 </group>
1129 <notebook colspan="4">1109 <notebook colspan="4">
1130 <page string="General Information">1110 <page string="General Information">
@@ -1136,15 +1116,8 @@
1136 <field name="location_dest_id"/>1116 <field name="location_dest_id"/>
1137 <field name="prodlot_id" groups="base.group_extended"/>1117 <field name="prodlot_id" groups="base.group_extended"/>
1138 <field name="state"/>1118 <field name="state"/>
1139 <button1119 <button name="266" string="Split in production lots" type="action" icon="gtk-justify-fill" states="draft,waiting,confirmed,assigned"/>
1140 name="%(stock.track_line)d"1120 <button name="265" string="Scrap Products" type="action" icon="gtk-convert" context="{'scrap': True}" states="draft,waiting,confirmed,assigned"/>
1141 string="Split in production lots"
1142 type="action" icon="gtk-justify-fill"
1143 states="draft,waiting,confirmed,assigned" />
1144 <button name="%(stock.move_scrap)d"
1145 string="Scrap Products" type="action"
1146 icon="gtk-convert" context="{'scrap': True}"
1147 states="draft,waiting,confirmed,assigned" />
1148 </tree>1121 </tree>
1149 <form string="Stock Moves">1122 <form string="Stock Moves">
1150 <notebook colspan="4">1123 <notebook colspan="4">
@@ -1164,14 +1137,11 @@
1164 <newline/>1137 <newline/>
1165 <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>1138 <field groups="base.group_extended" name="product_packaging" domain="[('product_id','=',product_id)]"/>
1166 <newline/>1139 <newline/>
1167 <field name="prodlot_id" groups="base.group_extended"1140 <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)"/>
1168 context="{'location_id':location_id, 'product_id':product_id}"
1169 domain="[('product_id','=?',product_id)]"
1170 on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id)"/>
1171 <field groups="base.group_extended" name="tracking_id"/>1141 <field groups="base.group_extended" name="tracking_id"/>
1172 <newline/>1142 <newline/>
1173 <label/>1143 <label/>
1174 <button groups="base.group_extended" name="%(track_line)d" string="Split in production lots" type="action" icon="gtk-justify-fill"/>1144 <button groups="base.group_extended" name="266" string="Split in production lots" type="action" icon="gtk-justify-fill"/>
1175 <separator colspan="4" string="Move State"/>1145 <separator colspan="4" string="Move State"/>
1176 <field name="state"/>1146 <field name="state"/>
1177 <group colspan="2">1147 <group colspan="2">
@@ -1188,7 +1158,7 @@
1188 </field>1158 </field>
1189 <group col="7" colspan="4">1159 <group col="7" colspan="4">
1190 <label colspan="5"/>1160 <label colspan="5"/>
1191 <button name="%(act_stock_picking_move_wizard)d" string="Unreceived Products" type="action" states="draft" icon="gtk-redo"/>1161 <button name="288" string="Unreceived Products" type="action" states="draft" icon="gtk-redo"/>
1192 </group>1162 </group>
1193 <group col="10" colspan="4">1163 <group col="10" colspan="4">
1194 <field name="state" readonly="1"/>1164 <field name="state" readonly="1"/>
@@ -1196,13 +1166,21 @@
1196 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>1166 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
1197 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>1167 <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
1198 <button name="force_assign" states="confirmed" string="Force Availability" type="object" groups="base.group_extended" icon="gtk-jump-to"/>1168 <button name="force_assign" states="confirmed" string="Force Availability" type="object" groups="base.group_extended" icon="gtk-jump-to"/>
1199 <button name="%(action_partial_picking)d" states="assigned" string="Products Received" type="action" icon="gtk-ok"/>1169 <button name="267" states="assigned" string="Products Received" type="action" icon="gtk-ok"/>
1200 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>1170 <button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel"/>
1201 </group>1171 </group>
1202 </page>1172 </page>
1203 <page string="Notes">1173 <page string="Notes">
1204 <field colspan="4" name="note" nolabel="1"/>1174 <field colspan="4" name="note" nolabel="1"/>
1205 </page>1175 </page>
1176 <page string="Other info" groups="base.group_extended">
1177 <field name="invoice_state" string="Invoice Control"/>
1178 <field name="active"/>
1179 <field name="date_done"/>
1180 <field name="auto_picking"/>
1181 <field name="type"/>
1182 </page>
1183
1206 </notebook>1184 </notebook>
1207 </form>1185 </form>
1208 </field>1186 </field>
@@ -1220,14 +1198,13 @@
1220 <filter icon="terp-stock" string="Back Order" domain="[('backorder_id', '!=', False)]" help="Has Back Order" groups="base.group_extended"/>1198 <filter icon="terp-stock" string="Back Order" domain="[('backorder_id', '!=', False)]" help="Has Back Order" groups="base.group_extended"/>
1221 <separator orientation="vertical"/>1199 <separator orientation="vertical"/>
1222 <field name="name"/>1200 <field name="name"/>
1223 <field name="address_id"/>1201 <field name="partner_id" select="1"/>
1224 <field name="company_id" widget="selection" groups="base.group_multi_company" />1202 <field name="address_id" context="{'contact_display':'partner'}" select="1"/>
1225 </group>1203 </group>
1226 <newline/>1204 <newline/>
1227 <group expand="1" string="Group By..." colspan="4" col="8">1205 <group expand="1" string="Group By..." colspan="4" col="8">
1228 <filter icon="terp-stock" name="state" string="State" domain="[]" context="{'group_by':'state'}"/>1206 <filter icon="terp-stock" name="state" string="State" domain="[]" context="{'group_by':'state'}"/>
1229 <separator orientation="vertical" />1207 <separator orientation="vertical" />
1230 <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
1231 <separator orientation="vertical" />1208 <separator orientation="vertical" />
1232 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>1209 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
1233 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>1210 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
@@ -1246,7 +1223,10 @@
1246 <field name="view_type">form</field>1223 <field name="view_type">form</field>
1247 <field name="view_mode">tree,form,calendar</field>1224 <field name="view_mode">tree,form,calendar</field>
1248 <field name="domain">[('type','=','in')]</field>1225 <field name="domain">[('type','=','in')]</field>
1226<!--
1249 <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>1227 <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>
1228-->
1229 <field name="context">{"search_default_available":1}</field>
1250 <field name="search_view_id" ref="view_picking_in_search"/>1230 <field name="search_view_id" ref="view_picking_in_search"/>
1251 </record>1231 </record>
1252 <record id="action_invoice_tree5_view1" model="ir.actions.act_window.view">1232 <record id="action_invoice_tree5_view1" model="ir.actions.act_window.view">
@@ -1285,7 +1265,6 @@
1285 <newline/>1265 <newline/>
1286 <group expand="1" string="Group By..." colspan="4" col="8">1266 <group expand="1" string="Group By..." colspan="4" col="8">
1287 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>1267 <filter string="State" icon="terp-stock" domain="[]" context="{'group_by':'state'}"/>
1288 <filter string="Partner" icon="terp-stock" domain="[]" context="{'group_by':'address_id'}"/>
1289 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>1268 <filter string="Order Date" icon="terp-stock" domain="[]" context="{'group_by':'date'}"/>
1290 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>1269 <filter string="Expected Date" icon="terp-stock" domain="[]" context="{'group_by':'min_date'}"/>
1291 <filter string="Origin" icon="terp-stock" domain="[]" context="{'group_by':'origin'}"/>1270 <filter string="Origin" icon="terp-stock" domain="[]" context="{'group_by':'origin'}"/>
@@ -1301,7 +1280,10 @@
1301 <field name="view_type">form</field>1280 <field name="view_type">form</field>
1302 <field name="view_mode">tree,form,calendar</field>1281 <field name="view_mode">tree,form,calendar</field>
1303 <field name="domain">[('type','=','internal')]</field>1282 <field name="domain">[('type','=','internal')]</field>
1283<!--
1304 <field name="context">{'contact_display': 'partner',"search_default_confirmed":1}</field>1284 <field name="context">{'contact_display': 'partner',"search_default_confirmed":1}</field>
1285-->
1286 <field name="context">{"search_default_confirmed":1}</field>
1305 <field name="search_view_id" ref="view_picking_internal_search"/>1287 <field name="search_view_id" ref="view_picking_internal_search"/>
1306 </record>1288 </record>
1307 <menuitem action="action_picking_tree6" id="menu_action_picking_tree6" parent="menu_stock_warehouse_mgmt" groups="base.group_extended" sequence="2"/>1289 <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: