From 0f70f78093eee326746ed63eea4084180bac8b06 Mon Sep 17 00:00:00 2001
From: pinky <>
Date: Mon, 18 Dec 2006 20:00:53 +0000
Subject: [PATCH] Accounting board
bzr revid: pinky-3012f9f7496ad67e41980d4d7e7b9014b4a79ec3
---
addons/board_account/__terp__.py | 2 +-
addons/board_account/board_account_view.xml | 113 ++++++++----------
addons/report_account/__init__.py | 2 +-
addons/report_account/__terp__.py | 2 +-
addons/report_account/report_receivable.py | 57 +++++----
.../report_account/report_receivable_view.xml | 69 +++++------
addons/report_analytic/report_analytic.py | 4 +-
.../report_analytic/report_analytic_view.xml | 3 +
.../report_analytic_line.py | 67 ++++++-----
.../report_analytic_line_view.xml | 20 +++-
10 files changed, 174 insertions(+), 165 deletions(-)
diff --git a/addons/board_account/__terp__.py b/addons/board_account/__terp__.py
index 8a475cf9905..32f934579ee 100644
--- a/addons/board_account/__terp__.py
+++ b/addons/board_account/__terp__.py
@@ -3,7 +3,7 @@
"version":"1.0",
"author":"Tiny",
"category":"Board",
- "depends":["account","hr_timesheet_invoice","board"],
+ "depends":["account","hr_timesheet_invoice","board","report_account","report_analytic","report_analytic_line"],
"demo_xml":[],
"update_xml":["board_account_view.xml"],
"active":False,
diff --git a/addons/board_account/board_account_view.xml b/addons/board_account/board_account_view.xml
index 598da523bc0..b419a45ade7 100644
--- a/addons/board_account/board_account_view.xml
+++ b/addons/board_account/board_account_view.xml
@@ -6,82 +6,58 @@
Accountants
-
- project.task.tree
- project.task
- tree
-
-
-
-
-
-
-
-
-
-
-
-
-
- My open tasks
- project.task
+
+
+ report.account.analytic.line.tree
+ report.account.analytic.line.to.invoice
form
- tree,graph
- [('user_id','=',uid),('state','=','open')]
-
-
-
- My task's deadlines
- project.task
- form
- tree,graph
- [('user_id','=',uid),('state','=','open'),('date_deadline','<>',False)]
-
+ graph,tree
-
- Public notes
- board.note
+
+ report.account.receivable.graph
+ report.account.receivable
form
- tree
- [('type','=','Project')]
+ graph,tree
+ [('type','=','receivable')]
+
+
+ report.account.income.graph
+ report.account.receivable
+ form
+ graph,tree
+ [('type','=','income')]
-
- board.project.form
+
+
+ board.account.form
board.board
form
-
-
- Dashboard project member
+
+ Dashboard accountant
board.board
form
form
menu
-
+
+ id="menu_board_account"/>
diff --git a/addons/report_account/__init__.py b/addons/report_account/__init__.py
index c7670e6ab32..7e7281fbe07 100644
--- a/addons/report_account/__init__.py
+++ b/addons/report_account/__init__.py
@@ -27,4 +27,4 @@
#
##############################################################################
-import report_account
+import report_receivable
diff --git a/addons/report_account/__terp__.py b/addons/report_account/__terp__.py
index c3177df9855..433ce87b489 100644
--- a/addons/report_account/__terp__.py
+++ b/addons/report_account/__terp__.py
@@ -8,7 +8,7 @@
"description": "A module that adds new reports based on the account module.",
"init_xml" : [],
"demo_xml" : [],
- "update_xml" : ["report_account_view.xml"],
+ "update_xml" : ["report_receivable_view.xml"],
"active": False,
"installable": True
}
diff --git a/addons/report_account/report_receivable.py b/addons/report_account/report_receivable.py
index a81688ba741..c81d10653ef 100644
--- a/addons/report_account/report_receivable.py
+++ b/addons/report_account/report_receivable.py
@@ -29,40 +29,45 @@
from osv import fields,osv
+def _code_get(self, cr, uid, context={}):
+ acc_type_obj = self.pool.get('account.account.type')
+ ids = acc_type_obj.search(cr, uid, [])
+ res = acc_type_obj.read(cr, uid, ids, ['code', 'name'], context)
+ return [(r['code'], r['name']) for r in res]
+
+
class report_account_receivable(osv.osv):
_name = "report.account.receivable"
_description = "Receivable accounts"
_auto = False
_columns = {
- 'name': fields.date('Month', readonly=True),
- 'user_id':fields.many2one('res.users', 'User', readonly=True, relate=True),
- 'section_id':fields.many2one('crm.case.section', 'Section', readonly=True, relate=True),
- 'amount_revenue': fields.float('Est.Revenue', readonly=True),
- 'amount_costs': fields.float('Est.Cost', readonly=True),
- 'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
- 'nbr': fields.integer('# of Cases', readonly=True),
- 'probability': fields.float('Avg. Probability', readonly=True),
- 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
- 'delay_close': fields.integer('Delay to close', readonly=True),
+ 'name': fields.char('Week of Year', size=7, readonly=True),
+ 'type': fields.selection(_code_get, 'Account Type', required=True),
+ 'balance':fields.float('Balance', readonly=True),
+ 'debit':fields.float('Debit', readonly=True),
+ 'credit':fields.float('Credit', readonly=True),
}
- _order = 'name desc, user_id, section_id'
+ _order = 'name desc'
def init(self, cr):
cr.execute("""
- create or replace view report_crm_case_user as (
+ create or replace view report_account_receivable as (
select
- min(c.id) as id,
- substring(c.create_date for 7)||'-01' as name,
- c.state,
- c.user_id,
- c.section_id,
- count(*) as nbr,
- sum(planned_revenue) as amount_revenue,
- sum(planned_cost) as amount_costs,
- sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob,
- avg(probability)::decimal(16,2) as probability,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH12:MI:SS') as delay_close
+ min(l.id) as id,
+ to_char(date,'YYYY:IW') as name,
+ sum(l.debit-l.credit) as balance,
+ sum(l.debit) as debit,
+ sum(l.credit) as credit,
+ a.type
from
- crm_case c
- group by substring(c.create_date for 7), c.state, c.user_id, c.section_id
+ account_move_line l
+ left join
+ account_account a on (l.account_id=a.id)
+ where
+ l.state <> 'draft'
+ group by
+ to_char(date,'YYYY:IW'), a.type
)""")
-report_crm_case_user()
+report_account_receivable()
+
+ #a.type in ('receivable','payable')
+
diff --git a/addons/report_account/report_receivable_view.xml b/addons/report_account/report_receivable_view.xml
index 11f02fbb9f3..202ed5cb4c2 100644
--- a/addons/report_account/report_receivable_view.xml
+++ b/addons/report_account/report_receivable_view.xml
@@ -3,64 +3,57 @@
#
- # Cases by user and section
+ # Balance by account type
#
+
+ report.account.receivable.graph
+ report.account.receivable
+ graph
+
+
+
+
+
+
+
- report.crm.case.user.tree
- report.crm.case.user
+ report.account.receivable.tree
+ report.account.receivable
tree
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
- report.crm.case.user.form
- report.crm.case.user
+ report.account.receivable.form
+ report.account.receivable
form
-
-
- report.crm.case.user.graph
- report.crm.case.user
- graph
-
-
-
-
-
-
-
-
-
-
- report.crm.case.user.tree
- report.crm.case.user
+
+ report.account.receivable.graph
+ report.account.receivable
form
tree,graph
- [('name','=',time.strftime('%Y-%m-01'))]
+
-
+
diff --git a/addons/report_analytic/report_analytic.py b/addons/report_analytic/report_analytic.py
index f4ff0a418fb..9cb9d983a88 100644
--- a/addons/report_analytic/report_analytic.py
+++ b/addons/report_analytic/report_analytic.py
@@ -35,6 +35,7 @@ class report_analytic_account_close(osv.osv):
_auto = False
_columns = {
'name': fields.many2one('account.analytic.account', 'Analytic account', readonly=True),
+ 'state': fields.char('State', size=32, readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'quantity': fields.float('Quantity', readonly=True),
'quantity_max': fields.float('Max. Quantity', readonly=True),
@@ -47,6 +48,7 @@ class report_analytic_account_close(osv.osv):
select
a.id as id,
a.id as name,
+ a.state as state,
sum(l.unit_amount) as quantity,
sum(l.amount) as balance,
a.partner_id as partner_id,
@@ -57,7 +59,7 @@ class report_analytic_account_close(osv.osv):
right join
account_analytic_account a on (l.account_id=a.id)
group by
- a.id,a.quantity_max,a.date,a.partner_id
+ a.id,a.state, a.quantity_max,a.date,a.partner_id
having
(a.quantity_max>0 and (sum(l.unit_amount)>=a.quantity_max)) or
a.date <= current_date
diff --git a/addons/report_analytic/report_analytic_view.xml b/addons/report_analytic/report_analytic_view.xml
index 7c45d0ed756..cb67573b16e 100644
--- a/addons/report_analytic/report_analytic_view.xml
+++ b/addons/report_analytic/report_analytic_view.xml
@@ -15,6 +15,7 @@
+
@@ -31,6 +32,7 @@
+
@@ -57,6 +59,7 @@
report.analytic.account.close
form
tree,graph
+ [('state','=','open')]
+
+ report.account.analytic.line.to.invoice.graph
+ report.account.analytic.line.to.invoice
+ graph
+
+
+
+
+
+
+
+
+
report.account.analytic.line.tree
report.account.analytic.line.to.invoice
form
- tree
+ tree,graph