diff --git a/addons/account/__manifest__.py b/addons/account/__manifest__.py index 8ac138e2e3a..fb30ac2ebe7 100644 --- a/addons/account/__manifest__.py +++ b/addons/account/__manifest__.py @@ -28,12 +28,12 @@ You could use this simplified accounting in case you work with an (external) acc 'wizard/account_move_reversal_view.xml', 'views/account_move_views.xml', 'wizard/setup_wizards_view.xml', + 'wizard/pos_box.xml', 'views/account_view.xml', 'views/report_statement.xml', 'views/account_report.xml', 'data/mail_template_data.xml', 'wizard/account_validate_move_view.xml', - 'wizard/pos_box.xml', 'views/account_end_fy.xml', 'views/partner_view.xml', 'views/product_view.xml', diff --git a/addons/account/models/account.py b/addons/account/models/account.py index 69c5d290e71..c1bfb6766b1 100644 --- a/addons/account/models/account.py +++ b/addons/account/models/account.py @@ -476,6 +476,22 @@ class AccountAccount(models.Model): 'context': action_context, } + def action_read_account(self): + self.ensure_one() + return { + 'name': self.display_name, + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'account.account', + 'res_id': self.id, + 'target': 'new', + } + + def action_duplicate_accounts(self): + for account in self.browse(self.env.context['active_ids']): + account.copy() + class AccountGroup(models.Model): _name = "account.group" diff --git a/addons/account/models/account_journal_dashboard.py b/addons/account/models/account_journal_dashboard.py index 1cde8e6dc88..a2ff5d54571 100644 --- a/addons/account/models/account_journal_dashboard.py +++ b/addons/account/models/account_journal_dashboard.py @@ -135,14 +135,14 @@ class account_journal(models.Model): def get_bar_graph_datas(self): data = [] today = fields.Datetime.now(self) - data.append({'label': _('Past'), 'value':0.0, 'type': 'past'}) + data.append({'label': _('Due'), 'value':0.0, 'type': 'past'}) day_of_week = int(format_datetime(today, 'e', locale=self._context.get('lang') or 'en_US')) first_day_of_week = today + timedelta(days=-day_of_week+1) for i in range(-1,4): if i==0: label = _('This Week') elif i==3: - label = _('Future') + label = _('Not Due') else: start_week = first_day_of_week + timedelta(days=i*7) end_week = start_week + timedelta(days=6) @@ -391,13 +391,25 @@ class account_journal(models.Model): def create_cash_statement(self): ctx = self._context.copy() ctx.update({'journal_id': self.id, 'default_journal_id': self.id, 'default_journal_type': 'cash'}) - return { + open_statements = self.env['account.bank.statement'].search([('journal_id', '=', self.id), ('state', '=', 'open')]) + action = { 'name': _('Create cash statement'), 'type': 'ir.actions.act_window', 'view_mode': 'form', 'res_model': 'account.bank.statement', 'context': ctx, } + if len(open_statements) == 1: + action.update({ + 'view_mode': 'form', + 'res_id': open_statements.id, + }) + elif len(open_statements) > 1: + action.update({ + 'view_mode': 'tree,form', + 'domain': [('id', 'in', open_statements.ids)], + }) + return action def action_open_reconcile(self): if self.type in ['bank', 'cash']: diff --git a/addons/account/models/company.py b/addons/account/models/company.py index 7c4743ee2b6..95980862702 100644 --- a/addons/account/models/company.py +++ b/addons/account/models/company.py @@ -320,7 +320,7 @@ Best Regards,''')) return { 'type': 'ir.actions.act_window', - 'name': _('Fiscal Year'), + 'name': _('Accounting Periods'), 'view_mode': 'form', 'res_model': 'account.financial.year.op', 'target': 'new', diff --git a/addons/account/views/account_onboarding_templates.xml b/addons/account/views/account_onboarding_templates.xml index 1f2af4843fb..775eef36cb4 100644 --- a/addons/account/views/account_onboarding_templates.xml +++ b/addons/account/views/account_onboarding_templates.xml @@ -39,8 +39,8 @@