Browse Source

[IMP] mis_builder: root account must be selected by user

Instead of attempting to deduce it from company.
pull/86/head
Stéphane Bidoul 9 years ago
parent
commit
68c5a4b12a
  1. 28
      mis_builder/models/mis_builder.py
  2. 4
      mis_builder/tests/mis.report.instance.csv
  3. 4
      mis_builder/tests/mis.report.instance.period.csv
  4. 2
      mis_builder/views/mis_builder.xml
  5. 6
      mis_builder_demo/mis.report.instance.csv
  6. 16
      mis_builder_demo/mis.report.instance.period.csv

28
mis_builder/models/mis_builder.py

@ -556,16 +556,6 @@ class MisReportInstance(models.Model):
else:
self.pivot_date = fields.Date.context_today(self)
@api.one
@api.depends('company_id')
def _compute_root_account(self):
self.root_account = False
accounts = self.env['account.account'].search(
[('parent_id', '=', False),
('company_id', '=', self.company_id.id)])
if len(accounts) == 1:
self.root_account = accounts[0]
_name = 'mis.report.instance'
name = fields.Char(required=True,
@ -586,14 +576,18 @@ class MisReportInstance(models.Model):
string='Periods')
target_move = fields.Selection([('posted', 'All Posted Entries'),
('all', 'All Entries')],
string='Target Moves', required=True,
string='Target Moves',
required=True,
default='posted')
company_id = fields.Many2one('res.company', 'Company', required=True,
default=lambda self: self.env['res.company'].
_company_default_get('mis.report.instance'))
root_account = fields.Many2one(compute='_compute_root_account',
comodel_name='account.account',
string="Account chart")
company_id = fields.Many2one(comodel_name='res.company',
string='Company',
readonly=True,
related='root_account.company_id',
store=True)
root_account = fields.Many2one(comodel_name='account.account',
domain='[("parent_id", "=", False)]',
string="Account chart",
required=True)
landscape_pdf = fields.Boolean(string='Landscape PDF')
def _format_date(self, lang_id, date):

4
mis_builder/tests/mis.report.instance.csv

@ -1,2 +1,2 @@
"id","date","description","name","period_ids/id","report_id/id"
"mis_report_instance_test","2014-07-31","","Test-report-instance without company","mis_report_instance_period_test","mis_report_test"
"id","date","description","name","period_ids/id","report_id/id","root_account/id"
"mis_report_instance_test","2014-07-31","","Test-report-instance without company","mis_report_instance_period_test","mis_report_test","account.chart0"

4
mis_builder/tests/mis.report.instance.period.csv

@ -1,2 +1,2 @@
"id","duration","name","offset","type","sequence","company_id/id"
"mis_report_instance_period_test","1","today","","Day","","base.main_company"
"id","duration","name","offset","type","sequence"
"mis_report_instance_period_test","1","today","","Day",""

2
mis_builder/views/mis_builder.xml

@ -169,8 +169,8 @@
<field name="description"/>
<field name="landscape_pdf" />
<field name="report_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="root_account"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="target_move"/>
<field name="date"/>
<field name="period_ids">

6
mis_builder_demo/mis.report.instance.csv

@ -1,3 +1,3 @@
"id","date","description","name","period_ids/id","report_id/id"
"mis_report_instance","","","Test-margin-report-instance","mis_report_instance_period_1,mis_report_instance_period_2,mis_report_instance_period_3,mis_report_instance_period_4","mis_report"
"mis_report_phonecall_instance","","","Test phonecall report instance","mis_report_phonecall_instance_period_1,mis_report_phonecall_instance_period_2,mis_report_phonecall_instance_period_3","mis_report_phonecall"
id,date,description,name,period_ids/id,report_id/id,root_account/id
mis_report_instance,,,Test-margin-report-instance,"mis_report_instance_period_1,mis_report_instance_period_2,mis_report_instance_period_3,mis_report_instance_period_4",mis_report,account.chart0
mis_report_phonecall_instance,,,Test phonecall report instance,"mis_report_phonecall_instance_period_1,mis_report_phonecall_instance_period_2,mis_report_phonecall_instance_period_3",mis_report_phonecall,account.chart0

16
mis_builder_demo/mis.report.instance.period.csv

@ -1,8 +1,8 @@
"id","duration","name","offset","type","sequence","company_id/id"
"mis_report_instance_period_1","1","today","0","Day","1","base.main_company"
"mis_report_instance_period_2","1","yesterday","-1","Day","2","base.main_company"
"mis_report_instance_period_3","1","last week","-1","Week","3","base.main_company"
"mis_report_instance_period_4","1","last period","-1","Fiscal Period","4","base.main_company"
"mis_report_phonecall_instance_period_1","1","today","0","Day","1","base.main_company"
"mis_report_phonecall_instance_period_2","1","this period","0","Fiscal Period","2","base.main_company"
"mis_report_phonecall_instance_period_3","1","previous period","-1","Fiscal Period","3","base.main_company"
id,duration,name,offset,type,sequence
mis_report_instance_period_1,1,today,0,Day,1
mis_report_instance_period_2,1,yesterday,-1,Day,2
mis_report_instance_period_3,1,last week,-1,Week,3
mis_report_instance_period_4,1,last period,-1,Fiscal Period,4
mis_report_phonecall_instance_period_1,1,today,0,Day,1
mis_report_phonecall_instance_period_2,1,this period,0,Fiscal Period,2
mis_report_phonecall_instance_period_3,1,previous period,-1,Fiscal Period,3
Loading…
Cancel
Save