Add option to disable spread planning + code review

This commit is contained in:
Andrea
2019-04-05 12:04:42 +02:00
committed by Andrea Stirpe
parent 5d7390183d
commit b60c1ab8e4
10 changed files with 69 additions and 20 deletions

View File

@@ -117,6 +117,9 @@ class AccountSpread(models.Model):
display_create_all_moves = fields.Boolean(
compute='_compute_display_create_all_moves',
string='Display Button All Moves')
display_recompute_buttons = fields.Boolean(
compute='_compute_display_recompute_buttons',
string='Display Buttons Recompute')
@api.model
def default_get(self, fields):
@@ -184,6 +187,14 @@ class AccountSpread(models.Model):
else:
spread.display_create_all_moves = False
@api.multi
def _compute_display_recompute_buttons(self):
for spread in self:
spread.display_recompute_buttons = True
if not spread.company_id.allow_spread_planning:
if spread.invoice_id.state == 'draft':
spread.display_recompute_buttons = False
@api.multi
def _get_spread_entry_name(self, seq):
"""Use this method to customise the name of the accounting entry."""
@@ -258,7 +269,7 @@ class AccountSpread(models.Model):
'with selected invoice type'))
@api.multi
def _compute_spread_period_duration(self):
def _get_spread_period_duration(self):
"""Converts the selected period_type to number of months."""
self.ensure_one()
if self.period_type == 'year':
@@ -277,7 +288,7 @@ class AccountSpread(models.Model):
# if we already have some previous validated entries,
# starting date is last entry + method period
last_date = posted_line_ids[-1].date
months = self._compute_spread_period_duration()
months = self._get_spread_period_duration()
spread_date = last_date + relativedelta(months=months)
else:
spread_date = self.spread_date
@@ -289,7 +300,7 @@ class AccountSpread(models.Model):
is used by "def _compute_spread_board()" method.
"""
self.ensure_one()
months = self._compute_spread_period_duration()
months = self._get_spread_period_duration()
date = date + relativedelta(months=months)
# get the last day of the month
if month_day > 28:
@@ -512,7 +523,8 @@ class AccountSpread(models.Model):
if not line.move_id:
line.create_move()
@api.multi
@api.depends(
'debit_account_id.deprecated', 'credit_account_id.deprecated')
def _compute_deprecated_accounts(self):
for spread in self:
debit_deprecated = bool(spread.debit_account_id.deprecated)