From 95f9e24c7a0cd193f47747aa6c2ef136abf5a233 Mon Sep 17 00:00:00 2001
From: OpenERP
Date: Wed, 30 Mar 2011 06:25:27 -0700
Subject: [PATCH 001/197] [ADD] added account_asset
bzr revid: openerp@ubuntu-20110330132527-evi4ug7cew3od7x3
---
addons/account_asset/__init__.py | 26 +
addons/account_asset/__terp__.py | 55 ++
addons/account_asset/account_asset.py | 356 ++++++++++++
addons/account_asset/account_asset_invoice.py | 47 ++
.../account_asset_invoice_view.xml | 22 +
.../account_asset_report_view.xml | 10 +
addons/account_asset/account_asset_view.xml | 302 ++++++++++
addons/account_asset/account_asset_wizard.xml | 31 +
addons/account_asset/i18n/account_asset.pot | 526 +++++++++++++++++
addons/account_asset/i18n/ca.po | 540 ++++++++++++++++++
addons/account_asset/i18n/de.po | 529 +++++++++++++++++
addons/account_asset/i18n/es.po | 540 ++++++++++++++++++
addons/account_asset/i18n/fr.po | 529 +++++++++++++++++
addons/account_asset/i18n/fr_BE.po | 526 +++++++++++++++++
addons/account_asset/i18n/pl.po | 540 ++++++++++++++++++
addons/account_asset/i18n/pt.po | 537 +++++++++++++++++
addons/account_asset/i18n/sv.po | 534 +++++++++++++++++
.../security/ir.model.access.csv | 11 +
addons/account_asset/wizard/__init__.py | 26 +
.../wizard/wizard_asset_close.py | 51 ++
.../wizard/wizard_asset_compute.py | 105 ++++
.../wizard/wizard_asset_modify.py | 87 +++
addons/account_asset/µ | 12 +
23 files changed, 5942 insertions(+)
create mode 100755 addons/account_asset/__init__.py
create mode 100755 addons/account_asset/__terp__.py
create mode 100755 addons/account_asset/account_asset.py
create mode 100755 addons/account_asset/account_asset_invoice.py
create mode 100755 addons/account_asset/account_asset_invoice_view.xml
create mode 100755 addons/account_asset/account_asset_report_view.xml
create mode 100755 addons/account_asset/account_asset_view.xml
create mode 100755 addons/account_asset/account_asset_wizard.xml
create mode 100755 addons/account_asset/i18n/account_asset.pot
create mode 100755 addons/account_asset/i18n/ca.po
create mode 100755 addons/account_asset/i18n/de.po
create mode 100755 addons/account_asset/i18n/es.po
create mode 100755 addons/account_asset/i18n/fr.po
create mode 100755 addons/account_asset/i18n/fr_BE.po
create mode 100755 addons/account_asset/i18n/pl.po
create mode 100755 addons/account_asset/i18n/pt.po
create mode 100755 addons/account_asset/i18n/sv.po
create mode 100755 addons/account_asset/security/ir.model.access.csv
create mode 100755 addons/account_asset/wizard/__init__.py
create mode 100755 addons/account_asset/wizard/wizard_asset_close.py
create mode 100755 addons/account_asset/wizard/wizard_asset_compute.py
create mode 100755 addons/account_asset/wizard/wizard_asset_modify.py
create mode 100755 addons/account_asset/µ
diff --git a/addons/account_asset/__init__.py b/addons/account_asset/__init__.py
new file mode 100755
index 00000000000..b992a9da34d
--- /dev/null
+++ b/addons/account_asset/__init__.py
@@ -0,0 +1,26 @@
+# -*- 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 account_asset
+import account_asset_invoice
+import wizard
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/__terp__.py b/addons/account_asset/__terp__.py
new file mode 100755
index 00000000000..fcdab4ae9a0
--- /dev/null
+++ b/addons/account_asset/__terp__.py
@@ -0,0 +1,55 @@
+# -*- 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 .
+#
+##############################################################################
+
+{
+ "name" : "Asset management",
+ "version" : "1.0",
+ "depends" : ["account", "account_simulation"],
+ "author" : "Tiny",
+ "description": """Financial and accounting asset management.
+ Allows to define
+ * Asset category.
+ * Assets.
+ *Asset usage period and property.
+ """,
+ "website" : "http://www.openerp.com",
+ "category" : "Generic Modules/Accounting",
+ "init_xml" : [
+ ],
+ "demo_xml" : [
+ ],
+ "update_xml" : [
+ "security/ir.model.access.csv",
+ "account_asset_wizard.xml",
+ "account_asset_view.xml",
+ "account_asset_invoice_view.xml",
+ "account_asset_report_view.xml",
+ #modif
+ ],
+# "translations" : {
+# "fr": "i18n/french_fr.csv"
+# },
+ "active": False,
+ "installable": True,
+
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
new file mode 100755
index 00000000000..7686e746f8f
--- /dev/null
+++ b/addons/account_asset/account_asset.py
@@ -0,0 +1,356 @@
+# -*- 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 .
+#
+##############################################################################
+
+from osv import osv, fields
+import time
+class account_asset_category(osv.osv):
+ _name = 'account.asset.category'
+ _description = 'Asset category'
+ _columns = {
+ 'name': fields.char('Asset category', size=64, required=True, select=1),
+ 'code': fields.char('Reference', size=16, select=1),
+ 'note': fields.text('Note'),
+ 'name': fields.char('Method name', size=64, select=1),
+ 'type': fields.selection([('direct','Direct'),('indirect','Indirect')], 'Depr. method type', select=2, required=True),
+ 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
+ 'account_asset_id': fields.many2one('account.account', 'Asset account', required=True),
+ 'account_actif_id': fields.many2one('account.account', 'Depreciation account', required=True),
+ 'journal_id': fields.many2one('account.journal', 'Journal', required=True),
+
+
+ }
+account_asset_category()
+
+
+class account_asset_asset(osv.osv):
+ _name = 'account.asset.asset'
+ _description = 'Asset'
+
+# def _balance(self, cr, uid, ids, field_name, arg, context={}):
+# acc_set = ",".join(map(str, ids))
+# query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
+# cr.execute(("SELECT a.id, COALESCE(SUM((l.debit-l.credit)),0) FROM account_asset_asset a LEFT JOIN account_move_line l ON (a.id=l.asset_account_id) WHERE a.id IN (%s) and "+query+" GROUP BY a.id") % (acc_set,))
+# res = {}
+# for account_id, sum in cr.fetchall():
+# res[account_id] = round(sum,2)
+# for id in ids:
+# res[id] = round(res.get(id,0.0), 2)
+# return res
+ def _get_period(self, cr, uid, context={}):
+ periods = self.pool.get('account.period').find(cr, uid)
+ if periods:
+ return periods[0]
+ else:
+ return False
+
+ def validate(self, cr, uid, ids, context={}):
+ for asset in self.browse(cr, uid, ids, context):
+ for prop in asset.property_ids:
+ if prop.state=='draft':
+ self.pool.get('account.asset.property').write(cr, uid, [prop.id], {'state':'open'}, context)
+ return self.write(cr, uid, ids, {
+ 'state':'normal'
+ }, context)
+
+ def _amount_total(self, cr, uid, ids, name, args, context={}):
+ id_set=",".join(map(str,ids))
+ cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
+ account_move_line l
+ WHERE l.asset_id IN ("""+id_set+") GROUP BY l.asset_id ")
+ res=dict(cr.fetchall())
+ for id in ids:
+ res.setdefault(id, 0.0)
+ return res
+ _columns = {
+ 'name': fields.char('Asset', size=64, required=True, select=1),
+ 'code': fields.char('Reference ', size=16, select=1),
+ 'purch_valu': fields.float('Purchase value ', required=True, size=16, select=1),
+ 'currency': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
+ 'company': fields.char('Company',size=16, select=1),
+ 'note': fields.text('Note'),
+ 'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
+ 'localisation': fields.char('Localisation', size=32, select=2),
+ 'sequence': fields.integer('Sequence'),
+ 'parent_id': fields.many2one('account.asset.asset', 'Parent asset'),
+ 'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Child assets'),
+ 'date': fields.date('Date', required=True),
+ 'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'Global state', required=True),
+ 'active': fields.boolean('Active', select=2),
+ 'partner_id': fields.many2one('res.partner', 'Partner'),
+ 'entry_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
+ 'property_ids': fields.one2many('account.asset.property', 'asset_id', 'Asset method name', readonly=True, states={'draft':[('readonly',False)]}),
+ 'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Total value'),
+ 'test': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
+
+ }
+ _defaults = {
+ 'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
+ 'date': lambda obj, cr, uid, context: time.strftime('%Y-%m-%d'),
+ 'active': lambda obj, cr, uid, context: True,
+ 'state': lambda obj, cr, uid, context: 'draft',
+ 'period_id': _get_period,
+ }
+ def _compute_period(self, cr, uid, property, context={}):
+ if (len(property.entry_asset_ids or [])/2)>=property.method_delay:
+ return False
+ if len(property.entry_asset_ids):
+ cp = property.entry_asset_ids[-1].period_id
+ cpid = self.pool.get('account.period').next(cr, uid, cp, property.method_period, context)
+ current_period = self.pool.get('account.period').browse(cr, uid, cpid, context)
+ else:
+ current_period = property.asset_id.period_id
+ return current_period
+
+ def _compute_move(self, cr, uid, property, period, context={}):
+ result = []
+ total = 0.0
+ for move in property.asset_id.entry_ids:
+ total += move.debit-move.credit
+ for move in property.entry_asset_ids:
+ if move.account_id == property.account_asset_ids:
+ total += move.debit
+ total += -move.credit
+ periods = (len(property.entry_asset_ids)/2) - property.method_delay
+ if periods==1:
+ amount = total
+ else:
+ if property.method == 'linear':
+ amount = total / periods
+ else:
+ amount = total * property.method_progress_factor
+
+ move_id = self.pool.get('account.move').create(cr, uid, {
+ 'journal_id': property.journal_id.id,
+ 'period_id': period.id,
+ 'name': property.name or property.asset_id.name,
+ 'ref': property.asset_id.code
+ })
+ result = [move_id]
+ id = self.pool.get('account.move.line').create(cr, uid, {
+ 'name': property.name or property.asset_id.name,
+ 'move_id': move_id,
+ 'account_id': property.account_asset_id.id,
+ 'debit': amount>0 and amount or 0.0,
+ 'credit': amount<0 and -amount or 0.0,
+ 'ref': property.asset_id.code,
+ 'period_id': period.id,
+ 'journal_id': property.journal_id.id,
+ 'partner_id': property.asset_id.partner_id.id,
+ 'date': time.strftime('%Y-%m-%d'),
+ })
+ id2 = self.pool.get('account.move.line').create(cr, uid, {
+ 'name': property.name or property.asset_id.name,
+ 'move_id': move_id,
+ 'account_id': property.account_actif_id.id,
+ 'credit': amount>0 and amount or 0.0,
+ 'debit': amount<0 and -amount or 0.0,
+ 'ref': property.asset_id.code,
+ 'period_id': period.id,
+ 'journal_id': property.journal_id.id,
+ 'partner_id': property.asset_id.partner_id.id,
+ 'date': time.strftime('%Y-%m-%d'),
+ })
+ self.pool.get('account.asset.property').write(cr, uid, [property.id], {
+ 'entry_asset_ids': [(4, id2, False),(4,id,False)]
+ })
+ if property.method_delay - (len(property.entry_asset_ids)/2)<=1:
+ self.pool.get('account.asset.property')._close(cr, uid, property, context)
+ return result
+ return result
+
+ def _compute_entries(self, cr, uid, asset, period_id, context={}):
+ result = []
+ date_start = self.pool.get('account.period').browse(cr, uid, period_id, context).date_start
+ for property in asset.property_ids:
+ if property.state=='open':
+ period = self._compute_period(cr, uid, property, context)
+ if period and (period.date_start<=date_start):
+ result += self._compute_move(cr, uid, property, period, context)
+ return result
+account_asset_asset()
+
+class account_asset_property(osv.osv):
+ def _amount_total(self, cr, uid, ids, name, args, context={}):
+ id_set=",".join(map(str,ids))
+ cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
+ account_asset_property p
+ left join
+ account_move_line l on (p.asset_id=l.asset_id)
+ WHERE p.id IN ("""+id_set+") GROUP BY l.asset_id ")
+ res=dict(cr.fetchall())
+ for id in ids:
+ res.setdefault(id, 0.0)
+ return res
+
+ def _amount_residual(self, cr, uid, ids, name, args, context={}):
+ id_set=",".join(map(str,ids))
+ cr.execute("""SELECT
+ r.asset_property_id,SUM(abs(l.debit-l.credit)) AS amount
+ FROM
+ account_move_asset_entry_rel r
+ LEFT JOIN
+ account_move_line l on (r.move_id=l.id)
+ WHERE
+ r.asset_property_id IN ("""+id_set+") GROUP BY r.asset_property_id ")
+ res=dict(cr.fetchall())
+ for prop in self.browse(cr, uid, ids, context):
+ res[prop.id] = prop.value_total - res.get(prop.id, 0.0)
+ for id in ids:
+ res.setdefault(id, 0.0)
+ return res
+
+ def _close(self, cr, uid, property, context={}):
+ if property.state<>'close':
+ self.pool.get('account.asset.property').write(cr, uid, [property.id], {
+ 'state': 'close'
+ })
+ property.state='close'
+ ok = property.asset_id.state=='open'
+ for prop in property.asset_id.property_ids:
+ ok = ok and prop.state=='close'
+ self.pool.get('account.asset.asset').write(cr, uid, [property.asset_id.id], {
+ 'state': 'close'
+ }, context)
+ return True
+
+ _name = 'account.asset.property'
+ _description = 'Asset property'
+ _columns = {
+ 'name': fields.char('Method name', size=64, select=1),
+ 'type': fields.selection([('direct','Direct'),('indirect','Indirect')], 'Depr. method type', select=2, required=True),
+ 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
+ 'account_asset_id': fields.many2one('account.account', 'Asset account', required=True),
+ 'account_actif_id': fields.many2one('account.account', 'Depreciation account', required=True),
+ 'journal_id': fields.many2one('account.journal', 'Journal', required=True),
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
+
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_progress_factor': fields.float('Progressif factor', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending period')], 'Time method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_delay': fields.integer('During', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_period': fields.integer('Depre. all', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_end': fields.date('Ending date'),
+ 'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Si l amortissement se realise après le 1 janvier'),
+
+ 'date': fields.date('Date created'),
+ #'test': fields.one2many('account.pre', 'asset_id', readonly=True, states={'draft':[('readonly',False)]}),
+ 'entry_asset_ids': fields.many2many('account.move.line', 'account_move_asset_entry_rel', 'asset_property_id', 'move_id', 'Asset Entries'),
+ 'board_ids': fields.one2many('account.asset.board', 'asset_id', 'Asset board'),
+
+ 'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Gross value'),
+ 'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual value'),
+ 'state': fields.selection([('draft','Draft'), ('open','Open'), ('close','Close')], 'State', required=True),
+ 'history_ids': fields.one2many('account.asset.property.history', 'asset_property_id', 'History', readonly=True)
+# 'parent_id': fields.many2one('account.asset.asset', 'Parent asset'),
+# 'partner_id': fields.many2one('res.partner', 'Partner'),
+# 'note': fields.text('Note'),
+
+ }
+ _defaults = {
+ 'type': lambda obj, cr, uid, context: 'direct',
+ 'state': lambda obj, cr, uid, context: 'draft',
+ 'method': lambda obj, cr, uid, context: 'linear',
+ 'method_time': lambda obj, cr, uid, context: 'delay',
+ 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
+ 'method_delay': lambda obj, cr, uid, context: 5,
+ 'method_period': lambda obj, cr, uid, context: 12,
+ 'date': lambda obj, cr, uid, context: time.strftime('%Y-%m-%d')
+ }
+account_asset_property()
+
+class account_move_line(osv.osv):
+ _inherit = 'account.move.line'
+ _columns = {
+ 'asset_id': fields.many2one('account.asset.asset', 'Asset'),
+ 'entry_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
+
+ }
+account_move_line()
+
+
+
+
+class account_pre(osv.osv):
+ _name = 'account.pre'
+ _columns = {
+ 'name': fields.char('Test',size=64, select=1),
+ 'asset_id': fields.many2one('account.asset.asset','Asset'),
+ # 'test': fields.one2many('account.pre','asset_id','test', readonly=True,states={'draft':[('readonly',False)]}),
+ }
+account_pre()
+
+
+
+class account_asset_property_history(osv.osv):
+ _name = 'account.asset.property.history'
+ _description = 'Asset history'
+ _columns = {
+ 'name': fields.char('History name', size=64, select=1),
+ 'user_id': fields.many2one('res.users', 'User', required=True),
+ 'date': fields.date('Date', required=True),
+ 'asset_property_id': fields.many2one('account.asset.property', 'Method', required=True),
+ 'method_delay': fields.integer('Number of interval'),
+ 'method_period': fields.integer('Period per interval'),
+ 'method_end': fields.date('Ending date'),
+ 'note': fields.text('Note'),
+ }
+ _defaults = {
+ 'date': lambda *args: time.strftime('%Y-%m-%d'),
+ 'user_id': lambda self,cr, uid,ctx: uid
+ }
+account_asset_property_history()
+
+
+class account_asset_board(osv.osv):
+ _name = 'account.asset.board'
+ _description = 'Asset board'
+ _columns = {
+ 'name': fields.char('Asset name', size=64, required=True, select=1),
+ 'asset_id': fields.many2one('account.asset.property', 'Asset', required=True, select=1),
+ 'value_gross': fields.float('Gross value', required=True, select=1),
+ 'value_asset': fields.float('Asset Value', required=True, select=1),
+ 'value_asset_cumul': fields.float('Cumul. value', required=True, select=1),
+ 'value_net': fields.float('Net value', required=True, select=1),
+
+ }
+ _auto = False
+ def init(self, cr):
+ cr.execute("""
+ create or replace view account_asset_board as (
+ select
+ min(l.id) as id,
+ min(l.id) as asset_id,
+ 0.0 as value_gross,
+ 0.0 as value_asset,
+ 0.0 as value_asset_cumul,
+ 0.0 as value_net
+ from
+ account_move_line l
+ where
+ l.state <> 'draft' and
+ l.asset_id=3
+ )""")
+account_asset_board()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
new file mode 100755
index 00000000000..1bc9fbcf37c
--- /dev/null
+++ b/addons/account_asset/account_asset_invoice.py
@@ -0,0 +1,47 @@
+# -*- 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 .
+#
+##############################################################################
+
+from osv import osv, fields
+import time
+
+class account_invoice(osv.osv):
+ _inherit = 'account.invoice'
+ def line_get_convert(self, cr, uid, x, part, date, context={}):
+ res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context)
+ res['asset_id'] = x.get('asset_id', False)
+ return res
+account_invoice()
+
+class account_invoice_line(osv.osv):
+ _inherit = 'account.invoice.line'
+ _columns = {
+ 'asset_id': fields.many2one('account.asset.asset', 'Asset'),
+ }
+ def move_line_get_item(self, cr, uid, line, context={}):
+ res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
+ res['asset_id'] = line.asset_id.id or False
+ if line.asset_id.id and (line.asset_id.state=='draft'):
+ self.pool.get('account.asset.asset').validate(cr, uid, [line.asset_id.id], context)
+ return res
+account_invoice_line()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml
new file mode 100755
index 00000000000..394d173f8ed
--- /dev/null
+++ b/addons/account_asset/account_asset_invoice_view.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ #---------------------------------------------------------
+ # Fiscal Year
+ #---------------------------------------------------------
+
+
+ account.invoice.line.form
+ account.invoice.line
+
+ form
+
+
+
+
+
+
+
+
+
diff --git a/addons/account_asset/account_asset_report_view.xml b/addons/account_asset/account_asset_report_view.xml
new file mode 100755
index 00000000000..d471bb56063
--- /dev/null
+++ b/addons/account_asset/account_asset_report_view.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
new file mode 100755
index 00000000000..b08b67862c4
--- /dev/null
+++ b/addons/account_asset/account_asset_view.xml
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+ account.asset.category.form
+ account.asset.category
+ form
+
+
+
+
+
+
+ account.asset.category.tree
+ account.asset.category
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Asset Category
+ account.asset.category
+ form
+ tree,form
+
+
+
+
+
+ account.asset.property.tree
+ account.asset.property
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.asset.form
+ account.asset.asset
+ form
+
+
+
+
+
+
+ account.asset.property.history.form
+ account.asset.property.history
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.property.history.tree
+ account.asset.property.history
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.board.form
+ account.asset.board
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.board.tree
+ account.asset.board
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.asset.tree
+ account.asset.asset
+ tree
+ child_ids
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Asset
+ account.asset.asset
+ form
+
+
+
+
+ Asset Hierarchy
+ account.asset.asset
+ tree
+ [('parent_id','=',False)]
+
+
+
+
+
+
+
+
+
+ Assets
+ account.asset.asset
+ form
+ tree,form
+ [('state','=','normal')]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/account_asset/account_asset_wizard.xml b/addons/account_asset/account_asset_wizard.xml
new file mode 100755
index 00000000000..8b9bc6b7070
--- /dev/null
+++ b/addons/account_asset/account_asset_wizard.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/account_asset/i18n/account_asset.pot b/addons/account_asset/i18n/account_asset.pot
new file mode 100755
index 00000000000..4aa2d9d3f00
--- /dev/null
+++ b/addons/account_asset/i18n/account_asset.pot
@@ -0,0 +1,526 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_asset
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2009-11-24 12:54:56+0000\n"
+"PO-Revision-Date: 2009-11-24 12:54:56+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid "Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr ""
+
diff --git a/addons/account_asset/i18n/ca.po b/addons/account_asset/i18n/ca.po
new file mode 100755
index 00000000000..91c5f554b6d
--- /dev/null
+++ b/addons/account_asset/i18n/ca.po
@@ -0,0 +1,540 @@
+# Catalan translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2010-08-19 15:06+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Catalan \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr "Actius oberts"
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr "Data final"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr "Taula d'amortització"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr "Actiu"
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nom de model invàlid en la definició de l'acció."
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr "Lineal"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr "Canvi de durada"
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr "Valor de l'actiu"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr "Raó"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr "Assentaments"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr "Assentaments generats"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr "Número d'intervals"
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr "Obre assentaments"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr "Actius"
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr "Progressiu"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr "Actius en estat esborrany"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr "Notes"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr "Canvi històric"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr "Assentament de dotació a l'amortització"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr "Mètodes"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr "Propietats de l'actiu a modificar"
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr "Empresa"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr "Període per interval"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr "termini d'amortització"
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr "Compte analític"
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr "Estat"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr "Mètodes d'amortització"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr "Altra informació"
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr "Valor acumulat"
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr "Mètodes d'actius"
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML invàlid per a la definició de la vista!"
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr "Propietat de l'actiu"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr "Calcula els actius"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr "Modifica l'actiu"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr "Confirma l'actiu"
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr "Històric de l'actiu"
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr "Data de creació"
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+"Gestió financera i comptable d'actius.\n"
+" Permet definir\n"
+" * Categories d'actiu. \n"
+" * Actius.\n"
+" * Període i propietats de l'actiu utilitzat.\n"
+" "
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr "Valor brut"
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr "Període final"
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr "Nom de l'actiu"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr "Informació de comptes"
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr "Nota"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr "Esborrany"
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr "Tipus de mètode d'amortització"
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr "Compte d'actiu"
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr "Mètode"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr "Normal"
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr "Factor de progressió"
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr "Localització"
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr "Mètode de càlcul"
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr "Mètode de temps"
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr "Actiu"
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr "Usuari"
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr "Nom del mètode d'actiu"
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr "Data"
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr "Valor net"
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr "Tanca l'actiu"
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr "Història"
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr "Compte d'amortització"
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr "Període"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr "Categoria d'actiu"
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr "Tanca"
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr "Obre"
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter "
+"especial!"
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr "Gestió de l'actiu"
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr "Taulell d'actius"
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr "Estat global"
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr "Retarda"
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr "Informació general"
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr "Diari analític"
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr "Nom del mètode"
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr "Diari"
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr "Nom històric"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr "Tanca el mètode"
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr "Assentaments d'actiu"
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr "Categoria d'actiu"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr "Depreciació"
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr "Codi d'actiu"
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr "Valor total"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr "Vista"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr "Informació general"
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr "Seqüència"
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr "Valor residual"
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr "Final d'actiu"
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr "Directe"
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr "Indirecte"
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr "Família d'actiu"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr "Jerarquia d'actius"
+
+#~ msgid "Childs asset"
+#~ msgstr "Actius fills"
diff --git a/addons/account_asset/i18n/de.po b/addons/account_asset/i18n/de.po
new file mode 100755
index 00000000000..15528329003
--- /dev/null
+++ b/addons/account_asset/i18n/de.po
@@ -0,0 +1,529 @@
+# German translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2010-01-25 22:30+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: German \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr ""
diff --git a/addons/account_asset/i18n/es.po b/addons/account_asset/i18n/es.po
new file mode 100755
index 00000000000..ad9ad60b5ba
--- /dev/null
+++ b/addons/account_asset/i18n/es.po
@@ -0,0 +1,540 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2010-08-26 15:53+0000\n"
+"Last-Translator: OpenERP Administrators \n"
+"Language-Team: Spanish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr "Activos abiertos"
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr "cuadro de drepeciación"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr "Activo"
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nombre de modelo no válido en la definición de acción."
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr "Lineal"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr "cambio de duración"
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr "valor de activos"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr "Razón"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr "Asientos"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr "Asientos generados"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr "Numero de intervalo"
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr "Abrir asientos"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr "Activos"
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr "Progresivo"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr "Activos en estado borrador"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr "Cambio histórico"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr "Asiento de dotación a la amortización"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr "Propiedades de activos para modificar"
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr "Empresa"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr "Período por intervalo"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr "Plazo de amortización"
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr "Metodos de drepreciación"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr "Valor acumulado"
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr "metodos activos"
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML no válido para la estructura de la vista!"
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr "Propiedad del activo"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr "Calcular activos"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr "Modificar activo"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr "Confirmar activo"
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr "Histórico del activo"
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+"Gestión financiera y contable de activos.\n"
+" Permite definir\n"
+" * Categorías de activo. \n"
+" * Activos.\n"
+" * Período y propiedades del activo usado.\n"
+" "
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr "Período final"
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr "nombre de activos"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr "información de cuentas"
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr "Nota"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr "Tipo de método de amortización"
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr "cuenta de activos"
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr "Método"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr "Normal"
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr "Localización"
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr "metodo de computación"
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr "Activo"
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr "Usuario"
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr "Fecha"
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr "Activo cerrado"
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr "Historia"
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr "Período"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr "Categoría de activo"
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr "Cerrar"
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr "Abrir"
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
+"especial!"
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr "Gestión del activo"
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr "Tablero de activos"
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr "Estado global"
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr "Retrasar"
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr "Información general"
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr "Nombre del método"
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr "Diario"
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr "Nombre histórico"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr "Asientos de activo"
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr "Categoría de activo"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr "Vista"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr "Información general"
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr "Secuencia"
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr "Final de activo"
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr "Directo"
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr "Indirecto"
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr "Jerarquía de activos"
+
+#~ msgid "Childs asset"
+#~ msgstr "Activos hijos"
diff --git a/addons/account_asset/i18n/fr.po b/addons/account_asset/i18n/fr.po
new file mode 100755
index 00000000000..4b5b40017be
--- /dev/null
+++ b/addons/account_asset/i18n/fr.po
@@ -0,0 +1,529 @@
+# French translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2011-01-02 14:36+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: French \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr ""
diff --git a/addons/account_asset/i18n/fr_BE.po b/addons/account_asset/i18n/fr_BE.po
new file mode 100755
index 00000000000..4aa2d9d3f00
--- /dev/null
+++ b/addons/account_asset/i18n/fr_BE.po
@@ -0,0 +1,526 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_asset
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2009-11-24 12:54:56+0000\n"
+"PO-Revision-Date: 2009-11-24 12:54:56+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid "Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr ""
+
diff --git a/addons/account_asset/i18n/pl.po b/addons/account_asset/i18n/pl.po
new file mode 100755
index 00000000000..03fc1678cef
--- /dev/null
+++ b/addons/account_asset/i18n/pl.po
@@ -0,0 +1,540 @@
+# Polish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2010-07-06 06:42+0000\n"
+"Last-Translator: Kirti Savalia(OpenERP) \n"
+"Language-Team: Polish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr "Otwarte środki trwałe"
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr "Data zakończenia"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr "Panel amortyzacji"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr "Środek trwały"
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr "Liniowo"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr "Zmień czas amortyzacji"
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr "Środki podrzędne"
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr "Wartość środka"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr "Przyczyna"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr "Zapisy"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr "Wygenerowane zapisy"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr "Liczba interwałów"
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr "Otwórz zapisy"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr "Środki trwałe"
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr "Progresywnie"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr "Projekty środków"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr "Uwagi"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr "Historia zmian"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr "Zapisy amortyzacji"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr "Metody"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr "Własności środki do modyfikacji"
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr "Okres na interwał"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr "Czas amortyzacji"
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr "Konto analityczne"
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr "Stan"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr "Metody amortyzacji"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr "Inne informacje"
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr "Wartość skumul."
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr "Metody środków trwałych"
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr "Własność środka"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr "Oblicz środki"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr "Modyfikuj środek"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr "Potwierdź środek"
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr "Historia środka"
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr "Data utworzenia"
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+"Finansowy i księgowy rejestr środków trwałych.\n"
+" Pozwala definiować\n"
+" * Kategorię środka. \n"
+" * Środki.\n"
+" * Okresy zużycia i własności.\n"
+" "
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr "Wartość obecna"
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr "Okres końcowy"
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr "Nazwa środka"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr "Informacje księgowe"
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr "Notatka"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr "Projekt"
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr "Typ metody amort."
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr "Konto środka"
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr "Metoda"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr "Normalny"
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr "Współczynnik progresji"
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr "Lokalizacja"
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr "Motoda obliczania"
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr "Czas metody"
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr "Aktywny"
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr "Użytkownik"
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr "Nazwa metody środka"
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr "Data"
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr "Wartość netto"
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr "Zamknij środek"
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr "Historia"
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr "Konto amortyzacji"
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr "Okres"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr "Kategoria środka"
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr "Anuluj"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr "Zamknięte"
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr "Otwarty"
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Nazwa obiektu musi zaczynać się od x_ oraz nie może zawierać znaków "
+"specjalnych !"
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr "Środki trwałe"
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr "Panel środka"
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr "Stan globalny"
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr "Opóźnienie"
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr "Informacje ogólne"
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr "Dziennik analityczny"
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr "Nazwa metody"
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr "Dziennik"
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr "Nazwa historii"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr "Zamknij metodę"
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr "Zapisy środka"
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr "Kategoria środka"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr "Amortyzacja"
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr "Kod środka"
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr "Suma wartości"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr "Widok"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr "Informacje ogólne"
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr "Numeracja"
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr "Pozostała wartość"
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr "Koniec środka"
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr "Bezpośrednio"
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr "Pośrednio"
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr "Środek nadrzędny"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr "Hierarchia środków"
+
+#~ msgid "Childs asset"
+#~ msgstr "Środki podrzędne"
diff --git a/addons/account_asset/i18n/pt.po b/addons/account_asset/i18n/pt.po
new file mode 100755
index 00000000000..e0ad3768283
--- /dev/null
+++ b/addons/account_asset/i18n/pt.po
@@ -0,0 +1,537 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2010-11-18 16:57+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Portuguese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr "Activos em Aberto"
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr "Activo"
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nome do modelo inválido na definição da acção."
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr "Movimentos"
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr "Gerar movimentos"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr "Movimentos Abertos"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr "Activos"
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr "Progressiva"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr "Rascunho de Activos"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr "Terceiro"
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML Inválido para a Arquitectura de Vista!"
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr "Processados activos"
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr "Modificar activo"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr "Histórico de activos"
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+"Gestão financeira e contabilidade de activos.\n"
+" Permite definir\n"
+" * Categoria de activos.\n"
+" * Activos.\n"
+" * Activo usa período e bens.\n"
+" "
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr "Nota"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr "Rascunho"
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr "Método"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr "Normal"
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr "Localização"
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr "Activo"
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr "Utilizador"
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr "Data"
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr "Fechar activo"
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr "Histórico"
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr "Periodo"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr "Categoria de Activo"
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr "Fechar"
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr "Abrir"
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"O nome do Objecto deve começar com x_ e não pode conter nenhum caracter "
+"especial !"
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr "Gestão de Activo"
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr "Informação Geral"
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr "Nome do Método"
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr "Diário"
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr "Nome de História"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr "Categoria de activos"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr "Ver"
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr "Informações Gerais"
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr ""
diff --git a/addons/account_asset/i18n/sv.po b/addons/account_asset/i18n/sv.po
new file mode 100755
index 00000000000..b10a911c2bb
--- /dev/null
+++ b/addons/account_asset/i18n/sv.po
@@ -0,0 +1,534 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_asset
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2009-11-24 12:54+0000\n"
+"PO-Revision-Date: 2010-11-22 23:42+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-18 05:22+0000\n"
+"X-Generator: Launchpad (build 12177)\n"
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
+msgid "Open Assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_end:0
+#: field:account.asset.property.history,method_end:0
+msgid "Ending date"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation board"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,name:0
+#: field:account.asset.board,asset_id:0
+#: field:account.asset.property,asset_id:0
+#: field:account.invoice.line,asset_id:0
+#: field:account.move.line,asset_id:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
+#: model:ir.model,name:account_asset.model_account_asset_asset
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
+msgid "Asset"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Linear"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,child_ids:0
+msgid "Child assets"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset:0
+msgid "Asset Value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: field:account.asset.asset,entry_ids:0
+#: wizard_field:account.asset.compute,asset_compute,move_ids:0
+msgid "Entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+msgid "Generated entries"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_delay:0
+#: field:account.asset.property,method_delay:0
+#: field:account.asset.property.history,method_delay:0
+msgid "Number of interval"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.compute,asset_compute,asset_open:0
+msgid "Open entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list
+#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
+#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
+msgid "Assets"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method:0
+msgid "Progressive"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_draft
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_draft
+msgid "Draft Assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_field:account.asset.modify,init,note:0
+#: view:account.asset.property.history:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Change history"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation entries"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Methods"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+msgid "Asset properties to modify"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: account_asset
+#: wizard_field:account.asset.modify,init,method_period:0
+#: field:account.asset.property,method_period:0
+#: field:account.asset.property.history,method_period:0
+msgid "Period per interval"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation duration"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_analytic_id:0
+msgid "Analytic account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,state:0
+msgid "State"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation methods"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Other information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_asset_cumul:0
+msgid "Cumul. value"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property:0
+msgid "Assets methods"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.model,name:account_asset.model_account_asset_property
+msgid "Asset property"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.compute,asset_compute:0
+#: wizard_view:account.asset.compute,init:0
+#: wizard_button:account.asset.compute,init,asset_compute:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
+#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
+msgid "Compute assets"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.modify,init:0
+#: wizard_button:account.asset.modify,init,asset_modify:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
+msgid "Modify asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Confirm asset"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.property.history:0
+#: model:ir.model,name:account_asset.model_account_asset_property_history
+msgid "Asset history"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,date:0
+msgid "Date created"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,description:account_asset.module_meta_information
+msgid ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+msgstr ""
+"Financial and accounting asset management.\n"
+" Allows to define\n"
+" * Asset category. \n"
+" * Assets.\n"
+" *Asset usage period and property.\n"
+" "
+
+#. module: account_asset
+#: field:account.asset.board,value_gross:0
+#: field:account.asset.property,value_total:0
+msgid "Gross value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Ending period"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,name:0
+msgid "Asset name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Accounts information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,note:0
+#: field:account.asset.category,note:0
+#: field:account.asset.property.history,note:0
+msgid "Note"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: selection:account.asset.property,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,type:0
+msgid "Depr. method type"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_asset_id:0
+msgid "Asset account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,asset_property_id:0
+msgid "Method"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "Normal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_progress_factor:0
+msgid "Progressif factor"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,localisation:0
+msgid "Localisation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method:0
+msgid "Computation method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,method_time:0
+msgid "Time method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,property_ids:0
+msgid "Asset method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,date:0
+#: field:account.asset.property.history,date:0
+msgid "Date"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.board,value_net:0
+msgid "Net value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
+msgid "Close asset"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,history_ids:0
+msgid "History"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,account_actif_id:0
+msgid "Depreciation account"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,period_id:0
+#: wizard_field:account.asset.compute,init,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
+msgid "Asset Category"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,end:0
+#: wizard_button:account.asset.compute,init,end:0
+#: wizard_button:account.asset.modify,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+#: wizard_button:account.asset.compute,asset_compute,end:0
+#: selection:account.asset.property,state:0
+msgid "Close"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,state:0
+msgid "Open"
+msgstr ""
+
+#. module: account_asset
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.module.module,shortdesc:account_asset.module_meta_information
+msgid "Asset management"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.board:0
+#: field:account.asset.property,board_ids:0
+#: model:ir.model,name:account_asset.model_account_asset_board
+msgid "Asset board"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,state:0
+msgid "Global state"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,method_time:0
+msgid "Delay"
+msgstr ""
+
+#. module: account_asset
+#: wizard_view:account.asset.close,init:0
+msgid "General information"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_analytic_id:0
+msgid "Analytic journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,name:0
+msgid "Method name"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property.history,name:0
+msgid "History name"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Close method"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,entry_asset_ids:0
+msgid "Asset Entries"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,category_id:0
+#: view:account.asset.category:0
+#: field:account.asset.category,name:0
+#: model:ir.model,name:account_asset.model_account_asset_category
+msgid "Asset category"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "Depreciation"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,code:0
+#: field:account.asset.category,code:0
+msgid "Asset code"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,value_total:0
+msgid "Total value"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.asset,state:0
+msgid "View"
+msgstr ""
+
+#. module: account_asset
+#: view:account.asset.asset:0
+msgid "General info"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.property,value_residual:0
+msgid "Residual value"
+msgstr ""
+
+#. module: account_asset
+#: wizard_button:account.asset.close,init,asset_close:0
+msgid "End of asset"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Direct"
+msgstr ""
+
+#. module: account_asset
+#: selection:account.asset.property,type:0
+msgid "Indirect"
+msgstr ""
+
+#. module: account_asset
+#: field:account.asset.asset,parent_id:0
+msgid "Parent asset"
+msgstr ""
+
+#. module: account_asset
+#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
+#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
+msgid "Asset Hierarchy"
+msgstr ""
diff --git a/addons/account_asset/security/ir.model.access.csv b/addons/account_asset/security/ir.model.access.csv
new file mode 100755
index 00000000000..1adc3f47351
--- /dev/null
+++ b/addons/account_asset/security/ir.model.access.csv
@@ -0,0 +1,11 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_account_asset_category","account.asset.category","model_account_asset_category","account.group_account_user",1,0,0,0
+"access_account_asset_asset","account.asset.asset","model_account_asset_asset","account.group_account_user",1,0,0,0
+"access_account_asset_property","account.asset.property","model_account_asset_property","account.group_account_user",1,0,0,0
+"access_account_asset_property_history","account.asset.property.history","model_account_asset_property_history","account.group_account_user",1,0,0,0
+"access_account_asset_board","account.asset.board","model_account_asset_board","account.group_account_user",1,0,0,0
+"access_account_asset_category_manager","account.asset.category","model_account_asset_category","account.group_account_manager",1,1,1,1
+"access_account_asset_asset_manager","account.asset.asset","model_account_asset_asset","account.group_account_manager",1,1,1,1
+"access_account_asset_property_manager","account.asset.property","model_account_asset_property","account.group_account_manager",1,1,1,1
+"access_account_asset_property_history_manager","account.asset.property.history","model_account_asset_property_history","account.group_account_manager",1,1,1,1
+"access_account_asset_board_manager","account.asset.board","model_account_asset_board","account.group_account_manager",1,1,1,1
diff --git a/addons/account_asset/wizard/__init__.py b/addons/account_asset/wizard/__init__.py
new file mode 100755
index 00000000000..ab4a7159322
--- /dev/null
+++ b/addons/account_asset/wizard/__init__.py
@@ -0,0 +1,26 @@
+# -*- 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 wizard_asset_compute
+import wizard_asset_close
+import wizard_asset_modify
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/wizard/wizard_asset_close.py b/addons/account_asset/wizard/wizard_asset_close.py
new file mode 100755
index 00000000000..0d274585036
--- /dev/null
+++ b/addons/account_asset/wizard/wizard_asset_close.py
@@ -0,0 +1,51 @@
+# -*- 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 wizard
+import pooler
+
+asset_end_arch = '''
+
+
+ '''
+
+asset_end_fields = {
+}
+
+class wizard_asset_close(wizard.interface):
+ states = {
+ 'init': {
+ 'actions': [],
+ 'result': {'type':'form', 'arch':asset_end_arch, 'fields':asset_end_fields, 'state':[
+ ('end','Cancel'),
+ ('asset_close','End of asset')
+ ]}
+ },
+ 'asset_close': {
+ 'actions': [],
+ 'result': {'type' : 'state', 'state': 'end'}
+ }
+ }
+wizard_asset_close('account.asset.close')
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/wizard/wizard_asset_compute.py b/addons/account_asset/wizard/wizard_asset_compute.py
new file mode 100755
index 00000000000..ec0e3a063b9
--- /dev/null
+++ b/addons/account_asset/wizard/wizard_asset_compute.py
@@ -0,0 +1,105 @@
+# -*- 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 wizard
+import pooler
+from tools.translate import _
+
+
+asset_end_arch = '''
+
+
+
+ '''
+
+asset_end_fields = {
+ 'move_ids': {'string':'Entries', 'type': 'one2many', 'relation':'account.move'},
+}
+
+
+asset_ask_form = '''
+
+
+ '''
+
+asset_ask_fields = {
+ 'period_id': {'string': 'Period', 'type': 'many2one', 'relation':'account.period', 'required':True},
+}
+
+def _asset_compute(self, cr, uid, data, context):
+ pool = pooler.get_pool(cr.dbname)
+ ass_obj = pool.get('account.asset.asset')
+ ids = ass_obj.search(cr, uid, [('state','=','normal')], context=context)
+ ids_create = []
+ for asset in ass_obj.browse(cr, uid, ids, context):
+ ids_create += ass_obj._compute_entries(cr, uid, asset, data['form']['period_id'], context)
+ self.move_ids = ids_create
+ return {'move_ids': ids_create}
+
+def _asset_open(self, cr, uid, data, context):
+ value = {
+ 'name': 'Created moves',
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'res_model': 'account.move',
+ 'view_id': False,
+ 'type': 'ir.actions.act_window'
+ }
+ if data['form']['move_ids']:
+ value['domain']= "[('id','in',["+','.join(map(str,self.move_ids))+"])]"
+ else:
+ value['domain']= "[('id','=', False)]"
+ return value
+
+def _get_period(self, cr, uid, data, context={}):
+ pool = pooler.get_pool(cr.dbname)
+ ids = pool.get('account.period').find(cr, uid, context=context)
+ period_id = False
+ if len(ids):
+ period_id = ids[0]
+ return {'period_id': period_id}
+
+class wizard_asset_compute(wizard.interface):
+ states = {
+ 'init': {
+ 'actions': [_get_period],
+ 'result': {'type':'form', 'arch':asset_ask_form, 'fields':asset_ask_fields, 'state':[
+ ('end','Cancel'),
+ ('asset_compute','Compute assets')
+ ]}
+ },
+ 'asset_compute': {
+ 'actions': [_asset_compute],
+ 'result': {'type' : 'form', 'arch': asset_end_arch, 'fields':asset_end_fields, 'state':[
+ ('end','Close'),
+ ('asset_open','Open entries')
+ ]}
+ },
+ 'asset_open': {
+ 'actions': [],
+ 'result': {'type':'action', 'action': _asset_open, 'state':'end'}
+ }
+ }
+wizard_asset_compute('account.asset.compute')
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/wizard/wizard_asset_modify.py b/addons/account_asset/wizard/wizard_asset_modify.py
new file mode 100755
index 00000000000..586a278b21a
--- /dev/null
+++ b/addons/account_asset/wizard/wizard_asset_modify.py
@@ -0,0 +1,87 @@
+# -*- 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 wizard
+import pooler
+
+asset_end_arch = '''
+
+
+
+
+
+
+
+ '''
+
+asset_end_fields = {
+ 'name': {'string':'Reason', 'type':'char', 'size':64, 'required':True},
+ 'method_delay': {'string':'Number of interval', 'type':'float'},
+ 'method_period': {'string':'Period per interval', 'type':'float'},
+ 'note': {'string':'Notes', 'type':'text'},
+}
+
+def _asset_default(self, cr, uid, data, context={}):
+ pool = pooler.get_pool(cr.dbname)
+ prop = pool.get('account.asset.property').browse(cr, uid, data['id'], context)
+ return {
+ 'name': prop.name,
+ 'method_delay': prop.method_delay,
+ 'method_period': prop.method_period
+ }
+
+def _asset_modif(self, cr, uid, data, context={}):
+ pool = pooler.get_pool(cr.dbname)
+ prop = pool.get('account.asset.property').browse(cr, uid, data['id'], context)
+ pool.get('account.asset.property.history').create(cr, uid, {
+ 'asset_property_id': data['id'],
+ 'name': prop.name,
+ 'method_delay': prop.method_delay,
+ 'method_period': prop.method_period,
+ 'note': data['form']['note'],
+ }, context)
+ pool.get('account.asset.property').write(cr, uid, [data['id']], {
+ 'name': data['form']['name'],
+ 'method_delay': data['form']['method_delay'],
+ 'method_period': data['form']['method_period'],
+ }, context)
+ return {}
+
+
+class wizard_asset_modify(wizard.interface):
+ states = {
+ 'init': {
+ 'actions': [_asset_default],
+ 'result': {'type':'form', 'arch':asset_end_arch, 'fields':asset_end_fields, 'state':[
+ ('end','Cancel'),
+ ('asset_modify','Modify asset')
+ ]}
+ },
+ 'asset_modify': {
+ 'actions': [_asset_modif],
+ 'result': {'type' : 'state', 'state': 'end'}
+ }
+ }
+wizard_asset_modify('account.asset.modify')
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_asset/µ b/addons/account_asset/µ
new file mode 100755
index 00000000000..77f0083048b
--- /dev/null
+++ b/addons/account_asset/µ
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
From 27553a73e747f102b363666a48946e7b58bb23e4 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Wed, 30 Mar 2011 15:43:55 +0200
Subject: [PATCH 002/197] [IMP] account_asset: removed the dependancy of
account_simulation
bzr revid: qdp-launchpad@openerp.com-20110330134355-hdt1mmztqn2131tq
---
addons/account_asset/__terp__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/__terp__.py b/addons/account_asset/__terp__.py
index fcdab4ae9a0..b8c3fd8b0f7 100755
--- a/addons/account_asset/__terp__.py
+++ b/addons/account_asset/__terp__.py
@@ -22,7 +22,7 @@
{
"name" : "Asset management",
"version" : "1.0",
- "depends" : ["account", "account_simulation"],
+ "depends" : ["account"],
"author" : "Tiny",
"description": """Financial and accounting asset management.
Allows to define
From 447d680e4917228b5903373a97d76b683d584429 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Wed, 30 Mar 2011 15:44:51 +0200
Subject: [PATCH 003/197] [FIX] account_asset: fixed the structure of
account_asset_category
bzr revid: qdp-launchpad@openerp.com-20110330134451-sqqdmmrf4tzsj5dz
---
addons/account_asset/account_asset.py | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7686e746f8f..4c5040a52ca 100755
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -26,16 +26,12 @@ class account_asset_category(osv.osv):
_description = 'Asset category'
_columns = {
'name': fields.char('Asset category', size=64, required=True, select=1),
- 'code': fields.char('Reference', size=16, select=1),
+ #'code': fields.char('Reference', size=16, select=1),
'note': fields.text('Note'),
- 'name': fields.char('Method name', size=64, select=1),
- 'type': fields.selection([('direct','Direct'),('indirect','Indirect')], 'Depr. method type', select=2, required=True),
- 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
+ #'type': fields.selection([('direct','Direct'),('indirect','Indirect')], 'Depr. method type', select=2, required=True),
'account_asset_id': fields.many2one('account.account', 'Asset account', required=True),
'account_actif_id': fields.many2one('account.account', 'Depreciation account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
-
-
}
account_asset_category()
From e8af0914f66c41a27c83e215b22c0dd876e539e9 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Wed, 30 Mar 2011 15:45:24 +0200
Subject: [PATCH 004/197] [FIX] account_asset: fixed the form view of
account_asset
bzr revid: qdp-launchpad@openerp.com-20110330134524-56x2ifxs4qbdg7ig
---
addons/account_asset/account_asset_view.xml | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index b08b67862c4..92733a4c8f0 100755
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -74,8 +74,6 @@
form
-
-
@@ -135,7 +133,7 @@
-
+
@@ -156,7 +154,6 @@
-->
-
From d33e675009e12913f23dea5c512d3d9bf1cfa487 Mon Sep 17 00:00:00 2001
From: OpenERP
Date: Wed, 30 Mar 2011 10:17:02 -0700
Subject: [PATCH 005/197] [IMP] account fixed asset
bzr revid: openerp@ubuntu-20110330171702-5knjrrnbi5hsoicp
---
addons/account_asset/account_asset.py | 4 ++--
addons/account_asset/account_asset_view.xml | 21 ++++++++++-----------
2 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4c5040a52ca..6b0eb3e8084 100755
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -80,7 +80,7 @@ class account_asset_asset(osv.osv):
'code': fields.char('Reference ', size=16, select=1),
'purch_valu': fields.float('Purchase value ', required=True, size=16, select=1),
'currency': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
- 'company': fields.char('Company',size=16, select=1),
+ 'company': fields.many2one('res.company', 'Company', required=True,size=5,select=1),
'note': fields.text('Note'),
'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
'localisation': fields.char('Localisation', size=32, select=2),
@@ -96,7 +96,6 @@ class account_asset_asset(osv.osv):
'property_ids': fields.one2many('account.asset.property', 'asset_id', 'Asset method name', readonly=True, states={'draft':[('readonly',False)]}),
'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Total value'),
'test': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
-
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
@@ -241,6 +240,7 @@ class account_asset_property(osv.osv):
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'purchasedate': fields.date('Purchase date', required=True),
'method_progress_factor': fields.float('Progressif factor', readonly=True, states={'draft':[('readonly',False)]}),
'method_time': fields.selection([('delay','Delay'),('end','Ending period')], 'Time method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'method_delay': fields.integer('During', readonly=True, states={'draft':[('readonly',False)]}),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 92733a4c8f0..19c4ecd454d 100755
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -10,13 +10,12 @@
-
+
-
-
+
@@ -27,13 +26,13 @@
tree
-
+
-
+
@@ -74,13 +73,13 @@
form
-
+
-
+
@@ -95,9 +94,8 @@
+ -->
+
@@ -105,6 +103,7 @@
-->
+
@@ -148,7 +147,7 @@
-
+
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
@@ -26,14 +32,13 @@
tree
-
-
-
-
+
-
-
+
+
+
+
@@ -49,7 +54,7 @@
action="action_account_asset_category_form"/>
-
+
@@ -73,29 +78,25 @@
form
-
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+-->
@@ -103,7 +104,6 @@
-->
-
@@ -123,36 +123,30 @@
-->
-
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
@@ -276,7 +270,6 @@
account.asset.asset
form
tree,form
- [('state','=','normal')]
Date: Thu, 31 Mar 2011 16:43:25 -0700
Subject: [PATCH 007/197] [IMP] fix bug account asset
bzr revid: openerp@ubuntu-20110331234325-vja2t1l2pwtjt5yu
---
addons/account_asset/account_asset.py | 61 +++++++++++++--------
addons/account_asset/account_asset_view.xml | 19 ++++---
2 files changed, 49 insertions(+), 31 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8adc65eb296..f95991d5f89 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -39,8 +39,7 @@ account_asset_category()
#class one2many_mod_asset(fields.one2many):
#
# def get(self, cr, obj, ids, name, user=None, offset=0, context=None, values=None):
-# print "ici!! boum"
-# if context is None:
+# prinasset_property_id if context is None:
# context = {}
# if not values:
# values = {}
@@ -83,7 +82,7 @@ class account_asset_asset(osv.osv):
amount = asset.value_residual
for i in range(1,undone_dotation_number+1):
if i == 1:
- amount = asset.value_residual
+ amount = asset.value_residual / undone_dotation_number
else:
if asset.method == 'linear':
amount = asset.value_residual / undone_dotation_number
@@ -110,7 +109,7 @@ class account_asset_asset(osv.osv):
return res
def _amount_residual(self, cr, uid, ids, name, args, context={}):
- #FIXME: function not working
+ #FIXME: function not working OK
id_set=",".join(map(str,ids))
cr.execute("""SELECT
r.asset_property_id,SUM(abs(l.debit-l.credit)) AS amount
@@ -128,35 +127,42 @@ class account_asset_asset(osv.osv):
return res
_columns = {
+ #test
+ 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1),
+ 'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
+ 'account_actif_id': fields.many2one('account.account', 'Depreciation account', required=True),
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
+
'name': fields.char('Asset', size=64, required=True, select=1),
'code': fields.char('Reference ', size=16, select=1),
'purchase_value': fields.float('Purchase value ', required=True, size=16, select=1),
'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
- 'company_id': fields.char('Company',size=16, select=1), #FIXME: fields.many2one !!
+ 'company_id': fields.many2one('res.company', 'Company', required=True), #FIXME: fields.many2one !! OK
'note': fields.text('Note'),
'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
'localisation': fields.char('Localisation', size=32, select=2),
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
- 'date': fields.date('Purchase Date', required=True), #FIXME: date is not displayed currently
+ 'purchase_date': fields.date('Purchase Date', required=True), #FIXME: date is not displayed currently OK
'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'Global state', required=True),
'active': fields.boolean('Active', select=2),
- 'partner_id': fields.many2one('res.partner', 'Partner'),#FIXME: not displayed
+ 'partner_id': fields.many2one('res.partner', 'Partner'),#FIXME: not displayed OK
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),#FIXME: do not display if not in group analytic accounting
- 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),#FIXME: do not display if not in group analytic accounting
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),#FIXME: do not display if not in group analytic accounting OK
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),#FIXME: do not display if not in group analytic accounting OK
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'method_delay': fields.integer('During', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label
- 'method_period': fields.integer('Depre. all', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label
+ 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label OK
+ 'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label OK
'method_end': fields.date('Ending date'),
-#
-# 'entry_asset_ids': fields.many2many('account.move.line', 'account_move_asset_entry_rel', 'asset_property_id', 'move_id', 'Asset Entries'),
+#he
+ 'entry_asset_ids': fields.many2many('account.move.line', 'account_move_asset_entry_rel', 'asset_property_id', 'move_id', 'Asset Entries'),
# 'board_ids': fields.one2many('account.asset.board', 'asset_id', 'Asset board'),
#
'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Gross Value'),
-# 'property_ids': fields.one2many('account.asset.property', 'asset_id', 'Asset method name', readonly=True, states={'draft':[('readonly',False)]}),
+#he
+ 'property_ids': fields.one2many('account.asset.asset', 'asset_id', 'Asset method name', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
@@ -166,10 +172,15 @@ class account_asset_asset(osv.osv):
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
- 'date': lambda obj, cr, uid, context: time.strftime('%Y-%m-%d'),
+ 'purchase_date': lambda obj, cr, uid, context: time.strftime('%Y-%m-%d'),
'active': lambda obj, cr, uid, context: True,
'state': lambda obj, cr, uid, context: 'draft',
'period_id': _get_period,
+ 'method': lambda obj, cr, uid, context: 'linear',
+ 'method_delay': lambda obj, cr, uid, context: 5,
+ 'method_time': lambda obj, cr, uid, context: 'delay',
+ 'method_period': lambda obj, cr, uid, context: 12,
+ 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
}
def _compute_period(self, cr, uid, property, context={}):
if (len(property.entry_asset_ids or [])/2)>=property.method_delay:
@@ -183,12 +194,13 @@ class account_asset_asset(osv.osv):
return current_period
def _compute_move(self, cr, uid, property, period, context={}):
- #FIXME: fucntion not working
+ #FIXME: fucntion not working OK
result = []
total = 0.0
for move in property.asset_id.entry_ids:
total += move.debit-move.credit
for move in property.entry_asset_ids:
+ #he s
if move.account_id == property.account_asset_ids:
total += move.debit
total += -move.credit
@@ -233,7 +245,8 @@ class account_asset_asset(osv.osv):
'partner_id': property.asset_id.partner_id.id,
'date': time.strftime('%Y-%m-%d'),
})
- self.pool.get('account.asset.property').write(cr, uid, [property.id], {
+ #
+ self.pool.get('account.asset.asset').write(cr, uid, [property.id], {
'entry_asset_ids': [(4, id2, False),(4,id,False)]
})
if property.method_delay - (len(property.entry_asset_ids)/2)<=1:
@@ -242,14 +255,14 @@ class account_asset_asset(osv.osv):
return result
def _compute_entries(self, cr, uid, asset, period_id, context={}):
- #FIXME: function not working
+ #FIXME: function not working CHECK all res
result = []
- #date_start = self.pool.get('account.period').browse(cr, uid, period_id, context).date_start
- #for property in asset.property_ids:
- # if property.state=='open':
- # period = self._compute_period(cr, uid, property, context)
- # if period and (period.date_start<=date_start):
- # result += self._compute_move(cr, uid, property, period, context)
+ date_start = self.pool.get('account.period').browse(cr, uid, period_id, context).date_start
+ for property in asset.property_ids:
+ if property.state=='open':
+ period = self._compute_period(cr, uid, property, context)
+ if period and (period.date_start<=date_start):
+ result += self._compute_move(cr, uid, property, period, context)
return result
account_asset_asset()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index b9d0908c124..1d7e960770a 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -95,14 +95,19 @@
-
-
-
+ -->
+
+
+
+
+
+
+
+
+
@@ -124,7 +129,7 @@
-
+
@@ -232,7 +237,7 @@
-
+
From d87d0995072a54e26c8adc5932e279c05a623d43 Mon Sep 17 00:00:00 2001
From: OpenERP
Date: Mon, 2 May 2011 02:51:34 -0700
Subject: [PATCH 008/197] [IMP] improve depreciation board
bzr revid: openerp@ubuntu-20110502095134-32h3kxvlbwdtgt2h
---
addons/account_asset/account_asset.py | 102 ++++++++++++++++----
addons/account_asset/account_asset_view.xml | 40 ++++----
2 files changed, 108 insertions(+), 34 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index f95991d5f89..7d001ea09ac 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -21,6 +21,7 @@
from osv import osv, fields
import time
+import datetime
class account_asset_category(osv.osv):
_name = 'account.asset.category'
_description = 'Asset category'
@@ -73,24 +74,84 @@ class account_asset_asset(osv.osv):
return periods[0]
else:
return False
-
- def compute_depreciation_board(self, cr, uid, ids, context=None):
+##
+ def compute_depreciation_board(self, cr, uid,ids, context=None):
#FIXME: change into a fields.function
+ test = 1.0
+ date_year = 1.0
+ purchase_value_board = 1.0
+ amountpro = 1.0
+ #year_inc = time.strftime('%Y')
for asset in self.browse(cr, uid, ids, context=context):
#res[asset.id] = []
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids) + 1
amount = asset.value_residual
- for i in range(1,undone_dotation_number+1):
- if i == 1:
- amount = asset.value_residual / undone_dotation_number
- else:
- if asset.method == 'linear':
- amount = asset.value_residual / undone_dotation_number
- else:
- amount = asset.value_residual * asset.method_progress_factor
- #res[asset.id].append([self.pool.get('account.asset.depreciation.line').create(cr, uid, {'amount': amount, 'asset_id': asset.id, 'sequence':i, 'name': str(asset.id) +'/'+ str(i)})])
- self.pool.get('account.asset.depreciation.line').create(cr, uid, {'amount': amount, 'asset_id': asset.id, 'sequence':i, 'name': str(asset.id) +'/'+ str(i)})
- return True
+ test = asset.value_residual
+ purchase_value_board = amount
+ if asset.prorata == 'false' :
+ for i in range(1,undone_dotation_number+1):
+ if i == 1:
+ amount = asset.value_residual / undone_dotation_number
+ test = asset.value_residual - amount
+ #amountpro = ((asset.value_residual / undone_dotation_number
+ else:
+ if asset.method == 'linear':
+ if i == undone_dotation_number+1:
+ # amount = amount - amountpro
+ test = test - amount
+ else:
+ amount = asset.value_residual / undone_dotation_number
+ test = test - amount
+ elif asset.method == "progressif":
+ if i == undone_dotation_number+1:
+ # amount = amount - amountpro
+ test = test - amount
+ else:
+ amount = asset.value_residual * asset.method_progress_factor
+ test = test - amount
+ else:
+ #methods
+ print ""
+
+ else:
+ deprec_date = time.strftime('%Y')
+ for i in range(1,undone_dotation_number+2):
+ date_year = int(time.strftime('%Y'))
+ date_year += i-1
+ deprec_date = '31/12/',str(date_year)
+ if i == 1:
+ amount = ((asset.value_residual / undone_dotation_number)*5)/12
+ test = asset.value_residual - amount
+ amountpro = ((asset.value_residual / undone_dotation_number)*5)/12
+ else:
+ if asset.method == 'linear':
+ if i == undone_dotation_number+1:
+ amount = amount - amountpro
+ test = test - amount
+ else:
+ amount = asset.value_residual / undone_dotation_number
+ test = test - amount
+ elif asset.method == "progressif":
+ if i == undone_dotation_number+1:
+ amount = amount - amountpro
+ test = test - amount
+ else:
+ amount = asset.value_residual * asset.method_progress_factor
+ test = test - amount
+ else:
+ #methods
+ print ""
+
+
+
+ #res[asset.id].append([self.pool.get('account.asset.depreciation.line').create(cr, uid, {'amount': amount, 'asset_id': asset.id, 'sequence':i, 'name': str(asset.id) +'/'+ str(i)})])
+ self.pool.get('account.asset.depreciation.line').create(cr, uid, {'amount': amount,'deprec_value': test,'deprec_date': deprec_date,'purchase_value_board':purchase_value_board, 'asset_id': asset.id, 'sequence':i, 'name': str(asset.id) +'/'+ str(i)})
+ return True
+
+
+
+ def account_move_line_deprec(self, cr, uid, ids, context={}):
+ print "Error !!!"
def validate(self, cr, uid, ids, context={}):
return self.write(cr, uid, ids, {
@@ -135,17 +196,17 @@ class account_asset_asset(osv.osv):
'name': fields.char('Asset', size=64, required=True, select=1),
'code': fields.char('Reference ', size=16, select=1),
- 'purchase_value': fields.float('Purchase value ', required=True, size=16, select=1),
+ 'purchase_value': fields.float('Gross value ', required=True, size=16, select=1),
'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
'company_id': fields.many2one('res.company', 'Company', required=True), #FIXME: fields.many2one !! OK
- 'note': fields.text('Note'),
+ 'note': fields.text(' '),
'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
'localisation': fields.char('Localisation', size=32, select=2),
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True), #FIXME: date is not displayed currently OK
'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'Global state', required=True),
+ 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'state', required=True),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),#FIXME: not displayed OK
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
@@ -168,7 +229,8 @@ class account_asset_asset(osv.osv):
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Si l amortissement se realise après le 1 janvier'),
'history_ids': fields.one2many('account.asset.property.history', 'asset_id', 'History', readonly=True),
- 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
+ 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
+
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
@@ -181,7 +243,11 @@ class account_asset_asset(osv.osv):
'method_time': lambda obj, cr, uid, context: 'delay',
'method_period': lambda obj, cr, uid, context: 12,
'method_progress_factor': lambda obj, cr, uid, context: 0.3,
+ 'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
+
}
+
+
def _compute_period(self, cr, uid, property, context={}):
if (len(property.entry_asset_ids or [])/2)>=property.method_delay:
return False
@@ -274,6 +340,8 @@ class account_asset_depreciation_line(osv.osv):
'sequence': fields.integer('Sequence of the depreciation', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
'amount': fields.float('Depreciation amount', required=True),
+ 'deprec_value': fields.float('Residual value', required=True),
+ 'deprec_date': fields.char('Date', size=64, required=True, select=1),
}
account_asset_depreciation_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 1d7e960770a..cde157f9935 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -42,7 +42,7 @@
-
+
@@ -109,11 +110,11 @@
-
+
-
+
-->
-
-
-
-
-
-
+
+
-
+
+
-
+
+
+
+
+
+
+
+
-
+
@@ -202,7 +208,7 @@
-
+
From 70f4db6f7600bd9ec7facb873f433f7573be8a76 Mon Sep 17 00:00:00 2001
From: OpenERP
Date: Mon, 2 May 2011 02:57:43 -0700
Subject: [PATCH 009/197] [IMP] improve depreciation board
bzr revid: openerp@ubuntu-20110502095743-ido2actqvwgm6b2q
---
addons/account_asset/account_asset.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7d001ea09ac..92fdd2456be 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -81,7 +81,6 @@ class account_asset_asset(osv.osv):
date_year = 1.0
purchase_value_board = 1.0
amountpro = 1.0
- #year_inc = time.strftime('%Y')
for asset in self.browse(cr, uid, ids, context=context):
#res[asset.id] = []
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids) + 1
From 4f4c6bc85076544595a31c114dfe6de7280da8c5 Mon Sep 17 00:00:00 2001
From: OpenERP
Date: Mon, 2 May 2011 07:59:28 -0700
Subject: [PATCH 010/197] [IMP] asset reporting
bzr revid: openerp@ubuntu-20110502145928-0x3fbig2v41g3nqb
---
addons/account/__openerp__.py | 1 +
addons/account/report/__init__.py | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 3b04713a1bb..ea1c0804dba 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -60,6 +60,7 @@ module named account_voucher.
'report/account_invoice_report_view.xml',
'report/account_entries_report_view.xml',
'report/account_report_view.xml',
+ 'report/account_asset_report_view.xml',
'report/account_analytic_entries_report_view.xml',
'wizard/account_move_bank_reconcile_view.xml',
'wizard/account_use_model_view.xml',
diff --git a/addons/account/report/__init__.py b/addons/account/report/__init__.py
index d525d3a331b..df04263823e 100644
--- a/addons/account/report/__init__.py
+++ b/addons/account/report/__init__.py
@@ -41,6 +41,6 @@ import account_entries_report
import account_analytic_entries_report
import account_balance_sheet
import account_profit_loss
-
+import account_asset_report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
From 5670c29c9fda769e090c97978445bf8bf8776bf7 Mon Sep 17 00:00:00 2001
From: OpenERP
Date: Mon, 9 May 2011 02:16:07 -0700
Subject: [PATCH 014/197] [IMP] asset reporting
bzr revid: openerp@ubuntu-20110509091607-hykug1g5vjaskfbf
---
addons/account/report/account_asset_report.py | 25 ++++++++
.../report/account_asset_report_view.xml | 60 +++++++++++++++++++
2 files changed, 85 insertions(+)
create mode 100644 addons/account/report/account_asset_report.py
create mode 100644 addons/account/report/account_asset_report_view.xml
diff --git a/addons/account/report/account_asset_report.py b/addons/account/report/account_asset_report.py
new file mode 100644
index 00000000000..c8e3af013fa
--- /dev/null
+++ b/addons/account/report/account_asset_report.py
@@ -0,0 +1,25 @@
+import tools
+from osv import fields,osv
+
+class asset_asset_report(osv.osv):
+ _name = "asset.asset.report"
+ _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),
+ }
+ 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 )""")
+
+asset_asset_report()
diff --git a/addons/account/report/account_asset_report_view.xml b/addons/account/report/account_asset_report_view.xml
new file mode 100644
index 00000000000..26fc2f1996c
--- /dev/null
+++ b/addons/account/report/account_asset_report_view.xml
@@ -0,0 +1,60 @@
+
+
+
+
+ asset.asset.report.tree
+ asset.asset.report
+ tree
+
+
+
+
+
+
+
+ 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;
+
+
+
+
From 88eee17c3021dd6869ceb720f96443d3cb64eb3e Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 9 May 2011 11:28:55 +0200
Subject: [PATCH 015/197] [FIX] account_asset: wrong place of files
bzr revid: qdp-launchpad@openerp.com-20110509092855-w9lp6dvk0ogymuxy
---
addons/account/__openerp__.py | 1 -
addons/account/report/__init__.py | 1 -
addons/account_asset/__terp__.py | 1 +
addons/account_asset/report/__init__.py | 24 +++++++++++++++++++
.../report/account_asset_report.py | 0
.../report/account_asset_report_view.xml | 0
6 files changed, 25 insertions(+), 2 deletions(-)
create mode 100644 addons/account_asset/report/__init__.py
rename addons/{account => account_asset}/report/account_asset_report.py (100%)
rename addons/{account => account_asset}/report/account_asset_report_view.xml (100%)
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index ea1c0804dba..3b04713a1bb 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -60,7 +60,6 @@ module named account_voucher.
'report/account_invoice_report_view.xml',
'report/account_entries_report_view.xml',
'report/account_report_view.xml',
- 'report/account_asset_report_view.xml',
'report/account_analytic_entries_report_view.xml',
'wizard/account_move_bank_reconcile_view.xml',
'wizard/account_use_model_view.xml',
diff --git a/addons/account/report/__init__.py b/addons/account/report/__init__.py
index df04263823e..9687d9eaaec 100644
--- a/addons/account/report/__init__.py
+++ b/addons/account/report/__init__.py
@@ -41,6 +41,5 @@ import account_entries_report
import account_analytic_entries_report
import account_balance_sheet
import account_profit_loss
-import account_asset_report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/__terp__.py b/addons/account_asset/__terp__.py
index b8c3fd8b0f7..4072ef1e566 100755
--- a/addons/account_asset/__terp__.py
+++ b/addons/account_asset/__terp__.py
@@ -42,6 +42,7 @@
"account_asset_view.xml",
"account_asset_invoice_view.xml",
"account_asset_report_view.xml",
+ "report/account_asset_report.xml",
#modif
],
# "translations" : {
diff --git a/addons/account_asset/report/__init__.py b/addons/account_asset/report/__init__.py
new file mode 100644
index 00000000000..1a8d2cf459b
--- /dev/null
+++ b/addons/account_asset/report/__init__.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 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 account_asset_report
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
similarity index 100%
rename from addons/account/report/account_asset_report.py
rename to addons/account_asset/report/account_asset_report.py
diff --git a/addons/account/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml
similarity index 100%
rename from addons/account/report/account_asset_report_view.xml
rename to addons/account_asset/report/account_asset_report_view.xml
From a9398e65e1bef442e0723f208bb7e1ece451b5d6 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 9 May 2011 11:51:57 +0200
Subject: [PATCH 016/197] [FIX] account_asset: fixed wrong path + renamed terp
file into __openerp__.py
bzr revid: qdp-launchpad@openerp.com-20110509095157-2ofdiesw1gna2m75
---
addons/account_asset/__init__.py | 1 +
addons/account_asset/{__terp__.py => __openerp__.py} | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
rename addons/account_asset/{__terp__.py => __openerp__.py} (97%)
diff --git a/addons/account_asset/__init__.py b/addons/account_asset/__init__.py
index b992a9da34d..f0a280811e0 100755
--- a/addons/account_asset/__init__.py
+++ b/addons/account_asset/__init__.py
@@ -22,5 +22,6 @@
import account_asset
import account_asset_invoice
import wizard
+import report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/__terp__.py b/addons/account_asset/__openerp__.py
similarity index 97%
rename from addons/account_asset/__terp__.py
rename to addons/account_asset/__openerp__.py
index 4072ef1e566..be631a91e45 100755
--- a/addons/account_asset/__terp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -42,7 +42,7 @@
"account_asset_view.xml",
"account_asset_invoice_view.xml",
"account_asset_report_view.xml",
- "report/account_asset_report.xml",
+ "report/account_asset_report_view.xml",
#modif
],
# "translations" : {
From d23b4a8cc1cf9f7b53f40952b4d988244d4bea44 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 9 May 2011 12:27:17 +0200
Subject: [PATCH 017/197] [IMP] account_asset: added few fields on asset and
asset category objects
bzr revid: qdp-launchpad@openerp.com-20110509102717-vocunuvjcuvvxoz7
---
addons/account_asset/account_asset.py | 28 ++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 92fdd2456be..8e0f68832e1 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -30,8 +30,11 @@ class account_asset_category(osv.osv):
#'code': fields.char('Reference', size=16, select=1),
'note': fields.text('Note'),
#'type': fields.selection([('direct','Direct'),('indirect','Indirect')], 'Depr. method type', select=2, required=True),
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company'),
}
@@ -188,29 +191,32 @@ class account_asset_asset(osv.osv):
_columns = {
#test
- 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1),
+# 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1),
+ #analytic fields
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),#FIXME: do not display if not in group analytic accounting OK
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),#FIXME: do not display if not in group analytic accounting OK
+ #accounting fields
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
- 'account_actif_id': fields.many2one('account.account', 'Depreciation account', required=True),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
+ 'account_depreciation_id': fields.many2one('account.account', 'Depreciation account', required=True),
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense account', required=True),
+ 'journal_id': fields.many2one('account.journal', 'Depreciation Entries Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'period_id': fields.many2one('account.period', 'First Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
'name': fields.char('Asset', size=64, required=True, select=1),
'code': fields.char('Reference ', size=16, select=1),
'purchase_value': fields.float('Gross value ', required=True, size=16, select=1),
'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
- 'company_id': fields.many2one('res.company', 'Company', required=True), #FIXME: fields.many2one !! OK
- 'note': fields.text(' '),
+ 'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'note': fields.text('Note'),
'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
'localisation': fields.char('Localisation', size=32, select=2),
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
- 'purchase_date': fields.date('Purchase Date', required=True), #FIXME: date is not displayed currently OK
- 'period_id': fields.many2one('account.period', 'Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'purchase_date': fields.date('Purchase Date', required=True),
'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'state', required=True),
'active': fields.boolean('Active', select=2),
- 'partner_id': fields.many2one('res.partner', 'Partner'),#FIXME: not displayed OK
- 'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),#FIXME: do not display if not in group analytic accounting OK
- 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),#FIXME: do not display if not in group analytic accounting OK
+ 'partner_id': fields.many2one('res.partner', 'Partner'),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label OK
From 0c5726e9fa4f1c6c09c0d764f7b5646096e33e10 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 9 May 2011 13:26:11 +0200
Subject: [PATCH 018/197] [FIX] account_asset: temporal fix. That field should
probably be removed sooner or later
bzr revid: qdp-launchpad@openerp.com-20110509112611-03s633tff6z667l4
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8e0f68832e1..9fd4198c7a0 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -191,7 +191,7 @@ class account_asset_asset(osv.osv):
_columns = {
#test
-# 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1),
+ 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1), #TODO: remove this ?
#analytic fields
'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),#FIXME: do not display if not in group analytic accounting OK
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),#FIXME: do not display if not in group analytic accounting OK
From a843a9e91a5b8ee5951f653b24ea40562792dc53 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 9 May 2011 16:28:18 +0200
Subject: [PATCH 019/197] [FIX] account_asset: fixed the access rights that
were pointing a removed object
bzr revid: qdp-launchpad@openerp.com-20110509142818-kzc3yfaj37mo2gt8
---
addons/account_asset/security/ir.model.access.csv | 2 --
1 file changed, 2 deletions(-)
diff --git a/addons/account_asset/security/ir.model.access.csv b/addons/account_asset/security/ir.model.access.csv
index 1adc3f47351..3c720c22d3c 100755
--- a/addons/account_asset/security/ir.model.access.csv
+++ b/addons/account_asset/security/ir.model.access.csv
@@ -1,11 +1,9 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_account_asset_category","account.asset.category","model_account_asset_category","account.group_account_user",1,0,0,0
"access_account_asset_asset","account.asset.asset","model_account_asset_asset","account.group_account_user",1,0,0,0
-"access_account_asset_property","account.asset.property","model_account_asset_property","account.group_account_user",1,0,0,0
"access_account_asset_property_history","account.asset.property.history","model_account_asset_property_history","account.group_account_user",1,0,0,0
"access_account_asset_board","account.asset.board","model_account_asset_board","account.group_account_user",1,0,0,0
"access_account_asset_category_manager","account.asset.category","model_account_asset_category","account.group_account_manager",1,1,1,1
"access_account_asset_asset_manager","account.asset.asset","model_account_asset_asset","account.group_account_manager",1,1,1,1
-"access_account_asset_property_manager","account.asset.property","model_account_asset_property","account.group_account_manager",1,1,1,1
"access_account_asset_property_history_manager","account.asset.property.history","model_account_asset_property_history","account.group_account_manager",1,1,1,1
"access_account_asset_board_manager","account.asset.board","model_account_asset_board","account.group_account_manager",1,1,1,1
From d24f73632dd372d77b44888797263dedae1a49ba Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 9 May 2011 16:29:15 +0200
Subject: [PATCH 020/197] [FIX] account_asset: fixed the computation board and
overal cleaning
bzr revid: qdp-launchpad@openerp.com-20110509142915-narvxt21rx2du38z
---
addons/account_asset/account_asset.py | 180 +++++++-------------
addons/account_asset/account_asset_view.xml | 16 +-
2 files changed, 77 insertions(+), 119 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 9fd4198c7a0..6d09d397a93 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -21,7 +21,8 @@
from osv import osv, fields
import time
-import datetime
+from datetime import datetime
+
class account_asset_category(osv.osv):
_name = 'account.asset.category'
_description = 'Asset category'
@@ -34,7 +35,7 @@ class account_asset_category(osv.osv):
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
- 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account',),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company'),
}
@@ -78,79 +79,54 @@ class account_asset_asset(osv.osv):
else:
return False
##
+ def _get_last_depreciation_date(self, cr, uid, ids, context=None):
+ """
+ @param id: ids of a account.asset.asset objects
+ @return: Returns a dictionary of the effective dates of the last depreciation entry made for given asset ids. If there isn't any, return the purchase date of this asset
+ """
+ cr.execute("""
+ SELECT a.id as id, COALESCE(MAX(l.date),a.purchase_date) AS date
+ FROM account_asset_asset a
+ LEFT JOIN account_move_line l ON (l.asset_id = a.id)
+ WHERE a.id IN %s
+ GROUP BY a.id, a.purchase_date """, (tuple(ids),))
+ return dict(cr.fetchall())
+
def compute_depreciation_board(self, cr, uid,ids, context=None):
- #FIXME: change into a fields.function
- test = 1.0
- date_year = 1.0
- purchase_value_board = 1.0
- amountpro = 1.0
+ depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
- #res[asset.id] = []
- undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids) + 1
- amount = asset.value_residual
- test = asset.value_residual
- purchase_value_board = amount
- if asset.prorata == 'false' :
- for i in range(1,undone_dotation_number+1):
- if i == 1:
- amount = asset.value_residual / undone_dotation_number
- test = asset.value_residual - amount
- #amountpro = ((asset.value_residual / undone_dotation_number
- else:
- if asset.method == 'linear':
- if i == undone_dotation_number+1:
- # amount = amount - amountpro
- test = test - amount
- else:
- amount = asset.value_residual / undone_dotation_number
- test = test - amount
- elif asset.method == "progressif":
- if i == undone_dotation_number+1:
- # amount = amount - amountpro
- test = test - amount
- else:
- amount = asset.value_residual * asset.method_progress_factor
- test = test - amount
- else:
- #methods
- print ""
-
- else:
- deprec_date = time.strftime('%Y')
- for i in range(1,undone_dotation_number+2):
- date_year = int(time.strftime('%Y'))
- date_year += i-1
- deprec_date = '31/12/',str(date_year)
- if i == 1:
- amount = ((asset.value_residual / undone_dotation_number)*5)/12
- test = asset.value_residual - amount
- amountpro = ((asset.value_residual / undone_dotation_number)*5)/12
- else:
- if asset.method == 'linear':
- if i == undone_dotation_number+1:
- amount = amount - amountpro
- test = test - amount
- else:
- amount = asset.value_residual / undone_dotation_number
- test = test - amount
- elif asset.method == "progressif":
- if i == undone_dotation_number+1:
- amount = amount - amountpro
- test = test - amount
- else:
- amount = asset.value_residual * asset.method_progress_factor
- test = test - amount
- else:
- #methods
- print ""
-
-
-
- #res[asset.id].append([self.pool.get('account.asset.depreciation.line').create(cr, uid, {'amount': amount, 'asset_id': asset.id, 'sequence':i, 'name': str(asset.id) +'/'+ str(i)})])
- self.pool.get('account.asset.depreciation.line').create(cr, uid, {'amount': amount,'deprec_value': test,'deprec_date': deprec_date,'purchase_value_board':purchase_value_board, 'asset_id': asset.id, 'sequence':i, 'name': str(asset.id) +'/'+ str(i)})
- return True
-
+ old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_line_id', '=', False)])
+ if old_depreciation_line_ids:
+ depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
+ undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
+ residual_amount = asset.value_residual
+ depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
+ day = depreciation_date.day
+ month = depreciation_date.month
+ year = depreciation_date.year
+ for i in range(1,undone_dotation_number+1):
+ if i == undone_dotation_number + 1:
+ amount = residual_amount
+ else:
+ if asset.method == 'linear':
+ amount = asset.purchase_value / undone_dotation_number
+ else:
+ amount = residual_amount * asset.method_progress_factor
+ residual_amount -= amount
+ vals = {
+ 'amount': amount,
+ 'asset_id': asset.id,
+ 'sequence':i,
+ 'name': str(asset.id) +'/'+ str(i),
+ 'remaining_value': residual_amount,
+ 'depreciated_value': asset.purchase_value - residual_amount,
+ 'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
+ }
+ self.pool.get('account.asset.depreciation.line').create(cr, uid, vals)
+ month += asset.method_period
+ depreciation_date = datetime(year + (month / 12), month % 12, day)
+ return True
def account_move_line_deprec(self, cr, uid, ids, context={}):
print "Error !!!"
@@ -172,34 +148,28 @@ class account_asset_asset(osv.osv):
return res
def _amount_residual(self, cr, uid, ids, name, args, context={}):
- #FIXME: function not working OK
- id_set=",".join(map(str,ids))
cr.execute("""SELECT
- r.asset_property_id,SUM(abs(l.debit-l.credit)) AS amount
+ l.asset_id as id, SUM(abs(l.debit-l.credit)) AS amount
FROM
- account_move_asset_entry_rel r
- LEFT JOIN
- account_move_line l on (r.move_id=l.id)
+ account_move_line l
WHERE
- r.asset_property_id IN ("""+id_set+") GROUP BY r.asset_property_id ")
+ l.asset_id IN %s GROUP BY l.asset_id """, (tuple(ids),))
res=dict(cr.fetchall())
- for prop in self.browse(cr, uid, ids, context):
- res[prop.id] = prop.value_total - res.get(prop.id, 0.0)
+ for asset in self.browse(cr, uid, ids, context):
+ res[asset.id] = asset.purchase_value - res.get(asset.id, 0.0)
for id in ids:
res.setdefault(id, 0.0)
return res
_columns = {
- #test
- 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1), #TODO: remove this ?
#analytic fields
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),#FIXME: do not display if not in group analytic accounting OK
- 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),#FIXME: do not display if not in group analytic accounting OK
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
#accounting fields
- 'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
- 'account_depreciation_id': fields.many2one('account.account', 'Depreciation account', required=True),
- 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense account', required=True),
- 'journal_id': fields.many2one('account.journal', 'Depreciation Entries Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'account_asset_id': fields.many2one('account.account', 'Asset Account', ),
+ 'account_depreciation_id': fields.many2one('account.account', 'Depreciation account', ),
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense account', ),
+ 'journal_id': fields.many2one('account.journal', 'Depreciation Entries Journal', readonly=True, states={'draft':[('readonly',False)]}),
'period_id': fields.many2one('account.period', 'First Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
@@ -219,16 +189,10 @@ class account_asset_asset(osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner'),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label OK
- 'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}), #FIXME: improve label OK
+ 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
-#he
- 'entry_asset_ids': fields.many2many('account.move.line', 'account_move_asset_entry_rel', 'asset_property_id', 'move_id', 'Asset Entries'),
-# 'board_ids': fields.one2many('account.asset.board', 'asset_id', 'Asset board'),
-#
'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Gross Value'),
-#he
- 'property_ids': fields.one2many('account.asset.asset', 'asset_id', 'Asset method name', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
@@ -344,9 +308,11 @@ class account_asset_depreciation_line(osv.osv):
'name': fields.char('Depreciation Name', size=64, required=True, select=1),
'sequence': fields.integer('Sequence of the depreciation', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
- 'amount': fields.float('Depreciation amount', required=True),
- 'deprec_value': fields.float('Residual value', required=True),
- 'deprec_date': fields.char('Date', size=64, required=True, select=1),
+ 'amount': fields.float('Depreciation Amount', required=True),
+ 'remaining_value': fields.float('Amount to Depreciate', required=True),
+ 'depreciated_value': fields.float('Amount Already Depreciated', required=True),
+ 'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
+ 'move_line_id': fields.many2one('account.move.line', 'Depreciation Entry'),
}
account_asset_depreciation_line()
@@ -428,20 +394,6 @@ class account_move_line(osv.osv):
}
account_move_line()
-
-
-
-class account_pre(osv.osv):
- _name = 'account.pre'
- _columns = {
- 'name': fields.char('Test',size=64, select=1),
- 'asset_id': fields.many2one('account.asset.asset','Asset'),
- # 'test': fields.one2many('account.pre','asset_id','test', readonly=True,states={'draft':[('readonly',False)]}),
- }
-account_pre()
-
-
-
class account_asset_property_history(osv.osv):
_name = 'account.asset.property.history'
_description = 'Asset history'
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index cde157f9935..1760beed6c9 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -131,13 +131,19 @@
-
+
-
-
-
+
+
-
+
+
+
+
+
+
+
+
From 4909a6a21e4313d50abd36b2d910edbba32f01e8 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 10 May 2011 14:11:09 +0200
Subject: [PATCH 021/197] [IMP] account_asset: few cleaning
bzr revid: qdp-launchpad@openerp.com-20110510121109-adlznt9ypk1y5y50
---
addons/account_asset/account_asset.py | 23 +++++----------------
addons/account_asset/account_asset_view.xml | 12 +++++------
2 files changed, 11 insertions(+), 24 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 6d09d397a93..c49d5171bda 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -28,14 +28,12 @@ class account_asset_category(osv.osv):
_description = 'Asset category'
_columns = {
'name': fields.char('Asset category', size=64, required=True, select=1),
- #'code': fields.char('Reference', size=16, select=1),
'note': fields.text('Note'),
- #'type': fields.selection([('direct','Direct'),('indirect','Indirect')], 'Depr. method type', select=2, required=True),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
- 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'), #FIXME:add in the form view with group = analytic
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'), #FIXME:add in the form view with group = analytic
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
- 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account',),
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account',),#FIXME: required=True + add in the form view
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company'),
}
@@ -62,23 +60,13 @@ class account_asset_asset(osv.osv):
_name = 'account.asset.asset'
_description = 'Asset'
-# def _balance(self, cr, uid, ids, field_name, arg, context={}):
-# acc_set = ",".join(map(str, ids))
-# query = self.pool.get('account.move.line')._query_get(cr, uid, context=context)
-# cr.execute(("SELECT a.id, COALESCE(SUM((l.debit-l.credit)),0) FROM account_asset_asset a LEFT JOIN account_move_line l ON (a.id=l.asset_account_id) WHERE a.id IN (%s) and "+query+" GROUP BY a.id") % (acc_set,))
-# res = {}
-# for account_id, sum in cr.fetchall():
-# res[account_id] = round(sum,2)
-# for id in ids:
-# res[id] = round(res.get(id,0.0), 2)
-# return res
def _get_period(self, cr, uid, context={}):
periods = self.pool.get('account.period').find(cr, uid)
if periods:
return periods[0]
else:
return False
-##
+
def _get_last_depreciation_date(self, cr, uid, ids, context=None):
"""
@param id: ids of a account.asset.asset objects
@@ -197,7 +185,7 @@ class account_asset_asset(osv.osv):
'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Si l amortissement se realise après le 1 janvier'),
- 'history_ids': fields.one2many('account.asset.property.history', 'asset_id', 'History', readonly=True),
+ 'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
}
@@ -213,7 +201,6 @@ class account_asset_asset(osv.osv):
'method_period': lambda obj, cr, uid, context: 12,
'method_progress_factor': lambda obj, cr, uid, context: 0.3,
'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
-
}
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 1760beed6c9..6c0206f27f1 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -168,9 +168,9 @@
-
- account.asset.property.history.form
- account.asset.property.history
+
+ account.asset.history.form
+ account.asset.history
form
@@ -186,9 +186,9 @@
-
- account.asset.property.history.tree
- account.asset.property.history
+
+ account.asset.history.tree
+ account.asset.history
tree
From 31a3328c26049e99b9cbf361533f4f1429e01e11 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 10 May 2011 20:36:06 +0200
Subject: [PATCH 022/197] [REF] account_asset: cleaning. The accounting
information are located on the asset categoryw
bzr revid: qdp-launchpad@openerp.com-20110510183606-2n98pf9ebkqhg1vg
---
addons/account_asset/account_asset.py | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c49d5171bda..298edbfa5ec 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -116,9 +116,6 @@ class account_asset_asset(osv.osv):
depreciation_date = datetime(year + (month / 12), month % 12, day)
return True
- def account_move_line_deprec(self, cr, uid, ids, context={}):
- print "Error !!!"
-
def validate(self, cr, uid, ids, context={}):
return self.write(cr, uid, ids, {
'state':'normal'
@@ -150,14 +147,6 @@ class account_asset_asset(osv.osv):
return res
_columns = {
- #analytic fields
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
- 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
- #accounting fields
- 'account_asset_id': fields.many2one('account.account', 'Asset Account', ),
- 'account_depreciation_id': fields.many2one('account.account', 'Depreciation account', ),
- 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense account', ),
- 'journal_id': fields.many2one('account.journal', 'Depreciation Entries Journal', readonly=True, states={'draft':[('readonly',False)]}),
'period_id': fields.many2one('account.period', 'First Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
@@ -187,7 +176,6 @@ class account_asset_asset(osv.osv):
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Si l amortissement se realise après le 1 janvier'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
-
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
From df0e12b8429da2098e7d8a8a377a62af637f9585 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 10 May 2011 20:52:09 +0200
Subject: [PATCH 023/197] [REF] account_asset: cleaning
bzr revid: qdp-launchpad@openerp.com-20110510185209-cg78yzznrk5h59nd
---
addons/account_asset/account_asset_view.xml | 227 +++++++-------------
1 file changed, 79 insertions(+), 148 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 6c0206f27f1..6ba615c60f5 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -9,19 +9,21 @@
form
-
+
-
-
+
+
+
+
+
+
-
-
@@ -33,139 +35,83 @@
-
-
-
-
-
-
account.asset.asset.form
account.asset.asset
form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -202,10 +148,6 @@
-
-
-
-
account.asset.board.form
account.asset.board
@@ -214,14 +156,15 @@
-
+
-
+
+
account.asset.board.tree
account.asset.board
@@ -234,7 +177,7 @@
-
+
@@ -255,12 +198,12 @@
-
-
+
Asset
account.asset.asset
form
+
+
-
-
-
Assets
@@ -288,21 +229,11 @@
form
tree,form
+
-
-
-
-
-
-
-
-
-
-
-
From 4e2c4da00ce233972acbadf227a54fa111f8dfb2 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Tue, 10 May 2011 20:59:04 +0200
Subject: [PATCH 024/197] [REF] account_asset: cleaning
bzr revid: qdp-launchpad@openerp.com-20110510185904-c4185vsvkqhb01wr
---
addons/account_asset/account_asset.py | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 298edbfa5ec..4d4af3a03f9 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -369,8 +369,8 @@ class account_move_line(osv.osv):
}
account_move_line()
-class account_asset_property_history(osv.osv):
- _name = 'account.asset.property.history'
+class account_asset_history(osv.osv):
+ _name = 'account.asset.history'
_description = 'Asset history'
_columns = {
'name': fields.char('History name', size=64, select=1),
@@ -386,8 +386,7 @@ class account_asset_property_history(osv.osv):
'date': lambda *args: time.strftime('%Y-%m-%d'),
'user_id': lambda self,cr, uid,ctx: uid
}
-account_asset_property_history()
-
+account_asset_history()
class account_asset_board(osv.osv):
_name = 'account.asset.board'
@@ -421,4 +420,3 @@ class account_asset_board(osv.osv):
account_asset_board()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
From 7392d3fe61d9b260b2be969f110ceb6bad84ae3d Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Wed, 11 May 2011 08:47:44 +0200
Subject: [PATCH 025/197] [REF] account_asset: replaced tabs with 4 spaces
bzr revid: qdp-launchpad@openerp.com-20110511064744-koybtupmjlccstok
---
addons/account_asset/account_asset.py | 41 +++++++++++++--------------
1 file changed, 20 insertions(+), 21 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4d4af3a03f9..63cfe638d0d 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -152,9 +152,9 @@ class account_asset_asset(osv.osv):
'name': fields.char('Asset', size=64, required=True, select=1),
'code': fields.char('Reference ', size=16, select=1),
- 'purchase_value': fields.float('Gross value ', required=True, size=16, select=1),
- 'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
- 'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'purchase_value': fields.float('Gross value ', required=True, size=16, select=1),
+ 'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
+ 'company_id': fields.many2one('res.company', 'Company', required=True),
'note': fields.text('Note'),
'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
'localisation': fields.char('Localisation', size=32, select=2),
@@ -173,9 +173,9 @@ class account_asset_asset(osv.osv):
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Si l amortissement se realise après le 1 janvier'),
+ 'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
- 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
+ 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
@@ -183,12 +183,12 @@ class account_asset_asset(osv.osv):
'active': lambda obj, cr, uid, context: True,
'state': lambda obj, cr, uid, context: 'draft',
'period_id': _get_period,
- 'method': lambda obj, cr, uid, context: 'linear',
- 'method_delay': lambda obj, cr, uid, context: 5,
- 'method_time': lambda obj, cr, uid, context: 'delay',
- 'method_period': lambda obj, cr, uid, context: 12,
- 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
- 'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
+ 'method': lambda obj, cr, uid, context: 'linear',
+ 'method_delay': lambda obj, cr, uid, context: 5,
+ 'method_time': lambda obj, cr, uid, context: 'delay',
+ 'method_period': lambda obj, cr, uid, context: 12,
+ 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
+ 'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
}
@@ -210,7 +210,6 @@ class account_asset_asset(osv.osv):
for move in property.asset_id.entry_ids:
total += move.debit-move.credit
for move in property.entry_asset_ids:
- #he s
if move.account_id == property.account_asset_ids:
total += move.debit
total += -move.credit
@@ -255,7 +254,7 @@ class account_asset_asset(osv.osv):
'partner_id': property.asset_id.partner_id.id,
'date': time.strftime('%Y-%m-%d'),
})
- #
+ #
self.pool.get('account.asset.asset').write(cr, uid, [property.id], {
'entry_asset_ids': [(4, id2, False),(4,id,False)]
})
@@ -284,9 +283,9 @@ class account_asset_depreciation_line(osv.osv):
'sequence': fields.integer('Sequence of the depreciation', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
'amount': fields.float('Depreciation Amount', required=True),
- 'remaining_value': fields.float('Amount to Depreciate', required=True),
- 'depreciated_value': fields.float('Amount Already Depreciated', required=True),
- 'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
+ 'remaining_value': fields.float('Amount to Depreciate', required=True),
+ 'depreciated_value': fields.float('Amount Already Depreciated', required=True),
+ 'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
'move_line_id': fields.many2one('account.move.line', 'Depreciation Entry'),
}
account_asset_depreciation_line()
@@ -336,16 +335,16 @@ account_asset_depreciation_line()
# 'method_end': fields.date('Ending date'),
#
# 'date': fields.date('Date created'),
-# #'test': fields.one2many('account.pre', 'asset_id', readonly=True, states={'draft':[('readonly',False)]}),
+# #'test': fields.one2many('account.pre', 'asset_id', readonly=True, states={'draft':[('readonly',False)]}),
# 'entry_asset_ids': fields.many2many('account.move.line', 'account_move_asset_entry_rel', 'asset_property_id', 'move_id', 'Asset Entries'),
# 'board_ids': fields.one2many('account.asset.board', 'asset_id', 'Asset board'),
#
# 'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Gross value'),
# 'state': fields.selection([('draft','Draft'), ('open','Open'), ('close','Close')], 'State', required=True),
# 'history_ids': fields.one2many('account.asset.property.history', 'asset_property_id', 'History', readonly=True)
-## 'parent_id': fields.many2one('account.asset.asset', 'Parent asset'),
-## 'partner_id': fields.many2one('res.partner', 'Partner'),
-## 'note': fields.text('Note'),
+## 'parent_id': fields.many2one('account.asset.asset', 'Parent asset'),
+## 'partner_id': fields.many2one('res.partner', 'Partner'),
+## 'note': fields.text('Note'),
#
# }
# _defaults = {
@@ -364,7 +363,7 @@ class account_move_line(osv.osv):
_inherit = 'account.move.line'
_columns = {
'asset_id': fields.many2one('account.asset.asset', 'Asset'),
- 'entry_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
+ 'entry_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
}
account_move_line()
From 747f7a12c6b393822ee90f744310f5a9fc27f05e Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Wed, 11 May 2011 08:48:11 +0200
Subject: [PATCH 026/197] [FIX] account_asset: fixed wrong reference in
ir.model.access.csv
bzr revid: qdp-launchpad@openerp.com-20110511064811-j2ekuc72jzfma123
---
addons/account_asset/security/ir.model.access.csv | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/security/ir.model.access.csv b/addons/account_asset/security/ir.model.access.csv
index 3c720c22d3c..ee1f27bc68f 100755
--- a/addons/account_asset/security/ir.model.access.csv
+++ b/addons/account_asset/security/ir.model.access.csv
@@ -1,9 +1,9 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_account_asset_category","account.asset.category","model_account_asset_category","account.group_account_user",1,0,0,0
"access_account_asset_asset","account.asset.asset","model_account_asset_asset","account.group_account_user",1,0,0,0
-"access_account_asset_property_history","account.asset.property.history","model_account_asset_property_history","account.group_account_user",1,0,0,0
+"access_account_asset_history","account.asset.history","model_account_asset_history","account.group_account_user",1,0,0,0
"access_account_asset_board","account.asset.board","model_account_asset_board","account.group_account_user",1,0,0,0
"access_account_asset_category_manager","account.asset.category","model_account_asset_category","account.group_account_manager",1,1,1,1
"access_account_asset_asset_manager","account.asset.asset","model_account_asset_asset","account.group_account_manager",1,1,1,1
-"access_account_asset_property_history_manager","account.asset.property.history","model_account_asset_property_history","account.group_account_manager",1,1,1,1
+"access_account_asset_history_manager","account.asset.history","model_account_asset_history","account.group_account_manager",1,1,1,1
"access_account_asset_board_manager","account.asset.board","model_account_asset_board","account.group_account_manager",1,1,1,1
From 1cfe3c616daee61a0f4c4a32b9a666cfe7546153 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 11:05:37 +0530
Subject: [PATCH 027/197] [IMP] account_asset: Added new button for create move
bzr revid: pso@tinyerp.com-20110512053537-ga219schjcqd6roi
---
addons/account_asset/account_asset_view.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 6ba615c60f5..ab9f9ff3a3c 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -88,6 +88,8 @@
+
+
From 2122578d2951d44b9fc0f34e6485cec98e80cb07 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 14:18:45 +0530
Subject: [PATCH 028/197] [IMP] account_asset: Added new boolean type function
field to check the presence of move line
bzr revid: pso@tinyerp.com-20110512084845-f8icjlewvh9vz7sv
---
addons/account_asset/account_asset.py | 9 +++++++++
addons/account_asset/account_asset_view.xml | 1 +
2 files changed, 10 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 63cfe638d0d..d5bb7a8ceeb 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -278,6 +278,14 @@ account_asset_asset()
class account_asset_depreciation_line(osv.osv):
_name = 'account.asset.depreciation.line'
_description = 'Asset depreciation line'
+
+
+ def get_move_line(self, cr, uid, ids, name, args, context={}):
+ res = {}
+ for line in self.browse(cr, uid, ids, context=context):
+ res[line.id] = line.move_id and True or False
+ return res
+
_columns = {
'name': fields.char('Depreciation Name', size=64, required=True, select=1),
'sequence': fields.integer('Sequence of the depreciation', required=True),
@@ -287,6 +295,7 @@ class account_asset_depreciation_line(osv.osv):
'depreciated_value': fields.float('Amount Already Depreciated', required=True),
'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
'move_line_id': fields.many2one('account.move.line', 'Depreciation Entry'),
+ 'move_line_present': fields.function(get_move_line, method=True, type='boolean', string='Move Line Present', store=True)
}
account_asset_depreciation_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 6ba615c60f5..46927554e1b 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -88,6 +88,7 @@
+
From ba7b9326d752a7190ebe1c0d63ea39b41bb58c6c Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 14:51:24 +0530
Subject: [PATCH 029/197] [IMP] account_asset: Removed blank line
bzr revid: pso@tinyerp.com-20110512092124-vmf9mebs1h7wj7he
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index d5bb7a8ceeb..d449c240969 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -279,7 +279,6 @@ class account_asset_depreciation_line(osv.osv):
_name = 'account.asset.depreciation.line'
_description = 'Asset depreciation line'
-
def get_move_line(self, cr, uid, ids, name, args, context={}):
res = {}
for line in self.browse(cr, uid, ids, context=context):
@@ -297,6 +296,7 @@ class account_asset_depreciation_line(osv.osv):
'move_line_id': fields.many2one('account.move.line', 'Depreciation Entry'),
'move_line_present': fields.function(get_move_line, method=True, type='boolean', string='Move Line Present', store=True)
}
+
account_asset_depreciation_line()
#class account_asset_property(osv.osv):
From f63d14faeaec9abe1415711204caf53f43cb956c Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 15:22:37 +0530
Subject: [PATCH 030/197] [IMP] account_asset: Added new button for creating
move
bzr revid: pso@tinyerp.com-20110512095237-xzg63l6brk5o3t1f
---
addons/account_asset/account_asset.py | 47 ++++++++++++++++++++-
addons/account_asset/account_asset_view.xml | 4 +-
2 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 63cfe638d0d..e14076000f7 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -286,8 +286,53 @@ class account_asset_depreciation_line(osv.osv):
'remaining_value': fields.float('Amount to Depreciate', required=True),
'depreciated_value': fields.float('Amount Already Depreciated', required=True),
'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
- 'move_line_id': fields.many2one('account.move.line', 'Depreciation Entry'),
+ 'move_id': fields.many2one('account.move', 'Depreciation Entry'),
}
+
+ def create_move(self, cr, uid,ids, context=None):
+ asset_obj = self.pool.get('account.asset.asset')
+ period_obj = self.pool.get('account.period')
+ move_obj = self.pool.get('account.move')
+ move_line_obj = self.pool.get('account.move.line')
+ for line in self.browse(cr, uid, ids, context=context):
+ depreciation_date = asset_obj._get_last_depreciation_date(cr, uid, [line.asset_id.id], context=context)[line.asset_id.id]
+ period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
+ move_vals = {
+ 'name': line.name,
+ 'date': depreciation_date,
+ 'period_id': period_ids and period_ids[0] or False,
+ 'journal_id': line.asset_id.category_id.journal_id.id,
+ }
+ move_id = move_obj.create(cr, uid, move_vals, context=context)
+ move_line_obj.create(cr, uid, {
+ 'name': line.name,
+ 'move_id': move_id,
+ 'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
+ 'debit': 0.0,
+ 'credit': line.amount,
+ 'period_id': period_ids and period_ids[0] or False,
+ 'journal_id': line.asset_id.category_id.journal_id.id,
+ 'partner_id': line.asset_id.partner_id.id,
+ 'currency_id': line.asset_id.currency_id.id,
+ 'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
+ 'date': depreciation_date,
+ })
+ move_line_obj.create(cr, uid, {
+ 'name': line.name,
+ 'move_id': move_id,
+ 'account_id': line.asset_id.category_id.account_depreciation_id.id,
+ 'credit': 0.0,
+ 'debit': line.amount,
+ 'period_id': period_ids and period_ids[0] or False,
+ 'journal_id': line.asset_id.category_id.journal_id.id,
+ 'partner_id': line.asset_id.partner_id.id,
+ 'currency_id': line.asset_id.currency_id.id,
+ 'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
+ 'date': depreciation_date,
+ })
+ self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
+ return True
+
account_asset_depreciation_line()
#class account_asset_property(osv.osv):
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index ab9f9ff3a3c..2e64ecc464b 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -88,8 +88,8 @@
-
-
+
+
From 99afaa1db9506681c60d659f8416a80154019ec7 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 15:30:23 +0530
Subject: [PATCH 031/197] [IMP] account_asset: Improved button icon
bzr revid: pso@tinyerp.com-20110512100023-vf08c1fzvwgtprdw
---
addons/account_asset/account_asset_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 2e64ecc464b..0112dc89d67 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -89,7 +89,7 @@
-
+
From f51b4b8a0f6bd10afadfec8418f0d09f6ae9c5a4 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 15:42:08 +0530
Subject: [PATCH 032/197] [IMP] account_asset: Small changes
bzr revid: pso@tinyerp.com-20110512101208-x81zewy4h71j3aok
---
addons/account_asset/account_asset.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index e14076000f7..f5759ce4dfe 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -29,11 +29,11 @@ class account_asset_category(osv.osv):
_columns = {
'name': fields.char('Asset category', size=64, required=True, select=1),
'note': fields.text('Note'),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'), #FIXME:add in the form view with group = analytic
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'), #FIXME:add in the form view with group = analytic
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'), #FIXME:add in the form view with group = analytic
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
- 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account',),#FIXME: required=True + add in the form view
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),#FIXME: required=True + add in the form view
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company'),
}
@@ -76,14 +76,14 @@ class account_asset_asset(osv.osv):
SELECT a.id as id, COALESCE(MAX(l.date),a.purchase_date) AS date
FROM account_asset_asset a
LEFT JOIN account_move_line l ON (l.asset_id = a.id)
- WHERE a.id IN %s
+ WHERE a.id IN %s
GROUP BY a.id, a.purchase_date """, (tuple(ids),))
return dict(cr.fetchall())
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
- old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_line_id', '=', False)])
+ old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
From ca431c8f6847b086b36d62c536e844830b77f091 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 16:53:50 +0530
Subject: [PATCH 033/197] [IMP] account_asset: Improved create_move method
bzr revid: pso@tinyerp.com-20110512112350-1mqjopaoewcuc1m0
---
addons/account_asset/account_asset.py | 9 ++++++---
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index f5759ce4dfe..652816de57e 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -33,7 +33,7 @@ class account_asset_category(osv.osv):
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'), #FIXME:add in the form view with group = analytic
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
- 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),#FIXME: required=True + add in the form view
+ 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company'),
}
@@ -300,14 +300,16 @@ class account_asset_depreciation_line(osv.osv):
move_vals = {
'name': line.name,
'date': depreciation_date,
+ 'ref': line.name,
'period_id': period_ids and period_ids[0] or False,
'journal_id': line.asset_id.category_id.journal_id.id,
}
move_id = move_obj.create(cr, uid, move_vals, context=context)
move_line_obj.create(cr, uid, {
'name': line.name,
+ 'ref': line.name,
'move_id': move_id,
- 'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
+ 'account_id': line.asset_id.category_id.account_depreciation_id.id,
'debit': 0.0,
'credit': line.amount,
'period_id': period_ids and period_ids[0] or False,
@@ -319,8 +321,9 @@ class account_asset_depreciation_line(osv.osv):
})
move_line_obj.create(cr, uid, {
'name': line.name,
+ 'ref': line.name,
'move_id': move_id,
- 'account_id': line.asset_id.category_id.account_depreciation_id.id,
+ 'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
'credit': 0.0,
'debit': line.amount,
'period_id': period_ids and period_ids[0] or False,
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 0112dc89d67..713652d777c 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -89,7 +89,7 @@
-
+
From 873a2a4d5f0e8672cbf8b7e469b0b3529865be47 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 17:07:46 +0530
Subject: [PATCH 034/197] [IMP] account_asset: Improved move line check method
bzr revid: pso@tinyerp.com-20110512113746-ttmm4uby9wvsjuxr
---
addons/account_asset/account_asset.py | 4 ++--
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index d449c240969..e4a0431fca5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -279,7 +279,7 @@ class account_asset_depreciation_line(osv.osv):
_name = 'account.asset.depreciation.line'
_description = 'Asset depreciation line'
- def get_move_line(self, cr, uid, ids, name, args, context={}):
+ def _get_move_check(self, cr, uid, ids, name, args, context=None):
res = {}
for line in self.browse(cr, uid, ids, context=context):
res[line.id] = line.move_id and True or False
@@ -294,7 +294,7 @@ class account_asset_depreciation_line(osv.osv):
'depreciated_value': fields.float('Amount Already Depreciated', required=True),
'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
'move_line_id': fields.many2one('account.move.line', 'Depreciation Entry'),
- 'move_line_present': fields.function(get_move_line, method=True, type='boolean', string='Move Line Present', store=True)
+ 'move_check': fields.function(_get_move_check, method=True, type='boolean', string='Move Included', store=True)
}
account_asset_depreciation_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 46927554e1b..4d25dc15779 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -88,7 +88,7 @@
-
+
From 8fe08e9eb3be63b15042d928e988b951f0594955 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 18:10:38 +0530
Subject: [PATCH 035/197] [IMP] account_asset: Added company by default
bzr revid: pso@tinyerp.com-20110512124038-nptmrgoyrq76aqoy
---
addons/account_asset/account_asset.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 63cfe638d0d..94082fb3a1d 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -26,6 +26,7 @@ from datetime import datetime
class account_asset_category(osv.osv):
_name = 'account.asset.category'
_description = 'Asset category'
+
_columns = {
'name': fields.char('Asset category', size=64, required=True, select=1),
'note': fields.text('Note'),
@@ -37,6 +38,11 @@ class account_asset_category(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company'),
}
+
+ _defaults = {
+ 'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.category', context=context),
+ }
+
account_asset_category()
#class one2many_mod_asset(fields.one2many):
@@ -189,6 +195,7 @@ class account_asset_asset(osv.osv):
'method_period': lambda obj, cr, uid, context: 12,
'method_progress_factor': lambda obj, cr, uid, context: 0.3,
'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
+ 'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.asset',context=context),
}
From 5d071e9ed3ce8c452434aba95fe7d8d0a55cf3dd Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 18:18:14 +0530
Subject: [PATCH 036/197] [IMP] account_asset: Put multicompany group on
company field
bzr revid: pso@tinyerp.com-20110512124814-g6aw3stg5kzyh6wn
---
addons/account_asset/account_asset_view.xml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 6ba615c60f5..e7fff088a26 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -55,8 +55,8 @@
-
-
+
+
@@ -193,6 +193,7 @@
+
From 9c2ab087caaaf680b14fa6fe2a283bffc3add417 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Thu, 12 May 2011 19:14:20 +0530
Subject: [PATCH 037/197] [IMP] account_asset: Improved create_move method
bzr revid: pso@tinyerp.com-20110512134420-joc4keo8jtjbklqp
---
addons/account_asset/account_asset.py | 44 ++++++++++++++++-----------
1 file changed, 27 insertions(+), 17 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 652816de57e..767bb907a55 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -1,6 +1,6 @@
# -*- encoding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL ().
#
@@ -15,7 +15,7 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
@@ -52,7 +52,7 @@ account_asset_category()
# #compute depreciation board
# depreciation_line_ids = obj.pool.get('account.asset.asset').compute_depreciation_board(cr, user, ids, context=context)
# for key, value in depreciation_line_ids.items():
-# #write values on asset
+# #write values on asset
# obj.pool.get(self._obj).write(cr, user, key, {'depreciation_line_ids': [6,0,value]})
# return depreciation_line_ids
@@ -103,14 +103,14 @@ class account_asset_asset(osv.osv):
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
vals = {
- 'amount': amount,
- 'asset_id': asset.id,
- 'sequence':i,
+ 'amount': amount,
+ 'asset_id': asset.id,
+ 'sequence':i,
'name': str(asset.id) +'/'+ str(i),
'remaining_value': residual_amount,
'depreciated_value': asset.purchase_value - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
- }
+ }
self.pool.get('account.asset.depreciation.line').create(cr, uid, vals)
month += asset.method_period
depreciation_date = datetime(year + (month / 12), month % 12, day)
@@ -124,7 +124,7 @@ class account_asset_asset(osv.osv):
def _amount_total(self, cr, uid, ids, name, args, context={}):
#FIXME: function not working²
id_set=",".join(map(str,ids))
- cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
+ cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
account_move_line l
WHERE l.asset_id IN ("""+id_set+") GROUP BY l.asset_id ")
res=dict(cr.fetchall())
@@ -133,7 +133,7 @@ class account_asset_asset(osv.osv):
return res
def _amount_residual(self, cr, uid, ids, name, args, context={}):
- cr.execute("""SELECT
+ cr.execute("""SELECT
l.asset_id as id, SUM(abs(l.debit-l.credit)) AS amount
FROM
account_move_line l
@@ -160,7 +160,7 @@ class account_asset_asset(osv.osv):
'localisation': fields.char('Localisation', size=32, select=2),
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
- 'purchase_date': fields.date('Purchase Date', required=True),
+ 'purchase_date': fields.date('Purchase Date', required=True),
'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'state', required=True),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
@@ -264,7 +264,7 @@ class account_asset_asset(osv.osv):
return result
def _compute_entries(self, cr, uid, asset, period_id, context={}):
- #FIXME: function not working CHECK all res
+ #FIXME: function not working CHECK all res
result = []
date_start = self.pool.get('account.period').browse(cr, uid, period_id, context).date_start
for property in asset.property_ids:
@@ -290,13 +290,21 @@ class account_asset_depreciation_line(osv.osv):
}
def create_move(self, cr, uid,ids, context=None):
+ if context is None:
+ context = {}
asset_obj = self.pool.get('account.asset.asset')
period_obj = self.pool.get('account.period')
move_obj = self.pool.get('account.move')
move_line_obj = self.pool.get('account.move.line')
+ currency_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids, context=context):
depreciation_date = asset_obj._get_last_depreciation_date(cr, uid, [line.asset_id.id], context=context)[line.asset_id.id]
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
+ company_currency = line.asset_id.company_id.currency_id.id
+ current_currency = line.asset_id.currency_id.id
+ context.update({'date': depreciation_date})
+ amount = currency_obj.compute(cr, uid, current_currency, company_currency, line.amount, context=context)
+ sign = line.asset_id.category_id.journal_id.type = 'purchase' and 1 or -1
move_vals = {
'name': line.name,
'date': depreciation_date,
@@ -311,11 +319,12 @@ class account_asset_depreciation_line(osv.osv):
'move_id': move_id,
'account_id': line.asset_id.category_id.account_depreciation_id.id,
'debit': 0.0,
- 'credit': line.amount,
+ 'credit': amount,
'period_id': period_ids and period_ids[0] or False,
'journal_id': line.asset_id.category_id.journal_id.id,
'partner_id': line.asset_id.partner_id.id,
- 'currency_id': line.asset_id.currency_id.id,
+ 'currency_id': company_currency <> current_currency and current_currency or False,
+ 'amount_currency': company_currency <> current_currency and - sign * line.amount or 0.0,
'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
'date': depreciation_date,
})
@@ -325,11 +334,12 @@ class account_asset_depreciation_line(osv.osv):
'move_id': move_id,
'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
'credit': 0.0,
- 'debit': line.amount,
+ 'debit': amount,
'period_id': period_ids and period_ids[0] or False,
'journal_id': line.asset_id.category_id.journal_id.id,
'partner_id': line.asset_id.partner_id.id,
- 'currency_id': line.asset_id.currency_id.id,
+ 'currency_id': company_currency <> current_currency and current_currency or False,
+ 'amount_currency': company_currency <> current_currency and sign * line.amount or 0.0,
'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
'date': depreciation_date,
})
@@ -341,7 +351,7 @@ account_asset_depreciation_line()
#class account_asset_property(osv.osv):
# def _amount_total(self, cr, uid, ids, name, args, context={}):
# id_set=",".join(map(str,ids))
-# cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
+# cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
# account_asset_property p
# left join
# account_move_line l on (p.asset_id=l.asset_id)
@@ -411,7 +421,7 @@ class account_move_line(osv.osv):
_inherit = 'account.move.line'
_columns = {
'asset_id': fields.many2one('account.asset.asset', 'Asset'),
- 'entry_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
+ 'entry_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
}
account_move_line()
From 158936f7aad765b810ccbe40590cb12a9b2b0a2d Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Thu, 12 May 2011 19:05:29 +0200
Subject: [PATCH 038/197] [FIX] account_asset: create_move function
bzr revid: qdp-launchpad@openerp.com-20110512170529-e32zm40dspbie2em
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 767bb907a55..5504502ddf4 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -298,7 +298,7 @@ class account_asset_depreciation_line(osv.osv):
move_line_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids, context=context):
- depreciation_date = asset_obj._get_last_depreciation_date(cr, uid, [line.asset_id.id], context=context)[line.asset_id.id]
+ depreciation_date = time.strftime('%Y-%m-%d')
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
current_currency = line.asset_id.currency_id.id
From 1073a9314cee76c6088d81531c1d01e75486e04e Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Thu, 12 May 2011 19:24:31 +0200
Subject: [PATCH 039/197] [IMP] account_asset: improved views
bzr revid: qdp-launchpad@openerp.com-20110512172431-6eeily31wm4r1h33
---
addons/account_asset/account_asset_view.xml | 26 ++++++++++-----------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 575be55c84d..f9094bb36a3 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -2,7 +2,6 @@
-
account.asset.category.form
account.asset.category
@@ -99,7 +98,6 @@
-
@@ -200,18 +198,23 @@
-
+
+
- Asset
+ Assets
account.asset.asset
form
+
Asset Hierarchy
account.asset.asset
@@ -220,21 +223,16 @@
-
-
-
+
- Assets
- account.asset.asset
+ Asset Categories
+ account.asset.category
form
tree,form
From 036adb65525bfe636a33c4429be954f48d159c46 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Fri, 13 May 2011 12:33:47 +0530
Subject: [PATCH 040/197] [IMP] account_asset: Improved asset category view
bzr revid: pso@tinyerp.com-20110513070347-nmkyesgqryzoaddd
---
addons/account_asset/account_asset_view.xml | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f9094bb36a3..4d3ff3c6247 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -8,21 +8,20 @@
form
-
-
+
-
+
-
-
-
+
+
+
-
+
From 4a7e4414bdc24524ef7c1e111ac1c5ca453822b8 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Fri, 13 May 2011 12:49:16 +0530
Subject: [PATCH 041/197] [IMP] account_asset: Improved indentation
bzr revid: pso@tinyerp.com-20110513071916-3dyf1ewomsicdv6s
---
addons/account_asset/account_asset_view.xml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 4d3ff3c6247..c4645a51bc8 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,12 +15,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
From b10cf1b5897cdab244211b78de939796eab3e3f0 Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Fri, 13 May 2011 14:49:17 +0530
Subject: [PATCH 042/197] [IMP] account_asset: Improved usability and view
bzr revid: pso@tinyerp.com-20110513091917-72cvlf9yt24zqqr3
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_view.xml | 22 ++++++++++-----------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4b76518990e..d801d3f3676 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -27,7 +27,7 @@ class account_asset_category(osv.osv):
_name = 'account.asset.category'
_description = 'Asset category'
_columns = {
- 'name': fields.char('Asset category', size=64, required=True, select=1),
+ 'name': fields.char('Name', size=64, required=True, select=1),
'note': fields.text('Note'),
'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'), #FIXME:add in the form view with group = analytic
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'), #FIXME:add in the form view with group = analytic
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index c4645a51bc8..bbba525c7bc 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -197,6 +197,15 @@
+
+
+ Asset Hierarchy
+ account.asset.asset
+ tree
+ [('parent_id','=',False)]
+
+
+
form
-
-
-
- Asset Hierarchy
- account.asset.asset
- tree
- [('parent_id','=',False)]
-
-
-
Asset Categories
From 00a6908e71a5d09f91603bd741a8f607f12214fd Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Fri, 13 May 2011 15:06:52 +0530
Subject: [PATCH 043/197] [IMP] account_asset: Improved usability
bzr revid: pso@tinyerp.com-20110513093652-fqv78qhmxflgy4lj
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index d801d3f3676..3f6638cf334 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -29,8 +29,8 @@ class account_asset_category(osv.osv):
_columns = {
'name': fields.char('Name', size=64, required=True, select=1),
'note': fields.text('Note'),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'), #FIXME:add in the form view with group = analytic
- 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'), #FIXME:add in the form view with group = analytic
+ 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic Journal'), #FIXME:add in the form view with group = analytic
+ 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'), #FIXME:add in the form view with group = analytic
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
From d666142b2b4ba94f87e8f35d4106e8ccec22dfba Mon Sep 17 00:00:00 2001
From: "pso (OpenERP)"
Date: Fri, 13 May 2011 15:12:18 +0530
Subject: [PATCH 044/197] [IMP] account_Asset: Put selection widget on company
bzr revid: pso@tinyerp.com-20110513094218-xgi4w4hzr9xnpczo
---
addons/account_asset/account_asset_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index e7fff088a26..8b7f892ab40 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -11,7 +11,7 @@
-
+
@@ -55,7 +55,7 @@
-
+
From 8391ec8747214f9391fbaab077eaf4cdb7a969bb Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 16 May 2011 18:42:32 +0530
Subject: [PATCH 045/197] improve depreciation line view
bzr revid: bde@tiny2-desktop-20110516131232-6l42f9jx53g8sr4v
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_view.xml | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..19189023991 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -301,7 +301,7 @@ class account_asset_depreciation_line(osv.osv):
'depreciated_value': fields.float('Amount Already Depreciated', required=True),
'depreciation_date': fields.char('Depreciation Date', size=64, select=1),
'move_id': fields.many2one('account.move', 'Depreciation Entry'),
- 'move_check': fields.function(_get_move_check, method=True, type='boolean', string='Move Included', store=True)
+ 'move_check': fields.function(_get_move_check, method=True, type='boolean', string='Posted', store=True)
}
def create_move(self, cr, uid,ids, context=None):
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f75b0dc4cf6..c2a7205d1c9 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -80,8 +80,8 @@
-
-
+
+
@@ -96,7 +96,7 @@
-
+
From 7e0b8f3275204ca99bf2a05bf8d80483896f713d Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 16 May 2011 19:07:57 +0530
Subject: [PATCH 046/197] improve view of asset form view
bzr revid: bde@tiny2-desktop-20110516133757-uc2d8mzix0ux0kon
---
addons/account_asset/account_asset_view.xml | 26 ++++++++++++++-------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f75b0dc4cf6..64eec9cf2dc 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -62,7 +62,8 @@
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 0f3aa047a82820218a5283b5705f0f06b65b2541 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 17 May 2011 12:11:17 +0530
Subject: [PATCH 047/197] Onchange on asset account => fill the depreciation
account
bzr revid: bde@tiny2-desktop-20110517064117-zz46iisjceas9hrd
---
addons/account_asset/account_asset.py | 10 ++++++++++
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..1e6b8118cf2 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -43,6 +43,16 @@ class account_asset_category(osv.osv):
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.category', context=context),
}
+ def onchange_account_depreciation_id(self, cr, uid, ids, account_asset_id, context=None):
+ if context is None:
+ context = {}
+ account_depreciation_id = self.pool.get('account.account').browse(cr, uid, account_asset_id,
+ context=context).id
+ return {'value': {
+ 'account_depreciation_id': account_depreciation_id,
+ }
+ }
+
account_asset_category()
#class one2many_mod_asset(fields.one2many):
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f75b0dc4cf6..2ae55c69611 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -12,7 +12,7 @@
-
+
From 1b7975285a8b6c4a296d71b34ed9186db15f18e6 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 17 May 2011 16:07:53 +0530
Subject: [PATCH 048/197] [ADD] account_asset: Added fields on asset category
which will reflect into the same fields of asset.
bzr revid: uco@tinyerp.com-20110517103753-kh2v1z9pupi8s1dh
---
addons/account_asset/account_asset.py | 10 +++++++++-
addons/account_asset/account_asset_view.xml | 4 +++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..96c5cc39aa9 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -37,6 +37,8 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
+ 'method_delay': fields.integer('During (interval)'),
}
_defaults = {
@@ -198,7 +200,13 @@ class account_asset_asset(osv.osv):
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.asset',context=context),
}
-
+ def onchange_category_id(self, cr, uid, ids, category_id, context=None):
+ res = {'value':{}}
+ if category_id:
+ category_obj = self.pool.get('account.asset.category').browse(cr, uid, category_id, context=context)
+ res['value'] = {'method': category_obj.method, 'method_delay': category_obj.method_delay}
+ return res
+
def _compute_period(self, cr, uid, property, context={}):
if (len(property.entry_asset_ids or [])/2)>=property.method_delay:
return False
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f75b0dc4cf6..cc5232b12c7 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,6 +15,8 @@
+
+
@@ -50,7 +52,7 @@
-
+
From c501ebd60b216d14d9f79ef608446a2fbcc78c55 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 17 May 2011 17:10:57 +0530
Subject: [PATCH 049/197] [ADD] account_asset: Added a boolean field to skip
the draft state when asset is created from invoice and based on that field
confirm the asset.
bzr revid: uco@tinyerp.com-20110517114057-hz5wfbqfikw7y1hz
---
addons/account_asset/account_asset.py | 1 +
addons/account_asset/account_asset_invoice.py | 18 +++++++++++++-----
.../account_asset_invoice_view.xml | 2 +-
addons/account_asset/account_asset_view.xml | 1 +
4 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..93af0cb0ef5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -37,6 +37,7 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'skip_draft_state': fields.boolean('Skip Draft State', help="Skips draft state for asset when created by invoice."),
}
_defaults = {
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 1bc9fbcf37c..5b1e8240b51 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -26,20 +26,28 @@ class account_invoice(osv.osv):
_inherit = 'account.invoice'
def line_get_convert(self, cr, uid, x, part, date, context={}):
res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context)
- res['asset_id'] = x.get('asset_id', False)
+ res['asset_category_id'] = x.get('asset_category_id', False)
return res
account_invoice()
class account_invoice_line(osv.osv):
_inherit = 'account.invoice.line'
_columns = {
- 'asset_id': fields.many2one('account.asset.asset', 'Asset'),
+ 'asset_category_id': fields.many2one('account.asset.category', 'Asset Category'),
}
def move_line_get_item(self, cr, uid, line, context={}):
res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
- res['asset_id'] = line.asset_id.id or False
- if line.asset_id.id and (line.asset_id.state=='draft'):
- self.pool.get('account.asset.asset').validate(cr, uid, [line.asset_id.id], context)
+ res['asset_category_id'] = line.asset_category_id.id or False
+ asset_obj = self.pool.get('account.asset.asset')
+ if line.asset_category_id.id:
+ vals = {
+ 'name': line.name + ": " + (line.product_id and line.product_id.name),
+ 'category_id': line.asset_category_id.id,
+ 'purchase_value': line.price_subtotal
+ }
+ asset_id = asset_obj.create(cr, uid, vals, context=context)
+ if line.asset_category_id.skip_draft_state:
+ asset_obj.validate(cr, uid, [asset_id], context=context)
return res
account_invoice_line()
diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml
index 394d173f8ed..f694ce425c2 100755
--- a/addons/account_asset/account_asset_invoice_view.xml
+++ b/addons/account_asset/account_asset_invoice_view.xml
@@ -13,7 +13,7 @@
form
-
+
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f75b0dc4cf6..bb6dc3be407 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,6 +15,7 @@
+
From 14b16b87216ea223b2fd072e618c7dbe829647b4 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 17 May 2011 17:43:02 +0530
Subject: [PATCH 050/197] [FIX] account_asset: Minor fixing.
bzr revid: uco@tinyerp.com-20110517121302-vypvykt3a93jckyz
---
addons/account_asset/account_asset_invoice.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 5b1e8240b51..1a1b8da96f9 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -41,7 +41,7 @@ class account_invoice_line(osv.osv):
asset_obj = self.pool.get('account.asset.asset')
if line.asset_category_id.id:
vals = {
- 'name': line.name + ": " + (line.product_id and line.product_id.name),
+ 'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
'category_id': line.asset_category_id.id,
'purchase_value': line.price_subtotal
}
From e8f71e311b8d0bdbd677d6245c5ecb52047f1035 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 17 May 2011 18:01:17 +0530
Subject: [PATCH 051/197] improve depreciation line view
bzr revid: bde@tiny2-desktop-20110517123117-cq6hyzn7n5rxqbpm
---
addons/account_asset/account_asset_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index c2a7205d1c9..3d1d44e5054 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -81,7 +81,7 @@
-
+
From 262b898671b566aba8b6dbe40874a238c525c9e3 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 17 May 2011 18:14:52 +0530
Subject: [PATCH 052/197] [ADD] account_asset: Added remaining fields of two
groups.
bzr revid: uco@tinyerp.com-20110517124452-b9vbcdc6le9umavk
---
addons/account_asset/account_asset.py | 17 ++++++++++++++++-
addons/account_asset/account_asset_view.xml | 6 ++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 96c5cc39aa9..5681168ad73 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -39,10 +39,19 @@ class account_asset_category(osv.osv):
'company_id': fields.many2one('res.company', 'Company', required=True),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
'method_delay': fields.integer('During (interval)'),
+ 'method_period': fields.integer('Depre. all (period)'),
+ 'method_progress_factor': fields.float('Progressif Factor'),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True),
+ 'prorata':fields.boolean('Prorata Temporis', help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
}
_defaults = {
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.category', context=context),
+ 'method': lambda obj, cr, uid, context: 'linear',
+ 'method_delay': lambda obj, cr, uid, context: 5,
+ 'method_time': lambda obj, cr, uid, context: 'delay',
+ 'method_period': lambda obj, cr, uid, context: 12,
+ 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
}
account_asset_category()
@@ -204,7 +213,13 @@ class account_asset_asset(osv.osv):
res = {'value':{}}
if category_id:
category_obj = self.pool.get('account.asset.category').browse(cr, uid, category_id, context=context)
- res['value'] = {'method': category_obj.method, 'method_delay': category_obj.method_delay}
+ res['value'] = {'method': category_obj.method,
+ 'method_delay': category_obj.method_delay,
+ 'method_time': category_obj.method_time,
+ 'method_period': category_obj.method_period,
+ 'method_progress_factor': category_obj.method_progress_factor,
+ 'prorata': category_obj.prorata,
+ }
return res
def _compute_period(self, cr, uid, property, context={}):
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index cc5232b12c7..8f867567f43 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,7 +15,13 @@
+
+
+
+
+
+
From b967888dd4804a23480e38bd2d36ff8e7ea0e760 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 17 May 2011 18:21:49 +0530
Subject: [PATCH 053/197] Improved Asset Form View
bzr revid: bde@tiny2-desktop-20110517125149-17gbnoc1fjx8l1sk
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..f11f5a5d5ea 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -171,7 +171,7 @@ class account_asset_asset(osv.osv):
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
From adce9420f858269853f83ecc3575bae5018f9c2f Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 17 May 2011 18:45:18 +0530
Subject: [PATCH 054/197] Improved OnChange Method
bzr revid: bde@tiny2-desktop-20110517131518-44788w3et6470w6t
---
addons/account_asset/account_asset.py | 14 +++++---------
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1e6b8118cf2..de889cbf0e1 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -43,15 +43,11 @@ class account_asset_category(osv.osv):
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.category', context=context),
}
- def onchange_account_depreciation_id(self, cr, uid, ids, account_asset_id, context=None):
- if context is None:
- context = {}
- account_depreciation_id = self.pool.get('account.account').browse(cr, uid, account_asset_id,
- context=context).id
- return {'value': {
- 'account_depreciation_id': account_depreciation_id,
- }
- }
+ def onchange_account_asset(self, cr, uid, ids, account_asset_id, context=None):
+ res = {'value':{}}
+ if account_asset:
+ res['value'] = {'account_depreciation_id': account_asset_id}
+ return res
account_asset_category()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 2ae55c69611..9eceb1cb339 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -12,7 +12,7 @@
-
+
From 26b3ffdf1d510f5b266a743fadcf7b23285a6248 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 17 May 2011 18:48:03 +0530
Subject: [PATCH 055/197] [IMP] account_asset: Improved default values.
Improved view.
bzr revid: uco@tinyerp.com-20110517131803-vuakdgz6p8kkfk03
---
addons/account_asset/account_asset.py | 18 +++++++++--------
addons/account_asset/account_asset_view.xml | 22 +++++++++++++--------
2 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 5681168ad73..314304b2cdd 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -47,11 +47,11 @@ class account_asset_category(osv.osv):
_defaults = {
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.category', context=context),
- 'method': lambda obj, cr, uid, context: 'linear',
- 'method_delay': lambda obj, cr, uid, context: 5,
- 'method_time': lambda obj, cr, uid, context: 'delay',
- 'method_period': lambda obj, cr, uid, context: 12,
- 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
+ 'method': 'linear',
+ 'method_delay': 5,
+ 'method_time': 'delay',
+ 'method_period': 12,
+ 'method_progress_factor': 0.3,
}
account_asset_category()
@@ -211,15 +211,17 @@ class account_asset_asset(osv.osv):
def onchange_category_id(self, cr, uid, ids, category_id, context=None):
res = {'value':{}}
+ asset_categ_obj = self.pool.get('account.asset.category')
if category_id:
- category_obj = self.pool.get('account.asset.category').browse(cr, uid, category_id, context=context)
- res['value'] = {'method': category_obj.method,
+ category_obj = asset_categ_obj.browse(cr, uid, category_id, context=context)
+ res['value'] = {
+ 'method': category_obj.method,
'method_delay': category_obj.method_delay,
'method_time': category_obj.method_time,
'method_period': category_obj.method_period,
'method_progress_factor': category_obj.method_progress_factor,
'prorata': category_obj.prorata,
- }
+ }
return res
def _compute_period(self, cr, uid, property, context={}):
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 8f867567f43..08d501abaa9 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,14 +15,20 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 4a978406ca24f937d0da6eb61ec4ca053ba3a4fd Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 18 May 2011 15:16:33 +0530
Subject: [PATCH 056/197] [IMP] account_asset: Corrected working of prorata
temporis feature.
bzr revid: uco@tinyerp.com-20110518094633-cgdapa77v7gdge3e
---
addons/account_asset/account_asset.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..0160fc991a4 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -314,6 +314,8 @@ class account_asset_depreciation_line(osv.osv):
currency_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids, context=context):
depreciation_date = time.strftime('%Y-%m-%d')
+ if line.asset_id.prorata:
+ depreciation_date = line.asset_id.purchase_date
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
current_currency = line.asset_id.currency_id.id
From ef9baa9e4426665becb5126bc2fe6a19ada95da7 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 18 May 2011 19:02:24 +0530
Subject: [PATCH 057/197] Improved State field
bzr revid: bde@tiny2-desktop-20110518133224-qfmli32e1381mi2c
---
addons/account_asset/account_asset.py | 4 +++-
addons/account_asset/account_asset_view.xml | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index de889cbf0e1..71e9e647e55 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -94,7 +94,9 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
+
for asset in self.browse(cr, uid, ids, context=context):
+
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
@@ -173,7 +175,7 @@ class account_asset_asset(osv.osv):
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True),
- 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'state', required=True),
+ 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'State', required=True),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 9eceb1cb339..e3575f1aef9 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -97,6 +97,7 @@
+
From a22e78635f38b2854d8c2dda82c4c6bd4a0864f5 Mon Sep 17 00:00:00 2001
From: bde
Date: Thu, 19 May 2011 10:30:27 +0530
Subject: [PATCH 058/197] Improved State field and account_asset_id
bzr revid: bde@tiny2-desktop-20110519050027-6ahdys2e5r0ypnyo
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 71e9e647e55..7b2138bf2e0 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -45,7 +45,7 @@ class account_asset_category(osv.osv):
def onchange_account_asset(self, cr, uid, ids, account_asset_id, context=None):
res = {'value':{}}
- if account_asset:
+ if account_asset_id:
res['value'] = {'account_depreciation_id': account_asset_id}
return res
From 6493bc8aff288f40a43769a5713bb70395e9ff37 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 19 May 2011 10:33:18 +0530
Subject: [PATCH 059/197] [FIX] account_asset: Changed field label and tooltip.
bzr revid: uco@tinyerp.com-20110519050318-qx4ob8x7850ep3bn
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 93af0cb0ef5..a0abfab3811 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -37,7 +37,7 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'skip_draft_state': fields.boolean('Skip Draft State', help="Skips draft state for asset when created by invoice."),
+ 'skip_draft_state': fields.boolean('Change State Automatically', help="Check this if you want to skip draft state for asset when it is created by invoice."),
}
_defaults = {
From 3ab63ec20e1fb93cfef75e689c21cfc882f1c38b Mon Sep 17 00:00:00 2001
From: bde
Date: Thu, 19 May 2011 16:21:38 +0530
Subject: [PATCH 060/197] Improved State field
bzr revid: bde@tiny2-desktop-20110519105138-ie3r6ris4un7j1jl
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index f11f5a5d5ea..b3e6e9bc084 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -167,7 +167,7 @@ class account_asset_asset(osv.osv):
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True),
- 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'state', required=True),
+ 'state': fields.selection([('view','View'),('draft','Draft'),('normal','Normal'),('close','Close')], 'State', required=True),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
From 029c429945575d8ba1bbbcd3da2c6133370246f5 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 19 May 2011 18:11:21 +0530
Subject: [PATCH 061/197] [IMP] account_asset: Improved field name.
bzr revid: uco@tinyerp.com-20110519124121-olh1ntj9f0pf72tg
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_invoice.py | 2 +-
addons/account_asset/account_asset_view.xml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index a0abfab3811..1a39f916ce5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -37,7 +37,7 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'skip_draft_state': fields.boolean('Change State Automatically', help="Check this if you want to skip draft state for asset when it is created by invoice."),
+ 'on_change_state': fields.boolean('Skip Draft State', help="Check this if you want to skip draft state for asset when it is created by invoice."),
}
_defaults = {
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 1a1b8da96f9..8976a7688dd 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -46,7 +46,7 @@ class account_invoice_line(osv.osv):
'purchase_value': line.price_subtotal
}
asset_id = asset_obj.create(cr, uid, vals, context=context)
- if line.asset_category_id.skip_draft_state:
+ if line.asset_category_id.on_change_state:
asset_obj.validate(cr, uid, [asset_id], context=context)
return res
account_invoice_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index bb6dc3be407..437d927f2e3 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,7 +15,7 @@
-
+
From 2c05c96a408a9eea0065dcd7f81143b1e5368d7d Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 20 May 2011 10:50:05 +0530
Subject: [PATCH 062/197] [FIX] account_asset: Corrected field name and coding
conventions.
bzr revid: uco@tinyerp.com-20110520052005-7sdpwk5qabsk7ejg
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_invoice.py | 9 ++++-----
addons/account_asset/account_asset_view.xml | 2 +-
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1a39f916ce5..65af420646b 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -37,7 +37,7 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'on_change_state': fields.boolean('Skip Draft State', help="Check this if you want to skip draft state for asset when it is created by invoice."),
+ 'asset_normal': fields.boolean('Skip Draft State', help="Check this if you want to skip draft state for asset when it is created by invoice."),
}
_defaults = {
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 8976a7688dd..e6c5d03dd66 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -26,7 +26,7 @@ class account_invoice(osv.osv):
_inherit = 'account.invoice'
def line_get_convert(self, cr, uid, x, part, date, context={}):
res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context)
- res['asset_category_id'] = x.get('asset_category_id', False)
+ res['asset_id'] = x.get('asset_id', False)
return res
account_invoice()
@@ -36,17 +36,16 @@ class account_invoice_line(osv.osv):
'asset_category_id': fields.many2one('account.asset.category', 'Asset Category'),
}
def move_line_get_item(self, cr, uid, line, context={}):
- res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
- res['asset_category_id'] = line.asset_category_id.id or False
asset_obj = self.pool.get('account.asset.asset')
- if line.asset_category_id.id:
+ res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
+ if line.asset_category_id and line.asset_category_id.id:
vals = {
'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
'category_id': line.asset_category_id.id,
'purchase_value': line.price_subtotal
}
asset_id = asset_obj.create(cr, uid, vals, context=context)
- if line.asset_category_id.on_change_state:
+ if line.asset_category_id.asset_normal:
asset_obj.validate(cr, uid, [asset_id], context=context)
return res
account_invoice_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 437d927f2e3..3a431c1f6ec 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -15,7 +15,7 @@
-
+
From 06b4e4ac617b40e09fd5bd06bbaf261766f143ce Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 20 May 2011 12:52:11 +0530
Subject: [PATCH 063/197] [FIX] account_asset: Corrected code.
bzr revid: uco@tinyerp.com-20110520072211-gq3qotaa999eye02
---
addons/account_asset/account_asset_invoice.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index e6c5d03dd66..800e1495497 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -38,7 +38,7 @@ class account_invoice_line(osv.osv):
def move_line_get_item(self, cr, uid, line, context={}):
asset_obj = self.pool.get('account.asset.asset')
res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
- if line.asset_category_id and line.asset_category_id.id:
+ if line.asset_category_id:
vals = {
'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
'category_id': line.asset_category_id.id,
From f117004464107ba18a8f56ebe0658c8088f303a6 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 20 May 2011 14:18:31 +0530
Subject: [PATCH 064/197] [FIX] account_asset: Corrected code.
bzr revid: uco@tinyerp.com-20110520084831-1i75snj1yyr3s8qu
---
addons/account_asset/account_asset.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 0160fc991a4..0f85a095c2e 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -313,9 +313,7 @@ class account_asset_depreciation_line(osv.osv):
move_line_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids, context=context):
- depreciation_date = time.strftime('%Y-%m-%d')
- if line.asset_id.prorata:
- depreciation_date = line.asset_id.purchase_date
+ depreciation_date = line.asset_id.prorata and line.asset_id.purchase_date or time.strftime('%Y-%m-%d')
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
current_currency = line.asset_id.currency_id.id
From e1d763c3c88c214d76f1bf9f0bf4d165d043a4e5 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 23 May 2011 11:51:52 +0530
Subject: [PATCH 065/197] [IMP] account_asset: Improved prorata temporis
feature.
bzr revid: uco@tinyerp.com-20110523062152-tbut9pfwiugjs73m
---
addons/account_asset/account_asset.py | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 0f85a095c2e..9735e01b351 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -94,6 +94,8 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
+ if asset.method == 'linear' and asset.prorata:
+ undone_dotation_number += 1
residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
@@ -102,9 +104,14 @@ class account_asset_asset(osv.osv):
for i in range(1,undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
+ if asset.prorata:
+ amount = (asset.purchase_value / undone_dotation_number)/364 * 364
else:
if asset.method == 'linear':
amount = asset.purchase_value / undone_dotation_number
+ if asset.prorata and i == 1:
+ amount = (asset.purchase_value / undone_dotation_number)/365
+ day = 1
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
@@ -119,7 +126,7 @@ class account_asset_asset(osv.osv):
}
self.pool.get('account.asset.depreciation.line').create(cr, uid, vals)
month += asset.method_period
- depreciation_date = datetime(year + (month / 12), month % 12, day)
+ depreciation_date = datetime(year + (month / 12), (month % 12 or 1), day)
return True
def validate(self, cr, uid, ids, context={}):
@@ -198,6 +205,16 @@ class account_asset_asset(osv.osv):
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.asset',context=context),
}
+ def _check_prorata(self, cr, uid, ids, context=None):
+ assets = self.browse(cr, uid, ids, context=context)
+ for asset in assets:
+ if asset.purchase_date != time.strftime('%Y-12-30'):
+ return False
+ return True
+
+ _constraints = [
+ (_check_prorata, '\nAsset is not purchased at the end of the year!\nPlease check the purchase date.', ['prorata']),
+ ]
def _compute_period(self, cr, uid, property, context={}):
if (len(property.entry_asset_ids or [])/2)>=property.method_delay:
From c85782996da8c8de6e9bf459372a8a5510a88f2c Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 23 May 2011 17:51:58 +0530
Subject: [PATCH 066/197] [FIX] account_asset: Corrected feature.
bzr revid: uco@tinyerp.com-20110523122158-w51oka6c3kxxa831
---
addons/account_asset/account_asset.py | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 9735e01b351..839f406c1e1 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -101,24 +101,25 @@ class account_asset_asset(osv.osv):
day = depreciation_date.day
month = depreciation_date.month
year = depreciation_date.year
+ total_days = (year % 4) and 365 or 366
for i in range(1,undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
- if asset.prorata:
- amount = (asset.purchase_value / undone_dotation_number)/364 * 364
else:
if asset.method == 'linear':
- amount = asset.purchase_value / undone_dotation_number
+ amount = asset.purchase_value / asset.method_delay
if asset.prorata and i == 1:
- amount = (asset.purchase_value / undone_dotation_number)/365
- day = 1
+ days = float(total_days) - float(depreciation_date.strftime('%j'))
+ first_amount = amount = (asset.purchase_value / asset.method_delay)/total_days * days
+ elif asset.prorata and i == undone_dotation_number:
+ amount = (asset.purchase_value / asset.method_delay) - first_amount
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
vals = {
'amount': amount,
'asset_id': asset.id,
- 'sequence':i,
+ 'sequence': i,
'name': str(asset.id) +'/'+ str(i),
'remaining_value': residual_amount,
'depreciated_value': asset.purchase_value - residual_amount,
@@ -208,12 +209,12 @@ class account_asset_asset(osv.osv):
def _check_prorata(self, cr, uid, ids, context=None):
assets = self.browse(cr, uid, ids, context=context)
for asset in assets:
- if asset.purchase_date != time.strftime('%Y-12-30'):
+ if asset.method != 'linear':
return False
return True
_constraints = [
- (_check_prorata, '\nAsset is not purchased at the end of the year!\nPlease check the purchase date.', ['prorata']),
+ (_check_prorata, '\nProrata Temporis can be applied only for Linear method.', ['prorata']),
]
def _compute_period(self, cr, uid, property, context={}):
From 73efba9f1505c2dafed943fc06ae76fc0c7b650b Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 23 May 2011 18:23:22 +0530
Subject: [PATCH 067/197] [FIX] account_asset: Fixed method written on
constraints.
bzr revid: uco@tinyerp.com-20110523125322-kp3pid33zfcq9qdt
---
addons/account_asset/account_asset.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 839f406c1e1..8fdce1ede9d 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -207,9 +207,8 @@ class account_asset_asset(osv.osv):
}
def _check_prorata(self, cr, uid, ids, context=None):
- assets = self.browse(cr, uid, ids, context=context)
- for asset in assets:
- if asset.method != 'linear':
+ for asset in self.browse(cr, uid, ids, context=context):
+ if asset.prorata and asset.method != 'linear':
return False
return True
From 1ed4231b8ecee9a04caefa71a863131df2aae207 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 23 May 2011 18:47:32 +0530
Subject: [PATCH 068/197] [IMP] account_asset: Improved code.
bzr revid: uco@tinyerp.com-20110523131732-3wk11pedk0i1tdrz
---
addons/account_asset/account_asset.py | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8fdce1ede9d..24ee24624c1 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -107,12 +107,13 @@ class account_asset_asset(osv.osv):
amount = residual_amount
else:
if asset.method == 'linear':
- amount = asset.purchase_value / asset.method_delay
- if asset.prorata and i == 1:
- days = float(total_days) - float(depreciation_date.strftime('%j'))
- first_amount = amount = (asset.purchase_value / asset.method_delay)/total_days * days
- elif asset.prorata and i == undone_dotation_number:
- amount = (asset.purchase_value / asset.method_delay) - first_amount
+ amount = asset.purchase_value / undone_dotation_number
+ if asset.prorata:
+ if i == 1:
+ days = float(total_days) - float(depreciation_date.strftime('%j'))
+ amount = (asset.purchase_value / asset.method_delay) / total_days * days
+ elif i == undone_dotation_number:
+ amount = (asset.purchase_value / asset.method_delay) / total_days * (total_days - days)
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
From 98dd41db9f9bf49bdccabaf961b9c461bb989e9a Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 24 May 2011 10:32:08 +0530
Subject: [PATCH 069/197] [IMP] account_asset: Small improvement.
bzr revid: uco@tinyerp.com-20110524050208-rmdd7yftw2eukmuh
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 24ee24624c1..96d055767f5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -94,7 +94,7 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
- if asset.method == 'linear' and asset.prorata:
+ if asset.prorata and asset.method == 'linear':
undone_dotation_number += 1
residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
From 84846c953b0144f0335713a6e493ef2e26227569 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 11:55:30 +0530
Subject: [PATCH 070/197] Correct Residual Value Field
bzr revid: bde@tiny2-desktop-20110524062530-nlf687clyazmyowj
---
addons/account_asset/account_asset.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..6a26500bd20 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -357,6 +357,7 @@ class account_asset_depreciation_line(osv.osv):
'amount_currency': company_currency <> current_currency and sign * line.amount or 0.0,
'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
'date': depreciation_date,
+ 'asset_id': line.asset_id.id
})
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
return True
From a56dd670353606e04cf195fbb890a861c2b8dc58 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 24 May 2011 12:00:15 +0530
Subject: [PATCH 071/197] [IMP] account_asset: Improved code.
bzr revid: uco@tinyerp.com-20110524063015-ji1vceuer8s8g2re
---
addons/account_asset/account_asset.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 96d055767f5..2da665aaa30 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -110,7 +110,7 @@ class account_asset_asset(osv.osv):
amount = asset.purchase_value / undone_dotation_number
if asset.prorata:
if i == 1:
- days = float(total_days) - float(depreciation_date.strftime('%j'))
+ days = total_days - float(depreciation_date.strftime('%j'))
amount = (asset.purchase_value / asset.method_delay) / total_days * days
elif i == undone_dotation_number:
amount = (asset.purchase_value / asset.method_delay) / total_days * (total_days - days)
@@ -128,7 +128,7 @@ class account_asset_asset(osv.osv):
}
self.pool.get('account.asset.depreciation.line').create(cr, uid, vals)
month += asset.method_period
- depreciation_date = datetime(year + (month / 12), (month % 12 or 1), day)
+ depreciation_date = datetime(year + (month / 12), (month % 12 or 12), day)
return True
def validate(self, cr, uid, ids, context={}):
@@ -214,7 +214,7 @@ class account_asset_asset(osv.osv):
return True
_constraints = [
- (_check_prorata, '\nProrata Temporis can be applied only for Linear method.', ['prorata']),
+ (_check_prorata, '\nProrata temporis can be applied only for linear method.', ['prorata']),
]
def _compute_period(self, cr, uid, property, context={}):
From bd4eb0d0ea03159ec4cbc40aac569c37bd083e2c Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 13:21:02 +0530
Subject: [PATCH 072/197] Added Total field in Depreciation tab
bzr revid: bde@tiny2-desktop-20110524075102-b615q64yi14m51bf
---
addons/account_asset/account_asset.py | 1 -
addons/account_asset/account_asset_view.xml | 1 +
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..a53d27b9130 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -128,7 +128,6 @@ class account_asset_asset(osv.osv):
}, context)
def _amount_total(self, cr, uid, ids, name, args, context={}):
- #FIXME: function not working²
id_set=",".join(map(str,ids))
cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
account_move_line l
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f75b0dc4cf6..b4b3aafa23c 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -77,6 +77,7 @@
+
From 03d1c23a766b970c840d4ebd20fe589ef8ff111d Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 14:46:20 +0530
Subject: [PATCH 073/197] Changed Label from Gross Value to Total
bzr revid: bde@tiny2-desktop-20110524091620-kp09v4vdkbfqbjcl
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index a53d27b9130..8e5e40ed759 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -174,7 +174,7 @@ class account_asset_asset(osv.osv):
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
- 'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Gross Value'),
+ 'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Total'),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
From 351b80f2973abdacd5a2a1965ed3ecdb21d42736 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 15:01:33 +0530
Subject: [PATCH 074/197] Added Total field in Depreciation tab and Improved
Indentation and position of field
bzr revid: bde@tiny2-desktop-20110524093133-x6nh5z4f0znjy5x8
---
addons/account_asset/account_asset_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index b4b3aafa23c..5b22c59c8d1 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -59,9 +59,10 @@
-
+
+
-
From 2bc8a08ed5e6cb703051da1f6a7e2f3dc7f9a973 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 15:43:39 +0530
Subject: [PATCH 075/197] Removed value_total field and _amount_value function
bzr revid: bde@tiny2-desktop-20110524101339-bremxmlamrunfyia
---
addons/account_asset/account_asset.py | 11 +----------
addons/account_asset/account_asset_view.xml | 2 --
2 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8e5e40ed759..35fa5aceba7 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -127,15 +127,7 @@ class account_asset_asset(osv.osv):
'state':'normal'
}, context)
- def _amount_total(self, cr, uid, ids, name, args, context={}):
- id_set=",".join(map(str,ids))
- cr.execute("""SELECT l.asset_id,abs(SUM(l.debit-l.credit)) AS amount FROM
- account_move_line l
- WHERE l.asset_id IN ("""+id_set+") GROUP BY l.asset_id ")
- res=dict(cr.fetchall())
- for id in ids:
- res.setdefault(id, 0.0)
- return res
+
def _amount_residual(self, cr, uid, ids, name, args, context={}):
cr.execute("""SELECT
@@ -174,7 +166,6 @@ class account_asset_asset(osv.osv):
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
- 'value_total': fields.function(_amount_total, method=True, digits=(16,2),string='Total'),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 5b22c59c8d1..5e9174da6e6 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -62,7 +62,6 @@
-
-
From 81e8742041a4af27f3b0f7c0cf3e0c35e553d801 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 17:13:50 +0530
Subject: [PATCH 076/197] [Merge] After posting also Compute button works fine
bzr revid: bde@tiny2-desktop-20110524114350-n9hnhlo2sppezmyj
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 4220fe0df1e..a6a55686c50 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -92,7 +92,6 @@ class account_asset_asset(osv.osv):
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
-
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
@@ -104,7 +103,7 @@ class account_asset_asset(osv.osv):
amount = residual_amount
else:
if asset.method == 'linear':
- amount = asset.purchase_value / undone_dotation_number
+ amount = asset.value_residual / undone_dotation_number
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
@@ -357,6 +356,7 @@ class account_asset_depreciation_line(osv.osv):
'amount_currency': company_currency <> current_currency and sign * line.amount or 0.0,
'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
'date': depreciation_date,
+ 'asset_id': line.asset_id.id
})
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
return True
From e8c36f693aeb152d5d89a9cbcff04e3f21ef99a4 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 17:36:50 +0530
Subject: [PATCH 077/197] [REM] 'asset_id': line.asset_id.id
bzr revid: bde@tiny2-desktop-20110524120650-auvsxkxn6g67caw7
---
addons/account_asset/account_asset.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index a6a55686c50..f1c4ee9d7f4 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -356,7 +356,6 @@ class account_asset_depreciation_line(osv.osv):
'amount_currency': company_currency <> current_currency and sign * line.amount or 0.0,
'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
'date': depreciation_date,
- 'asset_id': line.asset_id.id
})
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
return True
From 8ca21fbc2afbb1854c2d5a252e73f89176b90686 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 24 May 2011 18:34:45 +0530
Subject: [PATCH 078/197] [IMP] depreciation_lin_obj.create(cr, uid, vals,
context=context)
bzr revid: bde@tiny2-desktop-20110524130445-b8m3qo2xk09v8qv1
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index f1c4ee9d7f4..296a9c82158 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -110,13 +110,13 @@ class account_asset_asset(osv.osv):
vals = {
'amount': amount,
'asset_id': asset.id,
- 'sequence':i,
+ 'sequence': i,
'name': str(asset.id) +'/'+ str(i),
'remaining_value': residual_amount,
'depreciated_value': asset.purchase_value - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
- self.pool.get('account.asset.depreciation.line').create(cr, uid, vals)
+ depreciation_lin_obj.create(cr, uid, vals, context=context)
month += asset.method_period
depreciation_date = datetime(year + (month / 12), month % 12, day)
return True
From fb29fb735abbf424203dc23f3b54a241393241f8 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 25 May 2011 10:13:51 +0530
Subject: [PATCH 079/197] [MERGE]
bzr revid: bde@tiny2-desktop-20110525044351-jwile6a9isqozi8t
---
addons/account_asset/account_asset_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 64eec9cf2dc..95a6e9f2c22 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -63,7 +63,7 @@
-
+
Date: Wed, 25 May 2011 10:26:39 +0530
Subject: [PATCH 080/197] [IMP] Usability by proper Indentation
bzr revid: bde@tiny2-desktop-20110525045639-0w034jqfvilp0yzm
---
addons/account_asset/account_asset_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 4cd9572787f..b7d522d9686 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -76,7 +76,7 @@
-
+
Date: Wed, 25 May 2011 11:21:12 +0530
Subject: [PATCH 081/197] [IMP] indentation
bzr revid: bde@tiny2-desktop-20110525055112-stv8v0df3cxrlu36
---
addons/account_asset/account_asset_view.xml | 28 +++++++++------------
1 file changed, 12 insertions(+), 16 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index b7d522d9686..40970095839 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -84,22 +84,18 @@
type="action"
colspan="2"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
From 34d1eb32ce145470ed95bc0158541526b8a88868 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 25 May 2011 15:05:29 +0530
Subject: [PATCH 082/197] [IMP] usability
bzr revid: bde@tiny2-desktop-20110525093529-59xp434262hngtzj
---
addons/account_asset/account_asset.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7b2138bf2e0..b06d9ac8d6b 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -94,13 +94,10 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
-
- for asset in self.browse(cr, uid, ids, context=context):
-
- old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
+ for asset in self.browse(cr, uid, ids, context=context):
+ old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id),('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
-
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
From 26418de3f28ea9df26b0e1df7e8738bb0e1d044d Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 26 May 2011 14:24:38 +0530
Subject: [PATCH 083/197] [IMP] account_asset: Given a string to Depreciation
board tab.
bzr revid: uco@tinyerp.com-20110526085438-x7p12jpeie82jepr
---
addons/account_asset/account_asset_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 5e9174da6e6..fbce78f90e8 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -81,14 +81,14 @@
-
+
-
+
From 6d51b197593dae6a5250354dc014dda092e704a0 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 26 May 2011 15:48:47 +0530
Subject: [PATCH 084/197] [IMP] account_asset: Implement salvage value
functionality.
bzr revid: uco@tinyerp.com-20110526101847-j9lednhp07iaww9s
---
addons/account_asset/account_asset.py | 5 +++--
addons/account_asset/account_asset_view.xml | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 35fa5aceba7..037b9f6cf2d 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -94,7 +94,7 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
- residual_amount = asset.value_residual
+ residual_amount = asset.value_residual - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
@@ -104,7 +104,7 @@ class account_asset_asset(osv.osv):
amount = residual_amount
else:
if asset.method == 'linear':
- amount = asset.purchase_value / undone_dotation_number
+ amount = (asset.purchase_value - asset.salvage_value) / undone_dotation_number
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
@@ -172,6 +172,7 @@ class account_asset_asset(osv.osv):
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
+ 'salvage_value': fields.float('Salvage Value', digits=(16,2), required=True, help="It is the amount you plan to have that you can't depreciate."),
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 5e9174da6e6..06f5553d858 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -53,9 +53,10 @@
+
+
-
From 6256ac79588c08856540f6db32a9f30048b941bd Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 26 May 2011 16:37:02 +0530
Subject: [PATCH 085/197] [FIX] account_asset: Do not copy depreciation lines
while copying asset.
bzr revid: uco@tinyerp.com-20110526110702-2i112dmip928vz0e
---
addons/account_asset/account_asset.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 35fa5aceba7..762f27fc18a 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -188,6 +188,13 @@ class account_asset_asset(osv.osv):
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.asset',context=context),
}
+ def copy(self, cr, uid, id, default=None, context=None):
+ if default is None:
+ default = {}
+ if context is None:
+ context = {}
+ default['depreciation_line_ids'] = []
+ return super(account_asset_asset, self).copy(cr, uid, id, default, context=context)
def _compute_period(self, cr, uid, property, context={}):
if (len(property.entry_asset_ids or [])/2)>=property.method_delay:
From 1806d9855be72f7be125d6082efb302b45d593fa Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 26 May 2011 19:09:35 +0530
Subject: [PATCH 086/197] [FIX] account_asset: Fixed copy method.
bzr revid: uco@tinyerp.com-20110526133935-wjk28uga2by7kqhc
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 762f27fc18a..2441911af3c 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -193,7 +193,7 @@ class account_asset_asset(osv.osv):
default = {}
if context is None:
context = {}
- default['depreciation_line_ids'] = []
+ default.update({'depreciation_line_ids': []})
return super(account_asset_asset, self).copy(cr, uid, id, default, context=context)
def _compute_period(self, cr, uid, property, context={}):
From 70ae1cc7320fa28880f09bf0d833ccce38478a74 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 27 May 2011 10:51:42 +0530
Subject: [PATCH 087/197] [FIX] account_asset: Fixed tooltip, computation of
digits using decimal precision.
bzr revid: uco@tinyerp.com-20110527052142-3s7lu0sefw4hzebc
---
addons/account_asset/account_asset.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 037b9f6cf2d..fa05c117e71 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -22,6 +22,7 @@
from osv import osv, fields
import time
from datetime import datetime
+import decimal_precision as dp
class account_asset_category(osv.osv):
_name = 'account.asset.category'
@@ -172,7 +173,7 @@ class account_asset_asset(osv.osv):
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
- 'salvage_value': fields.float('Salvage Value', digits=(16,2), required=True, help="It is the amount you plan to have that you can't depreciate."),
+ 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the remaining value of an asset after it has been fully depreciated."),
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
From fa98bf6a75fba7de1290d76a81ba7defb0a10c45 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 27 May 2011 14:38:34 +0530
Subject: [PATCH 088/197] [FIX] account_asset: Corrected final depreciated
amount.
bzr revid: uco@tinyerp.com-20110527090834-788m19t2bq0lxoea
---
addons/account_asset/account_asset.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index fa05c117e71..5d7b722d047 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -95,7 +95,7 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
- residual_amount = asset.value_residual - asset.salvage_value
+ salvage_amount = residual_amount = asset.value_residual - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
@@ -105,7 +105,7 @@ class account_asset_asset(osv.osv):
amount = residual_amount
else:
if asset.method == 'linear':
- amount = (asset.purchase_value - asset.salvage_value) / undone_dotation_number
+ amount = salvage_amount / undone_dotation_number
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
@@ -115,7 +115,7 @@ class account_asset_asset(osv.osv):
'sequence':i,
'name': str(asset.id) +'/'+ str(i),
'remaining_value': residual_amount,
- 'depreciated_value': asset.purchase_value - residual_amount,
+ 'depreciated_value': salvage_amount - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
self.pool.get('account.asset.depreciation.line').create(cr, uid, vals)
From 767925e4053c4cc98cd2e2ff33bee1aa34353796 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 27 May 2011 15:07:42 +0530
Subject: [PATCH 089/197] [IMP] account_asset: Improved tooltip. Corrected
digits for residual value.
bzr revid: uco@tinyerp.com-20110527093742-0pdq4gs2g81k3275
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 5d7b722d047..6651bb6f7fe 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -168,12 +168,12 @@ class account_asset_asset(osv.osv):
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
- 'value_residual': fields.function(_amount_residual, method=True, digits=(16,2), string='Residual Value'),
+ 'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
- 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the remaining value of an asset after it has been fully depreciated."),
+ 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate."),
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
From a798f06d1a860dd57ac75400cb9a4a6e976eb1ac Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 27 May 2011 18:32:11 +0530
Subject: [PATCH 090/197] [IMP] account_asset: Allow only supplier invoice to
make asset.
bzr revid: uco@tinyerp.com-20110527130211-q78ssuf0290lr0jy
---
addons/account_asset/account_asset_invoice.py | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index f130bdc09cf..bbabe252f68 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -38,15 +38,16 @@ class account_invoice_line(osv.osv):
def move_line_get_item(self, cr, uid, line, context={}):
asset_obj = self.pool.get('account.asset.asset')
res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
- if line.asset_category_id:
- vals = {
- 'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
- 'category_id': line.asset_category_id.id,
- 'purchase_value': line.price_subtotal
- }
- asset_id = asset_obj.create(cr, uid, vals, context=context)
- if line.asset_category_id.open_asset:
- asset_obj.validate(cr, uid, [asset_id], context=context)
+ if line.invoice_id and line.invoice_id.type not in ['out_invoice', 'out_refund']:
+ if line.asset_category_id:
+ vals = {
+ 'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
+ 'category_id': line.asset_category_id.id,
+ 'purchase_value': line.price_subtotal
+ }
+ asset_id = asset_obj.create(cr, uid, vals, context=context)
+ if line.asset_category_id.open_asset:
+ asset_obj.validate(cr, uid, [asset_id], context=context)
return res
account_invoice_line()
From 4d0f29fa257b773229732de00e40a069a259d167 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 27 May 2011 19:08:54 +0530
Subject: [PATCH 091/197] [IMP] account_asset: Improved condition and added
necessary changes.
bzr revid: uco@tinyerp.com-20110527133854-jy21rj1sezo79lev
---
addons/account_asset/account_asset_invoice.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index bbabe252f68..8fbcd4053a2 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -38,12 +38,15 @@ class account_invoice_line(osv.osv):
def move_line_get_item(self, cr, uid, line, context={}):
asset_obj = self.pool.get('account.asset.asset')
res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
- if line.invoice_id and line.invoice_id.type not in ['out_invoice', 'out_refund']:
- if line.asset_category_id:
+ if line.invoice_id and line.invoice_id.type not in ('out_invoice', 'out_refund') and line.asset_category_id:
vals = {
'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
'category_id': line.asset_category_id.id,
- 'purchase_value': line.price_subtotal
+ 'purchase_value': line.price_subtotal,
+ 'period_id': line.invoice_id.period_id.id,
+ 'partner_id': line.invoice_id.partner_id.id,
+ 'company_id': line.invoice_id.company_id.id,
+ 'currency_id': line.invoice_id.currency_id.id,
}
asset_id = asset_obj.create(cr, uid, vals, context=context)
if line.asset_category_id.open_asset:
From 65d41c8c0a655c16d7b5f6c2c4e0fe1f1eeff9cd Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 27 May 2011 16:50:49 +0200
Subject: [PATCH 092/197] [IMP] asset: asset category form view imp
bzr revid: qdp-launchpad@openerp.com-20110527145049-simvh4evilqjmg07
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 6e6dd8bfb28..8cfb4f2afff 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -39,8 +39,8 @@ class account_asset_category(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
- 'method_delay': fields.integer('During (interval)'),
- 'method_period': fields.integer('Depre. all (period)'),
+ 'method_delay': fields.integer('Number of Depreciation'),
+ 'method_period': fields.integer('Period Length'),
'method_progress_factor': fields.float('Progressif Factor'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True),
'prorata':fields.boolean('Prorata Temporis', help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
From c94ad474bd6bae09101fcd6924b422e9397fedb4 Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 30 May 2011 18:18:50 +0530
Subject: [PATCH 093/197] [IMP] Usability Issues
bzr revid: bde@tiny2-desktop-20110530124850-xd924mwja7u97cog
---
addons/account_asset/account_asset.py | 13 ++++-----
addons/account_asset/account_asset_view.xml | 30 ++++++++++++++-------
2 files changed, 27 insertions(+), 16 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8cfb4f2afff..061f5d88318 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -38,11 +38,11 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
- 'method_delay': fields.integer('Number of Depreciation'),
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
'method_period': fields.integer('Period Length'),
'method_progress_factor': fields.float('Progressif Factor'),
- 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'prorata':fields.boolean('Prorata Temporis', help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'open_asset': fields.boolean('Skip Draft State', help="Check this if you want to automatically confirm the assets of this category when created by invoice."),
}
@@ -174,13 +174,14 @@ class account_asset_asset(osv.osv):
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
+ \nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
+ 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
- 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of every 12 months"),
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index dd9e1682c1c..2963c0f2c61 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -76,7 +76,6 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -120,9 +130,9 @@
-
+
-
+
From ae6bcb4a9309b69edbdd69cddbc80ef9123ea61e Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 30 May 2011 18:33:52 +0530
Subject: [PATCH 094/197] [IMP] Improved Usability Issues
bzr revid: bde@tiny2-desktop-20110530130352-1ar0deccyh26r8wm
---
addons/account_asset/account_asset.py | 8 ++---
addons/account_asset/account_asset_view.xml | 33 ++++++++++-----------
2 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 061f5d88318..7df0c86fdaf 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -38,11 +38,11 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
- 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
+ 'method_delay': fields.integer('Number of Depreciation'),
'method_period': fields.integer('Period Length'),
'method_progress_factor': fields.float('Progressif Factor'),
- 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True),
'prorata':fields.boolean('Prorata Temporis', help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'open_asset': fields.boolean('Skip Draft State', help="Check this if you want to automatically confirm the assets of this category when created by invoice."),
}
@@ -175,7 +175,7 @@ class account_asset_asset(osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner'),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
- \nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
+ \nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 2963c0f2c61..0df926f1771 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -19,7 +19,7 @@
-
+
@@ -76,28 +76,28 @@
-
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -128,9 +128,8 @@
-
+
-
From 670293d8316db0d65cb288c8b0d3bd0776312f0d Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 30 May 2011 18:41:31 +0530
Subject: [PATCH 095/197] [IMP] Improved the Usability Issues
bzr revid: bde@tiny2-desktop-20110530131131-j21eldv1021cgowe
---
addons/account_asset/account_asset_view.xml | 22 ++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 0df926f1771..322a8d3ba28 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -85,18 +85,18 @@
-
-
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
From 97dec0550ec3a7ca4cca6f2cd213f7106781a651 Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 30 May 2011 18:45:38 +0530
Subject: [PATCH 096/197] [IMP] Improved the Usability Issues.
bzr revid: bde@tiny2-desktop-20110530131538-nm355mxgf8drmwdm
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7df0c86fdaf..7c00c8c0deb 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -174,7 +174,7 @@ class account_asset_asset(osv.osv):
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
+ 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
\nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
From 9d26c7f8066c011303268e9c9f1a2c2a94c2da66 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 30 May 2011 19:06:53 +0530
Subject: [PATCH 097/197] [FIX] account_asset: Fixed problem of amount in
depreciation lines for prorata temporis feature.
bzr revid: uco@tinyerp.com-20110530133653-wg8cnngob4czu9gu
---
addons/account_asset/account_asset.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index cc7a0fb75aa..8ad90d55e2a 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -105,7 +105,7 @@ class account_asset_asset(osv.osv):
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
- undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
+ delay_interval = undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids) or 1
if asset.prorata and asset.method == 'linear':
undone_dotation_number += 1
residual_amount = asset.value_residual
@@ -119,13 +119,13 @@ class account_asset_asset(osv.osv):
amount = residual_amount
else:
if asset.method == 'linear':
- amount = asset.value_residual / undone_dotation_number
+ amount = asset.value_residual / delay_interval
if asset.prorata:
if i == 1:
days = total_days - float(depreciation_date.strftime('%j'))
- amount = (asset.value_residual / asset.method_delay) / total_days * days
+ amount = (asset.value_residual / delay_interval) / total_days * days
elif i == undone_dotation_number:
- amount = (asset.value_residual / asset.method_delay) / total_days * (total_days - days)
+ amount = (asset.value_residual / delay_interval) / total_days * (total_days - days)
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
@@ -135,7 +135,7 @@ class account_asset_asset(osv.osv):
'sequence': i,
'name': str(asset.id) +'/'+ str(i),
'remaining_value': residual_amount,
- 'depreciated_value': asset.purchase_value - residual_amount,
+ 'depreciated_value': asset.value_residual - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
depreciation_lin_obj.create(cr, uid, vals, context=context)
From 452bdcdda517fcf8656cc4a352d66d8929698fcc Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 31 May 2011 11:33:55 +0530
Subject: [PATCH 098/197] [ADD] added the ending tag
bzr revid: bde@tiny2-desktop-20110531060355-inq7avla800lfdc2
---
addons/account_asset/account_asset_view.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 322a8d3ba28..ed7a7626d21 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -87,7 +87,7 @@
-
+
From b0b4d8a63cf470c8bf9e624285f18c39974c33a6 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 31 May 2011 12:01:33 +0530
Subject: [PATCH 099/197] [IMP] changed labels on asset.asset form as asset
category form
bzr revid: bde@tiny2-desktop-20110531063133-jee58xmy4b0zao6w
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7c00c8c0deb..fa44d215231 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -176,8 +176,8 @@ class account_asset_asset(osv.osv):
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
\nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
- 'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
- 'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_delay': fields.integer('Number of Depreciation', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
+ 'method_period': fields.integer('Period Length', readonly=True, states={'draft':[('readonly',False)]}),
'method_end': fields.date('Ending date'),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
From 1528f0c3f0a7686f37da570ae6a907db521402f9 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 31 May 2011 12:24:40 +0530
Subject: [PATCH 100/197] [IMP] changed Tooltip of Time Method
bzr revid: bde@tiny2-desktop-20110531065440-gcfc707k4i647hwb
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index fa44d215231..ae268bd5b64 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -181,7 +181,7 @@ class account_asset_asset(osv.osv):
'method_end': fields.date('Ending date'),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
- 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of every 12 months"),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of Ending Period Date and Number of Depreciation"),
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
From df4472bdc1380ad1d5fa674cb30a3de472303389 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 31 May 2011 13:04:46 +0530
Subject: [PATCH 101/197] [FIX] account_asset: Fixed problem of one
depreciation line.
bzr revid: uco@tinyerp.com-20110531073446-eyth2r6980aj8qdy
---
addons/account_asset/account_asset.py | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8ad90d55e2a..c43ccc72f5d 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -105,9 +105,11 @@ class account_asset_asset(osv.osv):
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
- delay_interval = undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids) or 1
- if asset.prorata and asset.method == 'linear':
- undone_dotation_number += 1
+ undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
+ if asset.account_move_line_ids and asset.prorata and asset.method == 'linear':
+ undone_dotation_number = (asset.method_delay - len(asset.account_move_line_ids)) + 1
+ elif asset.prorata and asset.method == 'linear':
+ undone_dotation_number = asset.method_delay + 1
residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
@@ -119,13 +121,14 @@ class account_asset_asset(osv.osv):
amount = residual_amount
else:
if asset.method == 'linear':
- amount = asset.value_residual / delay_interval
- if asset.prorata:
+ amount = asset.value_residual / undone_dotation_number
+ if asset.prorata and not asset.account_move_line_ids:
+ amount = asset.value_residual / asset.method_delay
if i == 1:
days = total_days - float(depreciation_date.strftime('%j'))
- amount = (asset.value_residual / delay_interval) / total_days * days
+ amount = (asset.value_residual / asset.method_delay) / total_days * days
elif i == undone_dotation_number:
- amount = (asset.value_residual / delay_interval) / total_days * (total_days - days)
+ amount = (asset.value_residual / asset.method_delay) / total_days * (total_days - days)
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
From 2427e1689ecf1de057c51b88f65c5e2935368b77 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 31 May 2011 16:55:23 +0530
Subject: [PATCH 102/197] [IMP] Compute button also visible in draft state and
depreciation_line_ids can be edited manually
bzr revid: bde@tiny2-desktop-20110531112523-1vdr747en3aticgc
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8cfb4f2afff..1afab3af71e 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -183,7 +183,7 @@ class account_asset_asset(osv.osv):
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
- 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True,),
+ 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines'),
'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate."),
}
_defaults = {
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index dd9e1682c1c..018a6bfcda9 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -110,7 +110,7 @@
-
+
From 86a8e533eba926d2e84d1b143cb354b7e4348fc2 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 1 Jun 2011 10:40:05 +0530
Subject: [PATCH 103/197] [FIX] Applied the Access Rights on
account.asset.depreciation.line (Asset depreciation line)
bzr revid: bde@tiny2-desktop-20110601051005-sgsktgw6iq9c4bdm
---
addons/account_asset/security/ir.model.access.csv | 3 +++
1 file changed, 3 insertions(+)
diff --git a/addons/account_asset/security/ir.model.access.csv b/addons/account_asset/security/ir.model.access.csv
index ee1f27bc68f..961f8a38bf4 100755
--- a/addons/account_asset/security/ir.model.access.csv
+++ b/addons/account_asset/security/ir.model.access.csv
@@ -7,3 +7,6 @@
"access_account_asset_asset_manager","account.asset.asset","model_account_asset_asset","account.group_account_manager",1,1,1,1
"access_account_asset_history_manager","account.asset.history","model_account_asset_history","account.group_account_manager",1,1,1,1
"access_account_asset_board_manager","account.asset.board","model_account_asset_board","account.group_account_manager",1,1,1,1
+"access_account_asset_depreciation_line","account.asset.depreciation.line","model_account_asset_depreciation_line","account.group_account_user",1,0,0,0
+"access_account_asset_depreciation_line_manager","account.asset.depreciation.line","model_account_asset_depreciation_line","account.group_account_manager",1,1,1,1
+
From 834dc9cabcd3dd799751e7a0f917262b1ced5dc5 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 1 Jun 2011 11:33:45 +0530
Subject: [PATCH 104/197] [FIX] Applied the Access Rights on asset.asset.report
(Assets Analysis)
bzr revid: bde@tiny2-desktop-20110601060345-yq3ixg7dwt4t3xld
---
addons/account_asset/security/ir.model.access.csv | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/account_asset/security/ir.model.access.csv b/addons/account_asset/security/ir.model.access.csv
index ee1f27bc68f..ed932a528de 100755
--- a/addons/account_asset/security/ir.model.access.csv
+++ b/addons/account_asset/security/ir.model.access.csv
@@ -7,3 +7,5 @@
"access_account_asset_asset_manager","account.asset.asset","model_account_asset_asset","account.group_account_manager",1,1,1,1
"access_account_asset_history_manager","account.asset.history","model_account_asset_history","account.group_account_manager",1,1,1,1
"access_account_asset_board_manager","account.asset.board","model_account_asset_board","account.group_account_manager",1,1,1,1
+"access_asset_asset_report","asset.asset.report","model_asset_asset_report","account.group_account_user",1,0,0,0
+"access_asset_asset_report_manager","asset.asset.report","model_asset_asset_report","account.group_account_manager",1,1,1,1
From fea7004367f33a517a3f6c26a3f4968489d0004a Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 1 Jun 2011 11:35:02 +0530
Subject: [PATCH 105/197] [FIX] account_asset: Analytic entries should be
created only for depreciation expense account.
bzr revid: uco@tinyerp.com-20110601060502-0g3btl51eess5atn
---
addons/account_asset/account_asset.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8cfb4f2afff..946822cf7af 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -365,7 +365,6 @@ class account_asset_depreciation_line(osv.osv):
'partner_id': line.asset_id.partner_id.id,
'currency_id': company_currency <> current_currency and current_currency or False,
'amount_currency': company_currency <> current_currency and - sign * line.amount or 0.0,
- 'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
'date': depreciation_date,
})
move_line_obj.create(cr, uid, {
From 009b0088ce48f391e790442110c479ee85474dd4 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 1 Jun 2011 14:50:37 +0530
Subject: [PATCH 106/197] [FIX] account_asset: Corrected the feature with all
test cases.
bzr revid: uco@tinyerp.com-20110601092037-0lh1y1j9tp9j218i
---
addons/account_asset/account_asset.py | 35 +++++++++++++++------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c43ccc72f5d..faf6abb65f4 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -102,33 +102,29 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
- old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
- if old_depreciation_line_ids:
- depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
- undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
- if asset.account_move_line_ids and asset.prorata and asset.method == 'linear':
- undone_dotation_number = (asset.method_delay - len(asset.account_move_line_ids)) + 1
- elif asset.prorata and asset.method == 'linear':
- undone_dotation_number = asset.method_delay + 1
- residual_amount = asset.value_residual
+ undone_dotation_number = asset.method_delay
+ if asset.prorata and asset.method == 'linear':
+ undone_dotation_number += 1
+ amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
+ depr_vals = []
for i in range(1,undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
else:
if asset.method == 'linear':
- amount = asset.value_residual / undone_dotation_number
- if asset.prorata and not asset.account_move_line_ids:
- amount = asset.value_residual / asset.method_delay
+ amount = amount_to_depr / undone_dotation_number
+ if asset.prorata:
+ amount = amount_to_depr / asset.method_delay
if i == 1:
days = total_days - float(depreciation_date.strftime('%j'))
- amount = (asset.value_residual / asset.method_delay) / total_days * days
+ amount = (amount_to_depr / asset.method_delay) / total_days * days
elif i == undone_dotation_number:
- amount = (asset.value_residual / asset.method_delay) / total_days * (total_days - days)
+ amount = (amount_to_depr / asset.method_delay) / total_days * (total_days - days)
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
@@ -138,12 +134,19 @@ class account_asset_asset(osv.osv):
'sequence': i,
'name': str(asset.id) +'/'+ str(i),
'remaining_value': residual_amount,
- 'depreciated_value': asset.value_residual - residual_amount,
+ 'depreciated_value': amount_to_depr - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
- depreciation_lin_obj.create(cr, uid, vals, context=context)
+ if asset.depreciation_line_ids:
+ depr_vals.append(vals)
+ else:
+ depreciation_lin_obj.create(cr, uid, vals, context=context)
month += asset.method_period
depreciation_date = datetime(year + (month / 12), (month % 12 or 12), day)
+ for vals in depr_vals:
+ for dep in asset.depreciation_line_ids:
+ if dep.sequence == vals['sequence'] and not dep.move_check:
+ depreciation_lin_obj.write(cr, uid, [dep.id], vals, context=context)
return True
def validate(self, cr, uid, ids, context={}):
From 5f8af38fad9f2968309e36f89fbf47c000cccde6 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 2 Jun 2011 14:07:18 +0530
Subject: [PATCH 107/197] [IMP] account_asset: Improved asset analysis report.
bzr revid: uco@tinyerp.com-20110602083718-gwdqbemjzq2ftanj
---
.../report/account_asset_report.py | 76 +++++++++--
.../report/account_asset_report_view.xml | 123 ++++++++++++------
2 files changed, 143 insertions(+), 56 deletions(-)
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"/>
From c783dd42510c6926730f3c279edf01c86eef1376 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 2 Jun 2011 18:28:17 +0530
Subject: [PATCH 108/197] [FIX] account_asset: Fixed progressive method
problem.
bzr revid: uco@tinyerp.com-20110602125817-331wrx9dgpf2mtmw
---
addons/account_asset/account_asset.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index faf6abb65f4..fef406e6678 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -103,12 +103,14 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
undone_dotation_number = asset.method_delay
+ amount_to_depr = residual_amount = asset.purchase_value
if asset.prorata and asset.method == 'linear':
undone_dotation_number += 1
- amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
+ amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
+ if month == 12: month = 0
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
depr_vals = []
From 1c0bbd9e6c3ede55db5dd61ead2c903d515506b2 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 3 Jun 2011 15:16:52 +0530
Subject: [PATCH 109/197] [FIX,IMP] account_asset: Improved code and fixed
problem of date calculations.
bzr revid: uco@tinyerp.com-20110603094652-bf5hpneruh8qr3tu
---
addons/account_asset/account_asset.py | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index fef406e6678..0411bb41b5c 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -19,9 +19,11 @@
#
##############################################################################
-from osv import osv, fields
import time
from datetime import datetime
+from dateutil.relativedelta import relativedelta
+
+from osv import osv, fields
import decimal_precision as dp
class account_asset_category(osv.osv):
@@ -103,17 +105,15 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
undone_dotation_number = asset.method_delay
- amount_to_depr = residual_amount = asset.purchase_value
- if asset.prorata and asset.method == 'linear':
+ if asset.prorata:
undone_dotation_number += 1
- amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
+ # For all cases: amount to depreciate is (Purchase Value - Salvage Value)
+ amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
- if month == 12: month = 0
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
- depr_vals = []
for i in range(1,undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
@@ -139,16 +139,16 @@ class account_asset_asset(osv.osv):
'depreciated_value': amount_to_depr - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
+ dep_id = [dep.id for dep in asset.depreciation_line_ids if not dep.move_check and dep.sequence == vals['sequence']]
if asset.depreciation_line_ids:
- depr_vals.append(vals)
+ depreciation_lin_obj.write(cr, uid, dep_id, vals, context=context)
else:
depreciation_lin_obj.create(cr, uid, vals, context=context)
- month += asset.method_period
- depreciation_date = datetime(year + (month / 12), (month % 12 or 12), day)
- for vals in depr_vals:
- for dep in asset.depreciation_line_ids:
- if dep.sequence == vals['sequence'] and not dep.move_check:
- depreciation_lin_obj.write(cr, uid, [dep.id], vals, context=context)
+ # Considering Depr. Period as months
+ depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
+ day = depreciation_date.day
+ month = depreciation_date.month
+ year = depreciation_date.year
return True
def validate(self, cr, uid, ids, context={}):
From cd1693262cbf7ba0883f064c098cf4f6224290c1 Mon Sep 17 00:00:00 2001
From: bde
Date: Fri, 3 Jun 2011 15:39:39 +0530
Subject: [PATCH 110/197] =?UTF-8?q?[IMP]=20optimized=20account=20invoice?=
=?UTF-8?q?=20and=20removed=20=C2=B5=20file?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
bzr revid: bde@tiny2-desktop-20110603100939-ws1p1yjqd61ktidv
---
addons/account_asset/account_asset_invoice.py | 15 ++++++++-------
addons/account_asset/µ | 12 ------------
2 files changed, 8 insertions(+), 19 deletions(-)
delete mode 100755 addons/account_asset/µ
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 8fbcd4053a2..17e167d5be9 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -1,6 +1,6 @@
# -*- encoding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL ().
#
@@ -15,17 +15,17 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
from osv import osv, fields
-import time
+
class account_invoice(osv.osv):
_inherit = 'account.invoice'
- def line_get_convert(self, cr, uid, x, part, date, context={}):
- res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context)
+ def line_get_convert(self, cr, uid, x, part, date, context=None):
+ res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context=context)
res['asset_id'] = x.get('asset_id', False)
return res
account_invoice()
@@ -35,9 +35,9 @@ class account_invoice_line(osv.osv):
_columns = {
'asset_category_id': fields.many2one('account.asset.category', 'Asset Category'),
}
- def move_line_get_item(self, cr, uid, line, context={}):
+ def move_line_get_item(self, cr, uid, line, context=None):
asset_obj = self.pool.get('account.asset.asset')
- res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context)
+ res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context=context)
if line.invoice_id and line.invoice_id.type not in ('out_invoice', 'out_refund') and line.asset_category_id:
vals = {
'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name,
@@ -52,6 +52,7 @@ class account_invoice_line(osv.osv):
if line.asset_category_id.open_asset:
asset_obj.validate(cr, uid, [asset_id], context=context)
return res
+
account_invoice_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/µ b/addons/account_asset/µ
deleted file mode 100755
index 77f0083048b..00000000000
--- a/addons/account_asset/µ
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
From 042007168800d2e603f479bb6dce5456135b9b19 Mon Sep 17 00:00:00 2001
From: bde
Date: Fri, 3 Jun 2011 15:54:12 +0530
Subject: [PATCH 111/197] [IMP] removed extra space
bzr revid: bde@tiny2-desktop-20110603102412-cc724unw1qklxas5
---
addons/account_asset/account_asset_invoice.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 17e167d5be9..bf4df4faacd 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -56,4 +56,3 @@ class account_invoice_line(osv.osv):
account_invoice_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
From a361ddda6d9ad683938b175a742cd3c6a5f60658 Mon Sep 17 00:00:00 2001
From: bde
Date: Fri, 3 Jun 2011 18:47:44 +0530
Subject: [PATCH 112/197] [CLEANING] cleaned the account asset invoice
bzr revid: bde@tiny2-desktop-20110603131744-n80rh7hsoaihx8jo
---
addons/account_asset/account_asset_invoice.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index bf4df4faacd..167502cb09f 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL ().
+# Copyright (C) 2004-2010 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
@@ -21,20 +21,23 @@
from osv import osv, fields
-
class account_invoice(osv.osv):
+
_inherit = 'account.invoice'
def line_get_convert(self, cr, uid, x, part, date, context=None):
res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context=context)
res['asset_id'] = x.get('asset_id', False)
return res
+
account_invoice()
class account_invoice_line(osv.osv):
+
_inherit = 'account.invoice.line'
_columns = {
'asset_category_id': fields.many2one('account.asset.category', 'Asset Category'),
}
+
def move_line_get_item(self, cr, uid, line, context=None):
asset_obj = self.pool.get('account.asset.asset')
res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context=context)
From c768d76500bdfeb592c2fa96e641dff260a47147 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 6 Jun 2011 11:27:53 +0530
Subject: [PATCH 113/197] [ADD] account_asset: Added ending date method
functionality for assets.
bzr revid: uco@tinyerp.com-20110606055753-s0nqzusn5q2y53wp
---
addons/account_asset/account_asset.py | 13 +++++++++----
addons/account_asset/account_asset_view.xml | 10 ++++++----
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 0411bb41b5c..631747b044c 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -45,6 +45,7 @@ class account_asset_category(osv.osv):
'method_period': fields.integer('Period Length'),
'method_progress_factor': fields.float('Progressif Factor'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True),
+ 'method_end': fields.date('Ending date'),
'prorata':fields.boolean('Prorata Temporis', help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'open_asset': fields.boolean('Skip Draft State', help="Check this if you want to automatically confirm the assets of this category when created by invoice."),
}
@@ -104,9 +105,6 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
- undone_dotation_number = asset.method_delay
- if asset.prorata:
- undone_dotation_number += 1
# For all cases: amount to depreciate is (Purchase Value - Salvage Value)
amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
@@ -114,6 +112,12 @@ class account_asset_asset(osv.osv):
month = depreciation_date.month
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
+ undone_dotation_number = asset.method_delay
+ if asset.method_time == 'end':
+ end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
+ undone_dotation_number = (end_date - depreciation_date).days / total_days
+ if asset.prorata or asset.method_time == 'end':
+ undone_dotation_number += 1
for i in range(1,undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
@@ -194,7 +198,7 @@ class account_asset_asset(osv.osv):
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'method_delay': fields.integer('During (interval)', readonly=True, states={'draft':[('readonly',False)]}),
'method_period': fields.integer('Depre. all (period)', readonly=True, states={'draft':[('readonly',False)]}),
- 'method_end': fields.date('Ending date'),
+ 'method_end': fields.date('Ending date', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
@@ -239,6 +243,7 @@ class account_asset_asset(osv.osv):
'method_time': category_obj.method_time,
'method_period': category_obj.method_period,
'method_progress_factor': category_obj.method_progress_factor,
+ 'method_end': category_obj.method_end,
'prorata': category_obj.prorata,
}
return res
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index dd9e1682c1c..a1f275aec55 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -18,8 +18,9 @@
-
-
+
+
+
@@ -88,9 +89,10 @@
-
+
+
-
+
From 0a44a5836805f0de3ed8a9d134f3e9b6935fdde2 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 6 Jun 2011 15:36:29 +0530
Subject: [PATCH 114/197] [IMP] account_asset: Improved report, view and
license.
bzr revid: uco@tinyerp.com-20110606100629-5wvorazdo9nad9eb
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_invoice.py | 2 +-
.../report/account_asset_report.py | 28 +++++++++++--------
.../report/account_asset_report_view.xml | 27 ++++++++++--------
4 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8cfb4f2afff..c02ad58ccea 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL ().
+# Copyright (C) 2004-2010 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
diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py
index 8fbcd4053a2..705ca364915 100755
--- a/addons/account_asset/account_asset_invoice.py
+++ b/addons/account_asset/account_asset_invoice.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL ().
+# Copyright (C) 2004-2010 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
diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
index 1b80b120631..bf244f30985 100644
--- a/addons/account_asset/report/account_asset_report.py
+++ b/addons/account_asset/report/account_asset_report.py
@@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL ().
+# Copyright (C) 2004-2010 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
@@ -27,49 +27,53 @@ class asset_asset_report(osv.osv):
_description = "Assets Analysis"
_auto = False
_columns = {
- 'name': fields.char('Year', size=64, required=False, readonly=True),
+ 'name': fields.char('Year', size=16, 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),
+ 'day': fields.char('Day', size=16, 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'),
+ 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'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),
+ 'nbr': fields.integer('# of Depreciation Lines', readonly=True),
+ 'company_id': fields.many2one('res.company', 'Company', 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
+ 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.amount as remaining_value,
dl.move_check as move_check,
dl.asset_id as asset_id,
a.category_id as asset_category_id,
+ a.partner_id as partner_id,
a.state as state,
- count(dl.*) as nbr
+ count(dl.*) as nbr,
+ a.company_id as company_id
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
+ dl.asset_id, dl.move_check, a.state,
+ a.category_id, a.partner_id, a.purchase_date, dl.amount,
+ a.company_id, a.purchase_value, a.salvage_value
)""")
asset_asset_report()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml
index d615463a977..4a84f641589 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -13,19 +13,16 @@
-
-
-
-
+
asset.asset.report.graph
asset.asset.report
graph
@@ -47,7 +44,7 @@
-
+
+
+
+
+
+
+
@@ -81,13 +84,13 @@
- Assets Analysis
- 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;
+ Assets Analysis
+ asset.asset.report
+ form
+ tree,graph
+
+ {'search_default_asset_category':1, 'search_default_posted':1, 'search_default_purchase_date': time.strftime('%Y-01-01'), '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;
Date: Mon, 6 Jun 2011 15:45:00 +0530
Subject: [PATCH 115/197] [FIX] account_asset: Fixed rounding value problem on
residual value.
bzr revid: uco@tinyerp.com-20110606101500-eed1qt7zwknyv00j
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 631747b044c..3f3e4e10326 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -164,7 +164,7 @@ class account_asset_asset(osv.osv):
def _amount_residual(self, cr, uid, ids, name, args, context={}):
cr.execute("""SELECT
- l.asset_id as id, SUM(abs(l.debit-l.credit)) AS amount
+ l.asset_id as id, round(SUM(abs(l.debit-l.credit))) AS amount
FROM
account_move_line l
WHERE
From 532224fc5b5846f54113ad2be7c6f474803a6ea5 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 6 Jun 2011 16:14:34 +0530
Subject: [PATCH 116/197] [IMP] account_asset: Added check constraint for
ending date method with prorata.
bzr revid: uco@tinyerp.com-20110606104434-65gz1mlv2cm4v510
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 3f3e4e10326..0c817be2a98 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -224,12 +224,12 @@ class account_asset_asset(osv.osv):
def _check_prorata(self, cr, uid, ids, context=None):
for asset in self.browse(cr, uid, ids, context=context):
- if asset.prorata and asset.method != 'linear':
+ if asset.prorata and asset.method != 'linear' or asset.method_time != 'delay':
return False
return True
_constraints = [
- (_check_prorata, '\nProrata temporis can be applied only for linear method.', ['prorata']),
+ (_check_prorata, '\nProrata temporis can be applied only for computation method linear with time method delay.', ['prorata']),
]
def onchange_category_id(self, cr, uid, ids, category_id, context=None):
From 9ef399189d8120a3a22a6b9a861ceaa325829363 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 6 Jun 2011 16:31:14 +0530
Subject: [PATCH 117/197] [IMP] account_asset: Improved view. Replaced tabs
with spaces.
bzr revid: uco@tinyerp.com-20110606110114-75b0wt5qydzyytkm
---
.../report/account_asset_report_view.xml | 86 +++++++++----------
1 file changed, 43 insertions(+), 43 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml
index 4a84f641589..70085c12f44 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -3,44 +3,44 @@
- asset.asset.report.tree
- asset.asset.report
- tree
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ asset.asset.report.tree
+ asset.asset.report
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- asset.asset.report.graph
- asset.asset.report
- graph
-
-
-
-
-
-
+ asset.asset.report.graph
+ asset.asset.report
+ graph
+
+
+
+
+
+
asset.asset.report.search
- asset.asset.report
- search
-
-
-
+ asset.asset.report
+ search
+
+
+
@@ -58,15 +58,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -78,9 +78,9 @@
domain="[]" context="{'group_by':'month'}" help="Month in which assets are purchased."/>
-
-
-
+
+
+
From d6cfe8e711a3b1db9016c0f7c2a31f8f6f315313 Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 6 Jun 2011 16:40:53 +0530
Subject: [PATCH 118/197] [ADD] added set to close button and its functionality
bzr revid: bde@tiny2-desktop-20110606111053-1d6ebusws13r1sjo
---
addons/account_asset/account_asset.py | 5 +++++
addons/account_asset/account_asset_view.xml | 5 ++---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index ae268bd5b64..d8a45f0ff2a 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -134,6 +134,11 @@ class account_asset_asset(osv.osv):
depreciation_date = datetime(year + (month / 12), month % 12, day)
return True
+ def set_to_close(self, cr, uid, ids, context={}):
+ return self.write(cr, uid, ids, {
+ 'state':'close'
+ }, context)
+
def validate(self, cr, uid, ids, context={}):
return self.write(cr, uid, ids, {
'state':'open'
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index ed7a7626d21..5ece71b685d 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -100,6 +100,8 @@
+
+
@@ -130,9 +132,6 @@
-
-
-
From b1928c32d9d369d59a641146aa08fc9decec4378 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 6 Jun 2011 17:56:18 +0530
Subject: [PATCH 119/197] [REM] account_asset: Removed analytic journal field
from asset category as it is not used anywhere.
bzr revid: uco@tinyerp.com-20110606122618-wt9xmz5xtsybempd
---
addons/account_asset/account_asset.py | 1 -
addons/account_asset/account_asset_view.xml | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 946822cf7af..56446dd5c2e 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -31,7 +31,6 @@ class account_asset_category(osv.osv):
_columns = {
'name': fields.char('Name', size=64, required=True, select=1),
'note': fields.text('Note'),
- 'journal_analytic_id': fields.many2one('account.analytic.journal', 'Analytic journal'),
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
'account_asset_id': fields.many2one('account.account', 'Asset Account', required=True),
'account_depreciation_id': fields.many2one('account.account', 'Depreciation Account', required=True),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index dd9e1682c1c..579c3962bd3 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -28,11 +28,10 @@
-
+
-
From 6785182c70a350bc11b752c0df26192cfa2c3e27 Mon Sep 17 00:00:00 2001
From: Mustufa Rangwala
Date: Tue, 7 Jun 2011 11:08:22 +0530
Subject: [PATCH 120/197] [FIX] Account Asset: constraint on asset
bzr revid: mra@mra-laptop-20110607053822-38c81ygd2ba8nerq
---
addons/account_asset/account_asset.py | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 0c817be2a98..2b84a35b2aa 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -105,7 +105,7 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
- # For all cases: amount to depreciate is (Purchase Value - Salvage Value)
+ # For all cases: amount to depreciate is (Purchase Value - Salvage Value)
amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
@@ -118,7 +118,7 @@ class account_asset_asset(osv.osv):
undone_dotation_number = (end_date - depreciation_date).days / total_days
if asset.prorata or asset.method_time == 'end':
undone_dotation_number += 1
- for i in range(1,undone_dotation_number+1):
+ for i in range(1, undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
else:
@@ -138,14 +138,14 @@ class account_asset_asset(osv.osv):
'amount': amount,
'asset_id': asset.id,
'sequence': i,
- 'name': str(asset.id) +'/'+ str(i),
+ 'name': str(asset.id) +'/' + str(i),
'remaining_value': residual_amount,
'depreciated_value': amount_to_depr - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
dep_id = [dep.id for dep in asset.depreciation_line_ids if not dep.move_check and dep.sequence == vals['sequence']]
if asset.depreciation_line_ids:
- depreciation_lin_obj.write(cr, uid, dep_id, vals, context=context)
+ depreciation_lin_obj.write(cr, uid, dep_id, vals, context=context)
else:
depreciation_lin_obj.create(cr, uid, vals, context=context)
# Considering Depr. Period as months
@@ -160,9 +160,7 @@ class account_asset_asset(osv.osv):
'state':'open'
}, context)
-
-
- def _amount_residual(self, cr, uid, ids, name, args, context={}):
+ def _amount_residual(self, cr, uid, ids, name, args, context=None):
cr.execute("""SELECT
l.asset_id as id, round(SUM(abs(l.debit-l.credit))) AS amount
FROM
@@ -224,12 +222,12 @@ class account_asset_asset(osv.osv):
def _check_prorata(self, cr, uid, ids, context=None):
for asset in self.browse(cr, uid, ids, context=context):
- if asset.prorata and asset.method != 'linear' or asset.method_time != 'delay':
+ if asset.prorata and (asset.method != 'linear' or asset.method_time != 'delay'):
return False
return True
_constraints = [
- (_check_prorata, '\nProrata temporis can be applied only for computation method linear with time method delay.', ['prorata']),
+ (_check_prorata, '\nProrata temporis can be applied only for computation method linear and time method delay.', ['prorata']),
]
def onchange_category_id(self, cr, uid, ids, category_id, context=None):
@@ -238,7 +236,7 @@ class account_asset_asset(osv.osv):
if category_id:
category_obj = asset_categ_obj.browse(cr, uid, category_id, context=context)
res['value'] = {
- 'method': category_obj.method,
+ 'method': category_obj.method,
'method_delay': category_obj.method_delay,
'method_time': category_obj.method_time,
'method_period': category_obj.method_period,
@@ -247,7 +245,7 @@ class account_asset_asset(osv.osv):
'prorata': category_obj.prorata,
}
return res
-
+
def copy(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
From aaa57f7bcc7cb8ebd3955d898da14ace5d6825f1 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 7 Jun 2011 11:50:13 +0530
Subject: [PATCH 121/197] [IMP] improved set_to_close method and icon on button
bzr revid: bde@tiny2-desktop-20110607062013-08a63zt75167de5c
---
addons/account_asset/account_asset.py | 8 ++------
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index d8a45f0ff2a..4ef205b0953 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -134,18 +134,14 @@ class account_asset_asset(osv.osv):
depreciation_date = datetime(year + (month / 12), month % 12, day)
return True
- def set_to_close(self, cr, uid, ids, context={}):
- return self.write(cr, uid, ids, {
- 'state':'close'
- }, context)
+ def set_to_close(self, cr, uid, ids, context=None):
+ return self.write(cr, uid, ids, {'state': 'close'}, context=context)
def validate(self, cr, uid, ids, context={}):
return self.write(cr, uid, ids, {
'state':'open'
}, context)
-
-
def _amount_residual(self, cr, uid, ids, name, args, context={}):
cr.execute("""SELECT
l.asset_id as id, SUM(abs(l.debit-l.credit)) AS amount
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 5ece71b685d..f11deef41ff 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -101,7 +101,7 @@
-
+
From f987da59bd0a1dba904a5c630bd5ee83effe7317 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 7 Jun 2011 16:27:19 +0530
Subject: [PATCH 122/197] [REM] removed account.asset.board object and its
references
bzr revid: bde@tiny2-desktop-20110607105719-fifsqghv2n461znm
---
addons/account_asset/account_asset.py | 37 ++-------------
addons/account_asset/account_asset_view.xml | 47 +++----------------
.../security/ir.model.access.csv | 2 -
3 files changed, 10 insertions(+), 76 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1afab3af71e..419d353f331 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -139,7 +139,7 @@ class account_asset_asset(osv.osv):
'state':'open'
}, context)
-
+
def _amount_residual(self, cr, uid, ids, name, args, context={}):
cr.execute("""SELECT
@@ -207,7 +207,7 @@ class account_asset_asset(osv.osv):
if category_id:
category_obj = asset_categ_obj.browse(cr, uid, category_id, context=context)
res['value'] = {
- 'method': category_obj.method,
+ 'method': category_obj.method,
'method_delay': category_obj.method_delay,
'method_time': category_obj.method_time,
'method_period': category_obj.method_period,
@@ -215,7 +215,7 @@ class account_asset_asset(osv.osv):
'prorata': category_obj.prorata,
}
return res
-
+
def copy(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
@@ -486,35 +486,4 @@ class account_asset_history(osv.osv):
}
account_asset_history()
-class account_asset_board(osv.osv):
- _name = 'account.asset.board'
- _description = 'Asset board'
- _columns = {
- 'name': fields.char('Asset name', size=64, required=True, select=1),
- 'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True, select=1),
- 'value_gross': fields.float('Gross value', required=True, select=1),
- 'value_asset': fields.float('Asset Value', required=True, select=1),
- 'value_asset_cumul': fields.float('Cumul. value', required=True, select=1),
- 'value_net': fields.float('Net value', required=True, select=1),
-
- }
- _auto = False
- def init(self, cr):
- cr.execute("""
- create or replace view account_asset_board as (
- select
- min(l.id) as id,
- min(l.id) as asset_id,
- 0.0 as value_gross,
- 0.0 as value_asset,
- 0.0 as value_asset_cumul,
- 0.0 as value_net
- from
- account_move_line l
- where
- l.state <> 'draft' and
- l.asset_id=3
- )""")
-account_asset_board()
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 018a6bfcda9..fdd94c63631 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -19,7 +19,7 @@
-
+
@@ -77,11 +77,11 @@
-
@@ -118,7 +118,7 @@
-
+
@@ -162,39 +162,6 @@
-
- account.asset.board.form
- account.asset.board
- form
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- account.asset.board.tree
- account.asset.board
- tree
-
-
-
-
-
-
-
-
-
-
-
-
account.asset.asset.tree
diff --git a/addons/account_asset/security/ir.model.access.csv b/addons/account_asset/security/ir.model.access.csv
index 961f8a38bf4..2630c70181b 100755
--- a/addons/account_asset/security/ir.model.access.csv
+++ b/addons/account_asset/security/ir.model.access.csv
@@ -2,11 +2,9 @@
"access_account_asset_category","account.asset.category","model_account_asset_category","account.group_account_user",1,0,0,0
"access_account_asset_asset","account.asset.asset","model_account_asset_asset","account.group_account_user",1,0,0,0
"access_account_asset_history","account.asset.history","model_account_asset_history","account.group_account_user",1,0,0,0
-"access_account_asset_board","account.asset.board","model_account_asset_board","account.group_account_user",1,0,0,0
"access_account_asset_category_manager","account.asset.category","model_account_asset_category","account.group_account_manager",1,1,1,1
"access_account_asset_asset_manager","account.asset.asset","model_account_asset_asset","account.group_account_manager",1,1,1,1
"access_account_asset_history_manager","account.asset.history","model_account_asset_history","account.group_account_manager",1,1,1,1
-"access_account_asset_board_manager","account.asset.board","model_account_asset_board","account.group_account_manager",1,1,1,1
"access_account_asset_depreciation_line","account.asset.depreciation.line","model_account_asset_depreciation_line","account.group_account_user",1,0,0,0
"access_account_asset_depreciation_line_manager","account.asset.depreciation.line","model_account_asset_depreciation_line","account.group_account_manager",1,1,1,1
From a0154cca0621c7c9de8e89f96a00f75a8738585d Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 8 Jun 2011 19:05:53 +0530
Subject: [PATCH 123/197] [FIX] account_asset: Fixed problem of change in
params when computing depreciation lines.
bzr revid: uco@tinyerp.com-20110608133553-f9039h3zjvmj6do3
---
addons/account_asset/account_asset.py | 11 ++++++-----
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 67556639fe5..498894ea68f 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -105,6 +105,9 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
+ old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
+ if old_depreciation_line_ids:
+ depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
# For all cases: amount to depreciate is (Purchase Value - Salvage Value)
amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
@@ -134,6 +137,8 @@ class account_asset_asset(osv.osv):
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
+ if i <= len(asset.account_move_line_ids):
+ continue
vals = {
'amount': amount,
'asset_id': asset.id,
@@ -143,11 +148,7 @@ class account_asset_asset(osv.osv):
'depreciated_value': amount_to_depr - residual_amount,
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
- dep_id = [dep.id for dep in asset.depreciation_line_ids if not dep.move_check and dep.sequence == vals['sequence']]
- if asset.depreciation_line_ids:
- depreciation_lin_obj.write(cr, uid, dep_id, vals, context=context)
- else:
- depreciation_lin_obj.create(cr, uid, vals, context=context)
+ depreciation_lin_obj.create(cr, uid, vals, context=context)
# Considering Depr. Period as months
depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
day = depreciation_date.day
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 9748110640c..2a578117ffe 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -91,7 +91,7 @@
-
+
From 6806f33ed7398724cbd75cc072e4052ae05d504f Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 9 Jun 2011 12:57:28 +0530
Subject: [PATCH 124/197] [REF] account_asset: Small corrections.
bzr revid: uco@tinyerp.com-20110609072728-0hmyg18oc1rhcr63
---
addons/account_asset/account_asset.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 498894ea68f..9862cd5c48b 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -137,8 +137,11 @@ class account_asset_asset(osv.osv):
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
+
+ # To skip already created lines
if i <= len(asset.account_move_line_ids):
continue
+
vals = {
'amount': amount,
'asset_id': asset.id,
@@ -149,6 +152,7 @@ class account_asset_asset(osv.osv):
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
depreciation_lin_obj.create(cr, uid, vals, context=context)
+
# Considering Depr. Period as months
depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
day = depreciation_date.day
From b21a1bfcfd60122cc6a4b86e9128d10e6d7068cc Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 9 Jun 2011 15:55:52 +0530
Subject: [PATCH 125/197] [IMP] account_asset: Improved calcultion of
depreciation lines.
bzr revid: uco@tinyerp.com-20110609102552-z3hdmf8gp3j57f33
---
addons/account_asset/account_asset.py | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 9862cd5c48b..bf92467def5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -108,14 +108,16 @@ class account_asset_asset(osv.osv):
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
- # For all cases: amount to depreciate is (Purchase Value - Salvage Value)
- amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value
+
+ amount_to_depr = residual_amount = asset.value_residual
+
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
- undone_dotation_number = asset.method_delay
+
+ undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
if asset.method_time == 'end':
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
undone_dotation_number = (end_date - depreciation_date).days / total_days
@@ -138,10 +140,6 @@ class account_asset_asset(osv.osv):
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
- # To skip already created lines
- if i <= len(asset.account_move_line_ids):
- continue
-
vals = {
'amount': amount,
'asset_id': asset.id,
From 5aed3a1b0c619655e83c0af71b54b9318cded5b3 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 9 Jun 2011 18:55:59 +0530
Subject: [PATCH 126/197] [ADD,FIX] account_asset: Added onchange method for
computation method and time method.
Fixed problem of depreciation dates.
bzr revid: uco@tinyerp.com-20110609132559-1r9hml4d1j73dtfv
---
addons/account_asset/account_asset.py | 15 ++++++++++++---
addons/account_asset/account_asset_view.xml | 4 ++--
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index bf92467def5..189ffdec22d 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -110,12 +110,14 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
amount_to_depr = residual_amount = asset.value_residual
-
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
+ if asset.account_move_line_ids:
+ add_months = asset.method_period * len(asset.account_move_line_ids)
+ depreciation_date = (datetime(year, month, day) + relativedelta(months=+add_months))
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
if asset.method_time == 'end':
@@ -123,6 +125,7 @@ class account_asset_asset(osv.osv):
undone_dotation_number = (end_date - depreciation_date).days / total_days
if asset.prorata or asset.method_time == 'end':
undone_dotation_number += 1
+
for i in range(1, undone_dotation_number+1):
if i == undone_dotation_number + 1:
amount = residual_amount
@@ -139,7 +142,6 @@ class account_asset_asset(osv.osv):
else:
amount = residual_amount * asset.method_progress_factor
residual_amount -= amount
-
vals = {
'amount': amount,
'asset_id': asset.id,
@@ -152,10 +154,11 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.create(cr, uid, vals, context=context)
# Considering Depr. Period as months
- depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
day = depreciation_date.day
month = depreciation_date.month
year = depreciation_date.year
+ depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
+
return True
def validate(self, cr, uid, ids, context={}):
@@ -248,6 +251,12 @@ class account_asset_asset(osv.osv):
'prorata': category_obj.prorata,
}
return res
+
+ def onchange_method_time(self, cr, uid, ids, method='linear', method_time='delay', context=None):
+ res = {'value': {}}
+ if method != 'linear' or method_time != 'delay':
+ res['value'] = {'prorata': False}
+ return res
def copy(self, cr, uid, id, default=None, context=None):
if default is None:
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 2a578117ffe..cd7eda512f0 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -85,10 +85,10 @@
type="action"
colspan="2"/>
-
+
-
+
From 0c7b3fa6bb220626453e67c8c02037e5234d297c Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 10 Jun 2011 18:39:26 +0530
Subject: [PATCH 127/197] [FIX] account_asset: Fixed problem of ending date
method.
bzr revid: uco@tinyerp.com-20110610130926-tlprfn7nphowj8hx
---
addons/account_asset/account_asset.py | 39 +++++++++++++++------------
1 file changed, 22 insertions(+), 17 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 189ffdec22d..2c5b63a8479 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -101,7 +101,10 @@ class account_asset_asset(osv.osv):
WHERE a.id IN %s
GROUP BY a.id, a.purchase_date """, (tuple(ids),))
return dict(cr.fetchall())
-
+
+ def calculate_date(self, date, period):
+ return datetime(date.year, date.month, date.day) + relativedelta(months=+period)
+
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
@@ -110,20 +113,25 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
amount_to_depr = residual_amount = asset.value_residual
+ add_months = asset.method_period * len(asset.account_move_line_ids)
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
- day = depreciation_date.day
- month = depreciation_date.month
- year = depreciation_date.year
- total_days = (year % 4) and 365 or 366
- if asset.account_move_line_ids:
- add_months = asset.method_period * len(asset.account_move_line_ids)
- depreciation_date = (datetime(year, month, day) + relativedelta(months=+add_months))
-
+ depreciation_date = self.calculate_date(depreciation_date, add_months)
+ total_days = (depreciation_date.year % 4) and 365 or 366
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
- if asset.method_time == 'end':
+ if asset.method_time == 'end' and asset.value_residual != 0:
+ start_date = depreciation_date
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
- undone_dotation_number = (end_date - depreciation_date).days / total_days
- if asset.prorata or asset.method_time == 'end':
+ undone_dotation_number = 1
+ while True:
+ if start_date <= end_date:
+ start_date = self.calculate_date(start_date, asset.method_period)
+ undone_dotation_number += 1
+ else:
+ break
+ if start_date > end_date:
+ undone_dotation_number -= 1
+
+ if asset.prorata:
undone_dotation_number += 1
for i in range(1, undone_dotation_number+1):
@@ -132,7 +140,7 @@ class account_asset_asset(osv.osv):
else:
if asset.method == 'linear':
amount = amount_to_depr / undone_dotation_number
- if asset.prorata:
+ if asset.prorata and not asset.account_move_line_ids:
amount = amount_to_depr / asset.method_delay
if i == 1:
days = total_days - float(depreciation_date.strftime('%j'))
@@ -154,10 +162,7 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.create(cr, uid, vals, context=context)
# Considering Depr. Period as months
- day = depreciation_date.day
- month = depreciation_date.month
- year = depreciation_date.year
- depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
+ depreciation_date = self.calculate_date(depreciation_date, asset.method_period)
return True
From 79f28936f5480e86743b8e4239da6d727722e8ce Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 10 Jun 2011 18:59:37 +0530
Subject: [PATCH 128/197] [IMP] account_asset: Small improvement.
bzr revid: uco@tinyerp.com-20110610132937-syniedgbntmjq48u
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 2c5b63a8479..113d4322272 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -113,7 +113,7 @@ class account_asset_asset(osv.osv):
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
amount_to_depr = residual_amount = asset.value_residual
- add_months = asset.method_period * len(asset.account_move_line_ids)
+ add_months = len(asset.account_move_line_ids) and asset.method_period * len(asset.account_move_line_ids) or 0
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
depreciation_date = self.calculate_date(depreciation_date, add_months)
total_days = (depreciation_date.year % 4) and 365 or 366
From fff4963e2ff8b9339ab7f51de5658e85100ec47f Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 13 Jun 2011 12:14:36 +0530
Subject: [PATCH 129/197] [FIX] account_asset: Fixed problem of depreciation
lines when residual value is 0.
bzr revid: uco@tinyerp.com-20110613064436-p4o9isalkdw765e7
---
addons/account_asset/account_asset.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 113d4322272..ca53e30611f 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -108,6 +108,8 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
+ if asset.value_residual == 0:
+ continue
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
@@ -118,7 +120,7 @@ class account_asset_asset(osv.osv):
depreciation_date = self.calculate_date(depreciation_date, add_months)
total_days = (depreciation_date.year % 4) and 365 or 366
undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids)
- if asset.method_time == 'end' and asset.value_residual != 0:
+ if asset.method_time == 'end':
start_date = depreciation_date
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
undone_dotation_number = 1
From f644d2643928f4bac5cc4a10225d30ce4f824ad1 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 13 Jun 2011 12:38:52 +0530
Subject: [PATCH 130/197] [FIX] account_asset: Small change.
bzr revid: uco@tinyerp.com-20110613070852-1pnhhwsxhs0acg9o
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index ca53e30611f..e823650bfcc 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -108,7 +108,7 @@ class account_asset_asset(osv.osv):
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
- if asset.value_residual == 0:
+ if asset.value_residual == 0.0:
continue
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
From ff7434fdfa68bfd1b853f5970301b15aea1f8e11 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 24 Jun 2011 11:14:15 +0530
Subject: [PATCH 131/197] [IMP] account_asset: Improved usability for search
view on analysis report.
bzr revid: uco@tinyerp.com-20110624054415-omdr3ge4r4w4ucom
---
.../report/account_asset_report.py | 9 ++++--
.../report/account_asset_report_view.xml | 31 ++++++++++---------
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
index bf244f30985..3b0f16e1675 100644
--- a/addons/account_asset/report/account_asset_report.py
+++ b/addons/account_asset/report/account_asset_report.py
@@ -36,11 +36,12 @@ class asset_asset_report(osv.osv):
('11', 'November'), ('12', 'December')], 'Month', readonly=True),
'day': fields.char('Day', size=16, readonly=True),
'purchase_date': fields.date('Asset Date', required=True),
+ 'depreciation_date': fields.date('Depreciation Date', readonly=True),
'asset_id': fields.many2one('account.asset.asset', string='Asset', readonly=True),
'asset_category_id': fields.many2one('account.asset.category',string='Asset category'),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
- '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),
+ 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True, readonly=True),
+ 'remaining_value': fields.float('Amount of Depreciation Lines', required=True, readonly=True),
'depreciated_value': fields.float('Amount Already Depreciated', required=True, readonly=True),
'move_check': fields.boolean('Posted', readonly=True),
'nbr': fields.integer('# of Depreciation Lines', readonly=True),
@@ -56,6 +57,7 @@ class asset_asset_report(osv.osv):
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 depreciation_date,
a.purchase_date as purchase_date,
dl.amount as remaining_value,
dl.move_check as move_check,
@@ -71,7 +73,8 @@ class asset_asset_report(osv.osv):
group by
dl.asset_id, dl.move_check, a.state,
a.category_id, a.partner_id, a.purchase_date, dl.amount,
- a.company_id, a.purchase_value, a.salvage_value
+ a.company_id, a.purchase_value, a.salvage_value,
+ to_date(dl.depreciation_date, 'YYYY-MM-DD')
)""")
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 70085c12f44..8aa8c981a43 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -15,9 +15,11 @@
+
+
-
+
@@ -41,23 +43,24 @@
+
+
+
+
-
+
-
-
-
-
+
@@ -69,8 +72,8 @@
-
-
+
+
From 3c74d345e82e5e6a6a87e3d6de9b04834d3c1bae Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 24 Jun 2011 11:52:02 +0530
Subject: [PATCH 132/197] [IMP] account_asset: Small improvements.
bzr revid: uco@tinyerp.com-20110624062202-k9ws464fn27sk7iy
---
.../report/account_asset_report_view.xml | 54 +++++++++----------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml
index 8aa8c981a43..26133f482ef 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -53,35 +53,35 @@
domain="[('purchase_date','<=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('purchase_date','>=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"
help="Assets purchased in last month"/>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
From d62d538ace73072852f676a3015eb577692e9650 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 24 Jun 2011 18:31:31 +0530
Subject: [PATCH 133/197] [IMP] account_asset: Improved+Fixed change duration
wizard.
bzr revid: uco@tinyerp.com-20110624130131-cwcnk09qy8bes4li
---
addons/account_asset/__openerp__.py | 3 +-
addons/account_asset/account_asset_view.xml | 17 ++--
addons/account_asset/wizard/__init__.py | 4 +-
.../wizard/account_asset_change_duration.py | 77 ++++++++++++++++
.../account_asset_change_duration_view.xml | 45 ++++++++++
.../wizard/wizard_asset_modify.py | 87 -------------------
6 files changed, 135 insertions(+), 98 deletions(-)
create mode 100755 addons/account_asset/wizard/account_asset_change_duration.py
create mode 100644 addons/account_asset/wizard/account_asset_change_duration_view.xml
delete mode 100755 addons/account_asset/wizard/wizard_asset_modify.py
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index be631a91e45..c922c6c6715 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -39,9 +39,10 @@
"update_xml" : [
"security/ir.model.access.csv",
"account_asset_wizard.xml",
+ "wizard/account_asset_change_duration_view.xml",
"account_asset_view.xml",
"account_asset_invoice_view.xml",
- "account_asset_report_view.xml",
+ "account_asset_report_view.xml",
"report/account_asset_report_view.xml",
#modif
],
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..faebfbddf78 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -78,17 +78,18 @@
-
-
-
+
+
+
diff --git a/addons/account_asset/wizard/__init__.py b/addons/account_asset/wizard/__init__.py
index ab4a7159322..0d2ce9879ad 100755
--- a/addons/account_asset/wizard/__init__.py
+++ b/addons/account_asset/wizard/__init__.py
@@ -18,9 +18,9 @@
# along with this program. If not, see .
#
##############################################################################
-
+import account_asset_change_duration
import wizard_asset_compute
import wizard_asset_close
-import wizard_asset_modify
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
new file mode 100755
index 00000000000..fcca6181e55
--- /dev/null
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -0,0 +1,77 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 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 time
+from osv import osv,fields
+
+class asset_modify(osv.osv_memory):
+ _name = 'asset.modify'
+ _description = 'Modify Asset'
+
+ _columns = {
+ 'name': fields.char('Reason', size=64, required=True),
+ 'method_delay': fields.float('Number of interval'),
+ 'method_period': fields.float('Period per interval'),
+ 'method_end': fields.date('Ending date'),
+ 'note': fields.text('Notes'),
+ }
+
+ def default_get(self, cr, uid, fields, context=None):
+ asset_obj = self.pool.get('account.asset.asset')
+ res = super(asset_modify, self).default_get(cr, uid, fields, context=context)
+ asset_id = context.get('active_id', False)
+ asset = asset_obj.browse(cr, uid, asset_id, context=context)
+ if 'name' in fields:
+ res.update({'name': asset.name})
+ if 'method_delay' in fields and asset.method_time == 'delay':
+ res.update({'method_delay': asset.method_delay})
+ if 'method_period' in fields:
+ res.update({'method_period': asset.method_period})
+ if 'method_end' in fields and asset.method_time == 'end':
+ res.update({'method_end': asset.method_end})
+ return res
+
+ def modify(self, cr, uid, ids, context=None):
+ asset_obj = self.pool.get('account.asset.asset')
+ history_obj = self.pool.get('account.asset.history')
+ asset_id = context.get('active_id', False)
+ asset = asset_obj.browse(cr, uid, asset_id, context=context)
+ data = self.browse(cr, uid, ids[0], context=context)
+ history_obj.create(cr, uid, {
+ 'asset_id': asset_id,
+ 'name': asset.name,
+ 'method_delay': asset.method_delay,
+ 'method_period': asset.method_period,
+ 'method_end': asset.method_end,
+ 'user_id': uid,
+ 'date': time.strftime('%Y-%m-%d'),
+ 'note': data.note,
+ }, context=context)
+ asset_obj.write(cr, uid, [asset_id], {
+ 'name': data.name,
+ 'method_delay': data.method_delay,
+ 'method_period': data.method_period,
+ 'method_end': data.method_end,
+ }, context=context)
+ return {'type': 'ir.actions.act_window_close'}
+
+asset_modify()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/wizard/account_asset_change_duration_view.xml b/addons/account_asset/wizard/account_asset_change_duration_view.xml
new file mode 100644
index 00000000000..be536b8242f
--- /dev/null
+++ b/addons/account_asset/wizard/account_asset_change_duration_view.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+ wizard.asset.modify.form
+ asset.modify
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Modify Asset
+ asset.modify
+ ir.actions.act_window
+ form
+ tree,form
+
+ new
+
+
+
+
diff --git a/addons/account_asset/wizard/wizard_asset_modify.py b/addons/account_asset/wizard/wizard_asset_modify.py
deleted file mode 100755
index 586a278b21a..00000000000
--- a/addons/account_asset/wizard/wizard_asset_modify.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# -*- 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 wizard
-import pooler
-
-asset_end_arch = '''
-
-
-
-
-
-
-
- '''
-
-asset_end_fields = {
- 'name': {'string':'Reason', 'type':'char', 'size':64, 'required':True},
- 'method_delay': {'string':'Number of interval', 'type':'float'},
- 'method_period': {'string':'Period per interval', 'type':'float'},
- 'note': {'string':'Notes', 'type':'text'},
-}
-
-def _asset_default(self, cr, uid, data, context={}):
- pool = pooler.get_pool(cr.dbname)
- prop = pool.get('account.asset.property').browse(cr, uid, data['id'], context)
- return {
- 'name': prop.name,
- 'method_delay': prop.method_delay,
- 'method_period': prop.method_period
- }
-
-def _asset_modif(self, cr, uid, data, context={}):
- pool = pooler.get_pool(cr.dbname)
- prop = pool.get('account.asset.property').browse(cr, uid, data['id'], context)
- pool.get('account.asset.property.history').create(cr, uid, {
- 'asset_property_id': data['id'],
- 'name': prop.name,
- 'method_delay': prop.method_delay,
- 'method_period': prop.method_period,
- 'note': data['form']['note'],
- }, context)
- pool.get('account.asset.property').write(cr, uid, [data['id']], {
- 'name': data['form']['name'],
- 'method_delay': data['form']['method_delay'],
- 'method_period': data['form']['method_period'],
- }, context)
- return {}
-
-
-class wizard_asset_modify(wizard.interface):
- states = {
- 'init': {
- 'actions': [_asset_default],
- 'result': {'type':'form', 'arch':asset_end_arch, 'fields':asset_end_fields, 'state':[
- ('end','Cancel'),
- ('asset_modify','Modify asset')
- ]}
- },
- 'asset_modify': {
- 'actions': [_asset_modif],
- 'result': {'type' : 'state', 'state': 'end'}
- }
- }
-wizard_asset_modify('account.asset.modify')
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
From a3fc4b62b330c23c67d5fccee3d1c41c13a35d6f Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Fri, 24 Jun 2011 18:38:21 +0530
Subject: [PATCH 134/197] [IMP] account_asset: Added docstrings for methods and
improved indentation.
bzr revid: uco@tinyerp.com-20110624130821-9spobpiq2sp31cfy
---
.../wizard/account_asset_change_duration.py | 27 +++++++++++++++----
1 file changed, 22 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
index fcca6181e55..9cb89e2c62f 100755
--- a/addons/account_asset/wizard/account_asset_change_duration.py
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -26,14 +26,22 @@ class asset_modify(osv.osv_memory):
_description = 'Modify Asset'
_columns = {
- 'name': fields.char('Reason', size=64, required=True),
- 'method_delay': fields.float('Number of interval'),
- 'method_period': fields.float('Period per interval'),
- 'method_end': fields.date('Ending date'),
- 'note': fields.text('Notes'),
+ 'name': fields.char('Reason', size=64, required=True),
+ 'method_delay': fields.float('Number of interval'),
+ 'method_period': fields.float('Period per interval'),
+ 'method_end': fields.date('Ending date'),
+ 'note': fields.text('Notes'),
}
def default_get(self, cr, uid, fields, context=None):
+ """ To get default values for the object.
+ @param self: The object pointer.
+ @param cr: A database cursor
+ @param uid: ID of the user currently logged in
+ @param fields: List of fields for which we want default values
+ @param context: A standard dictionary
+ @return: A dictionary which of fields with values.
+ """
asset_obj = self.pool.get('account.asset.asset')
res = super(asset_modify, self).default_get(cr, uid, fields, context=context)
asset_id = context.get('active_id', False)
@@ -49,6 +57,15 @@ class asset_modify(osv.osv_memory):
return res
def modify(self, cr, uid, ids, context=None):
+ """ Modifies the duration of asset for calculating depreciation
+ and maintains the history of old values.
+ @param self: The object pointer.
+ @param cr: A database cursor
+ @param uid: ID of the user currently logged in
+ @param ids: List of Ids
+ @param context: A standard dictionary
+ @return: Close the wizard.
+ """
asset_obj = self.pool.get('account.asset.asset')
history_obj = self.pool.get('account.asset.history')
asset_id = context.get('active_id', False)
From af901b51eb506114ed4609b6c9529ad96f293866 Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 27 Jun 2011 11:37:34 +0530
Subject: [PATCH 135/197] [ADD] Added fields in list and search view of Asset
Category
bzr revid: bde@tiny2-desktop-20110627060734-pvr1gvy84og8oqk4
---
addons/account_asset/account_asset_view.xml | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..03d34158893 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -47,14 +47,29 @@
+
+
+
-
+
+
+ account.asset.category.search
+ account.asset.category
+ search
+
+
+
+
+
+
+
+
account.asset.asset.form
account.asset.asset
From b7605a8862ac1f768216762049c6c52806a6187d Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 27 Jun 2011 12:12:52 +0530
Subject: [PATCH 136/197] [IMP] account_asset: Added parent_id field on asset
form view and added constraint for the same to check recursion.
bzr revid: uco@tinyerp.com-20110627064252-n7pp50jf41hqr3ml
---
addons/account_asset/account_asset.py | 4 ++++
addons/account_asset/account_asset_view.xml | 1 +
2 files changed, 5 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..67f3f8951e6 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -228,6 +228,9 @@ class account_asset_asset(osv.osv):
'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.asset',context=context),
}
+
+ def _check_recursion(self, cr, uid, ids, context=None, parent=None):
+ return super(account_asset_asset, self)._check_recursion(cr, uid, ids, context=context, parent=parent)
def _check_prorata(self, cr, uid, ids, context=None):
for asset in self.browse(cr, uid, ids, context=context):
@@ -236,6 +239,7 @@ class account_asset_asset(osv.osv):
return True
_constraints = [
+ (_check_recursion, 'Error ! You can not create recursive assets.', ['parent_id']),
(_check_prorata, '\nProrata temporis can be applied only for computation method linear and time method delay.', ['prorata']),
]
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..07ef8617dc6 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -65,6 +65,7 @@
+
From acd1107c6deb26754f1bc24760c23bfd13a41cc8 Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 27 Jun 2011 12:30:19 +0530
Subject: [PATCH 137/197] [IMP] Improved Indentation and Search String in
Search view of Account Asset Category
bzr revid: bde@tiny2-desktop-20110627070019-u59pwjeg9bwu0u7h
---
addons/account_asset/account_asset_view.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 03d34158893..75b3290db94 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -63,9 +63,9 @@
account.asset.category
search
-
-
-
+
+
+
From 0c4460a25fdee8bf14f0a49ef50c966fe57519e5 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 27 Jun 2011 14:21:42 +0530
Subject: [PATCH 138/197] [REF] account_asset: Corrected usability and
indentation. Improvement: Latest history should come first in the list.
bzr revid: uco@tinyerp.com-20110627085142-5amjoke1d3jtkdz3
---
addons/account_asset/account_asset.py | 2 +
.../wizard/account_asset_change_duration.py | 11 ++++--
.../account_asset_change_duration_view.xml | 38 +++++++++----------
3 files changed, 28 insertions(+), 23 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..f686c2dbb83 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -524,10 +524,12 @@ class account_asset_history(osv.osv):
'method_end': fields.date('Ending date'),
'note': fields.text('Note'),
}
+ _order = 'create_date desc'
_defaults = {
'date': lambda *args: time.strftime('%Y-%m-%d'),
'user_id': lambda self,cr, uid,ctx: uid
}
+
account_asset_history()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
index 9cb89e2c62f..9abe8519851 100755
--- a/addons/account_asset/wizard/account_asset_change_duration.py
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -19,6 +19,7 @@
#
##############################################################################
import time
+
from osv import osv,fields
class asset_modify(osv.osv_memory):
@@ -71,7 +72,7 @@ class asset_modify(osv.osv_memory):
asset_id = context.get('active_id', False)
asset = asset_obj.browse(cr, uid, asset_id, context=context)
data = self.browse(cr, uid, ids[0], context=context)
- history_obj.create(cr, uid, {
+ history_vals = {
'asset_id': asset_id,
'name': asset.name,
'method_delay': asset.method_delay,
@@ -80,13 +81,15 @@ class asset_modify(osv.osv_memory):
'user_id': uid,
'date': time.strftime('%Y-%m-%d'),
'note': data.note,
- }, context=context)
- asset_obj.write(cr, uid, [asset_id], {
+ }
+ history_obj.create(cr, uid, history_vals, context=context)
+ asset_vals = {
'name': data.name,
'method_delay': data.method_delay,
'method_period': data.method_period,
'method_end': data.method_end,
- }, context=context)
+ }
+ asset_obj.write(cr, uid, [asset_id], asset_vals, context=context)
return {'type': 'ir.actions.act_window_close'}
asset_modify()
diff --git a/addons/account_asset/wizard/account_asset_change_duration_view.xml b/addons/account_asset/wizard/account_asset_change_duration_view.xml
index be536b8242f..625fa3cc77f 100644
--- a/addons/account_asset/wizard/account_asset_change_duration_view.xml
+++ b/addons/account_asset/wizard/account_asset_change_duration_view.xml
@@ -3,21 +3,21 @@
- wizard.asset.modify.form
- asset.modify
- form
-
-
-
-
-
-
-
+ wizard.asset.modify.form
+ asset.modify
+ form
+
+
+
+
+
+
+
-
-
+
+
@@ -25,13 +25,13 @@
-
-
-
-
-
+
+
+
+
+
-
+
Modify Asset
asset.modify
ir.actions.act_window
@@ -41,5 +41,5 @@
new
-
+
From 267fc987237945bab590b4f59c444be7bc6897fc Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 27 Jun 2011 14:25:11 +0530
Subject: [PATCH 139/197] [ADD] Added Fields in Account Asset's Tree and Search
View
bzr revid: bde@tiny2-desktop-20110627085511-lzal18dnju0qiusr
---
addons/account_asset/account_asset_view.xml | 24 ++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..906fa2ae794 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -176,14 +176,36 @@
-
+
+
+
+
+
+
+ account.asset.asset.search
+ account.asset.asset
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Asset Hierarchy
account.asset.asset
From cec2748751d8bef6dd326e456192b897698745d0 Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 27 Jun 2011 15:55:54 +0530
Subject: [PATCH 140/197] [IMP] Improved Usability of Account Asset
bzr revid: bde@tiny2-desktop-20110627102554-p0kk7websm7qxv4r
---
addons/account_asset/account_asset.py | 6 ++---
addons/account_asset/account_asset_view.xml | 29 ++++++++++++---------
2 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..39cfca1bec2 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -189,11 +189,11 @@ class account_asset_asset(osv.osv):
'name': fields.char('Asset', size=64, required=True, select=1),
'code': fields.char('Reference ', size=16, select=1),
- 'purchase_value': fields.float('Gross value ', required=True, size=16, select=1),
+ 'purchase_value': fields.float('Gross Value ', required=True, size=16, select=1),
'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
'company_id': fields.many2one('res.company', 'Company', required=True),
'note': fields.text('Note'),
- 'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
+ 'category_id': fields.many2one('account.asset.category', 'Asset Category',required=True, change_default=True),
'localisation': fields.char('Localisation', size=32, select=2),
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
@@ -205,7 +205,7 @@ class account_asset_asset(osv.osv):
\nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
'method_delay': fields.integer('Number of Depreciation', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
'method_period': fields.integer('Period Length', readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
- 'method_end': fields.date('Ending date', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_end': fields.date('Ending Date', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of Ending Period Date and Number of Depreciation"),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 906fa2ae794..a258977cead 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -20,7 +20,7 @@
-
+
@@ -78,17 +78,17 @@
-
-
+
@@ -176,7 +176,7 @@
-
+
@@ -188,7 +188,7 @@
-
+
account.asset.asset.search
account.asset.asset
search
@@ -197,11 +197,12 @@
+
+
+
+
+
-
-
-
-
@@ -223,6 +224,8 @@
Assets
account.asset.asset
form
+
+
Date: Mon, 27 Jun 2011 16:21:05 +0530
Subject: [PATCH 141/197] [FIX] account_asset: Changed order by id for history
changes. Improved indentations. Changed field types.
bzr revid: uco@tinyerp.com-20110627105105-33w6pup1elslw542
---
addons/account_asset/__openerp__.py | 2 +-
addons/account_asset/account_asset.py | 2 +-
.../account_asset/wizard/account_asset_change_duration.py | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index c922c6c6715..b1240a21baf 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -42,7 +42,7 @@
"wizard/account_asset_change_duration_view.xml",
"account_asset_view.xml",
"account_asset_invoice_view.xml",
- "account_asset_report_view.xml",
+ "account_asset_report_view.xml",
"report/account_asset_report_view.xml",
#modif
],
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index f686c2dbb83..3484f6ecc4f 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -524,7 +524,7 @@ class account_asset_history(osv.osv):
'method_end': fields.date('Ending date'),
'note': fields.text('Note'),
}
- _order = 'create_date desc'
+ _order = 'id desc'
_defaults = {
'date': lambda *args: time.strftime('%Y-%m-%d'),
'user_id': lambda self,cr, uid,ctx: uid
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
index 9abe8519851..fe9274fb101 100755
--- a/addons/account_asset/wizard/account_asset_change_duration.py
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -20,7 +20,7 @@
##############################################################################
import time
-from osv import osv,fields
+from osv import osv, fields
class asset_modify(osv.osv_memory):
_name = 'asset.modify'
@@ -28,8 +28,8 @@ class asset_modify(osv.osv_memory):
_columns = {
'name': fields.char('Reason', size=64, required=True),
- 'method_delay': fields.float('Number of interval'),
- 'method_period': fields.float('Period per interval'),
+ 'method_delay': fields.integer('Number of Depreciation'),
+ 'method_period': fields.integer('Period Length'),
'method_end': fields.date('Ending date'),
'note': fields.text('Notes'),
}
From a7407a955117ec32c4c576b935a1041d89c9d12a Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 27 Jun 2011 16:29:39 +0530
Subject: [PATCH 142/197] [IMP] account_asset: Changed position of parent_id
field. [ADD] : Added tree view for Asset hierarchy.
bzr revid: uco@tinyerp.com-20110627105939-jun2vn3j2fx3lu81
---
addons/account_asset/account_asset_view.xml | 24 +++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 07ef8617dc6..c3b6b0d82e4 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -65,10 +65,10 @@
-
+
@@ -184,13 +184,33 @@
+
+
+ account.asset.asset.hierarchy
+ account.asset.asset
+ tree
+ child_ids
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Asset Hierarchy
account.asset.asset
tree
[('parent_id','=',False)]
-
+
From 7d4553eb524abe31e15248e1ca0fc837f9aacb9d Mon Sep 17 00:00:00 2001
From: bde
Date: Mon, 27 Jun 2011 16:38:14 +0530
Subject: [PATCH 143/197] [IMP] Improved Usability of Account Asset Form View
bzr revid: bde@tiny2-desktop-20110627110814-d0pb8we338ihu9lj
---
addons/account_asset/account_asset_view.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..4882b61f3e9 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -97,6 +97,10 @@
+
+
+
+
@@ -125,10 +129,6 @@
-
-
-
-
From a5b04d3de0940c26ed9dc44f5b14e11d66578728 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 27 Jun 2011 17:52:39 +0530
Subject: [PATCH 144/197] [ADD] account_asset: Added fields_view_get method for
setting the fields invisible based on Time method of asset.
bzr revid: uco@tinyerp.com-20110627122239-byt91wu5b1akzzgq
---
.../wizard/account_asset_change_duration.py | 32 ++++++++++++++++++-
.../account_asset_change_duration_view.xml | 4 +--
2 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
index fe9274fb101..6a4da648ae2 100755
--- a/addons/account_asset/wizard/account_asset_change_duration.py
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -19,6 +19,7 @@
#
##############################################################################
import time
+from lxml import etree
from osv import osv, fields
@@ -33,7 +34,36 @@ class asset_modify(osv.osv_memory):
'method_end': fields.date('Ending date'),
'note': fields.text('Notes'),
}
-
+
+ def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
+ """ Returns views and fields for current model.
+ @param cr: A database cursor
+ @param user: ID of the user currently logged in
+ @param view_id: list of fields, which required to read signatures
+ @param view_type: defines a view type. it can be one of (form, tree, graph, calender, gantt, search, mdx)
+ @param context: context arguments, like lang, time zone
+ @param toolbar: contains a list of reports, wizards, and links related to current model
+
+ @return: Returns a dictionary that contains definition for fields, views, and toolbars
+ """
+ asset_obj = self.pool.get('account.asset.asset')
+ result = super(asset_modify, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu)
+ if not context:
+ context = {}
+ asset_id = context.get('active_id', False)
+ active_model = context.get('active_model', '')
+ if active_model == 'account.asset.asset' and asset_id:
+ asset = asset_obj.browse(cr, uid, asset_id, context=context)
+ doc = etree.XML(result['arch'])
+ if asset.method_time == 'delay':
+ node = doc.xpath("//field[@name='method_end']")[0]
+ node.set('invisible', '1')
+ elif asset.method_time == 'end':
+ node = doc.xpath("//field[@name='method_delay']")[0]
+ node.set('invisible', '1')
+ result['arch'] = etree.tostring(doc)
+ return result
+
def default_get(self, cr, uid, fields, context=None):
""" To get default values for the object.
@param self: The object pointer.
diff --git a/addons/account_asset/wizard/account_asset_change_duration_view.xml b/addons/account_asset/wizard/account_asset_change_duration_view.xml
index 625fa3cc77f..a655cbe348d 100644
--- a/addons/account_asset/wizard/account_asset_change_duration_view.xml
+++ b/addons/account_asset/wizard/account_asset_change_duration_view.xml
@@ -13,8 +13,8 @@
-
-
+
+
From 4662d6e141cea1a76bf4260c654965a782c3292e Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 11:49:08 +0530
Subject: [PATCH 145/197] [ADD] compute_depreciation_board method called on def
create() method
bzr revid: bde@tiny2-desktop-20110628061908-9xoq1b3b0ysao10u
---
addons/account_asset/account_asset.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..eef4d223b23 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -350,6 +350,13 @@ class account_asset_asset(osv.osv):
if period and (period.date_start<=date_start):
result += self._compute_move(cr, uid, property, period, context)
return result
+
+ def create(self, cr, uid, vals, context=None):
+ val = super(account_asset_asset, self).create(cr, uid, vals, context=context)
+ obj = self.pool.get('account.asset.asset')
+ obj.compute_depreciation_board(cr, uid, [val])
+ return val
+
account_asset_asset()
class account_asset_depreciation_line(osv.osv):
From bbee97d3b1c42a4f459e64dd616ae5648dbb1594 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 12:20:50 +0530
Subject: [PATCH 146/197] [IMP] improved create method
bzr revid: bde@tiny2-desktop-20110628065050-91ivn5jj5kt64ul9
---
addons/account_asset/account_asset.py | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index eef4d223b23..f0222b8ce3e 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -352,10 +352,9 @@ class account_asset_asset(osv.osv):
return result
def create(self, cr, uid, vals, context=None):
- val = super(account_asset_asset, self).create(cr, uid, vals, context=context)
- obj = self.pool.get('account.asset.asset')
- obj.compute_depreciation_board(cr, uid, [val])
- return val
+ asset_id = super(account_asset_asset, self).create(cr, uid, vals, context=context)
+ self.compute_depreciation_board(cr, uid, [asset_id], context=context)
+ return asset_id
account_asset_asset()
From 3a7223c2ac49afed039fcce33ca5bb7fd23254e6 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 15:43:40 +0530
Subject: [PATCH 147/197] [ADD] added functionality for close state in Account
Asset
bzr revid: bde@tiny2-desktop-20110628101340-v9k65xcvwf4adyqa
---
addons/account_asset/account_asset.py | 9 ++++++++-
addons/account_asset/account_asset_view.xml | 3 ++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..7e1facd1c7c 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -169,6 +169,9 @@ class account_asset_asset(osv.osv):
'state':'open'
}, context)
+ def set_to_close(self, cr, uid, ids, context=None):
+ return self.write(cr, uid, ids, {'state': 'close'}, context=context)
+
def _amount_residual(self, cr, uid, ids, name, args, context=None):
cr.execute("""SELECT
l.asset_id as id, round(SUM(abs(l.debit-l.credit))) AS amount
@@ -350,6 +353,7 @@ class account_asset_asset(osv.osv):
if period and (period.date_start<=date_start):
result += self._compute_move(cr, uid, property, period, context)
return result
+
account_asset_asset()
class account_asset_depreciation_line(osv.osv):
@@ -374,7 +378,7 @@ class account_asset_depreciation_line(osv.osv):
'move_check': fields.function(_get_move_check, method=True, type='boolean', string='Posted', store=True)
}
- def create_move(self, cr, uid,ids, context=None):
+ def create_move(self, cr, uid, ids, context=None):
if context is None:
context = {}
asset_obj = self.pool.get('account.asset.asset')
@@ -383,6 +387,7 @@ class account_asset_depreciation_line(osv.osv):
move_line_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids, context=context):
+ rem_value = line.remaining_value
depreciation_date = line.asset_id.prorata and line.asset_id.purchase_date or time.strftime('%Y-%m-%d')
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
@@ -429,6 +434,8 @@ class account_asset_depreciation_line(osv.osv):
'asset_id': line.asset_id.id
})
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
+ if rem_value == 0:
+ asset_obj.write(cr, uid, line.asset_id.id, {'state': 'close'}, context=context)
return True
account_asset_depreciation_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..5fb644e3376 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -127,7 +127,8 @@
-
+
+
From 7c7c0d1668b6db359a8b417946d72a4ceac1a708 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 17:07:54 +0530
Subject: [PATCH 148/197] [IMP] Copied the name of the Asset Name in Analytic
Line
bzr revid: bde@tiny2-desktop-20110628113754-w6723yrwj7d1hmul
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..c09cd5c342c 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -399,7 +399,7 @@ class account_asset_depreciation_line(osv.osv):
}
move_id = move_obj.create(cr, uid, move_vals, context=context)
move_line_obj.create(cr, uid, {
- 'name': line.name,
+ 'name': line.asset_id.name,
'ref': line.name,
'move_id': move_id,
'account_id': line.asset_id.category_id.account_depreciation_id.id,
@@ -413,7 +413,7 @@ class account_asset_depreciation_line(osv.osv):
'date': depreciation_date,
})
move_line_obj.create(cr, uid, {
- 'name': line.name,
+ 'name': line.asset_id.name,
'ref': line.name,
'move_id': move_id,
'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
From 3c58e5c81870bfe1554d827b514b64dfcdb88f78 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 18:13:08 +0530
Subject: [PATCH 149/197] [IMP] Optimized the Code
bzr revid: bde@tiny2-desktop-20110628124308-b1d0phgot9u6a1p0
---
addons/account_asset/account_asset.py | 30 ++++++++++++++++-----------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c09cd5c342c..6a1c2af75ef 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -398,30 +398,36 @@ class account_asset_depreciation_line(osv.osv):
'journal_id': line.asset_id.category_id.journal_id.id,
}
move_id = move_obj.create(cr, uid, move_vals, context=context)
+ asset_name = line.asset_id.name
+ reference = line.name
+ mov_id = move_id
+ amt = amount
+ journal_id = line.asset_id.category_id.journal_id.id
+ partner_id = line.asset_id.partner_id.id
move_line_obj.create(cr, uid, {
- 'name': line.asset_id.name,
- 'ref': line.name,
- 'move_id': move_id,
+ 'name': asset_name,
+ 'ref': reference,
+ 'move_id': mov_id,
'account_id': line.asset_id.category_id.account_depreciation_id.id,
'debit': 0.0,
- 'credit': amount,
+ 'credit': amt,
'period_id': period_ids and period_ids[0] or False,
- 'journal_id': line.asset_id.category_id.journal_id.id,
- 'partner_id': line.asset_id.partner_id.id,
+ 'journal_id': journal_id,
+ 'partner_id': partner_id,
'currency_id': company_currency <> current_currency and current_currency or False,
'amount_currency': company_currency <> current_currency and - sign * line.amount or 0.0,
'date': depreciation_date,
})
move_line_obj.create(cr, uid, {
- 'name': line.asset_id.name,
- 'ref': line.name,
- 'move_id': move_id,
+ 'name': asset_name,
+ 'ref': reference,
+ 'move_id': mov_id,
'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
'credit': 0.0,
- 'debit': amount,
+ 'debit': amt,
'period_id': period_ids and period_ids[0] or False,
- 'journal_id': line.asset_id.category_id.journal_id.id,
- 'partner_id': line.asset_id.partner_id.id,
+ 'journal_id': journal_id,
+ 'partner_id': partner_id,
'currency_id': company_currency <> current_currency and current_currency or False,
'amount_currency': company_currency <> current_currency and sign * line.amount or 0.0,
'analytic_account_id': line.asset_id.category_id.account_analytic_id.id,
From 52205d1140ac6e2a836d52db5cea0b480eeda3be Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 18:26:52 +0530
Subject: [PATCH 150/197] [IMP] Improved the Code by removing unnecessary
variables
bzr revid: bde@tiny2-desktop-20110628125652-s19i628aro8f2kue
---
addons/account_asset/account_asset.py | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 6a1c2af75ef..c7227653133 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -400,17 +400,15 @@ class account_asset_depreciation_line(osv.osv):
move_id = move_obj.create(cr, uid, move_vals, context=context)
asset_name = line.asset_id.name
reference = line.name
- mov_id = move_id
- amt = amount
journal_id = line.asset_id.category_id.journal_id.id
partner_id = line.asset_id.partner_id.id
move_line_obj.create(cr, uid, {
'name': asset_name,
'ref': reference,
- 'move_id': mov_id,
+ 'move_id': move_id,
'account_id': line.asset_id.category_id.account_depreciation_id.id,
'debit': 0.0,
- 'credit': amt,
+ 'credit': amount,
'period_id': period_ids and period_ids[0] or False,
'journal_id': journal_id,
'partner_id': partner_id,
@@ -421,10 +419,10 @@ class account_asset_depreciation_line(osv.osv):
move_line_obj.create(cr, uid, {
'name': asset_name,
'ref': reference,
- 'move_id': mov_id,
+ 'move_id': move_id,
'account_id': line.asset_id.category_id.account_expense_depreciation_id.id,
'credit': 0.0,
- 'debit': amt,
+ 'debit': amount,
'period_id': period_ids and period_ids[0] or False,
'journal_id': journal_id,
'partner_id': partner_id,
From 58a0f85f1f205999e057546af39e8f7197952757 Mon Sep 17 00:00:00 2001
From: bde
Date: Tue, 28 Jun 2011 19:01:19 +0530
Subject: [PATCH 151/197] [IMP] Made the fields and Button Readonly when the
state is in running or close
bzr revid: bde@tiny2-desktop-20110628133119-auxy6qkyznz51gds
---
addons/account_asset/account_asset.py | 20 ++++++++++----------
addons/account_asset/account_asset_view.xml | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7e1facd1c7c..1f76d367adf 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -190,20 +190,20 @@ class account_asset_asset(osv.osv):
'period_id': fields.many2one('account.period', 'First Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
- 'name': fields.char('Asset', size=64, required=True, select=1),
- 'code': fields.char('Reference ', size=16, select=1),
- 'purchase_value': fields.float('Gross value ', required=True, size=16, select=1),
- 'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1),
- 'company_id': fields.many2one('res.company', 'Company', required=True),
+ 'name': fields.char('Asset', size=64, required=True, select=1, readonly=False, states={'close':[('readonly',True)]}),
+ 'code': fields.char('Reference ', size=16, select=1, readonly=False, states={'close':[('readonly',True)]}),
+ 'purchase_value': fields.float('Gross value ', required=True, size=16, select=1, readonly=False, states={'close':[('readonly',True)]}),
+ 'currency_id': fields.many2one('res.currency','Currency',required=True,size=5,select=1, readonly=False, states={'close':[('readonly',True)]}),
+ 'company_id': fields.many2one('res.company', 'Company', required=True, readonly=False, states={'close':[('readonly',True)]}),
'note': fields.text('Note'),
- 'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True),
+ 'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True, readonly=False, states={'close':[('readonly',True)]}),
'localisation': fields.char('Localisation', size=32, select=2),
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
- 'purchase_date': fields.date('Purchase Date', required=True),
+ 'purchase_date': fields.date('Purchase Date', required=True, readonly=False, states={'close':[('readonly',True)]}),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True),
'active': fields.boolean('Active', select=2),
- 'partner_id': fields.many2one('res.partner', 'Partner'),
+ 'partner_id': fields.many2one('res.partner', 'Partner', readonly=False, states={'close':[('readonly',True)]}),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
\nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
'method_delay': fields.integer('Number of Depreciation', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
@@ -212,10 +212,10 @@ class account_asset_asset(osv.osv):
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of Ending Period Date and Number of Depreciation"),
- 'prorata':fields.boolean('Prorata Temporis', Readonly="True", help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
+ 'prorata':fields.boolean('Prorata Temporis', readonly="True", states={'draft':[('readonly',False)]}, help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines'),
- 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate."),
+ 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate.", readonly=False, states={'close':[('readonly',True)]}),
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 5fb644e3376..a49f3417c79 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -115,7 +115,7 @@
-
+
From 356fc4640ba50d825235a5b0a687a923c22a023b Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 29 Jun 2011 10:31:38 +0530
Subject: [PATCH 152/197] [IMP] account_asset: Added default filters for
Entries act window on Asset.
bzr revid: uco@tinyerp.com-20110629050138-gbh6rrf17qo5jrrz
---
addons/account_asset/account_asset_report_view.xml | 3 ++-
addons/account_asset/account_asset_view.xml | 12 ++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_report_view.xml b/addons/account_asset/account_asset_report_view.xml
index d471bb56063..4f6773c4732 100755
--- a/addons/account_asset/account_asset_report_view.xml
+++ b/addons/account_asset/account_asset_report_view.xml
@@ -5,6 +5,7 @@
id="act_entries_open"
name="Entries"
res_model="account.move.line"
- src_model="account.asset.asset"/>
+ src_model="account.asset.asset"
+ context="{'search_default_asset_id': [active_id], 'default_asset_id': active_id}"/>
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 229cff87c26..64e8c08293c 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -191,6 +191,18 @@
[('parent_id','=',False)]
+
+
+ Journal Items (Search)
+ account.move.line
+ search
+
+
+
+
+
+
+
Date: Wed, 29 Jun 2011 12:10:56 +0530
Subject: [PATCH 153/197] [IMP] improved the code in create move method and
made the depreciation lines readonly in close state
bzr revid: bde@tiny2-desktop-20110629064056-2vwqlfvr68tmarjv
---
addons/account_asset/account_asset.py | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1f76d367adf..8b751584222 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -214,7 +214,7 @@ class account_asset_asset(osv.osv):
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of Ending Period Date and Number of Depreciation"),
'prorata':fields.boolean('Prorata Temporis', readonly="True", states={'draft':[('readonly',False)]}, help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
- 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines'),
+ 'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True, states={'draft':[('readonly',False)]}),
'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate.", readonly=False, states={'close':[('readonly',True)]}),
}
_defaults = {
@@ -379,6 +379,7 @@ class account_asset_depreciation_line(osv.osv):
}
def create_move(self, cr, uid, ids, context=None):
+ can_close = False
if context is None:
context = {}
asset_obj = self.pool.get('account.asset.asset')
@@ -387,7 +388,8 @@ class account_asset_depreciation_line(osv.osv):
move_line_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
for line in self.browse(cr, uid, ids, context=context):
- rem_value = line.remaining_value
+ if line.remaining_value == 0.0:
+ can_close = True
depreciation_date = line.asset_id.prorata and line.asset_id.purchase_date or time.strftime('%Y-%m-%d')
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
@@ -434,8 +436,9 @@ class account_asset_depreciation_line(osv.osv):
'asset_id': line.asset_id.id
})
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
- if rem_value == 0:
- asset_obj.write(cr, uid, line.asset_id.id, {'state': 'close'}, context=context)
+ if can_close:
+ asset_obj.write(cr, uid, [line.asset_id.id], {'state': 'close'}, context=context)
+ return True
return True
account_asset_depreciation_line()
From 29c0b41357ff59b1a58f72948674d88ebdc93018 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 29 Jun 2011 12:37:43 +0530
Subject: [PATCH 154/197] [REM] removed extra return statement
bzr revid: bde@tiny2-desktop-20110629070743-6jnd10diemwlcndc
---
addons/account_asset/account_asset.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8b751584222..2337275af8a 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -438,7 +438,6 @@ class account_asset_depreciation_line(osv.osv):
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
if can_close:
asset_obj.write(cr, uid, [line.asset_id.id], {'state': 'close'}, context=context)
- return True
return True
account_asset_depreciation_line()
From 71fd99a7c7eaec7cec68bea10c9553a6e3d8a6b4 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 29 Jun 2011 18:46:26 +0530
Subject: [PATCH 155/197] [ADD] Added YML Test Case
bzr revid: bde@tiny2-desktop-20110629131626-88q6nir4is9zzga5
---
addons/account_asset/__openerp__.py | 2 +
addons/account_asset/account_asset.py | 3 +-
addons/account_asset/test/account_asset.yml | 68 +++++++++++++++++++++
3 files changed, 71 insertions(+), 2 deletions(-)
create mode 100644 addons/account_asset/test/account_asset.yml
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index be631a91e45..d0429a27169 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -36,6 +36,8 @@
],
"demo_xml" : [
],
+ 'test': ['test/account_asset.yml',
+ ],
"update_xml" : [
"security/ir.model.access.csv",
"account_asset_wizard.xml",
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..380bf3368a5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -116,9 +116,7 @@ class account_asset_asset(osv.osv):
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
-
amount_to_depr = residual_amount = asset.value_residual
-
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
day = depreciation_date.day
month = depreciation_date.month
@@ -350,6 +348,7 @@ class account_asset_asset(osv.osv):
if period and (period.date_start<=date_start):
result += self._compute_move(cr, uid, property, period, context)
return result
+
account_asset_asset()
class account_asset_depreciation_line(osv.osv):
diff --git a/addons/account_asset/test/account_asset.yml b/addons/account_asset/test/account_asset.yml
new file mode 100644
index 00000000000..3fe5a0fb352
--- /dev/null
+++ b/addons/account_asset/test/account_asset.yml
@@ -0,0 +1,68 @@
+-
+ In order to test Account Asset feature first i created Asset Category then Account Asset
+-
+ Creating a account.asset.category record
+-
+ !record {model: account.asset.category, id: account_asset_category_fixed_assets0}:
+ account_asset_id: account.xfa
+ account_depreciation_id: account.xfa
+ account_expense_depreciation_id: account.a_recv
+ company_id: base.main_company
+ journal_id: account.bank_journal
+ method: linear
+ method_time: delay
+ name: Fixed Assets
+
+-
+ Creating a account.asset.asset record
+-
+ !record {model: account.asset.asset, id: account_asset_asset_car0}:
+ category_id: account_asset_category_fixed_assets0
+ code: a
+ company_id: base.main_company
+ currency_id: base.EUR
+ method: linear
+ method_time: delay
+ method_delay: 5
+ method_period: 12
+ name: Car
+ partner_id: base.res_partner_14
+ period_id: account.period_6
+ purchase_date: '2011-06-29'
+ purchase_value: 5000.0
+ salvage_value: 2000.0
+ state: draft
+-
+ I check that Initially Account Asset is in the "Draft" state
+-
+ !assert {model: account.asset.asset, id: account_asset_asset_car0}:
+ - state == 'draft'
+-
+ I Confirm Account Asset using Confirm Asset button
+-
+ !python {model: account.asset.asset}: |
+ self.validate(cr, uid, [ref("account_asset_asset_car0")])
+-
+ I compute Account Asset using Compute button and check the number of depreciation lines created are proper
+-
+ !python {model: account.asset.asset}: |
+ self.compute_depreciation_board(cr, uid, [ref("account_asset_asset_car0")])
+ for value in self.browse(cr, uid, [ref("account_asset_asset_car0")]):
+ assert value.method_delay == len(value.depreciation_line_ids)
+-
+ I Create Account Asset Move using using create move method
+-
+ !python {model: account.asset.depreciation.line}: |
+ ids = self.search(cr, uid, [('asset_id','=',ref('account_asset_asset_car0'))])
+ self.create_move(cr, uid, ids)
+-
+ I check that After creating all the moves of asset the state is in "Close" state
+-
+ !assert {model: account.asset.asset, id: account_asset_asset_car0}:
+ - state == 'close'
+-
+ I check that after the state is closed the rsidual value becomes 0
+-
+ !assert {model: account.asset.asset, id: account_asset_asset_car0}:
+ - value_residual == 0.0
+
From 3a47f2f84faf2dbec0b7040ba1ad23a5c539a26b Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 29 Jun 2011 18:51:49 +0530
Subject: [PATCH 156/197] [IMP] account_asset: Improved analysis report
according to new specifications given on pad.
bzr revid: uco@tinyerp.com-20110629132149-6lhkfny69zz3fkhf
---
.../report/account_asset_report.py | 42 ++++++++++++++-----
.../report/account_asset_report_view.xml | 6 ++-
2 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
index 3b0f16e1675..00c55b70684 100644
--- a/addons/account_asset/report/account_asset_report.py
+++ b/addons/account_asset/report/account_asset_report.py
@@ -42,9 +42,11 @@ class asset_asset_report(osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True, readonly=True),
'remaining_value': fields.float('Amount of Depreciation Lines', required=True, readonly=True),
- 'depreciated_value': fields.float('Amount Already Depreciated', required=True, readonly=True),
'move_check': fields.boolean('Posted', readonly=True),
'nbr': fields.integer('# of Depreciation Lines', readonly=True),
+ 'gross_value': fields.float('Gross Value', readonly=True, group_operator="avg"),
+ 'posted_value': fields.float('Posted Value', readonly=True),
+ 'unposted_value': fields.float('Unposted Value', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
}
@@ -59,22 +61,42 @@ class asset_asset_report(osv.osv):
to_char(a.purchase_date, 'YYYY-MM-DD') as day,
to_date(dl.depreciation_date, 'YYYY-MM-DD') as depreciation_date,
a.purchase_date as purchase_date,
- dl.amount as remaining_value,
- dl.move_check as move_check,
+ a.purchase_value as gross_value,
+ dl.amount as remaining_value,
+ (CASE WHEN dl.move_check
+ THEN dl.amount
+ ELSE 0
+ END) as posted_value,
+ (CASE WHEN dl.move_check
+ THEN (sum(a.purchase_value) - a.salvage_value - (select sum(ml.debit) from account_move_line ml
+ left join account_asset_asset ac on (ac.id=ml.asset_id) where ac.id=a.id))
+ / (CASE WHEN
+ (select count(d.id) from account_asset_depreciation_line as d
+ left join account_asset_asset as ac ON (ac.id=d.asset_id)
+ where a.id=ac.id and d.move_check) <> 0
+ THEN
+ (select count(d.id) from account_asset_depreciation_line as d
+ left join account_asset_asset as ac ON (ac.id=d.asset_id)
+ where a.id=ac.id and d.move_check)
+ ELSE 1
+ END)
+ ELSE 0
+ END) as unposted_value,
dl.asset_id as asset_id,
+ dl.move_check as move_check,
a.category_id as asset_category_id,
a.partner_id as partner_id,
a.state as state,
count(dl.*) as nbr,
a.company_id as company_id
- from
- account_asset_depreciation_line dl
- left join account_asset_asset a on (dl.asset_id=a.id)
+ from account_asset_asset a
+ left join account_asset_depreciation_line dl on (dl.asset_id=a.id)
group by
- dl.asset_id, dl.move_check, a.state,
- a.category_id, a.partner_id, a.purchase_date, dl.amount,
- a.company_id, a.purchase_value, a.salvage_value,
- to_date(dl.depreciation_date, 'YYYY-MM-DD')
+ dl.amount,dl.remaining_value,dl.depreciated_value,dl.asset_id,
+ to_char(a.purchase_date, 'YYYY'),to_char(a.purchase_date, 'MM'),
+ to_char(a.purchase_date, 'YYYY-MM-DD'),to_date(dl.depreciation_date, 'YYYY-MM-DD'),
+ a.purchase_date, dl.move_check, a.state, a.category_id, a.partner_id, a.company_id,
+ a.purchase_value, a.id, a.salvage_value
)""")
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 26133f482ef..f6742a14cef 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -19,6 +19,9 @@
+
+
+
@@ -56,7 +59,8 @@
-
+
From 29b51be017f248583d2d1ee8e18f59e086e6b547 Mon Sep 17 00:00:00 2001
From: bde
Date: Thu, 30 Jun 2011 14:46:01 +0530
Subject: [PATCH 157/197] [IMP] Improved YML Test Case
bzr revid: bde@tiny2-desktop-20110630091601-uz9qjkhe2y9nwmwu
---
addons/account_asset/test/account_asset.yml | 59 +++++++++------------
1 file changed, 24 insertions(+), 35 deletions(-)
diff --git a/addons/account_asset/test/account_asset.yml b/addons/account_asset/test/account_asset.yml
index 3fe5a0fb352..00734be3f7e 100644
--- a/addons/account_asset/test/account_asset.yml
+++ b/addons/account_asset/test/account_asset.yml
@@ -1,68 +1,57 @@
-
- In order to test Account Asset feature first i created Asset Category then Account Asset
+ In order to test Account Asset feature first I will create Asset Category
-
- Creating a account.asset.category record
+ I will Create an Asset Category Record
-
- !record {model: account.asset.category, id: account_asset_category_fixed_assets0}:
+ !record {model: account.asset.category, id: account_asset_category_landbuildings0}:
account_asset_id: account.xfa
account_depreciation_id: account.xfa
- account_expense_depreciation_id: account.a_recv
- company_id: base.main_company
- journal_id: account.bank_journal
- method: linear
- method_time: delay
- name: Fixed Assets
-
+ account_expense_depreciation_id: account.a_expense
+ journal_id: account.expenses_journal
+ name: Land & Buildings
-
- Creating a account.asset.asset record
+ I will Create an Account Asset Record
-
- !record {model: account.asset.asset, id: account_asset_asset_car0}:
- category_id: account_asset_category_fixed_assets0
+ !record {model: account.asset.asset, id: account_asset_asset_Land0}:
+ category_id: account_asset_category_landbuildings0
code: a
- company_id: base.main_company
- currency_id: base.EUR
- method: linear
- method_time: delay
- method_delay: 5
- method_period: 12
- name: Car
+ name: Land
partner_id: base.res_partner_14
period_id: account.period_6
- purchase_date: '2011-06-29'
purchase_value: 5000.0
salvage_value: 2000.0
state: draft
-
- I check that Initially Account Asset is in the "Draft" state
+ I will check initially that Account Asset is in the "Draft" state
-
- !assert {model: account.asset.asset, id: account_asset_asset_car0}:
+ !assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- state == 'draft'
-
- I Confirm Account Asset using Confirm Asset button
+ I will Confirm Account Asset using Confirm Asset button
-
!python {model: account.asset.asset}: |
- self.validate(cr, uid, [ref("account_asset_asset_car0")])
+ self.validate(cr, uid, [ref("account_asset_asset_Land0")])
-
- I compute Account Asset using Compute button and check the number of depreciation lines created are proper
+ I will compute Account Asset using Compute button and check the number of depreciation lines created are proper
-
!python {model: account.asset.asset}: |
- self.compute_depreciation_board(cr, uid, [ref("account_asset_asset_car0")])
- for value in self.browse(cr, uid, [ref("account_asset_asset_car0")]):
- assert value.method_delay == len(value.depreciation_line_ids)
+ self.compute_depreciation_board(cr, uid, [ref("account_asset_asset_Land0")])
+ value = self.browse(cr, uid, [ref("account_asset_asset_Land0")])[0]
+ assert value.method_delay == len(value.depreciation_line_ids)
-
- I Create Account Asset Move using using create move method
+ I will Create Account Asset Move using using create move method
-
!python {model: account.asset.depreciation.line}: |
- ids = self.search(cr, uid, [('asset_id','=',ref('account_asset_asset_car0'))])
+ ids = self.search(cr, uid, [('asset_id','=',ref('account_asset_asset_Land0'))])
self.create_move(cr, uid, ids)
-
- I check that After creating all the moves of asset the state is in "Close" state
+ I will check that After creating all the moves of the asset the state is in "Close" state
-
- !assert {model: account.asset.asset, id: account_asset_asset_car0}:
+ !assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- state == 'close'
-
- I check that after the state is closed the rsidual value becomes 0
+ I will check when the state of Account asset is close the residual value becomes 0
-
- !assert {model: account.asset.asset, id: account_asset_asset_car0}:
+ !assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- value_residual == 0.0
From bc362510c409f73ccd2d34591be7310ca2473216 Mon Sep 17 00:00:00 2001
From: bde
Date: Thu, 30 Jun 2011 15:28:09 +0530
Subject: [PATCH 158/197] [IMP] Improved the YML Test Case
bzr revid: bde@tiny2-desktop-20110630095809-7q01fu15bpameshc
---
addons/account_asset/test/account_asset.yml | 22 ++++++++-------------
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/addons/account_asset/test/account_asset.yml b/addons/account_asset/test/account_asset.yml
index 00734be3f7e..638d55e45f3 100644
--- a/addons/account_asset/test/account_asset.yml
+++ b/addons/account_asset/test/account_asset.yml
@@ -1,7 +1,7 @@
-
- In order to test Account Asset feature first I will create Asset Category
+ In order to test Account Asset feature first I create Asset Category
-
- I will Create an Asset Category Record
+ I Create an Asset Category Record
-
!record {model: account.asset.category, id: account_asset_category_landbuildings0}:
account_asset_id: account.xfa
@@ -10,7 +10,7 @@
journal_id: account.expenses_journal
name: Land & Buildings
-
- I will Create an Account Asset Record
+ I Create an Account Asset Record
-
!record {model: account.asset.asset, id: account_asset_asset_Land0}:
category_id: account_asset_category_landbuildings0
@@ -22,36 +22,30 @@
salvage_value: 2000.0
state: draft
-
- I will check initially that Account Asset is in the "Draft" state
+ I check Initially that Account Asset is in the "Draft" state
-
!assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- state == 'draft'
-
- I will Confirm Account Asset using Confirm Asset button
+ I Confirm Account Asset using Confirm Asset button
-
!python {model: account.asset.asset}: |
self.validate(cr, uid, [ref("account_asset_asset_Land0")])
-
- I will compute Account Asset using Compute button and check the number of depreciation lines created are proper
+ I Compute Account Asset using Compute button and check the number of depreciation lines created are proper
-
!python {model: account.asset.asset}: |
self.compute_depreciation_board(cr, uid, [ref("account_asset_asset_Land0")])
value = self.browse(cr, uid, [ref("account_asset_asset_Land0")])[0]
assert value.method_delay == len(value.depreciation_line_ids)
-
- I will Create Account Asset Move using using create move method
+ I Create Account Asset Move using using create move method
-
!python {model: account.asset.depreciation.line}: |
ids = self.search(cr, uid, [('asset_id','=',ref('account_asset_asset_Land0'))])
self.create_move(cr, uid, ids)
-
- I will check that After creating all the moves of the asset the state is in "Close" state
+ I Check that After creating all the moves of the asset the state is in "Close" state
-
!assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- state == 'close'
--
- I will check when the state of Account asset is close the residual value becomes 0
--
- !assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- - value_residual == 0.0
-
From 7f6d246573a5f85077e3abe796c5c2ca0b2321ad Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 30 Jun 2011 15:46:56 +0530
Subject: [PATCH 159/197] [FIX] account_asset: Fixed ending date method
calculations.
bzr revid: uco@tinyerp.com-20110630101656-8mbvwqgabswl4lg8
---
addons/account_asset/account_asset.py | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index c67a60e0da2..0c5b9f9e522 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -107,6 +107,9 @@ class account_asset_asset(osv.osv):
GROUP BY a.id, a.purchase_date """, (tuple(ids),))
return dict(cr.fetchall())
+ def calculate_date(self, date, period):
+ return datetime(date.year, date.month, date.day) + relativedelta(months=+period)
+
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
@@ -120,16 +123,20 @@ class account_asset_asset(osv.osv):
amount_to_depr = residual_amount = asset.value_residual
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
- day = depreciation_date.day
- month = depreciation_date.month
- year = depreciation_date.year
- total_days = (year % 4) and 365 or 366
+ total_days = (depreciation_date.year % 4) and 365 or 366
undone_dotation_number = asset.method_delay
+ # Considering Depr. Period as months
+ time_period = asset.method_period
if asset.method_time == 'end':
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
+ if time_period != 12:
+ total_days = time_period * 30
undone_dotation_number = (end_date - depreciation_date).days / total_days
if asset.prorata or asset.method_time == 'end':
undone_dotation_number += 1
+ if posted_depreciation_line_ids:
+ add_months = time_period * len(posted_depreciation_line_ids)
+ depreciation_date = self.calculate_date(depreciation_date, add_months)
for x in range(len(posted_depreciation_line_ids), undone_dotation_number):
i = x + 1
if i == undone_dotation_number:
@@ -157,11 +164,7 @@ class account_asset_asset(osv.osv):
'depreciation_date': depreciation_date.strftime('%Y-%m-%d'),
}
depreciation_lin_obj.create(cr, uid, vals, context=context)
- # Considering Depr. Period as months
- depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
- day = depreciation_date.day
- month = depreciation_date.month
- year = depreciation_date.year
+ depreciation_date = self.calculate_date(depreciation_date, time_period)
return True
def validate(self, cr, uid, ids, context={}):
From 2ec1ebd07c82361311ca44c7b6cab4ca90f6b7c6 Mon Sep 17 00:00:00 2001
From: Mustufa Rangwala
Date: Thu, 30 Jun 2011 16:00:46 +0530
Subject: [PATCH 160/197] [IMP] Account_asset: Yml improved
bzr revid: mra@mra-laptop-20110630103046-xiocrhjdefoi9lm1
---
addons/account_asset/test/account_asset.yml | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/addons/account_asset/test/account_asset.yml b/addons/account_asset/test/account_asset.yml
index 638d55e45f3..fd3f972c8c7 100644
--- a/addons/account_asset/test/account_asset.yml
+++ b/addons/account_asset/test/account_asset.yml
@@ -1,7 +1,7 @@
-
- In order to test Account Asset feature first I create Asset Category
+ In order to test Account Asset I create Asset and confirm it and check it's Depriciation lines
-
- I Create an Asset Category Record
+ I Create an Asset Category
-
!record {model: account.asset.category, id: account_asset_category_landbuildings0}:
account_asset_id: account.xfa
@@ -10,7 +10,7 @@
journal_id: account.expenses_journal
name: Land & Buildings
-
- I Create an Account Asset Record
+ I Create an Account Asset
-
!record {model: account.asset.asset, id: account_asset_asset_Land0}:
category_id: account_asset_category_landbuildings0
@@ -19,7 +19,6 @@
partner_id: base.res_partner_14
period_id: account.period_6
purchase_value: 5000.0
- salvage_value: 2000.0
state: draft
-
I check Initially that Account Asset is in the "Draft" state
@@ -32,20 +31,26 @@
!python {model: account.asset.asset}: |
self.validate(cr, uid, [ref("account_asset_asset_Land0")])
-
- I Compute Account Asset using Compute button and check the number of depreciation lines created are proper
+ I check Asset is in running state after pressing Confirm button on asset
+-
+ !assert {model: account.asset.asset, id: account_asset_asset_Land0}:
+ - state == 'open'
+-
+ I Compute Account Asset using Compute button and check the number of depreciation lines created
-
!python {model: account.asset.asset}: |
self.compute_depreciation_board(cr, uid, [ref("account_asset_asset_Land0")])
+ # pressing computation button can be remove if creation of depreciation lines while asset is created
value = self.browse(cr, uid, [ref("account_asset_asset_Land0")])[0]
assert value.method_delay == len(value.depreciation_line_ids)
-
- I Create Account Asset Move using using create move method
+ I Create Account Move using create move button on depreciation lines
-
!python {model: account.asset.depreciation.line}: |
ids = self.search(cr, uid, [('asset_id','=',ref('account_asset_asset_Land0'))])
self.create_move(cr, uid, ids)
-
- I Check that After creating all the moves of the asset the state is in "Close" state
+ I Check that After creating all the moves of depreciation lines the state is in "Close" state
-
!assert {model: account.asset.asset, id: account_asset_asset_Land0}:
- state == 'close'
From 9ae8f375828726d6ce8a515830374cb7ec347ea5 Mon Sep 17 00:00:00 2001
From: Mustufa Rangwala
Date: Thu, 30 Jun 2011 16:04:45 +0530
Subject: [PATCH 161/197] [IMP] Account_asset: Yml improved
bzr revid: mra@mra-laptop-20110630103445-7b1ffhugdaefccve
---
addons/account_asset/test/account_asset.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/test/account_asset.yml b/addons/account_asset/test/account_asset.yml
index fd3f972c8c7..04a2486db58 100644
--- a/addons/account_asset/test/account_asset.yml
+++ b/addons/account_asset/test/account_asset.yml
@@ -14,7 +14,7 @@
-
!record {model: account.asset.asset, id: account_asset_asset_Land0}:
category_id: account_asset_category_landbuildings0
- code: a
+ code: land
name: Land
partner_id: base.res_partner_14
period_id: account.period_6
From a35800eb6ded88af50bda6be426b54b593af6c3e Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 30 Jun 2011 16:38:42 +0530
Subject: [PATCH 162/197] [FIX] account_asset: Fixed label of purchase date
field and solved error when depreciation lines are not on asset.
bzr revid: uco@tinyerp.com-20110630110842-rcc7dy6rgkpwik8y
---
addons/account_asset/report/account_asset_report.py | 6 +++---
addons/account_asset/report/account_asset_report_view.xml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
index 00c55b70684..619cf6a9d2b 100644
--- a/addons/account_asset/report/account_asset_report.py
+++ b/addons/account_asset/report/account_asset_report.py
@@ -35,7 +35,7 @@ class asset_asset_report(osv.osv):
('09', 'September'), ('10', 'October'),\
('11', 'November'), ('12', 'December')], 'Month', readonly=True),
'day': fields.char('Day', size=16, readonly=True),
- 'purchase_date': fields.date('Asset Date', required=True),
+ 'purchase_date': fields.date('Purchase Date', required=True),
'depreciation_date': fields.date('Depreciation Date', readonly=True),
'asset_id': fields.many2one('account.asset.asset', string='Asset', readonly=True),
'asset_category_id': fields.many2one('account.asset.category',string='Asset category'),
@@ -89,8 +89,8 @@ class asset_asset_report(osv.osv):
a.state as state,
count(dl.*) as nbr,
a.company_id as company_id
- from account_asset_asset a
- left join account_asset_depreciation_line dl on (dl.asset_id=a.id)
+ from account_asset_depreciation_line dl
+ left join account_asset_asset a on (dl.asset_id=a.id)
group by
dl.amount,dl.remaining_value,dl.depreciated_value,dl.asset_id,
to_char(a.purchase_date, 'YYYY'),to_char(a.purchase_date, 'MM'),
diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml
index f6742a14cef..aaa654872e5 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -69,7 +69,7 @@
-
+
From 88a46e55b232c90ba99a3e4e8c7971bdacf0766c Mon Sep 17 00:00:00 2001
From: bde
Date: Thu, 30 Jun 2011 17:14:53 +0530
Subject: [PATCH 163/197] [IMP] improved the module description in
__openerp__.py file
bzr revid: bde@tiny2-desktop-20110630114453-7p2x4jbu3ea1fhk5
---
addons/account_asset/__openerp__.py | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index be631a91e45..be6fdd4596a 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -25,10 +25,8 @@
"depends" : ["account"],
"author" : "Tiny",
"description": """Financial and accounting asset management.
- Allows to define
- * Asset category.
- * Assets.
- *Asset usage period and property.
+ This Module manages the assets owned by a company or an individual. It will keep track of depreciation's occurred on
+ those assets. And it allows to create Move's of the depreciation lines.
""",
"website" : "http://www.openerp.com",
"category" : "Generic Modules/Accounting",
From a308cefeb511c9e251a185ee7e68a098a0fc0567 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 30 Jun 2011 17:29:07 +0530
Subject: [PATCH 164/197] [FIX] account_asset: Solved problem of purchase value
on analysis report.
bzr revid: uco@tinyerp.com-20110630115907-sqwhn1vjw6vck9ii
---
addons/account_asset/report/account_asset_report.py | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
index 619cf6a9d2b..c017adc6904 100644
--- a/addons/account_asset/report/account_asset_report.py
+++ b/addons/account_asset/report/account_asset_report.py
@@ -44,7 +44,7 @@ class asset_asset_report(osv.osv):
'remaining_value': fields.float('Amount of Depreciation Lines', required=True, readonly=True),
'move_check': fields.boolean('Posted', readonly=True),
'nbr': fields.integer('# of Depreciation Lines', readonly=True),
- 'gross_value': fields.float('Gross Value', readonly=True, group_operator="avg"),
+ 'gross_value': fields.float('Gross Value', readonly=True),
'posted_value': fields.float('Posted Value', readonly=True),
'unposted_value': fields.float('Unposted Value', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
@@ -61,7 +61,12 @@ class asset_asset_report(osv.osv):
to_char(a.purchase_date, 'YYYY-MM-DD') as day,
to_date(dl.depreciation_date, 'YYYY-MM-DD') as depreciation_date,
a.purchase_date as purchase_date,
- a.purchase_value as gross_value,
+ (CASE WHEN (select min(d.id) from account_asset_depreciation_line as d
+ left join account_asset_asset as ac ON (ac.id=d.asset_id)
+ where a.id=ac.id) = min(dl.id)
+ THEN a.purchase_value
+ ELSE 0
+ END) as gross_value,
dl.amount as remaining_value,
(CASE WHEN dl.move_check
THEN dl.amount
From 048421ac28be009f2b18b6752cb98dc7c9a53baa Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Thu, 30 Jun 2011 17:44:58 +0530
Subject: [PATCH 165/197] [IMP] account_asset: Corrections according to python
standards.
bzr revid: uco@tinyerp.com-20110630121458-x3b5anmgxovhjz1x
---
.../report/account_asset_report.py | 24 +++++++++----------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/addons/account_asset/report/account_asset_report.py b/addons/account_asset/report/account_asset_report.py
index c017adc6904..5d232b03213 100644
--- a/addons/account_asset/report/account_asset_report.py
+++ b/addons/account_asset/report/account_asset_report.py
@@ -20,7 +20,7 @@
##############################################################################
import tools
-from osv import fields,osv
+from osv import fields, osv
class asset_asset_report(osv.osv):
_name = "asset.asset.report"
@@ -28,20 +28,20 @@ class asset_asset_report(osv.osv):
_auto = False
_columns = {
'name': fields.char('Year', size=16, 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),
+ '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=16, readonly=True),
- 'purchase_date': fields.date('Purchase Date', required=True),
+ 'purchase_date': fields.date('Purchase Date', readonly=True),
'depreciation_date': fields.date('Depreciation Date', readonly=True),
'asset_id': fields.many2one('account.asset.asset', string='Asset', readonly=True),
'asset_category_id': fields.many2one('account.asset.category',string='Asset category'),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
- 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True, readonly=True),
- 'remaining_value': fields.float('Amount of Depreciation Lines', required=True, readonly=True),
+ 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', readonly=True),
+ 'remaining_value': fields.float('Amount of Depreciation Lines', readonly=True),
'move_check': fields.boolean('Posted', readonly=True),
'nbr': fields.integer('# of Depreciation Lines', readonly=True),
'gross_value': fields.float('Gross Value', readonly=True),
@@ -97,9 +97,7 @@ class asset_asset_report(osv.osv):
from account_asset_depreciation_line dl
left join account_asset_asset a on (dl.asset_id=a.id)
group by
- dl.amount,dl.remaining_value,dl.depreciated_value,dl.asset_id,
- to_char(a.purchase_date, 'YYYY'),to_char(a.purchase_date, 'MM'),
- to_char(a.purchase_date, 'YYYY-MM-DD'),to_date(dl.depreciation_date, 'YYYY-MM-DD'),
+ dl.amount,dl.asset_id,to_date(dl.depreciation_date, 'YYYY-MM-DD'),
a.purchase_date, dl.move_check, a.state, a.category_id, a.partner_id, a.company_id,
a.purchase_value, a.id, a.salvage_value
)""")
From 3864c9acf42a0e41a228325c1ab8bf6d199862a1 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 1 Jul 2011 10:42:33 +0200
Subject: [PATCH 166/197] [IMP] account_asset: usability changes for asset
history
bzr revid: qdp-launchpad@openerp.com-20110701084233-rcmwin10fh5oq72g
---
addons/account_asset/account_asset.py | 9 +++++----
addons/account_asset/account_asset_view.xml | 14 ++++++++++----
.../wizard/account_asset_change_duration.py | 1 +
.../wizard/account_asset_change_duration_view.xml | 2 +-
4 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 5c7d2f063ab..b1314dc125f 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -40,7 +40,7 @@ class account_asset_category(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
- 'method_delay': fields.integer('Number of Depreciation'),
+ 'method_delay': fields.integer('Number of Depreciations'),
'method_period': fields.integer('Period Length', help="State here the time between 2 depreciations, in months"),
'method_progress_factor': fields.float('Progressif Factor'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True),
@@ -203,7 +203,7 @@ class account_asset_asset(osv.osv):
'partner_id': fields.many2one('res.partner', 'Partner'),
'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
\nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
- 'method_delay': fields.integer('Number of Depreciation', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
+ 'method_delay': fields.integer('Number of Depreciations', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
'method_period': fields.integer('Period Length', readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
'method_end': fields.date('Ending date', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
@@ -519,8 +519,9 @@ class account_asset_history(osv.osv):
'user_id': fields.many2one('res.users', 'User', required=True),
'date': fields.date('Date', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
- 'method_delay': fields.integer('Number of interval'),
- 'method_period': fields.integer('Period per interval'),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of Ending Period Date and Number of Depreciations"),
+ 'method_delay': fields.integer('Number of Depreciations'),
+ 'method_period': fields.integer('Period Length', help="Time in month between two depreciations"),
'method_end': fields.date('Ending date'),
'note': fields.text('Note'),
}
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index faebfbddf78..e8a5580f15e 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -140,14 +140,20 @@
form
+
-
+
+
+
+
+
-
-
-
+
+
+
+
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
index 34978551dbd..699f94a69f5 100755
--- a/addons/account_asset/wizard/account_asset_change_duration.py
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -109,6 +109,7 @@ class asset_modify(osv.osv_memory):
history_vals = {
'asset_id': asset_id,
'name': data.name,
+ 'method_time': asset.method_time,
'method_delay': asset.method_delay,
'method_period': asset.method_period,
'method_end': asset.method_end,
diff --git a/addons/account_asset/wizard/account_asset_change_duration_view.xml b/addons/account_asset/wizard/account_asset_change_duration_view.xml
index a655cbe348d..34d0c419105 100644
--- a/addons/account_asset/wizard/account_asset_change_duration_view.xml
+++ b/addons/account_asset/wizard/account_asset_change_duration_view.xml
@@ -11,11 +11,11 @@
-
+
From 2f25946d7a53aaf3b35e3f39e230d6b04f1baae0 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 1 Jul 2011 14:21:57 +0200
Subject: [PATCH 167/197] [IMP] account_asset: refactored some code in order to
ease the inheritancy of asset depreciation methods + small cleaning
bzr revid: qdp-launchpad@openerp.com-20110701122157-wtu6cylm96g9z2qs
---
addons/account_asset/account_asset.py | 55 ++++++++++++---------
addons/account_asset/account_asset_view.xml | 1 +
2 files changed, 34 insertions(+), 22 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index ac59db610fb..7715c4e6465 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -107,6 +107,34 @@ class account_asset_asset(osv.osv):
GROUP BY a.id, a.purchase_date """, (tuple(ids),))
return dict(cr.fetchall())
+ def _compute_board_amount(self, cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, context=None):
+ #by default amount = 0
+ amount = 0
+ if i == undone_dotation_number:
+ amount = residual_amount
+ else:
+ if asset.method == 'linear':
+ amount = amount_to_depr / (undone_dotation_number - len(posted_depreciation_line_ids))
+ if asset.prorata:
+ amount = amount_to_depr / asset.method_delay
+ days = total_days - float(depreciation_date.strftime('%j'))
+ if i == 1:
+ amount = (amount_to_depr / asset.method_delay) / total_days * days
+ elif i == undone_dotation_number:
+ amount = (amount_to_depr / asset.method_delay) / total_days * (total_days - days)
+ elif asset.method == 'degressive':
+ amount = residual_amount * asset.method_progress_factor
+ return amount
+
+ def _compute_board_undone_dotation_nb(self, cr, uid, asset, depreciation_date, total_days, context=None):
+ undone_dotation_number = asset.method_delay
+ if asset.method_time == 'end':
+ end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
+ undone_dotation_number = (end_date - depreciation_date).days / total_days
+ if asset.prorata or asset.method_time == 'end':
+ undone_dotation_number += 1
+ return undone_dotation_number
+
def compute_depreciation_board(self, cr, uid,ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
@@ -124,28 +152,11 @@ class account_asset_asset(osv.osv):
month = depreciation_date.month
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
- undone_dotation_number = asset.method_delay
- if asset.method_time == 'end':
- end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
- undone_dotation_number = (end_date - depreciation_date).days / total_days
- if asset.prorata or asset.method_time == 'end':
- undone_dotation_number += 1
+
+ undone_dotation_number = self._compute_board_undone_dotation_nb(cr, uid, asset, depreciation_date, total_days, context=context)
for x in range(len(posted_depreciation_line_ids), undone_dotation_number):
i = x + 1
- if i == undone_dotation_number:
- amount = residual_amount
- else:
- if asset.method == 'linear':
- amount = amount_to_depr / (undone_dotation_number - len(posted_depreciation_line_ids))
- if asset.prorata:
- amount = amount_to_depr / asset.method_delay
- if i == 1:
- days = total_days - float(depreciation_date.strftime('%j'))
- amount = (amount_to_depr / asset.method_delay) / total_days * days
- elif i == undone_dotation_number:
- amount = (amount_to_depr / asset.method_delay) / total_days * (total_days - days)
- else:
- amount = residual_amount * asset.method_progress_factor
+ amount = self._compute_board_amount(cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, context=context)
residual_amount -= amount
vals = {
'amount': amount,
@@ -201,8 +212,8 @@ class account_asset_asset(osv.osv):
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner'),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
- \nProgressive: Calculated on basis of Gross Value * Progressif Factor"),
+ 'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
+ \nDegressive: Calculated on basis of Gross Value * Degressive Factor"),
'method_delay': fields.integer('Number of Depreciations', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
'method_period': fields.integer('Period Length', readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
'method_end': fields.date('Ending date', readonly=True, states={'draft':[('readonly',False)]}),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 7bf9cff2743..9e3f589c008 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -92,6 +92,7 @@
+
From 27232d05054f810ba7845596fc7dd1c0fdfe2b12 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Fri, 1 Jul 2011 14:55:05 +0200
Subject: [PATCH 168/197] [FIX] account_asset: added missing argument for
_compute_board_amount
bzr revid: qdp-launchpad@openerp.com-20110701125505-6aey92y0zrq24gxh
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 7715c4e6465..068d0b40f24 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -107,7 +107,7 @@ class account_asset_asset(osv.osv):
GROUP BY a.id, a.purchase_date """, (tuple(ids),))
return dict(cr.fetchall())
- def _compute_board_amount(self, cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, context=None):
+ def _compute_board_amount(self, cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date, context=None):
#by default amount = 0
amount = 0
if i == undone_dotation_number:
@@ -156,7 +156,7 @@ class account_asset_asset(osv.osv):
undone_dotation_number = self._compute_board_undone_dotation_nb(cr, uid, asset, depreciation_date, total_days, context=context)
for x in range(len(posted_depreciation_line_ids), undone_dotation_number):
i = x + 1
- amount = self._compute_board_amount(cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, context=context)
+ amount = self._compute_board_amount(cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date, context=context)
residual_amount -= amount
vals = {
'amount': amount,
From e6b9dd5f053f1068a149fcfd24ca9824fea58304 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 4 Jul 2011 15:45:44 +0530
Subject: [PATCH 169/197] [FIX] account_asset: Fixed ending date method
problem.
bzr revid: uco@tinyerp.com-20110704101544-bceuzm55examobp3
---
addons/account_asset/account_asset.py | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 32e568165a1..08579d678d4 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -1,4 +1,4 @@
- # -*- encoding: utf-8 -*-
+# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
@@ -130,30 +130,37 @@ class account_asset_asset(osv.osv):
undone_dotation_number = asset.method_delay
if asset.method_time == 'end':
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
+ total_days = asset.method_period * 30
undone_dotation_number = (end_date - depreciation_date).days / total_days
+ if end_date.strftime('%m-%d') < depreciation_date.strftime('%m-%d'):
+ undone_dotation_number -= 1
if asset.prorata or asset.method_time == 'end':
undone_dotation_number += 1
return undone_dotation_number
+
+ def _compute_board_depreciation_date(self, date, period):
+ return datetime(date.year, date.month, date.day) + relativedelta(months=+period)
- def compute_depreciation_board(self, cr, uid,ids, context=None):
+ def compute_depreciation_board(self, cr, uid, ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
if asset.value_residual == 0.0:
continue
posted_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_check', '=', True)])
+ last_depr_id = posted_depreciation_line_ids[-1:] and posted_depreciation_line_ids[-1:][0]
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
amount_to_depr = residual_amount = asset.value_residual
-
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
- day = depreciation_date.day
- month = depreciation_date.month
- year = depreciation_date.year
- total_days = (year % 4) and 365 or 366
+ total_days = (depreciation_date.year % 4) and 365 or 366
undone_dotation_number = self._compute_board_undone_dotation_nb(cr, uid, asset, depreciation_date, total_days, context=context)
+ if last_depr_id:
+ depreciation_date = datetime.strptime(depreciation_lin_obj.browse(cr, uid, last_depr_id, context=context).depreciation_date, '%Y-%m-%d')
+ depreciation_date = self._compute_board_depreciation_date(depreciation_date, asset.method_period)
+
for x in range(len(posted_depreciation_line_ids), undone_dotation_number):
i = x + 1
amount = self._compute_board_amount(cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date, context=context)
@@ -169,10 +176,7 @@ class account_asset_asset(osv.osv):
}
depreciation_lin_obj.create(cr, uid, vals, context=context)
# Considering Depr. Period as months
- depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
- day = depreciation_date.day
- month = depreciation_date.month
- year = depreciation_date.year
+ depreciation_date = self._compute_board_depreciation_date(depreciation_date, asset.method_period)
return True
def validate(self, cr, uid, ids, context={}):
From 9d6677befa03bcabaec31d2c973552b5ae552528 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 4 Jul 2011 18:27:06 +0530
Subject: [PATCH 170/197] [REM] account_asset: Removed unnecessary file and
added the content to its particular file.
bzr revid: uco@tinyerp.com-20110704125706-7nsmuc8ongbamts2
---
addons/account_asset/account_asset_report_view.xml | 10 ----------
addons/account_asset/account_asset_view.xml | 6 ++++++
2 files changed, 6 insertions(+), 10 deletions(-)
delete mode 100755 addons/account_asset/account_asset_report_view.xml
diff --git a/addons/account_asset/account_asset_report_view.xml b/addons/account_asset/account_asset_report_view.xml
deleted file mode 100755
index d471bb56063..00000000000
--- a/addons/account_asset/account_asset_report_view.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 3fb5c9e7e7b..c696adebe49 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -278,6 +278,12 @@
parent="menu_finance_assets"
id="menu_action_account_asset_asset_form"
action="action_account_asset_asset_form"/>
+
+
From fe0ca96517affb6cf5667c031e2b59675b57c7a5 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 5 Jul 2011 17:20:56 +0530
Subject: [PATCH 171/197] [FIX] account_asset: Fixed problem of ending date
when period length is less than 12 months.
bzr revid: uco@tinyerp.com-20110705115056-zm4v34l7t3hfhf2b
---
addons/account_asset/account_asset.py | 28 +++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 08579d678d4..17a7815c281 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -130,37 +130,34 @@ class account_asset_asset(osv.osv):
undone_dotation_number = asset.method_delay
if asset.method_time == 'end':
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
- total_days = asset.method_period * 30
+ total_days = asset.method_period != 12 and asset.method_period * 30 or total_days
+ no_of_days = float((end_date - depreciation_date).days) / float(total_days)
undone_dotation_number = (end_date - depreciation_date).days / total_days
- if end_date.strftime('%m-%d') < depreciation_date.strftime('%m-%d'):
- undone_dotation_number -= 1
- if asset.prorata or asset.method_time == 'end':
+ if no_of_days - undone_dotation_number > 0.5:
+ undone_dotation_number += 1
+ if asset.prorata:
undone_dotation_number += 1
return undone_dotation_number
- def _compute_board_depreciation_date(self, date, period):
- return datetime(date.year, date.month, date.day) + relativedelta(months=+period)
-
def compute_depreciation_board(self, cr, uid, ids, context=None):
depreciation_lin_obj = self.pool.get('account.asset.depreciation.line')
for asset in self.browse(cr, uid, ids, context=context):
if asset.value_residual == 0.0:
continue
posted_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_check', '=', True)])
- last_depr_id = posted_depreciation_line_ids[-1:] and posted_depreciation_line_ids[-1:][0]
old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)])
if old_depreciation_line_ids:
depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context)
amount_to_depr = residual_amount = asset.value_residual
+
depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d')
- total_days = (depreciation_date.year % 4) and 365 or 366
+ day = depreciation_date.day
+ month = depreciation_date.month
+ year = depreciation_date.year
+ total_days = (year % 4) and 365 or 366
undone_dotation_number = self._compute_board_undone_dotation_nb(cr, uid, asset, depreciation_date, total_days, context=context)
- if last_depr_id:
- depreciation_date = datetime.strptime(depreciation_lin_obj.browse(cr, uid, last_depr_id, context=context).depreciation_date, '%Y-%m-%d')
- depreciation_date = self._compute_board_depreciation_date(depreciation_date, asset.method_period)
-
for x in range(len(posted_depreciation_line_ids), undone_dotation_number):
i = x + 1
amount = self._compute_board_amount(cr, uid, asset, i, residual_amount, amount_to_depr, undone_dotation_number, posted_depreciation_line_ids, total_days, depreciation_date, context=context)
@@ -176,7 +173,10 @@ class account_asset_asset(osv.osv):
}
depreciation_lin_obj.create(cr, uid, vals, context=context)
# Considering Depr. Period as months
- depreciation_date = self._compute_board_depreciation_date(depreciation_date, asset.method_period)
+ depreciation_date = (datetime(year, month, day) + relativedelta(months=+asset.method_period))
+ day = depreciation_date.day
+ month = depreciation_date.month
+ year = depreciation_date.year
return True
def validate(self, cr, uid, ids, context={}):
From 4a07215ec7a16639a8720242d07a549afc9381d8 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 5 Jul 2011 19:06:45 +0530
Subject: [PATCH 172/197] [REF] account_asset: Added context value for Entries
shortcut after removing report_view file.
bzr revid: uco@tinyerp.com-20110705133645-6legzrerm8zp7t0b
---
addons/account_asset/account_asset_view.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index b3dfcdbe3db..27206f61e3a 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -307,7 +307,8 @@
id="act_entries_open"
name="Entries"
res_model="account.move.line"
- src_model="account.asset.asset"/>
+ src_model="account.asset.asset"
+ context="{'search_default_asset_id': [active_id], 'default_asset_id': active_id}"/>
From 7f6577b1c4c781673a32d460e6d0710512aa52e7 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Tue, 5 Jul 2011 19:10:44 +0530
Subject: [PATCH 173/197] [REM] account_asset: Removed file name from
__openerp__.py
bzr revid: uco@tinyerp.com-20110705134044-qjlj5ueczc5nsmay
---
addons/account_asset/__openerp__.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index 503336efa51..cc1fc8f40ae 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -40,7 +40,6 @@
"wizard/account_asset_change_duration_view.xml",
"account_asset_view.xml",
"account_asset_invoice_view.xml",
- "account_asset_report_view.xml",
"report/account_asset_report_view.xml",
#modif
],
From 75e8fd083923abf7185a94ae35d2abadca378f94 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 6 Jul 2011 10:58:02 +0530
Subject: [PATCH 174/197] [IMP] account_asset: Improved tooltip for Time method
field.
bzr revid: uco@tinyerp.com-20110706052802-bc2xxu6i200xg2va
---
addons/account_asset/account_asset.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1f3eca5f20c..f7ea25fb1ed 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -221,7 +221,9 @@ class account_asset_asset(osv.osv):
'method_end': fields.date('Ending Date', readonly=True, states={'draft':[('readonly',False)]}),
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
- 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Delay: Allow users to enter number of periods to generate depreciation lines \n Ending Period: Calculates depreciation lines on the basis of Ending Period Date and Number of Depreciation"),
+ 'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]},
+ help="Delay: Calculates depreciation lines based on fixed number of intervals\n" \
+ "Ending Period: Calculates depreciation lines based on Ending Date and Period Length"),
'prorata':fields.boolean('Prorata Temporis', readonly=True, states={'draft':[('readonly',False)]}, help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True, states={'draft':[('readonly',False)]}),
From 4cea10c178992edae793411c88c7a54395d88fee Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 6 Jul 2011 11:25:18 +0530
Subject: [PATCH 175/197] [ADD] account_asset: Added tooltip for state field on
asset.
bzr revid: uco@tinyerp.com-20110706055518-dh32a3gxp7n8rkjk
---
addons/account_asset/account_asset.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1f3eca5f20c..889afdd234a 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -211,7 +211,10 @@ class account_asset_asset(osv.osv):
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True, readonly=False, states={'close':[('readonly',True)]}),
- 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True),
+ 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True,
+ help="When an asset is created, the state is 'Draft'.\n" \
+ "If the asset is owned by the company or an individual then it is called a confirmed asset, the state is 'Running'.\n" \
+ "An asset can be closed before or after all depreciation lines are posted, the state is 'Close'."),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=False, states={'close':[('readonly',True)]}),
'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
From f5931de1fb3c842f21448a5bae2900dd3c3e06c9 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 6 Jul 2011 11:32:04 +0530
Subject: [PATCH 176/197] [FIX] account_asset: Corrected indentation.
bzr revid: uco@tinyerp.com-20110706060204-jiv40hh5q4yjhhe7
---
addons/account_asset/account_asset.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index f7ea25fb1ed..485cef33a35 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -222,8 +222,8 @@ class account_asset_asset(osv.osv):
'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
'method_time': fields.selection([('delay','Delay'),('end','Ending Period')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]},
- help="Delay: Calculates depreciation lines based on fixed number of intervals\n" \
- "Ending Period: Calculates depreciation lines based on Ending Date and Period Length"),
+ help="Delay: Calculates depreciation lines based on fixed number of intervals\n" \
+ "Ending Period: Calculates depreciation lines based on Ending Date and Period Length"),
'prorata':fields.boolean('Prorata Temporis', readonly=True, states={'draft':[('readonly',False)]}, help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True, states={'draft':[('readonly',False)]}),
From 4a534a42fe82dc0ef3166d7c5229857c81b0a567 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 6 Jul 2011 11:33:39 +0530
Subject: [PATCH 177/197] [IMP] account_asset: Corrected indentation.
bzr revid: uco@tinyerp.com-20110706060339-ojfwsl1y5djk14ga
---
addons/account_asset/account_asset.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 889afdd234a..65583359c91 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -212,9 +212,9 @@ class account_asset_asset(osv.osv):
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True, readonly=False, states={'close':[('readonly',True)]}),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True,
- help="When an asset is created, the state is 'Draft'.\n" \
- "If the asset is owned by the company or an individual then it is called a confirmed asset, the state is 'Running'.\n" \
- "An asset can be closed before or after all depreciation lines are posted, the state is 'Close'."),
+ help="When an asset is created, the state is 'Draft'.\n" \
+ "If the asset is owned by the company or an individual then it is called a confirmed asset, the state is 'Running'.\n" \
+ "An asset can be closed before or after all depreciation lines are posted, the state is 'Close'."),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=False, states={'close':[('readonly',True)]}),
'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
From bfea463c8378bdaeea8bfdb38b6b47288573b1a9 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 6 Jul 2011 12:16:50 +0530
Subject: [PATCH 178/197] [IMP] account_asset: Corrected tooltip.
bzr revid: uco@tinyerp.com-20110706064650-8473af623o20p886
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 65583359c91..19cdca304df 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -213,7 +213,7 @@ class account_asset_asset(osv.osv):
'purchase_date': fields.date('Purchase Date', required=True, readonly=False, states={'close':[('readonly',True)]}),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True,
help="When an asset is created, the state is 'Draft'.\n" \
- "If the asset is owned by the company or an individual then it is called a confirmed asset, the state is 'Running'.\n" \
+ "If the asset is confirmed, the state is 'Running'.\n" \
"An asset can be closed before or after all depreciation lines are posted, the state is 'Close'."),
'active': fields.boolean('Active', select=2),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=False, states={'close':[('readonly',True)]}),
From 8aab4bd32fd6a3c4a0270b6d2336184b66bd74b5 Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 6 Jul 2011 14:39:52 +0530
Subject: [PATCH 179/197] [IMP] made the parent_id field read-only in close
state
bzr revid: bde@tiny2-desktop-20110706090952-8aayjh8hbtux5c60
---
addons/account_asset/account_asset.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 1f3eca5f20c..52fd8b4149f 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -208,7 +208,7 @@ class account_asset_asset(osv.osv):
'note': fields.text('Note'),
'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True, readonly=False, states={'close':[('readonly',True)]}),
'localisation': fields.char('Localisation', size=32, select=2),
- 'parent_id': fields.many2one('account.asset.asset', 'Parent Asset'),
+ 'parent_id': fields.many2one('account.asset.asset', 'Parent Asset', readonly=False, states={'close':[('readonly',True)]}),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True, readonly=False, states={'close':[('readonly',True)]}),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True),
From ad3ed4c59c0db1c35367f192dc1282eee06acd9a Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Wed, 6 Jul 2011 14:41:36 +0530
Subject: [PATCH 180/197] [FIX] account_asset: Fixed ending date method with
any period length.
bzr revid: uco@tinyerp.com-20110706091136-egklk5e7qhdzmxwz
---
addons/account_asset/account_asset.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 17a7815c281..a87266ae1c8 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -130,10 +130,9 @@ class account_asset_asset(osv.osv):
undone_dotation_number = asset.method_delay
if asset.method_time == 'end':
end_date = datetime.strptime(asset.method_end, '%Y-%m-%d')
- total_days = asset.method_period != 12 and asset.method_period * 30 or total_days
- no_of_days = float((end_date - depreciation_date).days) / float(total_days)
- undone_dotation_number = (end_date - depreciation_date).days / total_days
- if no_of_days - undone_dotation_number > 0.5:
+ undone_dotation_number = 0
+ while depreciation_date <= end_date:
+ depreciation_date = (datetime(depreciation_date.year, depreciation_date.month, depreciation_date.day) + relativedelta(months=+asset.method_period))
undone_dotation_number += 1
if asset.prorata:
undone_dotation_number += 1
@@ -156,6 +155,8 @@ class account_asset_asset(osv.osv):
month = depreciation_date.month
year = depreciation_date.year
total_days = (year % 4) and 365 or 366
+ if asset.method_time == 'end':
+ total_days = asset.method_period != 12 and asset.method_period * 30 or total_days
undone_dotation_number = self._compute_board_undone_dotation_nb(cr, uid, asset, depreciation_date, total_days, context=context)
for x in range(len(posted_depreciation_line_ids), undone_dotation_number):
From 08af958bea7820b1cdc36f54e73e82c478bae3de Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 6 Jul 2011 18:35:19 +0530
Subject: [PATCH 181/197] [ADD] Added record rules (multi company) for
account_asset
bzr revid: bde@tiny2-desktop-20110706130519-hlo3sidzpt2uxmqp
---
addons/account_asset/__openerp__.py | 1 +
.../security/account_asset_security.xml | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
create mode 100644 addons/account_asset/security/account_asset_security.xml
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index 503336efa51..ec549a057b1 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -35,6 +35,7 @@
"demo_xml" : [
],
"update_xml" : [
+ "security/account_asset_security.xml",
"security/ir.model.access.csv",
"account_asset_wizard.xml",
"wizard/account_asset_change_duration_view.xml",
diff --git a/addons/account_asset/security/account_asset_security.xml b/addons/account_asset/security/account_asset_security.xml
new file mode 100644
index 00000000000..733b6807c90
--- /dev/null
+++ b/addons/account_asset/security/account_asset_security.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ Account Asset Category
+
+
+ ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
+
+
+
+ Account Asset
+
+
+ ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
+
+
+
+
From 46197ae1aaa679133622a0a9b018fd7ee39eec5b Mon Sep 17 00:00:00 2001
From: bde
Date: Wed, 6 Jul 2011 18:56:38 +0530
Subject: [PATCH 182/197] [IMP] Improved object name of record rule
bzr revid: bde@tiny2-desktop-20110706132638-8v3dmp07uc93m81a
---
addons/account_asset/security/account_asset_security.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/security/account_asset_security.xml b/addons/account_asset/security/account_asset_security.xml
index 733b6807c90..d6b9840ceb0 100644
--- a/addons/account_asset/security/account_asset_security.xml
+++ b/addons/account_asset/security/account_asset_security.xml
@@ -2,14 +2,14 @@
- Account Asset Category
+ Account Asset Category multi-company
['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
- Account Asset
+ Account Asset multi-company
['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
From bb1c9574b6f67be55b4da21c954af9885f7388b7 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 00:45:35 +0200
Subject: [PATCH 183/197] [IMP] account_asset: lot of usability changes
bzr revid: qdp-launchpad@openerp.com-20110709224535-8sa9igpcx504fj7n
---
addons/account_asset/account_asset.py | 73 +++++-----
addons/account_asset/account_asset_view.xml | 154 +++++++++++---------
2 files changed, 119 insertions(+), 108 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 0238894b539..8efe78879d5 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -39,17 +39,19 @@ class account_asset_category(osv.osv):
'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True),
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
- 'method': fields.selection([('linear','Linear'),('progressif','Progressive')], 'Computation method', required=True),
+ 'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, help="Choose the method to use to compute the amount of depreciation lines.\n"\
+ " * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" \
+ " * Degressive: Calculated on basis of: Remaining Value * Degressive Factor"),
'method_number': fields.integer('Number of Depreciations'),
- 'method_period': fields.integer('Period Length', help="State here the time between 2 depreciations, in months"),
- 'method_progress_factor': fields.float('Progressif Factor'),
+ 'method_period': fields.integer('Period Length', help="State here the time between 2 depreciations, in months", required=True),
+ 'method_progress_factor': fields.float('Degressive Factor'),
'method_time': fields.selection([('number','Number of Depreciations'),('end','Ending Date')], 'Time Method', required=True,
help="Choose the method to use to compute the dates and number of depreciation lines.\n"\
- "Number of Depreciations: Fix the number of depreciation lines and the time between 2 depreciations.\n" \
- "Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond."),
+ " * Number of Depreciations: Fix the number of depreciation lines and the time between 2 depreciations.\n" \
+ " * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond."),
'method_end': fields.date('Ending date'),
- 'prorata':fields.boolean('Prorata Temporis', help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
- 'open_asset': fields.boolean('Skip Draft State', help="Check this if you want to automatically confirm the assets of this category when created by invoice."),
+ 'prorata':fields.boolean('Prorata Temporis', help='Indicates that the first depreciation entry for this asset have to be done from the purchase date instead of the first January'),
+ 'open_asset': fields.boolean('Skip Draft State', help="Check this if you want to automatically confirm the assets of this category when created by invoices."),
}
_defaults = {
@@ -184,52 +186,50 @@ class account_asset_asset(osv.osv):
return res
_columns = {
- 'period_id': fields.many2one('account.period', 'First Period', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
- 'name': fields.char('Asset', size=64, required=True, select=1, readonly=False, states={'close':[('readonly',True)]}),
- 'code': fields.char('Reference ', size=16, select=1, readonly=False, states={'close':[('readonly',True)]}),
- 'purchase_value': fields.float('Gross value ', required=True, readonly=False, states={'close':[('readonly',True)]}),
- 'currency_id': fields.many2one('res.currency','Currency',required=True, readonly=False, states={'close':[('readonly',True)]}),
- 'company_id': fields.many2one('res.company', 'Company', required=True, readonly=False, states={'close':[('readonly',True)]}),
+ 'name': fields.char('Asset', size=64, required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'code': fields.char('Reference ', size=16, readonly=True, states={'draft':[('readonly',False)]}),
+ 'purchase_value': fields.float('Gross value ', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'currency_id': fields.many2one('res.currency','Currency',required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'note': fields.text('Note'),
- 'category_id': fields.many2one('account.asset.category', 'Asset category',required=True, change_default=True, readonly=False, states={'close':[('readonly',True)]}),
- 'localisation': fields.char('Localisation', size=32, select=2),
- 'parent_id': fields.many2one('account.asset.asset', 'Parent Asset', readonly=False, states={'close':[('readonly',True)]}),
+ 'category_id': fields.many2one('account.asset.category', 'Asset category', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'parent_id': fields.many2one('account.asset.asset', 'Parent Asset', readonly=True, states={'draft':[('readonly',False)]}),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
- 'purchase_date': fields.date('Purchase Date', required=True, readonly=False, states={'close':[('readonly',True)]}),
+ 'purchase_date': fields.date('Purchase Date', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True,
help="When an asset is created, the state is 'Draft'.\n" \
"If the asset is confirmed, the state goes in 'Running' and the depreciation lines can be posted in the accounting.\n" \
"You can manually close an asset when the depreciation is over. If the last line of depreciation is posted, the asset automatically goes in that state."),
- 'active': fields.boolean('Active', select=2),
- 'partner_id': fields.many2one('res.partner', 'Partner', readonly=False, states={'close':[('readonly',True)]}),
- 'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Linear: Calculated on basis of Gross Value/During (interval) \
- \nDegressive: Calculated on basis of Gross Value * Degressive Factor"),
+ 'active': fields.boolean('Active'),
+ 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method': fields.selection([('linear','Linear'),('degressive','Degressive')], 'Computation Method', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Choose the method to use to compute the amount of depreciation lines.\n"\
+ " * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" \
+ " * Degressive: Calculated on basis of: Remaining Value * Degressive Factor"),
'method_number': fields.integer('Number of Depreciations', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
- 'method_period': fields.integer('Period Length', readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
+ 'method_period': fields.integer('Period Length', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
'method_end': fields.date('Ending Date', readonly=True, states={'draft':[('readonly',False)]}),
- 'method_progress_factor': fields.float('Progressif Factor', readonly=True, states={'draft':[('readonly',False)]}),
+ 'method_progress_factor': fields.float('Degressive Factor', readonly=True, states={'draft':[('readonly',False)]}),
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
'method_time': fields.selection([('number','Number of Depreciations'),('end','Ending Date')], 'Time Method', required=True, readonly=True, states={'draft':[('readonly',False)]},
help="Choose the method to use to compute the dates and number of depreciation lines.\n"\
- "Number of Depreciations: Fix the number of depreciation lines and the time between 2 depreciations.\n" \
- "Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond."),
- 'prorata':fields.boolean('Prorata Temporis', readonly=True, states={'draft':[('readonly',False)]}, help='Indicates that the accounting entries for this asset have to be done from the purchase date instead of the first January'),
+ " * Number of Depreciations: Fix the number of depreciation lines and the time between 2 depreciations.\n" \
+ " * Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond."),
+ 'prorata':fields.boolean('Prorata Temporis', readonly=True, states={'draft':[('readonly',False)]}, help='Indicates that the first depreciation entry for this asset have to be done from the purchase date instead of the first January'),
'history_ids': fields.one2many('account.asset.history', 'asset_id', 'History', readonly=True),
'depreciation_line_ids': fields.one2many('account.asset.depreciation.line', 'asset_id', 'Depreciation Lines', readonly=True, states={'draft':[('readonly',False)],'open':[('readonly',False)]}),
- 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate.", readonly=False, states={'close':[('readonly',True)]}),
+ 'salvage_value': fields.float('Salvage Value', digits_compute=dp.get_precision('Account'), help="It is the amount you plan to have that you cannot depreciate.", readonly=True, states={'draft':[('readonly',False)]}),
}
_defaults = {
'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'account.asset.code'),
'purchase_date': lambda obj, cr, uid, context: time.strftime('%Y-%m-%d'),
- 'active': lambda obj, cr, uid, context: True,
- 'state': lambda obj, cr, uid, context: 'draft',
- 'period_id': _get_period,
- 'method': lambda obj, cr, uid, context: 'linear',
- 'method_number': lambda obj, cr, uid, context: 5,
- 'method_time': lambda obj, cr, uid, context: 'number',
- 'method_period': lambda obj, cr, uid, context: 12,
- 'method_progress_factor': lambda obj, cr, uid, context: 0.3,
+ 'active': True,
+ 'state': 'draft',
+ 'method': 'linear',
+ 'method_number': 5,
+ 'method_time': 'number',
+ 'method_period': 12,
+ 'method_progress_factor': 0.3,
'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'account.asset.asset',context=context),
}
@@ -245,7 +245,7 @@ class account_asset_asset(osv.osv):
_constraints = [
(_check_recursion, 'Error ! You can not create recursive assets.', ['parent_id']),
- (_check_prorata, '\nProrata temporis can be applied only for computation method linear and time method number.', ['prorata']),
+ (_check_prorata, 'Prorata temporis can be applied only for computation method "linear" and time method "number of depreciations".', ['prorata']),
]
def onchange_category_id(self, cr, uid, ids, category_id, context=None):
@@ -381,6 +381,7 @@ class account_asset_depreciation_line(osv.osv):
'name': fields.char('Depreciation Name', size=64, required=True, select=1),
'sequence': fields.integer('Sequence of the depreciation', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
+ 'parent_state': fields.related('asset_id', 'state', type='char', string='State of Asset'),
'amount': fields.float('Depreciation Amount', required=True),
'remaining_value': fields.float('Amount to Depreciate', required=True),
'depreciated_value': fields.float('Amount Already Depreciated', required=True),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index f1d60c7f6a0..faf13749403 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -2,6 +2,10 @@
+
+
account.asset.category.form
account.asset.category
@@ -18,15 +22,15 @@
-
+
-
-
+
+
@@ -47,12 +51,10 @@
-
-
-
-
-
+
+
+
@@ -70,6 +72,10 @@
+
+
account.asset.asset.form
account.asset.asset
@@ -87,7 +93,7 @@
-
+
@@ -96,7 +102,7 @@
-
+
@@ -111,7 +117,7 @@
-
+
@@ -131,7 +137,8 @@
-
+
+
@@ -153,6 +160,69 @@
+
+ account.asset.asset.tree
+ account.asset.asset
+ tree
+ child_ids
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.asset.hierarchy
+ account.asset.asset
+ tree
+ child_ids
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ account.asset.asset.search
+ account.asset.asset
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
account.asset.history.form
account.asset.history
@@ -193,66 +263,6 @@
-
-
- account.asset.asset.tree
- account.asset.asset
- tree
- child_ids
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- account.asset.asset.hierarchy
- account.asset.asset
- tree
- child_ids
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- account.asset.asset.search
- account.asset.asset
- search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Asset Hierarchy
account.asset.asset
From 0c8ee36516105305e0f120a96dcd13330cfe07ca Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 01:45:39 +0200
Subject: [PATCH 184/197] [IMP] account_asset: code cleaning
bzr revid: qdp-launchpad@openerp.com-20110709234539-syx25bgd60bdqbh1
---
addons/account_asset/account_asset.py | 94 +++----------------
addons/account_asset/account_asset_view.xml | 2 +-
.../wizard/wizard_asset_compute.py | 6 +-
3 files changed, 14 insertions(+), 88 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 8efe78879d5..142fc89df09 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -278,87 +278,13 @@ class account_asset_asset(osv.osv):
default.update({'depreciation_line_ids': [], 'state': 'draft'})
return super(account_asset_asset, self).copy(cr, uid, id, default, context=context)
- def _compute_period(self, cr, uid, property, context={}):
- if (len(property.entry_asset_ids or [])/2)>=property.method_number:
- return False
- if len(property.entry_asset_ids):
- cp = property.entry_asset_ids[-1].period_id
- cpid = self.pool.get('account.period').next(cr, uid, cp, property.method_period, context)
- current_period = self.pool.get('account.period').browse(cr, uid, cpid, context)
- else:
- current_period = property.asset_id.period_id
- return current_period
-
- def _compute_move(self, cr, uid, property, period, context={}):
- #FIXME: fucntion not working OK
+ def _compute_entries(self, cr, uid, ids, period_id, context={}):
result = []
- total = 0.0
- for move in property.asset_id.entry_ids:
- total += move.debit-move.credit
- for move in property.entry_asset_ids:
- if move.account_id == property.account_asset_ids:
- total += move.debit
- total += -move.credit
- periods = (len(property.entry_asset_ids)/2) - property.method_number
-
- if periods==1:
- amount = total
- else:
- if property.method == 'linear':
- amount = total / periods
- else:
- amount = total * property.method_progress_factor
-
- move_id = self.pool.get('account.move').create(cr, uid, {
- 'journal_id': property.journal_id.id,
- 'period_id': period.id,
- 'name': property.name or property.asset_id.name,
- 'ref': property.asset_id.code
- })
- result = [move_id]
- id = self.pool.get('account.move.line').create(cr, uid, {
- 'name': property.name or property.asset_id.name,
- 'move_id': move_id,
- 'account_id': property.account_asset_id.id,
- 'debit': amount>0 and amount or 0.0,
- 'credit': amount<0 and -amount or 0.0,
- 'ref': property.asset_id.code,
- 'period_id': period.id,
- 'journal_id': property.journal_id.id,
- 'partner_id': property.asset_id.partner_id.id,
- 'date': time.strftime('%Y-%m-%d'),
- })
- id2 = self.pool.get('account.move.line').create(cr, uid, {
- 'name': property.name or property.asset_id.name,
- 'move_id': move_id,
- 'account_id': property.account_actif_id.id,
- 'credit': amount>0 and amount or 0.0,
- 'debit': amount<0 and -amount or 0.0,
- 'ref': property.asset_id.code,
- 'period_id': period.id,
- 'journal_id': property.journal_id.id,
- 'partner_id': property.asset_id.partner_id.id,
- 'date': time.strftime('%Y-%m-%d'),
- })
- #
- self.pool.get('account.asset.asset').write(cr, uid, [property.id], {
- 'entry_asset_ids': [(4, id2, False),(4,id,False)]
- })
- if property.method_number - (len(property.entry_asset_ids)/2)<=1:
- #self.pool.get('account.asset.property')._close(cr, uid, property, context)
- return result
- return result
-
- def _compute_entries(self, cr, uid, asset, period_id, context={}):
- #FIXME: function not working CHECK all res
- result = []
- date_start = self.pool.get('account.period').browse(cr, uid, period_id, context).date_start
- for property in asset.property_ids:
- if property.state=='open':
- period = self._compute_period(cr, uid, property, context)
- if period and (period.date_start<=date_start):
- result += self._compute_move(cr, uid, property, period, context)
- return result
+ period_obj = self.pool.get('account.period')
+ depreciation_obj = self.pool.get('account.asset.depreciation.line')
+ period = period_obj.browse(cr, uid, period_id, context=context)
+ depreciation_ids = depreciation_obj.search(cr, uid, [('asset_id', 'in', ids), ('depreciation_date','<',period.date_stop), ('depreciation_date', '>', period.date_start)], context=context)
+ return depreciation_obj.create_move(cr, uid, depreciation_ids, context=context)
def create(self, cr, uid, vals, context=None):
asset_id = super(account_asset_asset, self).create(cr, uid, vals, context=context)
@@ -399,6 +325,7 @@ class account_asset_depreciation_line(osv.osv):
move_obj = self.pool.get('account.move')
move_line_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
+ created_move_ids = []
for line in self.browse(cr, uid, ids, context=context):
if currency_obj.is_zero(cr, uid, line.asset_id.currency_id, line.remaining_value):
can_close = True
@@ -452,9 +379,10 @@ class account_asset_depreciation_line(osv.osv):
'asset_id': line.asset_id.id
})
self.write(cr, uid, line.id, {'move_id': move_id}, context=context)
- if can_close:
- asset_obj.write(cr, uid, [line.asset_id.id], {'state': 'close'}, context=context)
- return True
+ created_move_ids.append(move_id)
+ if can_close:
+ asset_obj.write(cr, uid, [line.asset_id.id], {'state': 'close'}, context=context)
+ return created_move_ids
account_asset_depreciation_line()
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index faf13749403..1e54079406f 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -166,7 +166,7 @@
tree
child_ids
-
+
diff --git a/addons/account_asset/wizard/wizard_asset_compute.py b/addons/account_asset/wizard/wizard_asset_compute.py
index ec0e3a063b9..96e0b02794d 100755
--- a/addons/account_asset/wizard/wizard_asset_compute.py
+++ b/addons/account_asset/wizard/wizard_asset_compute.py
@@ -47,10 +47,8 @@ asset_ask_fields = {
def _asset_compute(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
ass_obj = pool.get('account.asset.asset')
- ids = ass_obj.search(cr, uid, [('state','=','normal')], context=context)
- ids_create = []
- for asset in ass_obj.browse(cr, uid, ids, context):
- ids_create += ass_obj._compute_entries(cr, uid, asset, data['form']['period_id'], context)
+ ids = ass_obj.search(cr, uid, [('state','=','open')], context=context)
+ ids_create = ass_obj._compute_entries(cr, uid, ids, data['form']['period_id'], context=context)
self.move_ids = ids_create
return {'move_ids': ids_create}
From 1bfecd11d7e6d22ca743ad90d366d4de61a916d6 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 02:45:35 +0200
Subject: [PATCH 185/197] [IMP] account_asset: asset compute wizard upgrading
to osv memory + fixing in the same wizard
bzr revid: qdp-launchpad@openerp.com-20110710004535-fg9r6zv0twq4c1q3
---
addons/account_asset/__openerp__.py | 7 +-
addons/account_asset/account_asset.py | 10 +-
addons/account_asset/account_asset_wizard.xml | 7 --
.../wizard/wizard_asset_compute.py | 105 ++++++------------
4 files changed, 38 insertions(+), 91 deletions(-)
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index f1252093747..f0baa174e41 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -39,17 +39,14 @@
"security/ir.model.access.csv",
"account_asset_wizard.xml",
"wizard/account_asset_change_duration_view.xml",
+ "wizard/wizard_asset_compute_view.xml",
"account_asset_view.xml",
"account_asset_invoice_view.xml",
"report/account_asset_report_view.xml",
- #modif
+
],
-# "translations" : {
-# "fr": "i18n/french_fr.csv"
-# },
"active": False,
"installable": True,
-
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 142fc89df09..74ecb031768 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -283,7 +283,7 @@ class account_asset_asset(osv.osv):
period_obj = self.pool.get('account.period')
depreciation_obj = self.pool.get('account.asset.depreciation.line')
period = period_obj.browse(cr, uid, period_id, context=context)
- depreciation_ids = depreciation_obj.search(cr, uid, [('asset_id', 'in', ids), ('depreciation_date','<',period.date_stop), ('depreciation_date', '>', period.date_start)], context=context)
+ depreciation_ids = depreciation_obj.search(cr, uid, [('asset_id', 'in', ids), ('depreciation_date', '<', period.date_stop), ('depreciation_date', '>', period.date_start), ('move_check', '=', False)], context=context)
return depreciation_obj.create_move(cr, uid, depreciation_ids, context=context)
def create(self, cr, uid, vals, context=None):
@@ -336,16 +336,16 @@ class account_asset_depreciation_line(osv.osv):
context.update({'date': depreciation_date})
amount = currency_obj.compute(cr, uid, current_currency, company_currency, line.amount, context=context)
sign = line.asset_id.category_id.journal_id.type = 'purchase' and 1 or -1
+ asset_name = line.asset_id.name
+ reference = line.name
move_vals = {
- 'name': line.name,
+ 'name': asset_name,
'date': depreciation_date,
- 'ref': line.name,
+ 'ref': reference,
'period_id': period_ids and period_ids[0] or False,
'journal_id': line.asset_id.category_id.journal_id.id,
}
move_id = move_obj.create(cr, uid, move_vals, context=context)
- asset_name = line.asset_id.name
- reference = line.name
journal_id = line.asset_id.category_id.journal_id.id
partner_id = line.asset_id.partner_id.id
move_line_obj.create(cr, uid, {
diff --git a/addons/account_asset/account_asset_wizard.xml b/addons/account_asset/account_asset_wizard.xml
index 8b9bc6b7070..e21a2d86fb5 100755
--- a/addons/account_asset/account_asset_wizard.xml
+++ b/addons/account_asset/account_asset_wizard.xml
@@ -8,13 +8,6 @@
name="account.asset.compute"
keyword="tree_but_action"
id="wizard_asset_compute"/>
-
-
-
-
-
-
- '''
-
-asset_end_fields = {
- 'move_ids': {'string':'Entries', 'type': 'one2many', 'relation':'account.move'},
-}
-
-
-asset_ask_form = '''
-
-
- '''
-
-asset_ask_fields = {
- 'period_id': {'string': 'Period', 'type': 'many2one', 'relation':'account.period', 'required':True},
-}
-
-def _asset_compute(self, cr, uid, data, context):
- pool = pooler.get_pool(cr.dbname)
- ass_obj = pool.get('account.asset.asset')
- ids = ass_obj.search(cr, uid, [('state','=','open')], context=context)
- ids_create = ass_obj._compute_entries(cr, uid, ids, data['form']['period_id'], context=context)
- self.move_ids = ids_create
- return {'move_ids': ids_create}
-
-def _asset_open(self, cr, uid, data, context):
- value = {
- 'name': 'Created moves',
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'res_model': 'account.move',
- 'view_id': False,
- 'type': 'ir.actions.act_window'
+class asset_depreciation_confirmation_wizard(osv.osv_memory):
+ _name = "asset.depreciation.confirmation.wizard"
+ _description = "asset.depreciation.confirmation.wizard"
+ _columns = {
+ 'period_id': fields.many2one('account.period', 'Period', required=True, help="Choose the period for which you want to automatically post the depreciation lines of running assets"),
+ }
+
+ def _get_period(self, cr, uid, context=None):
+ periods = self.pool.get('account.period').find(cr, uid)
+ if periods:
+ return periods[0]
+ return False
+
+ _defaults = {
+ 'period_id': _get_period,
}
- if data['form']['move_ids']:
- value['domain']= "[('id','in',["+','.join(map(str,self.move_ids))+"])]"
- else:
- value['domain']= "[('id','=', False)]"
- return value
-def _get_period(self, cr, uid, data, context={}):
- pool = pooler.get_pool(cr.dbname)
- ids = pool.get('account.period').find(cr, uid, context=context)
- period_id = False
- if len(ids):
- period_id = ids[0]
- return {'period_id': period_id}
-
-class wizard_asset_compute(wizard.interface):
- states = {
- 'init': {
- 'actions': [_get_period],
- 'result': {'type':'form', 'arch':asset_ask_form, 'fields':asset_ask_fields, 'state':[
- ('end','Cancel'),
- ('asset_compute','Compute assets')
- ]}
- },
- 'asset_compute': {
- 'actions': [_asset_compute],
- 'result': {'type' : 'form', 'arch': asset_end_arch, 'fields':asset_end_fields, 'state':[
- ('end','Close'),
- ('asset_open','Open entries')
- ]}
- },
- 'asset_open': {
- 'actions': [],
- 'result': {'type':'action', 'action': _asset_open, 'state':'end'}
+ def asset_compute(self, cr, uid, ids, context):
+ ass_obj = self.pool.get('account.asset.asset')
+ asset_ids = ass_obj.search(cr, uid, [('state','=','open')], context=context)
+ data = self.browse(cr, uid, ids, context=context)
+ period_id = data[0].period_id.id
+ created_move_ids = ass_obj._compute_entries(cr, uid, asset_ids, period_id, context=context)
+ return {
+ 'name': _('Created Asset Moves'),
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'res_model': 'account.move',
+ 'view_id': False,
+ 'domain': "[('id','in',["+','.join(map(str,created_move_ids))+"])]",
+ 'type': 'ir.actions.act_window',
}
- }
-wizard_asset_compute('account.asset.compute')
+asset_depreciation_confirmation_wizard()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
From e45f9ebc55311458be6c664173fdac6e1ca81754 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 02:53:57 +0200
Subject: [PATCH 186/197] [FIX] account_asset: change duration wizard
bzr revid: qdp-launchpad@openerp.com-20110710005357-6rfi7xwvngcepwaw
---
.../wizard/account_asset_change_duration.py | 15 ++++++++-------
.../wizard/account_asset_change_duration_view.xml | 2 +-
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/addons/account_asset/wizard/account_asset_change_duration.py b/addons/account_asset/wizard/account_asset_change_duration.py
index 699f94a69f5..227f4e53229 100755
--- a/addons/account_asset/wizard/account_asset_change_duration.py
+++ b/addons/account_asset/wizard/account_asset_change_duration.py
@@ -29,7 +29,7 @@ class asset_modify(osv.osv_memory):
_columns = {
'name': fields.char('Reason', size=64, required=True),
- 'method_delay': fields.integer('Number of Depreciations'),
+ 'method_number': fields.integer('Number of Depreciations', required=True),
'method_period': fields.integer('Period Length'),
'method_end': fields.date('Ending date'),
'note': fields.text('Notes'),
@@ -55,11 +55,11 @@ class asset_modify(osv.osv_memory):
if active_model == 'account.asset.asset' and asset_id:
asset = asset_obj.browse(cr, uid, asset_id, context=context)
doc = etree.XML(result['arch'])
- if asset.method_time == 'delay':
+ if asset.method_time == 'number':
node = doc.xpath("//field[@name='method_end']")[0]
node.set('invisible', '1')
elif asset.method_time == 'end':
- node = doc.xpath("//field[@name='method_delay']")[0]
+ node = doc.xpath("//field[@name='method_number']")[0]
node.set('invisible', '1')
result['arch'] = etree.tostring(doc)
return result
@@ -81,8 +81,8 @@ class asset_modify(osv.osv_memory):
asset = asset_obj.browse(cr, uid, asset_id, context=context)
if 'name' in fields:
res.update({'name': asset.name})
- if 'method_delay' in fields and asset.method_time == 'delay':
- res.update({'method_delay': asset.method_delay})
+ if 'method_number' in fields and asset.method_time == 'number':
+ res.update({'method_number': asset.method_number})
if 'method_period' in fields:
res.update({'method_period': asset.method_period})
if 'method_end' in fields and asset.method_time == 'end':
@@ -110,7 +110,7 @@ class asset_modify(osv.osv_memory):
'asset_id': asset_id,
'name': data.name,
'method_time': asset.method_time,
- 'method_delay': asset.method_delay,
+ 'method_number': asset.method_number,
'method_period': asset.method_period,
'method_end': asset.method_end,
'user_id': uid,
@@ -119,11 +119,12 @@ class asset_modify(osv.osv_memory):
}
history_obj.create(cr, uid, history_vals, context=context)
asset_vals = {
- 'method_delay': data.method_delay,
+ 'method_number': data.method_number,
'method_period': data.method_period,
'method_end': data.method_end,
}
asset_obj.write(cr, uid, [asset_id], asset_vals, context=context)
+ asset_obj.compute_depreciation_board(cr, uid, [asset_id], context=context)
return {'type': 'ir.actions.act_window_close'}
asset_modify()
diff --git a/addons/account_asset/wizard/account_asset_change_duration_view.xml b/addons/account_asset/wizard/account_asset_change_duration_view.xml
index 34d0c419105..c8a9a02dc5b 100644
--- a/addons/account_asset/wizard/account_asset_change_duration_view.xml
+++ b/addons/account_asset/wizard/account_asset_change_duration_view.xml
@@ -12,7 +12,7 @@
-
+
From 7e66c2ae4cf6d1f3aa882c5af5180649286739e9 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 03:24:00 +0200
Subject: [PATCH 187/197] [IMP] account: added account_asset module as feature
available for installation
bzr revid: qdp-launchpad@openerp.com-20110710012400-fno9t3zguv7ukl9q
---
addons/account/account_installer.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index dd106e75afb..d3acde730a9 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -57,6 +57,7 @@
+
From 4c39cc9c00ff9106a36bc10c2bf612bc14d7d41c Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 03:26:12 +0200
Subject: [PATCH 188/197] [FIX] account_asset: errors in yaml test
bzr revid: qdp-launchpad@openerp.com-20110710012612-rs9v5zsa4e6f5bus
---
addons/account_asset/test/account_asset.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/addons/account_asset/test/account_asset.yml b/addons/account_asset/test/account_asset.yml
index 04a2486db58..b56aa028c61 100644
--- a/addons/account_asset/test/account_asset.yml
+++ b/addons/account_asset/test/account_asset.yml
@@ -17,7 +17,6 @@
code: land
name: Land
partner_id: base.res_partner_14
- period_id: account.period_6
purchase_value: 5000.0
state: draft
-
@@ -42,7 +41,7 @@
self.compute_depreciation_board(cr, uid, [ref("account_asset_asset_Land0")])
# pressing computation button can be remove if creation of depreciation lines while asset is created
value = self.browse(cr, uid, [ref("account_asset_asset_Land0")])[0]
- assert value.method_delay == len(value.depreciation_line_ids)
+ assert value.method_number == len(value.depreciation_line_ids)
-
I Create Account Move using create move button on depreciation lines
-
From 004acc001b93d5562d5a0344d8f00d5de5896c97 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Sun, 10 Jul 2011 03:57:15 +0200
Subject: [PATCH 189/197] [ADD] account_asset: added
wizard_asset_compute_view.xml (forgotten few commits ago)
bzr revid: qdp-launchpad@openerp.com-20110710015715-3j891r9vw4oi14kl
---
.../wizard/wizard_asset_compute_view.xml | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 addons/account_asset/wizard/wizard_asset_compute_view.xml
diff --git a/addons/account_asset/wizard/wizard_asset_compute_view.xml b/addons/account_asset/wizard/wizard_asset_compute_view.xml
new file mode 100644
index 00000000000..00636491ac4
--- /dev/null
+++ b/addons/account_asset/wizard/wizard_asset_compute_view.xml
@@ -0,0 +1,38 @@
+
+
+
+
+ asset.depreciation.confirmation.wizard
+ asset.depreciation.confirmation.wizard
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compute Assets
+ asset.depreciation.confirmation.wizard
+ form
+ tree,form
+
+ new
+
+
+
+
+
+
From 11144bf20e36cf87a5cc584b3f50468058fe3dfa Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 11 Jul 2011 13:19:13 +0200
Subject: [PATCH 190/197] [FIX] account: installer of account_asset module
bzr revid: qdp-launchpad@openerp.com-20110711111913-ndcl3n5qfyi32cdz
---
addons/account/installer.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/addons/account/installer.py b/addons/account/installer.py
index 39c0863b3c1..764809d2cf0 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -255,6 +255,8 @@ class account_installer_modules(osv.osv_memory):
'account_anglo_saxon': fields.boolean('Anglo-Saxon Accounting',
help="This module will support the Anglo-Saxons accounting methodology by "
"changing the accounting logic with stock transactions."),
+ 'account_asset': fields.boolean('Assets Management',
+ help="Helps you to manage your assets and their depreciation entries."),
}
account_installer_modules()
From 65009b9f0ba3f9d7232bc6b7228e3281df792cef Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 11 Jul 2011 13:38:27 +0200
Subject: [PATCH 191/197] [IMP] account_asset: history tree view changes +
removal of select=1 statements in views
bzr revid: qdp-launchpad@openerp.com-20110711113827-shx1zyqmbd34rslv
---
addons/account_asset/account_asset.py | 2 +-
addons/account_asset/account_asset_view.xml | 29 +++++++++++----------
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py
index 6cea866f696..3a4e10740ec 100644
--- a/addons/account_asset/account_asset.py
+++ b/addons/account_asset/account_asset.py
@@ -407,7 +407,7 @@ class account_asset_history(osv.osv):
'date': fields.date('Date', required=True),
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
'method_time': fields.selection([('number','Number of Depreciations'),('end','Ending Date')], 'Time Method', required=True,
- help="Choose the method to use to compute the dates and number of depreciation lines.\n"\
+ help="The method to use to compute the dates and number of depreciation lines.\n"\
"Number of Depreciations: Fix the number of depreciation lines and the time between 2 depreciations.\n" \
"Ending Date: Choose the time between 2 depreciations and the date the depreciations won't go beyond."),
'method_number': fields.integer('Number of Depreciations'),
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 1e54079406f..fb3c841a9e8 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -12,7 +12,7 @@
form
-
+
@@ -83,14 +83,14 @@
-
-
-
-
+
+
+
+
-
-
+
+
@@ -230,9 +230,9 @@
-
-
-
+
+
+
@@ -253,10 +253,11 @@
tree
-
-
-
-
+
+
+
+
+
From 020d3fdbfa5e17db0d4346027203a81b7e16b951 Mon Sep 17 00:00:00 2001
From: "Quentin (OpenERP)"
Date: Mon, 11 Jul 2011 14:10:08 +0200
Subject: [PATCH 192/197] [IMP] account_asset: moved the asset_category_id in
accuont.invoice view
bzr revid: qdp-launchpad@openerp.com-20110711121008-qs4t569o73u3lzol
---
addons/account_asset/account_asset_invoice_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml
index f694ce425c2..fe1435d4745 100755
--- a/addons/account_asset/account_asset_invoice_view.xml
+++ b/addons/account_asset/account_asset_invoice_view.xml
@@ -12,8 +12,8 @@
form
-
-
+
+
From a0ada4097af7c30a8852ef1f1e307b272b8c9864 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 11 Jul 2011 18:21:50 +0530
Subject: [PATCH 193/197] [ADD] account_asset: Added demo data file.
bzr revid: uco@tinyerp.com-20110711125150-ig24j3jtl2ro5nvx
---
addons/account_asset/__openerp__.py | 2 +-
addons/account_asset/account_asset_demo.xml | 84 +++++++++++++++++++++
2 files changed, 85 insertions(+), 1 deletion(-)
create mode 100644 addons/account_asset/account_asset_demo.xml
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index cf78871bc08..4cad6f74af3 100755
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -32,7 +32,7 @@
"category" : "Generic Modules/Accounting",
"init_xml" : [
],
- "demo_xml" : [
+ "demo_xml" : [ 'account_asset_demo.xml'
],
'test': ['test/account_asset.yml',
],
diff --git a/addons/account_asset/account_asset_demo.xml b/addons/account_asset/account_asset_demo.xml
new file mode 100644
index 00000000000..8820c31d2b7
--- /dev/null
+++ b/addons/account_asset/account_asset_demo.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ number
+
+
+ linear
+ Fixed Assets
+
+
+
+
+
+
+
+
+
+
+ open
+
+ 2011-07-11
+ linear
+
+ number
+
+ Vehicles
+
+
+
+
+
+ 2014-08-11
+
+
+
+
+
+ draft
+
+ 2011-07-11
+ linear
+ end
+
+ Cab
+
+
+
+
+
+
+
+
+
+
+
+ open
+
+ 2011-01-01
+ linear
+
+ number
+
+ Office
+
+
+
+
+
+
From 62ff066719e60ba946eca45b5476c9da606745e1 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 11 Jul 2011 18:44:27 +0530
Subject: [PATCH 194/197] [IMP] account_asset: Improved demo file
bzr revid: uco@tinyerp.com-20110711131427-bck8jzp055bmwoye
---
addons/account_asset/account_asset_demo.xml | 38 ++-------------------
1 file changed, 3 insertions(+), 35 deletions(-)
diff --git a/addons/account_asset/account_asset_demo.xml b/addons/account_asset/account_asset_demo.xml
index 8820c31d2b7..dbd9e7d4d92 100644
--- a/addons/account_asset/account_asset_demo.xml
+++ b/addons/account_asset/account_asset_demo.xml
@@ -1,43 +1,27 @@
-
+
-
-
-
-
- number
-
-
- linear
Fixed Assets
-
-
-
-
open
- 2011-07-11
- linear
- number
-
Vehicles
@@ -45,17 +29,8 @@
2014-08-11
-
-
-
-
- draft
-
- 2011-07-11
- linear
end
-
Cab
@@ -65,16 +40,9 @@
-
-
-
open
2011-01-01
- linear
-
- number
-
Office
From 650b1109c538bcde5f0b1c94885b5e17f350a62e Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 11 Jul 2011 18:51:26 +0530
Subject: [PATCH 195/197] [IMP] account_asset: Small improvement.
bzr revid: uco@tinyerp.com-20110711132126-qfcf0yseujkjr0ea
---
addons/account_asset/account_asset_demo.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_asset/account_asset_demo.xml b/addons/account_asset/account_asset_demo.xml
index dbd9e7d4d92..7789532dfa6 100644
--- a/addons/account_asset/account_asset_demo.xml
+++ b/addons/account_asset/account_asset_demo.xml
@@ -1,6 +1,6 @@
-
+
From 7d42d7b69ff7262c240abbbdf725bda061fd7282 Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 11 Jul 2011 18:59:23 +0530
Subject: [PATCH 196/197] [ADD] account_asset: Added steps for opening asset
category form view on configuration wizard.
bzr revid: uco@tinyerp.com-20110711132923-e0v4c78ujd6x1bsd
---
addons/account_asset/account_asset_view.xml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index fb3c841a9e8..1225bf2459d 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -333,6 +333,22 @@
parent="menu_finance_config_assets"
id="menu_action_account_asset_asset_list_normal"
action="action_account_asset_asset_list_normal"/>
+
+
+ Asset Categories
+ account.asset.category
+ form
+ form
+
+
+
+
+
+ 3
+ normal
+ skip
+
+
From 41b405e3281917bdcd17717589d41c06f012caed Mon Sep 17 00:00:00 2001
From: "Ujjvala Collins (OpenERP)"
Date: Mon, 11 Jul 2011 19:07:58 +0530
Subject: [PATCH 197/197] [IMP] account_asset: Improved indentation.
bzr revid: uco@tinyerp.com-20110711133758-ced91cinx0th5tr3
---
addons/account_asset/account_asset_view.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index 1225bf2459d..aa26fc79141 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -342,11 +342,11 @@
-
-
- 3
- normal
- skip
+
+
+ 3
+ normal
+ skip