From bf8a569b1b6e73349efe041961e0aa1b80c97ffc Mon Sep 17 00:00:00 2001 From: rde <> Date: Tue, 23 Jan 2007 10:04:04 +0000 Subject: [PATCH] Fixed module sale_category. Added module analytic_partner (doesn't work yet). bzr revid: rde-fcdd99c03b5f7142348f54d70856f3ed49a9aa04 --- addons/analytic_partners/__init__.py | 3 + addons/analytic_partners/__terp__.py | 13 ++ addons/analytic_partners/analytic_partners.py | 10 ++ .../analytic_partners_report.xml | 11 ++ .../analytic_partners_view.xml | 18 +++ addons/analytic_partners/report/__init__.py | 1 + .../report/analytic_account_partners.rml | 136 ++++++++++++++++++ .../report/analytic_partners_report.py | 33 +++++ .../report/sale_category_report.rml | 4 +- addons/sale_category/sale_category_view.xml | 4 +- 10 files changed, 229 insertions(+), 4 deletions(-) create mode 100644 addons/analytic_partners/__init__.py create mode 100644 addons/analytic_partners/__terp__.py create mode 100644 addons/analytic_partners/analytic_partners.py create mode 100644 addons/analytic_partners/analytic_partners_report.xml create mode 100644 addons/analytic_partners/analytic_partners_view.xml create mode 100644 addons/analytic_partners/report/__init__.py create mode 100644 addons/analytic_partners/report/analytic_account_partners.rml create mode 100644 addons/analytic_partners/report/analytic_partners_report.py diff --git a/addons/analytic_partners/__init__.py b/addons/analytic_partners/__init__.py new file mode 100644 index 00000000000..413735b9503 --- /dev/null +++ b/addons/analytic_partners/__init__.py @@ -0,0 +1,3 @@ +import analytic_partners +import report + diff --git a/addons/analytic_partners/__terp__.py b/addons/analytic_partners/__terp__.py new file mode 100644 index 00000000000..b02748cf035 --- /dev/null +++ b/addons/analytic_partners/__terp__.py @@ -0,0 +1,13 @@ +{ + "name" : "Analytic Accounts With Multiple Partners", + "author" : "Tiny", + "version" : "1.0", + "category" : "Generic Modules/Others", + "depends" : ["account"], + "demo_xml" : [], + "update_xml" : ["analytic_partners_view.xml", + "analytic_partners_report.xml"], + "init_xml" : [], + "active": False, + "installable": True +} diff --git a/addons/analytic_partners/analytic_partners.py b/addons/analytic_partners/analytic_partners.py new file mode 100644 index 00000000000..907e9d499fb --- /dev/null +++ b/addons/analytic_partners/analytic_partners.py @@ -0,0 +1,10 @@ +from osv import osv, fields + +class analytic_partners_account_analytic_account(osv.osv) : + _name = 'account.analytic.account' + _inherit = 'account.analytic.account' + _columns = { + 'address_ids' : fields.many2many('res.partner.address', 'account_partner_rel', 'account_id', 'address_id', 'Partners Contacts'), + } + +analytic_partners_account_analytic_account() diff --git a/addons/analytic_partners/analytic_partners_report.xml b/addons/analytic_partners/analytic_partners_report.xml new file mode 100644 index 00000000000..29d8ac76415 --- /dev/null +++ b/addons/analytic_partners/analytic_partners_report.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/addons/analytic_partners/analytic_partners_view.xml b/addons/analytic_partners/analytic_partners_view.xml new file mode 100644 index 00000000000..bb914ba0914 --- /dev/null +++ b/addons/analytic_partners/analytic_partners_view.xml @@ -0,0 +1,18 @@ + + + + analytic_partners.analytic.account.form + account.analytic.account + form + + + + + + + + + + + + diff --git a/addons/analytic_partners/report/__init__.py b/addons/analytic_partners/report/__init__.py new file mode 100644 index 00000000000..dca93c184c5 --- /dev/null +++ b/addons/analytic_partners/report/__init__.py @@ -0,0 +1 @@ +import analytic_partners_report diff --git a/addons/analytic_partners/report/analytic_account_partners.rml b/addons/analytic_partners/report/analytic_account_partners.rml new file mode 100644 index 00000000000..89981652517 --- /dev/null +++ b/addons/analytic_partners/report/analytic_account_partners.rml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [[repeatIn(objects, 'o')]] + + + + + + + + + Partner listing + + + Printed: [[ time.strftime('%d-%m-%Y') ]] + + + + + [[ company.name ]] + + + [[ o['name'] ]] + + + + + + + + + [[ _init_dict(o) ]] +
+ [[ repeatIn(partners_by_account.keys(), 'cat') ]] + + + + [[ cat ]] + + + + + + +
+ [[ repeatIn(partners_by_account[cat], 'p') ]] [[ p.name ]] - [[ p.vat ]] + + + + Contact + + + Address + + + Inforrmation + + + + + [[ repeatIn(p.address, 'a') ]] [[ a.name ]] + + + [[ a.street ]] [[ a.street2 ]] + [[ a.zip ]] [[ a.city ]] + [[ a.country_id and a.country_id.name ]] + + + Tel : [[ a.phone ]] + Fax : [[ a.fax ]] + Mobile : [[ a.mobile ]] + + + + + + +
+
+
+
+ diff --git a/addons/analytic_partners/report/analytic_partners_report.py b/addons/analytic_partners/report/analytic_partners_report.py new file mode 100644 index 00000000000..555a131dd56 --- /dev/null +++ b/addons/analytic_partners/report/analytic_partners_report.py @@ -0,0 +1,33 @@ +import pooler +import time +from report import report_sxw + +class analytic_partners_report(report_sxw.rml_parse): + # o must be an instance of + # analytic_partners_account_analytic_account. + def _init_dict(self, o): + self.partners_by_account.clear() + for a in o.address_ids: + p = a.partner_id + for c in p.category_id: + self.partners_by_account.setdefault(c.name, []).append(p) + if not p.category_id: + self.partners_by_account.setdefault('Non classifie', []).append(p) + + + def __init__(self, cr, uid, name, context): + # self.partners_by_account is a dictionnary where keys are category + # names and values are lists of partner_id. + self.partners_by_account={} + super(analytic_partners_report, self).__init__(cr, uid, name, context) + self.localcontext.update( { + 'time' : time, + '_init_dict' : self._init_dict, + 'partners_by_account' : self.partners_by_account, + } ) + +report_sxw.report_sxw( + 'report.analytic_partners.print', + 'account.analytic.account', + 'addons/analytic_partners/report/analytic_account_partners.rml', + parser=analytic_partners_report) diff --git a/addons/sale_category/report/sale_category_report.rml b/addons/sale_category/report/sale_category_report.rml index d308452d988..55ff3cb68b1 100644 --- a/addons/sale_category/report/sale_category_report.rml +++ b/addons/sale_category/report/sale_category_report.rml @@ -57,7 +57,7 @@ - + @@ -137,7 +137,7 @@ Your order reference : [[ o.client_order_ref or '' ]] Date ordered : [[ time.strftime('%d/%m/%Y', time.strptime(o.date_order, '%Y-%m-%d')) ]] Our salesman : [[ o.user_id.name ]] - [[o.topnote or '']] + [[ o.topnotes or '' ]] diff --git a/addons/sale_category/sale_category_view.xml b/addons/sale_category/sale_category_view.xml index a12e9d474bb..e66435b6880 100644 --- a/addons/sale_category/sale_category_view.xml +++ b/addons/sale_category/sale_category_view.xml @@ -7,11 +7,11 @@ sale.order - + - +