Merge branch 'master' of https://github.com/odoo/odoo
[odoo/odoo.git] / addons / sale / report / sale_report.py
index bb32fd3..341a82d 100644 (file)
@@ -40,7 +40,8 @@ class sale_report(osv.osv):
         'user_id': fields.many2one('res.users', 'Salesperson', readonly=True),
         'price_total': fields.float('Total Price', readonly=True),
         'delay': fields.float('Commitment Delay', digits=(16,2), readonly=True),
-        'categ_id': fields.many2one('product.category','Category of Product', readonly=True),
+        'product_tmpl_id': fields.many2one('product.template', 'Product Template', readonly=True),
+        'categ_id': fields.many2one('product.category','Product Category', readonly=True),
         'nbr': fields.integer('# of Lines', readonly=True),  # TDE FIXME master: rename into nbr_lines
         'state': fields.selection([
             ('draft', 'Quotation'),
@@ -53,7 +54,11 @@ class sale_report(osv.osv):
             ], 'Order Status', readonly=True),
         'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', readonly=True),
         'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', readonly=True),
-        'team_id': fields.many2one('crm.team', 'Sales Team', oldname='section_id'),
+        'invoiced': fields.boolean('Paid', readonly=True),
+        'nbr_paid': fields.integer('# of Paid Lines', readonly=True),
+        'team_id': fields.many2one('crm.team', 'Sales Team', readonly=True, oldname='section_id'),
+        'country_id': fields.many2one('res.country', 'Partner Country', readonly=True),
+        'commercial_partner_id': fields.many2one('res.partner', 'Commercial Entity', readonly=True),
     }
     _order = 'date desc'
 
@@ -75,7 +80,12 @@ class sale_report(osv.osv):
                     t.categ_id as categ_id,
                     s.pricelist_id as pricelist_id,
                     s.project_id as analytic_account_id,
-                    s.team_id as team_id
+                    s.team_id as team_id,
+                    p.product_tmpl_id,
+                    l.invoiced::integer as nbr_paid,
+                    l.invoiced,
+                    partner.country_id as country_id,
+                    partner.commercial_partner_id as commercial_partner_id
         """
         return select_str
 
@@ -83,6 +93,7 @@ class sale_report(osv.osv):
         from_str = """
                 sale_order_line l
                       join sale_order s on (l.order_id=s.id)
+                      join res_partner partner on s.partner_id = partner.id
                         left join product_product p on (l.product_id=p.id)
                             left join product_template t on (p.product_tmpl_id=t.id)
                     left join product_uom u on (u.id=l.product_uom)
@@ -104,7 +115,11 @@ class sale_report(osv.osv):
                     s.state,
                     s.pricelist_id,
                     s.project_id,
-                    s.team_id
+                    s.team_id,
+                    p.product_tmpl_id,
+                    l.invoiced,
+                    partner.country_id,
+                    partner.commercial_partner_id
         """
         return group_by_str