diff --git a/base_accounting_kit/doc/changelog.md b/base_accounting_kit/doc/changelog.md
index 01bb8a861..5eaa6e285 100644
--- a/base_accounting_kit/doc/changelog.md
+++ b/base_accounting_kit/doc/changelog.md
@@ -104,9 +104,4 @@
#### 14.01.2022
#### Version 14.0.3.13.14
#### FIX
-- Dashboard cash and bank balance issue fix
-
-#### 23.04.2024
-#### Version 14.0.3.13.15
-#### FIX
-- Residual value and Archive issue Fix
\ No newline at end of file
+- Dashboard cash and bank balance issue fix
\ No newline at end of file
diff --git a/base_accounting_kit/models/account_asset.py b/base_accounting_kit/models/account_asset.py
index a726f9f19..1afdbfd1f 100644
--- a/base_accounting_kit/models/account_asset.py
+++ b/base_accounting_kit/models/account_asset.py
@@ -57,8 +57,7 @@ class AccountAssetCategory(models.Model):
journal_id = fields.Many2one('account.journal', string='Journal',
required=True)
company_id = fields.Many2one('res.company', string='Company',
- required=True,
- default=lambda self: self.env.company)
+ required=True, default=lambda self: self.env.company)
method = fields.Selection(
[('linear', 'Linear'), ('degressive', 'Degressive')],
string='Computation Method', required=True, default='linear',
@@ -201,7 +200,7 @@ class AccountAssetAsset(models.Model):
if asset.state in ['open', 'close']:
raise UserError(
_('You cannot delete a document is in %s state.') % (
- asset.state,))
+ asset.state,))
for depreciation_line in asset.depreciation_line_ids:
if depreciation_line.move_id:
raise UserError(_(
@@ -267,16 +266,16 @@ class AccountAssetAsset(models.Model):
if self.method_period % 12 != 0:
date = datetime.strptime(str(self.date), '%Y-%m-%d')
month_days = \
- calendar.monthrange(date.year, date.month)[1]
+ calendar.monthrange(date.year, date.month)[1]
days = month_days - date.day + 1
amount = (
- amount_to_depr / self.method_number) / month_days * days
+ amount_to_depr / self.method_number) / month_days * days
else:
days = (self.company_id.compute_fiscalyear_dates(
depreciation_date)[
'date_to'] - depreciation_date).days + 1
amount = (
- amount_to_depr / self.method_number) / total_days * days
+ amount_to_depr / self.method_number) / total_days * days
elif self.method == 'degressive':
amount = residual_amount * self.method_progress_factor
if self.prorata:
@@ -284,16 +283,16 @@ class AccountAssetAsset(models.Model):
if self.method_period % 12 != 0:
date = datetime.strptime(str(self.date), '%Y-%m-%d')
month_days = \
- calendar.monthrange(date.year, date.month)[1]
+ calendar.monthrange(date.year, date.month)[1]
days = month_days - date.day + 1
amount = (
- residual_amount * self.method_progress_factor) / month_days * days
+ residual_amount * self.method_progress_factor) / month_days * days
else:
days = (self.company_id.compute_fiscalyear_dates(
depreciation_date)[
'date_to'] - depreciation_date).days + 1
amount = (
- residual_amount * self.method_progress_factor) / total_days * days
+ residual_amount * self.method_progress_factor) / total_days * days
return amount
def _compute_board_undone_dotation_nb(self, depreciation_date, total_days):
@@ -396,7 +395,7 @@ class AccountAssetAsset(models.Model):
'name': (self.code or '') + '/' + str(sequence),
'remaining_value': residual_amount,
'depreciated_value': self.value - (
- self.salvage_value + residual_amount),
+ self.salvage_value + residual_amount),
'depreciation_date': depreciation_date.strftime(DF),
}
commands.append((0, False, vals))
@@ -437,8 +436,6 @@ class AccountAssetAsset(models.Model):
fields))
asset.message_post(subject=_('Asset created'),
tracking_value_ids=tracking_value_ids)
- if self.value_residual == 0.0:
- self.write({'state': 'close'})
def _get_disposal_moves(self):
move_ids = []
@@ -479,9 +476,8 @@ class AccountAssetAsset(models.Model):
tracked_fields, old_values)
if changes:
asset.message_post(subject=_(
- 'Asset sold or disposed. Accounting entry awaiting '
- 'for validation.'),
- tracking_value_ids=tracking_value_ids)
+ 'Asset sold or disposed. Accounting entry awaiting for validation.'),
+ tracking_value_ids=tracking_value_ids)
move_ids += asset.depreciation_line_ids[-1].create_move(
post_move=False)
@@ -489,7 +485,6 @@ class AccountAssetAsset(models.Model):
def set_to_close(self):
move_ids = self._get_disposal_moves()
- self.write({'state': 'close'})
if move_ids:
name = _('Disposal Move')
view_mode = 'form'
@@ -504,6 +499,8 @@ class AccountAssetAsset(models.Model):
'target': 'current',
'res_id': move_ids[0],
}
+ # Fallback, as if we just clicked on the smartbutton
+ return self.open_entries()
def set_to_draft(self):
self.write({'state': 'draft'})
@@ -533,15 +530,7 @@ class AccountAssetAsset(models.Model):
def _check_prorata(self):
if self.prorata and self.method_time != 'number':
raise ValidationError(_(
- 'Prorata temporis can be applied only for time method "number '
- 'of depreciations".'))
-
- @api.constrains('active', 'state')
- def _check_active(self):
- for record in self:
- if not record.active and record.state not in ['draft', 'close']:
- raise UserError(
- "You cannot archive a record in a running state.")
+ 'Prorata temporis can be applied only for time method "number of depreciations".'))
@api.onchange('category_id')
def onchange_category_id(self):
@@ -633,8 +622,7 @@ class AccountAssetDepreciationLine(models.Model):
required=True)
depreciation_date = fields.Date('Depreciation Date', index=True)
move_id = fields.Many2one('account.move', string='Depreciation Entry')
- move_check = fields.Boolean(compute='_get_move_check', string='Linked',
- store=True)
+ move_check = fields.Boolean(compute='_get_move_check', string='Linked', store=True)
move_posted_check = fields.Boolean(compute='_get_move_posted_check',
string='Posted', store=True)
@@ -664,7 +652,7 @@ class AccountAssetDepreciationLine(models.Model):
amount = current_currency.with_context(
date=depreciation_date).compute(line.amount, company_currency)
asset_name = line.asset_id.name + ' (%s/%s)' % (
- line.sequence, len(line.asset_id.depreciation_line_ids))
+ line.sequence, len(line.asset_id.depreciation_line_ids))
partner = self.env['res.partner']._find_accounting_partner(
line.asset_id.partner_id)
move_line_1 = {
diff --git a/base_accounting_kit/security/security.xml b/base_accounting_kit/security/security.xml
index 08ea2170f..ecad0c337 100644
--- a/base_accounting_kit/security/security.xml
+++ b/base_accounting_kit/security/security.xml
@@ -5,35 +5,27 @@
Account Asset Category multi-company
-
- ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
-
+ ['|',('company_id','=',False),'|',('company_id','child_of',[user.company_id.id]),('company_id','=',user.company_id.id)]
Account Asset multi-company
-
- ['|',('company_id','=',False),('company_id', 'in', company_ids)]
-
+ ['|',('company_id','=',False),'|',('company_id','child_of',[user.company_id.id]),('company_id','=',user.company_id.id)]
Accountant
-
-
+
+
Chief Accountant
-
-
+
+