diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py index c8e3af013fa..1b80b120631 100644 --- a/addons/account_asset/report/account_asset_report.py +++ b/addons/account_asset/report/account_asset_report.py @@ -1,3 +1,24 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + import tools from osv import fields,osv @@ -6,20 +27,49 @@ class asset_asset_report(osv.osv): _description = "Assets Analysis" _auto = False _columns = { - 'date': fields.date('Asset Date', readonly=True), - 'asset_id': fields.many2one('account.asset.asset',string='Asset'), -# 'asset_category': fields.many2one('account.asset.category',string='Asset category'), - 'state': fields.related('asset_id','state',type='char', string='State', readonly=True), + 'name': fields.char('Year', size=64, required=False, readonly=True), + 'month':fields.selection([('01', 'January'), ('02', 'February'), \ + ('03', 'March'), ('04', 'April'),\ + ('05', 'May'), ('06', 'June'), \ + ('07', 'July'), ('08', 'August'),\ + ('09', 'September'), ('10', 'October'),\ + ('11', 'November'), ('12', 'December')], 'Month', readonly=True), + 'day': fields.char('Day', size=128, readonly=True), + 'date': fields.date('Depreciation Date', readonly=True), + 'purchase_date': fields.date('Asset Date', required=True), + 'asset_id': fields.many2one('account.asset.asset', string='Asset', readonly=True), + 'asset_category_id': fields.many2one('account.asset.category',string='Asset category'), + 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'state', required=True, readonly=True), + 'remaining_value': fields.float('Amount to Depreciate', required=True, readonly=True), + 'depreciated_value': fields.float('Amount Already Depreciated', required=True, readonly=True), + 'depreciation_date': fields.date('Depreciation Date', size=64, readonly=True), + 'move_check': fields.boolean('Posted', readonly=True), + 'nbr':fields.integer('# of Depreciation Lines', readonly=True), } + def init(self, cr): - tools.drop_view_if_exists(cr, 'asset_asset_report') - cr.execute(""" - create or replace view asset_asset_report as ( - select id as id, - asset_id as asset_id, - date as date, - state as state - from - account_move_line )""") + tools.drop_view_if_exists(cr, 'asset_asset_report') + cr.execute(""" + create or replace view asset_asset_report as ( + select + min(dl.id) as id, + to_char(a.purchase_date, 'YYYY') as name, + to_char(a.purchase_date, 'MM') as month, + to_char(a.purchase_date, 'YYYY-MM-DD') as day, + to_date(dl.depreciation_date, 'YYYY-MM-DD') as date, + a.purchase_date as purchase_date, + sum(dl.remaining_value) as remaining_value, + sum(dl.depreciated_value) as depreciated_value, + dl.move_check as move_check, + dl.asset_id as asset_id, + a.category_id as asset_category_id, + a.state as state, + count(dl.*) as nbr + from + account_asset_depreciation_line dl + left join account_asset_asset a on (dl.asset_id=a.id) + group by + dl.asset_id, dl.depreciation_date, dl.move_check, a.state, a.category_id, a.purchase_date + )""") asset_asset_report() diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml index 26fc2f1996c..d615463a977 100644 --- a/addons/account_asset/report/account_asset_report_view.xml +++ b/addons/account_asset/report/account_asset_report_view.xml @@ -1,60 +1,97 @@ + - asset.asset.report.tree - asset.asset.report - tree - - - - + asset.asset.report.tree + asset.asset.report + tree + + + + + + + + + + + + + + + + + - + asset.asset.report.search - asset.asset.report - search - - - - - - - - - - - - + asset.asset.report + search + + + + + + + + + + + + + + + + + + + + + + + + + + - + - Assets Analysis - asset.asset.report - form - tree - - From this report, you can have an overview on all depreciation. The tool search can also be used to personalise your Assets reports and so, match this analysis to your needs; + asset.asset.report + form + tree,graph + + {'search_default_asset_category':1, 'search_default_posted':1, 'group_by':[], 'group_by_no_leaf':1} + From this report, you can have an overview on all depreciation. The tool search can also be used to personalise your Assets reports and so, match this analysis to your needs; + + id="menu_action_asset_asset_report" + parent="account.menu_finance_statistic_report_statement"/>