Merge lp:~openerp-dev/openobject-addons/6.0-bug-812931-ira into lp:openobject-addons/6.0

Proposed by Ila Rana(Open ERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openobject-addons/6.0-bug-812931-ira
Merge into: lp:openobject-addons/6.0
Diff against target: 66 lines (+16/-10)
3 files modified
sale/sale.py (+14/-9)
sale/stock_view.xml (+1/-1)
stock/stock.py (+1/-0)
To merge this branch: bzr merge lp:~openerp-dev/openobject-addons/6.0-bug-812931-ira
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+70009@code.launchpad.net

Description of the change

Hello,

Sale,Stock: Improved picked_rate function to make able it while validation of picking created manually and set sale order as a False while duplication of picking.

Thanks,
Ila Rana.

To post a comment you must log in.

Unmerged revisions

4740. By Ila Rana(Open ERP)

[FIX] Sale,Stock: Improved picked_rate function to make able it while validation of picking created manually and set sale order as a False while duplication of picking

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'sale/sale.py'
2--- sale/sale.py 2011-07-07 10:50:50 +0000
3+++ sale/sale.py 2011-08-01 13:39:52 +0000
4@@ -95,7 +95,7 @@
5 for id in ids:
6 res[id] = [0.0, 0.0]
7 cr.execute('''SELECT
8- p.sale_id, sum(m.product_qty), mp.state as mp_state
9+ p.sale_id, sum(m.product_qty), mp.state as mp_state,m.state as move_state, p.type as picking_type
10 FROM
11 stock_move m
12 LEFT JOIN
13@@ -103,15 +103,20 @@
14 LEFT JOIN
15 procurement_order mp on (mp.move_id=m.id)
16 WHERE
17- p.sale_id IN %s GROUP BY mp.state, p.sale_id''', (tuple(ids),))
18- for oid, nbr, mp_state in cr.fetchall():
19- if mp_state == 'cancel':
20- continue
21- if mp_state == 'done':
22- res[oid][0] += nbr or 0.0
23- res[oid][1] += nbr or 0.0
24+ p.sale_id IN %s GROUP BY m.state,mp.state, p.sale_id,p.type''', (tuple(ids),))
25+
26+ for oid, nbr, mp_state,move_state, picking_type in cr.fetchall():
27+
28+ if picking_type == 'in':#this is a returned picking
29+ res[oid][0] -= nbr or 0.0 # Deducting the return picking qty
30 else:
31- res[oid][1] += nbr or 0.0
32+ if mp_state == 'cancel':
33+ continue
34+ if mp_state == 'done' or move_state == 'done':
35+ res[oid][0] += nbr or 0.0
36+ res[oid][1] += nbr or 0.0
37+ else:
38+ res[oid][1] += nbr or 0.0
39 for r in res:
40 if not res[r][1]:
41 res[r] = 0.0
42
43=== modified file 'sale/stock_view.xml'
44--- sale/stock_view.xml 2011-01-14 00:11:01 +0000
45+++ sale/stock_view.xml 2011-08-01 13:39:52 +0000
46@@ -58,7 +58,7 @@
47 <field name="inherit_id" ref="stock.view_picking_out_form"/>
48 <field name="arch" type="xml">
49 <field name="move_type" position="after">
50- <field name="sale_id"/>
51+ <field name="sale_id" attrs="{'readonly':[('sale_id','=',False)]}"/>
52 </field>
53 </field>
54 </record>
55
56=== modified file 'stock/stock.py'
57--- stock/stock.py 2011-07-25 09:53:22 +0000
58+++ stock/stock.py 2011-08-01 13:39:52 +0000
59@@ -688,6 +688,7 @@
60 default['name'] = self.pool.get('ir.sequence').get(cr, uid, seq_obj_name)
61 default['origin'] = ''
62 default['backorder_id'] = False
63+ default['sale_id'] = False
64 res = super(stock_picking, self).copy(cr, uid, id, default, context)
65 if res:
66 picking_obj = self.browse(cr, uid, res, context=context)