Harry (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-10-first-clicks-purchase-atp-invoice-nco
 into lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-10-first-clicks-purchase-atp-invoice-nco/+merge/132304
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-10-first-clicks-purchase-atp-invoice-nco/+merge/132304
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-10-first-clicks-purchase-atp-invoice-nco.
=== modified file 'purchase/purchase.py'
--- purchase/purchase.py	2012-10-25 08:39:05 +0000
+++ purchase/purchase.py	2012-10-31 11:38:22 +0000
@@ -534,7 +534,6 @@
             'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none',
             'type': 'in',
             'partner_id': order.dest_address_id.id or order.partner_id.id,
-            'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none',
             'purchase_id': order.id,
             'company_id': order.company_id.id,
             'move_lines' : [],

=== modified file 'purchase/purchase_view.xml'
--- purchase/purchase_view.xml	2012-10-29 09:08:47 +0000
+++ purchase/purchase_view.xml	2012-10-31 11:38:22 +0000
@@ -281,8 +281,6 @@
                                     <field name="date_approve" groups="base.group_no_one"/>
                                 </group>
                             </group>
-                            <separator string="Invoices"/>
-                            <field name="invoice_ids" context="{'type':'in_invoice', 'journal_type':'purchase'}"/>
                         </page>
                     </notebook>
                 </sheet>

=== modified file 'purchase/stock.py'
--- purchase/stock.py	2012-07-16 12:13:10 +0000
+++ purchase/stock.py	2012-10-31 11:38:22 +0000
@@ -20,6 +20,7 @@
 ##############################################################################
 
 from osv import osv, fields
+from tools.translate import _
 
 class stock_move(osv.osv):
     _inherit = 'stock.move'
@@ -134,6 +135,30 @@
     _columns = {
         'purchase_id': fields.many2one('purchase.order', 'Purchase Order',
             ondelete='set null', select=True),
+        'purchase_invoice_method': fields.related('purchase_id', 'invoice_method', type='selection', selection=[('manual','Based on Purchase Order lines'),('order','Based on generated draft invoice'),('picking','Based on incoming shipments')], string='Purchase Invoice Method'),
         'warehouse_id': fields.related('purchase_id', 'warehouse_id', type='many2one', relation='stock.warehouse', string='Destination Warehouse'),
     }
+    def view_invoice(self, cr, uid, ids, context=None):
+        pur_obj = self.pool.get('purchase.order')
+        models_data = self.pool.get('ir.model.data')
+        pur_ids = []
+        inv_ids = []
+        for pur_id in self.browse(cr, uid, ids, context=context):
+            pur_ids.append(pur_id.purchase_id.id)
+        for po in pur_obj.browse(cr, uid, pur_ids, context=context):
+            inv_ids+= [invoice.id for invoice in po.invoice_ids]
+        form_view = models_data.get_object_reference(cr, uid, 'stock', 'view_stock_invoice_onshipping')
+        if inv_ids:
+            return pur_obj.view_invoice(cr, uid, pur_ids, context=context)
+        else:
+            return {
+                'name': _('Create Supplier Invoice'),
+                'view_type': 'form',
+                'view_mode': 'form',
+                'res_model': 'stock.invoice.onshipping',
+                'view_id': False,
+                'views': [(form_view and form_view[1] or False, 'form')],
+                'target': 'new',
+                'type': 'ir.actions.act_window',
+            }
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== modified file 'purchase/stock_view.xml'
--- purchase/stock_view.xml	2012-09-19 06:10:54 +0000
+++ purchase/stock_view.xml	2012-10-31 11:38:22 +0000
@@ -37,6 +37,20 @@
             </field>
         </record>
 
+        <record id="view_picking_in_form_picking_inherit" model="ir.ui.view">
+            <field name="name">stock.picking.in.form.inherit</field>
+            <field name="model">stock.picking.in</field>
+            <field name="inherit_id" ref="stock.view_picking_in_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="//field[@name='move_lines']" position="after">
+                    <field name="purchase_invoice_method" invisible="1"/>
+                </xpath>
+                <xpath expr="//button[@name='action_process']" position="after">
+                    <button name="view_invoice" string="Receive &amp; Control Invoice"  attrs="{'invisible':[('purchase_invoice_method', '=', 'manual')]}" type="object" class="oe_highlight"/>
+                </xpath>
+            </field>
+        </record>
+
         <!-- is it need ? we have another method "Receive Products"-->
         <record id="purchase_order_2_stock_picking" model="ir.ui.view">
             <field name="name">Purchase Picking Inherited</field>
@@ -48,6 +62,8 @@
                         <button type="object"
                             name="view_picking"
                             string="Incoming Shipments" states="approved"/>
+                        <button type="object"  name="view_invoice"
+                            string="Invoices" attrs="{'invisible': ['|', ('invoiced','=',True), ('state', '=', 'draft')]}"/> 
                     </div>
                 </xpath>
             </field>

=== modified file 'stock/stock_sequence.xml'
--- stock/stock_sequence.xml	2012-05-09 13:24:01 +0000
+++ stock/stock_sequence.xml	2012-10-31 11:38:22 +0000
@@ -17,7 +17,7 @@
         
         <record id="seq_type_picking_internal" model="ir.sequence.type">
             <field name="name">Picking INT</field>
-            <field name="code">stock.picking.internal</field>
+            <field name="code">stock.picking</field>
         </record>
 
         <!--
@@ -42,7 +42,7 @@
         
         <record id="seq_picking_internal" model="ir.sequence">
             <field name="name">Picking INT</field>
-            <field name="code">stock.picking.internal</field>
+            <field name="code">stock.picking</field>
             <field name="prefix">INT/</field>
             <field name="padding">5</field>
             <field name="company_id" eval="False"/>

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to