diff --git a/evaluation.py b/evaluation.py index 491a313..81585ae 100644 --- a/evaluation.py +++ b/evaluation.py @@ -3,7 +3,7 @@ # The COPYRIGHT file at the top level of this repository contains the # full copyright notices and license terms. -from trytond.model import ModelView, ModelSQL, fields +from trytond.model import ModelView, ModelSQL, fields, sequence_ordered from trytond.pyson import Eval from trytond.transaction import Transaction from trytond.pool import Pool @@ -36,7 +36,7 @@ sel_maincolor = [ ] -class Evaluation(ModelSQL, ModelView): +class Evaluation(sequence_ordered(), ModelSQL, ModelView): 'Evaluation' __name__ = 'cashbook_report.evaluation' @@ -57,7 +57,6 @@ class Evaluation(ModelSQL, ModelView): bgcolor = fields.Selection(string='Background Color', required=True, help='Background color of the chart area.', sort=False, selection=sel_bgcolor) - posted = fields.Boolean(string='Posted', help='Posted amounts only.') currency = fields.Many2One(string='Currency', ondelete='RESTRICT', model_name='currency.currency') @@ -108,12 +107,6 @@ class Evaluation(ModelSQL, ModelView): def default_company(): return Transaction().context.get('company') or None - @classmethod - def default_posted(cls): - """ default: False - """ - return False - @classmethod def default_bgcolor(cls): """ default: Yellow 5 diff --git a/line.py b/line.py index cb86ba8..ebfd412 100644 --- a/line.py +++ b/line.py @@ -74,7 +74,7 @@ class EvaluationLine(ModelSQL, ModelView): # get id of origin chart-form form_id = ModelData.get_id('cashbook_report', 'evalline_view_graph') - # active_chart was added by tree_open-action + # active_evaluation was added by tree_open-action active_evaluation = context.get('active_evaluation', None) # check if we are requested for our default form... @@ -191,7 +191,6 @@ class EvaluationLine(ModelSQL, ModelView): lines = Lines.search([ ('cashbook.btype.id', '=', self.dtype.id), ('cashbook.state', '=', 'open'), - ('cashbook.owner.id', '=', Transaction().user), ], query=True) query = lines.join(tab_line, condition=lines.id==tab_line.id, @@ -203,7 +202,6 @@ class EvaluationLine(ModelSQL, ModelView): ) cursor.execute(*query) balances = cursor.fetchall() - for balance in balances: (id_currency, bal1) = balance @@ -237,7 +235,6 @@ class EvaluationLine(ModelSQL, ModelView): lines = Lines.search([ ('cashbook.currency.id', '=', self.currency.id), ('cashbook.state', '=', 'open'), - ('cashbook.owner.id', '=', Transaction().user), ], query=True) query = lines.join(tab_line, condition=lines.id==tab_line.id, diff --git a/tests/test_report.py b/tests/test_report.py index f424f29..4f1025b 100644 --- a/tests/test_report.py +++ b/tests/test_report.py @@ -269,6 +269,8 @@ class ReportTestCase(CashbookTestCase): self.assertEqual(evaluation3.line_values[1].name, 'usd') self.assertEqual(evaluation3.line_values[1].balance, Decimal('35.71')) + self.assertEqual(Evaluation.search_count([]), 3) + with Transaction().set_user(users[1].id): with Transaction().set_context({ '_check_access': True, @@ -303,7 +305,7 @@ class ReportTestCase(CashbookTestCase): self.assertEqual(evaluation2.line_values[1].balance, Decimal('0.0')) evaluation3, = Evaluation.create([{ - 'name': 'Evaluation User 3 - Currencies', + 'name': 'Evaluation User 2 - Currencies', 'dtype': 'currencies', 'currencies': [('add', [x.id for x in Currency.search([])])], }]) @@ -315,6 +317,65 @@ class ReportTestCase(CashbookTestCase): self.assertEqual(evaluation3.line_values[1].name, 'usd') self.assertEqual(evaluation3.line_values[1].balance, Decimal('0.0')) + self.assertEqual(Evaluation.search_count([]), 3) + + # outside of context + # we should have access to all 6 evaluations + evaluations = Evaluation.search([], order=[('name', 'ASC')]) + self.assertEqual(len(evaluations), 6) + + self.assertEqual(evaluations[0].name, 'Evaluation User 1 - Cashbooks') + self.assertEqual(len(evaluations[0].cashbooks), 2) + self.assertEqual(evaluations[0].currency.rec_name, 'Euro') + self.assertEqual(len(evaluations[0].line_values), 2) + self.assertEqual(evaluations[0].line_values[0].name, 'Book 1 | 25.00 usd | Open') + self.assertEqual(evaluations[0].line_values[0].balance, Decimal('23.81')) + self.assertEqual(evaluations[0].line_values[1].name, 'Book 2 | 12.50 usd | Open') + self.assertEqual(evaluations[0].line_values[1].balance, Decimal('11.9')) + + self.assertEqual(evaluations[1].name, 'Evaluation User 1 - Currencies') + self.assertEqual(len(evaluations[1].currencies), 2) + self.assertEqual(evaluations[1].currency.rec_name, 'Euro') + self.assertEqual(len(evaluations[1].line_values), 2) + self.assertEqual(evaluations[1].line_values[0].name, 'Euro') + self.assertEqual(evaluations[1].line_values[0].balance, Decimal('23.0')) + self.assertEqual(evaluations[1].line_values[1].name, 'usd') + self.assertEqual(evaluations[1].line_values[1].balance, Decimal('35.71')) + + self.assertEqual(evaluations[2].name, 'Evaluation User 1 - Types') + self.assertEqual(len(evaluations[2].types), 2) + self.assertEqual(evaluations[2].currency.rec_name, 'Euro') + self.assertEqual(len(evaluations[2].line_values), 2) + self.assertEqual(evaluations[2].line_values[0].name, 'BK - Bank') + self.assertEqual(evaluations[2].line_values[0].balance, Decimal('23.0')) + self.assertEqual(evaluations[2].line_values[1].name, 'CAS - Cash') + self.assertEqual(evaluations[2].line_values[1].balance, Decimal('35.71')) + + self.assertEqual(evaluations[3].name, 'Evaluation User 2 - Cashbooks') + self.assertEqual(len(evaluations[3].cashbooks), 1) + self.assertEqual(evaluations[3].currency.rec_name, 'Euro') + self.assertEqual(len(evaluations[3].line_values), 1) + self.assertEqual(evaluations[3].line_values[0].name, 'Book 3 | 23.00 € | Open') + self.assertEqual(evaluations[3].line_values[0].balance, Decimal('23.0')) + + self.assertEqual(evaluations[4].name, 'Evaluation User 2 - Currencies') + self.assertEqual(len(evaluations[4].currencies), 2) + self.assertEqual(evaluations[4].currency.rec_name, 'Euro') + self.assertEqual(len(evaluations[4].line_values), 2) + self.assertEqual(evaluations[4].line_values[0].name, 'Euro') + self.assertEqual(evaluations[4].line_values[0].balance, Decimal('23.0')) + self.assertEqual(evaluations[4].line_values[1].name, 'usd') + self.assertEqual(evaluations[4].line_values[1].balance, Decimal('35.71')) + + self.assertEqual(evaluations[5].name, 'Evaluation User 2 - Types') + self.assertEqual(len(evaluations[5].types), 2) + self.assertEqual(evaluations[5].currency.rec_name, 'Euro') + self.assertEqual(len(evaluations[5].line_values), 2) + self.assertEqual(evaluations[5].line_values[0].name, 'BK - Bank') + self.assertEqual(evaluations[5].line_values[0].balance, Decimal('23.0')) + self.assertEqual(evaluations[5].line_values[1].name, 'CAS - Cash') + self.assertEqual(evaluations[5].line_values[1].balance, Decimal('35.71')) + @with_transaction() def test_report_update_name_of_line(self): """ check replace rec_name-value on line with @@ -490,7 +551,6 @@ class ReportTestCase(CashbookTestCase): self.assertEqual(evaluation.dtype, 'cashbooks') self.assertEqual(evaluation.chart, 'pie') self.assertEqual(evaluation.legend, True) - self.assertEqual(evaluation.posted, False) self.assertEqual(evaluation.maincolor, 'default') self.assertEqual(evaluation.bgcolor, '#ffffc0') self.assertEqual(evaluation.currency.code, 'EUR') @@ -556,7 +616,6 @@ class ReportTestCase(CashbookTestCase): self.assertEqual(evaluation.dtype, 'types') self.assertEqual(evaluation.chart, 'pie') self.assertEqual(evaluation.legend, True) - self.assertEqual(evaluation.posted, False) self.assertEqual(evaluation.maincolor, 'default') self.assertEqual(evaluation.bgcolor, '#ffffc0') self.assertEqual(evaluation.currency.code, 'EUR') @@ -600,7 +659,6 @@ class ReportTestCase(CashbookTestCase): self.assertEqual(evaluation.dtype, 'currencies') self.assertEqual(evaluation.chart, 'pie') self.assertEqual(evaluation.legend, True) - self.assertEqual(evaluation.posted, False) self.assertEqual(evaluation.maincolor, 'default') self.assertEqual(evaluation.bgcolor, '#ffffc0') self.assertEqual(evaluation.currency.code, 'EUR') diff --git a/view/evaluation_form.xml b/view/evaluation_form.xml index 0d413cb..0e890fe 100644 --- a/view/evaluation_form.xml +++ b/view/evaluation_form.xml @@ -20,8 +20,6 @@ full copyright notices and license terms. -->