Saurang Suthar(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-fgi_functional_training2-ssu into 
lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-fgi_functional_training2-ssu/+merge/136662

Hello,

I have made possible open Draft Invoice form view if there is single invoice is 
created otherwise it will open tree view for multiple invoices for multiple 
Sale Orders.

Kindly review it.

Thank you.
Saurang Suthar
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-fgi_functional_training2-ssu/+merge/136662
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-fgi_functional_training2-ssu.
=== modified file 'account_analytic_analysis/account_analytic_analysis.py'
--- account_analytic_analysis/account_analytic_analysis.py	2012-11-27 12:07:37 +0000
+++ account_analytic_analysis/account_analytic_analysis.py	2012-11-28 13:35:39 +0000
@@ -470,6 +470,31 @@
             'nodestroy': True,
         }
 
+    def open_invoice(self, cr, uid, ids, context=None):
+        if context is None:
+            context = {}
+
+        mod_obj = self.pool.get('ir.model.data')
+        act_obj = self.pool.get('ir.actions.act_window')            
+        acc_inv_line = self.pool.get('account.invoice.line')
+        acc_inv = self.pool.get('account.invoice')
+        account_analytic_id = acc_inv_line.search(cr, uid,[('account_analytic_id','=',ids[0])], context=context)
+        inv_ids = acc_inv.search(cr, uid,[('invoice_line','=',account_analytic_id)], context=context)
+        
+        result = mod_obj.get_object_reference(cr, uid, 'account', 'action_invoice_tree1')
+        id = result and result[1] or False
+        result = act_obj.read(cr, uid, [id], context=context)[0]
+        if not inv_ids:
+            raise osv.except_osv(_('Error!'), _('Please create Invoice(s).'))
+         #choose the view_mode accordingly
+        if len(inv_ids)>1:
+            result['domain'] = "[('id','in',["+','.join(map(str, inv_ids))+"])]"
+        else:
+            res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form')
+            result['views'] = [(res and res[1] or False, 'form')]
+            result['res_id'] = inv_ids and inv_ids[0] or False
+        return result
+
     def on_change_template(self, cr, uid, ids, template_id, context=None):
         if not template_id:
             return {}

=== modified file 'account_analytic_analysis/account_analytic_analysis_view.xml'
--- account_analytic_analysis/account_analytic_analysis_view.xml	2012-11-27 21:23:22 +0000
+++ account_analytic_analysis/account_analytic_analysis_view.xml	2012-11-28 13:35:39 +0000
@@ -53,9 +53,15 @@
                                 <field class="oe_inline" name="fix_price_to_invoice" attrs="{'invisible': [('fix_price_invoices','=',False)]}"/>
                             </td><td attrs="{'invisible': [('fix_price_invoices','=',False)]}" class="oe_timesheet_action">
                                 <span attrs="{'invisible': [('fix_price_to_invoice','=',0.0)]}" class="oe_grey">
+                                    <button name="open_invoice"
+                                        class="oe_link"
+                                        string="View Invoice" type="object"/>
+                                    or view
+                                </span>
+                                <span attrs="{'invisible': [('fix_price_to_invoice','=',0.0)]}" class="oe_grey">
                                     <button name="open_sale_order_lines"
                                         class="oe_link"
-                                        string="⇒ Invoice" type="object"
+                                        string="To Invoice" type="object"
                                         context="{'default_partner_id': [partner_id],'default_project_id': active_id,'search_default_uninvoiced': 1,'search_default_project_id': active_id,'search_default_partner_id': [partner_id]}"/>
                                     or view
                                 </span>

_______________________________________________
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