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:
-