diff --git a/addons/account/report/account_balance.rml b/addons/account/report/account_balance.rml index af4cee7a7ba..8ee7e3e17dc 100644 --- a/addons/account/report/account_balance.rml +++ b/addons/account/report/account_balance.rml @@ -217,11 +217,11 @@ Balance - [[ repeatIn(lines(data['form']), 'a') ]][[ a['level']>2 and setTag('para','para',{'fontName':"Helvetica"}) ]][[ a['code'] or removeParentNode('tr') ]] - [[ a['level']>2 and setTag('para','para',{'fontName':"Helvetica"}) ]][[ '..'*(a['level']-1) ]][[ a['name'] ]] - [[ a['level']>2 and setTag('para','para',{'fontName':"Helvetica"}) ]][[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['debit']) ]][[ a['type']<>'view' and removeParentNode('font') ]] [[formatLang(a['debit']) ]] - [[ a['level']>2 and setTag('para','para',{'fontName':"Helvetica"}) ]][[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['credit']) ]][[ a['type']<>'view' and removeParentNode('font') ]] [[ formatLang(a['credit']) ]] - [[ a['level']>2 and setTag('para','para',{'fontName':"Helvetica"}) ]][[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['balance']) ]][[ a['type']<>'view' and removeParentNode('font') ]] [[ formatLang(a['balance']) ]] + [[ repeatIn(lines(data['form']), 'a') ]][[ (a['level']>2 and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]][[ a['code'] or removeParentNode('tr') ]] + [[ (a['level']>2 and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]][[ '..'*(a['level']-1) ]][[ a['name'] ]] + [[ (a['level']>2 and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]][[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['debit']) ]][[ a['type']<>'view' and removeParentNode('font') ]] [[formatLang(a['debit']) ]] + [[ (a['level']>2 and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font')]][[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['credit']) ]][[ a['type']<>'view' and removeParentNode('font') ]] [[ formatLang(a['credit']) ]] + [[ (a['level']>2 and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]][[ a['type']=='view' and removeParentNode('font') ]][[ formatLang(a['balance']) ]][[ a['type']<>'view' and removeParentNode('font') ]] [[ formatLang(a['balance']) ]] diff --git a/addons/account/report/account_entries_report_view.xml b/addons/account/report/account_entries_report_view.xml index 184b087ce95..927bba3e228 100644 --- a/addons/account/report/account_entries_report_view.xml +++ b/addons/account/report/account_entries_report_view.xml @@ -50,36 +50,42 @@ - - - - - - - + + + - - - - - - + - - - - - + + + + + + + + + + + @@ -88,12 +94,20 @@ + + + + + + + + + + + - - - @@ -103,7 +117,7 @@ account.entries.report form tree,graph - {'search_default_profit': 1,'search_default_group_journal':1,'search_default_group_period': 1, 'group_by_no_leaf':1,'group_by':[]} + {'search_default_profit': 1,'search_default_group_account':1,'search_default_group_month': 1, 'group_by_no_leaf':1,'group_by':[]} diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index 43c8344f110..c15c2e670e3 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -77,84 +77,83 @@ class account_invoice_report(osv.osv): tools.drop_view_if_exists(cr, 'account_invoice_report') cr.execute(""" create or replace view account_invoice_report as ( - select - min(l.id) as id, - s.date_invoice as date, - to_char(s.date_invoice, 'YYYY') as year, - to_char(s.date_invoice, 'MM') as month, - to_char(s.date_invoice, 'YYYY-MM-DD') as day, - l.product_id as product_id, - sum(case when s.type in ('out_refund','in_invoice') then - l.quantity * u.factor * -1 - else - l.quantity * u.factor - end) as product_qty, - s.partner_id as partner_id, - s.reconciled::integer, - s.payment_term as payment_term, - s.period_id as period_id, - u.name as uom_name, - s.currency_id as currency_id, - s.journal_id as journal_id, - s.fiscal_position as fiscal_position, - s.user_id as user_id, - s.company_id as company_id, - sum(case when s.type in ('out_refund','in_invoice') then - l.quantity*l.price_unit * -1 - else - l.quantity*l.price_unit - end) as price_total, - sum(case when s.type in ('out_refund','in_invoice') then - l.quantity*l.price_unit * -1 - else - l.quantity*l.price_unit - end) / sum(l.quantity * u.factor)::decimal(16,2) as price_average, - count(*) as nbr, - s.type as type, - s.state, - pt.categ_id, - s.date_due as date_due, - s.address_contact_id as address_contact_id, - s.address_invoice_id as address_invoice_id, - s.account_id as account_id, - s.partner_bank as partner_bank, - sum(case when s.type in ('out_refund','in_invoice') then - s.residual * -1 - else - s.residual - end) as residual, - case when s.state != 'paid' then null else - extract(epoch from avg(am.date_created-l.create_date))/(24*60*60)::decimal(16,2) - end as delay_to_pay - from account_invoice_line l - left join account_invoice s on (s.id=l.invoice_id) - left join product_template pt on (pt.id=l.product_id) - left join product_uom u on (u.id=l.uos_id), - account_move_line am left join account_invoice i on (i.move_id=am.move_id) - where am.account_id=i.account_id - group by - s.type, - s.date_invoice, - s.partner_id, - l.product_id, - u.name, - l.uos_id, - s.reconciled, - s.user_id, - s.state, - s.residual, - pt.categ_id, - s.company_id, - s.payment_term, - s.period_id, - s.fiscal_position, - s.currency_id, - s.journal_id, - s.date_due, - s.address_contact_id, - s.address_invoice_id, - s.account_id, - s.partner_bank + select min(ail.id) as id, + ai.date_invoice as date, + to_char(ai.date_invoice, 'YYYY') as year, + to_char(ai.date_invoice, 'MM') as month, + to_char(ai.date_invoice, 'YYYY-MM-DD') as day, + ail.product_id, + ai.partner_id as partner_id, + ai.reconciled::integer, + ai.payment_term as payment_term, + ai.period_id as period_id, + u.name as uom_name, + ai.currency_id as currency_id, + ai.journal_id as journal_id, + ai.fiscal_position as fiscal_position, + ai.user_id as user_id, + ai.company_id as company_id, + count(ail.*) as nbr, + ai.type as type, + ai.state, + pt.categ_id, + ai.date_due as date_due, + ai.address_contact_id as address_contact_id, + ai.address_invoice_id as address_invoice_id, + ai.account_id as account_id, + ai.partner_bank as partner_bank, + sum(case when ai.type in ('out_refund','in_invoice') then + ail.quantity * u.factor * -1 + else + ail.quantity * u.factor + end) as product_qty, + sum(case when ai.type in ('out_refund','in_invoice') then + ail.quantity*ail.price_unit * -1 + else + ail.quantity*ail.price_unit + end) as price_total, + sum(case when ai.type in ('out_refund','in_invoice') then + ail.quantity*ail.price_unit * -1 + else + ail.quantity*ail.price_unit + end) / sum(ail.quantity * u.factor)*count(ail.product_id)::decimal(16,2) as price_average, + sum((select extract(epoch from avg(aml.date_created-l.create_date))/(24*60*60)::decimal(16,2) + from account_move_line as aml + left join account_invoice as a ON (a.move_id=aml.move_id) + left join account_invoice_line as l ON (a.id=l.invoice_id) + where a.id=ai.id)) as delay_to_pay, + sum(case when ai.type in ('out_refund','in_invoice') then + ai.residual * -1 + else + ai.residual + end) as residual + from account_invoice_line as ail + left join account_invoice as ai ON (ai.id=ail.invoice_id) + left join product_template pt on (pt.id=ail.product_id) + left join product_uom u on (u.id=ail.uos_id) + group by ail.product_id, + ai.date_invoice, + to_char(ai.date_invoice, 'YYYY'), + to_char(ai.date_invoice, 'MM'), + to_char(ai.date_invoice, 'YYYY-MM-DD'), + ai.partner_id, + ai.reconciled, + ai.payment_term, + ai.period_id, + u.name, + ai.currency_id, + ai.journal_id, + ai.fiscal_position, + ai.user_id, + ai.company_id, + ai.type, + ai.state, + pt.categ_id, + ai.date_due, + ai.address_contact_id, + ai.address_invoice_id, + ai.account_id, + ai.partner_bank ) """) account_invoice_report() diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index f4956939fce..b947f9d5f6a 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -84,7 +84,7 @@ help = "Done Invoices"/> - + - + diff --git a/addons/account/report/general_ledger.rml b/addons/account/report/general_ledger.rml index 5358af913de..3f1deb22e6b 100644 --- a/addons/account/report/general_ledger.rml +++ b/addons/account/report/general_ledger.rml @@ -26,7 +26,7 @@ - 1cm 27.7cm 20cm 27.7cm + 0.88cm 27.7cm 20.12cm 27.7cm @@ -105,7 +105,7 @@
[[ repeatIn(get_children_accounts(a,data['form']), 'o') ]] - [[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]] + [[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]] @@ -141,7 +141,7 @@ - [[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]] + [[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]] Date Partner @@ -156,10 +156,10 @@
[[ repeatIn(get_children_accounts(a,data['form']), 'o') ]] - [[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]] + [[ data['form']['amount_currency'] == True or removeParentNode('blockTable') ]] - + [[ o.code or '' ]] [[ o.name or '' ]] diff --git a/addons/account/report/partner_balance.rml b/addons/account/report/partner_balance.rml index ff6e1214a1b..2df0f6b47a6 100644 --- a/addons/account/report/partner_balance.rml +++ b/addons/account/report/partner_balance.rml @@ -107,182 +107,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -305,19 +129,19 @@ Balance - + [[ formatLang(solde_debit(data)) ]] [[ formatLang(solde_credit(data)) ]] - [[ repeatIn(lines(data), 'a') ]][[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]][[ a['ref'] ]] [[ a['type']==3 and a['code'] ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]][[ a['name'] ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]][[ formatLang(a['debit']) ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]][[ formatLang(a['credit']) ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]][[ formatLang(a['balance']) ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]][[ formatLang(a['enlitige'] or 0.00) ]] + [[ repeatIn(lines(data), 'a') ]][[ (a['type']==3 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]][[ a['ref'] ]] [[ a['type']==3 and a['code'] ]] + [[ (a['type']==3 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]][[ a['name'] ]] + [[ (a['type']==3 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]][[ formatLang(a['debit']) ]] + [[ (a['type']==3 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]][[ formatLang(a['credit']) ]] + [[ (a['type']==3 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]][[ formatLang(a['balance']) ]] + [[ (a['type']==3 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]][[ formatLang(a['enlitige'] or 0.00) ]] diff --git a/addons/base_report_creator/__openerp__.py b/addons/base_report_creator/__openerp__.py index 22d7adffe8b..8e1ba708850 100644 --- a/addons/base_report_creator/__openerp__.py +++ b/addons/base_report_creator/__openerp__.py @@ -38,7 +38,6 @@ the "Dashboard" menu. 'update_xml': [ 'security/ir.model.access.csv', 'wizard/report_menu_create_view.xml', - 'wizard/report_open_view.xml', 'base_report_creator_wizard.xml', 'base_report_creator_view.xml' ], diff --git a/addons/base_report_creator/base_report_creator.py b/addons/base_report_creator/base_report_creator.py index 764753f5cc2..3ba79bad2c0 100644 --- a/addons/base_report_creator/base_report_creator.py +++ b/addons/base_report_creator/base_report_creator.py @@ -98,7 +98,7 @@ class report_creator(osv.osv): if context is None: context = {} - data = context and context.get('report_id', False) or False + data = context and context.get('report_id', False) or False if (not context) or 'report_id' not in context: return super(report_creator, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu) report = self.browse(cr, user, data) @@ -114,7 +114,7 @@ class report_creator(osv.osv): else: fields['column_count'] = {'readonly': True, 'type': 'integer', 'string': 'Count', 'size': 64, 'name': 'column_count'} - arch = '\n' + arch = '' if view_type == 'graph': orientation_eval = {'horz':'horizontal','vert' :'vertical'} orientation = eval(report.view_graph_orientation,orientation_eval) @@ -163,14 +163,14 @@ class report_creator(osv.osv): arch += '''>''' arch += ''.join(temp_list) else: - arch += '<%s string="%s">\n' % (view_type, report.name) + arch += '<%s string="%s">' % (view_type, report.name) i = 0 for f in report.field_ids: if f.field_id.model: - arch += '' % ('field' + str(i),) + arch += '' % ('field' + str(i),) i += 1 else: - arch += '' % ('column_count',) + arch += '' % ('column_count',) arch += '' % (view_type,) result = { 'arch': arch, @@ -181,7 +181,6 @@ class report_creator(osv.osv): 'action': [], 'relate': [] } - return result def read(self, cr, user, ids, fields = None, context = None, load = '_classic_read'): @@ -406,55 +405,85 @@ class report_creator(osv.osv): return result _columns = { - 'name': fields.char('Report Name', size=64, required=True), + 'name': fields.char('Report Name', size=64, required=True), 'type': fields.selection([('list', 'Rows And Columns Report'), ], 'Report Type', required=True), #('sum','Summation Report') - 'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the report without removing it."), - 'view_type1': fields.selection([('form', 'Form'), - ('tree', 'Tree'), - ('graph', 'Graph'), - ('calendar', 'Calendar')], 'First View', required=True), - 'view_type2': fields.selection([('', '/'), - ('form', 'Form'), - ('tree', 'Tree'), - ('graph', 'Graph'), - ('calendar', 'Calendar')], 'Second View'), - 'view_type3': fields.selection([('', '/'), - ('form', 'Form'), - ('tree', 'Tree'), - ('graph', 'Graph'), - ('calendar', 'Calendar')], 'Third View'), - 'view_graph_type': fields.selection([('pie', 'Pie Chart'), - ('bar', 'Bar Chart')], 'Graph Type', required=True), - 'view_graph_orientation': fields.selection([('horz', 'Horizontal'), - ('vert', 'Vertical')], 'Graph Orientation', required=True), - 'model_ids': fields.many2many('ir.model', 'base_report_creator_report_model_rel', 'report_id', 'model_id', 'Reported Objects'), - 'field_ids': fields.one2many('base_report_creator.report.fields', 'report_id', 'Fields to Display'), - 'filter_ids': fields.one2many('base_report_creator.report.filter', 'report_id', 'Filters'), - 'state': fields.selection([ - ('draft', 'Draft'), - ('valid', 'Valid')], - 'State', required=True, - help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed custom report. \ - \n* The \'Valid\' state is used when user validates the custom report.'), - 'sql_query': fields.function(_sql_query_get, method=True, type="text", string='SQL Query', store=True), - 'group_ids': fields.many2many('res.groups', 'base_report_creator_group_rel', 'report_id', 'group_id', 'Authorized Groups'), + 'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the report without removing it."), + 'view_type1': fields.selection([('form', 'Form'), + ('tree', 'Tree'), + ('graph', 'Graph'), + ('calendar', 'Calendar')], 'First View', required=True), + 'view_type2': fields.selection([('', '/'), + ('form', 'Form'), + ('tree', 'Tree'), + ('graph', 'Graph'), + ('calendar', 'Calendar')], 'Second View'), + 'view_type3': fields.selection([('', '/'), + ('form', 'Form'), + ('tree', 'Tree'), + ('graph', 'Graph'), + ('calendar', 'Calendar')], 'Third View'), + 'view_graph_type': fields.selection([('pie', 'Pie Chart'), + ('bar', 'Bar Chart')], 'Graph Type', required=True), + 'view_graph_orientation': fields.selection([('horz', 'Horizontal'), + ('vert', 'Vertical')], 'Graph Orientation', required=True), + 'model_ids': fields.many2many('ir.model', 'base_report_creator_report_model_rel', 'report_id', 'model_id', 'Reported Objects'), + 'field_ids': fields.one2many('base_report_creator.report.fields', 'report_id', 'Fields to Display'), + 'filter_ids': fields.one2many('base_report_creator.report.filter', 'report_id', 'Filters'), + 'sql_query': fields.function(_sql_query_get, method=True, type="text", string='SQL Query', store=True), + 'group_ids': fields.many2many('res.groups', 'base_report_creator_group_rel', 'report_id', 'group_id', 'Authorized Groups'), + 'menu_id': fields.many2one('ir.ui.menu', "Menu", readonly=True), } _defaults = { - 'type': lambda *args: 'list', - 'state': lambda *args: 'draft', - 'active': lambda *args: True, - 'view_type1': lambda *args: 'tree', - 'view_type2': lambda *args: 'graph', - 'view_graph_type': lambda *args: 'bar', - 'view_graph_orientation': lambda *args: 'horz', + 'type': lambda *args: 'list', + 'active': lambda *args: True, + 'view_type1': lambda *args: 'tree', + 'view_type2': lambda *args: 'graph', + 'view_graph_type': lambda *args: 'bar', + 'view_graph_orientation': lambda *args: 'horz', } + + def open_report(self, cr, uid, ids, context=None): + """ + This Function opens base creator report view + @param self: The object pointer + @param cr: the current row, from the database cursor, + @param uid: the current user’s ID for security checks, + @param ids: List of report open's IDs + @param context: A standard dictionary for contextual values + @return : Dictionary value for base creator report form + """ + if not context: + context = {} + + rep = self.browse(cr, uid, ids, context=context) + if not rep: + return False + + rep = rep[0] + view_mode = rep.view_type1 + if rep.view_type2: + view_mode += ',' + rep.view_type2 + if rep.view_type3: + view_mode += ',' + rep.view_type3 + value = { + 'name': rep.name, + 'view_type': 'form', + 'view_mode': view_mode, + 'res_model': 'base_report_creator.report', + 'type': 'ir.actions.act_window', + 'context': "{'report_id':%d}" % (rep.id,), + 'nodestroy': True, + } + + return value + def _function_field(self, cr, uid, ids): """ - constraints function which specify that + constraints function which specify that not display field which are not stored in Database. @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, - @param ids: List of Report creator's id. + @param ids: List of Report creator's id. @return: True if display field which are stored in database. or false if display field which are not store in dtabase. """ @@ -514,10 +543,11 @@ class report_creator(osv.osv): return False return True + _constraints = [ - (_function_field, 'You can not display field which are not stored in Database.', ['field_ids']), - (_aggregation_error, 'You can apply aggregate function to the non calculated field.', ['field_ids']), - (_calander_view_error, "You must have to give calendar view's color,start date and delay.", ['field_ids']), + (_function_field, 'You can not display field which are not stored in Database.', ['field_ids']), + (_aggregation_error, 'You can apply aggregate function to the non calculated field.', ['field_ids']), + (_calander_view_error, "You must have to give calendar view's color,start date and delay.", ['field_ids']), ] report_creator() @@ -531,25 +561,25 @@ class report_creator_field(osv.osv): _rec_name = 'field_id' _order = "sequence,id" _columns = { - 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of fields."), - 'field_id': fields.many2one('ir.model.fields', 'Field'), - 'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'), - 'group_method': fields.selection([('group', 'Grouped'), - ('sum', 'Sum'), - ('min', 'Minimum'), - ('count', 'Count'), - ('max', 'Maximum'), - ('avg', 'Average')], 'Grouping Method', required=True), - 'graph_mode': fields.selection([('', '/'), - ('x', 'X Axis'), - ('y', 'Y Axis')], 'Graph Mode'), - 'calendar_mode': fields.selection([('', '/'), - ('date_start', 'Starting Date'), - ('date_end', 'Ending Date'), ('date_delay', 'Delay'), ('date_stop', 'End Date'), ('color', 'Unique Colors')], 'Calendar Mode'), + 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of fields."), + 'field_id': fields.many2one('ir.model.fields', 'Field'), + 'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'), + 'group_method': fields.selection([('group', 'Grouped'), + ('sum', 'Sum'), + ('min', 'Minimum'), + ('count', 'Count'), + ('max', 'Maximum'), + ('avg', 'Average')], 'Grouping Method', required=True), + 'graph_mode': fields.selection([('', '/'), + ('x', 'X Axis'), + ('y', 'Y Axis')], 'Graph Mode'), + 'calendar_mode': fields.selection([('', '/'), + ('date_start', 'Starting Date'), + ('date_end', 'Ending Date'), ('date_delay', 'Delay'), ('date_stop', 'End Date'), ('color', 'Unique Colors')], 'Calendar Mode'), } _defaults = { - 'group_method': lambda *args: 'group', - 'graph_mode': lambda *args: '', + 'group_method': lambda *args: 'group', + 'graph_mode': lambda *args: '', } report_creator_field() @@ -561,14 +591,14 @@ class report_creator_filter(osv.osv): _name = "base_report_creator.report.filter" _description = "Report Filters" _columns = { - 'name': fields.char('Filter Name', size=64, required=True), - 'expression': fields.text('Value', required=True, help='Provide an expression for the field based on which you want to filter the records.\n e.g. res_partner.id=3'), - 'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'), - 'condition': fields.selection([('and', 'AND'), + 'name': fields.char('Filter Name', size=64, required=True), + 'expression': fields.text('Value', required=True, help='Provide an expression for the field based on which you want to filter the records.\n e.g. res_partner.id=3'), + 'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'), + 'condition': fields.selection([('and', 'AND'), ('or', 'OR')], 'Condition') } _defaults = { - 'condition': lambda *args: 'and', + 'condition': lambda *args: 'and', } report_creator_filter() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/base_report_creator/base_report_creator_demo.xml b/addons/base_report_creator/base_report_creator_demo.xml index da44979f26d..3ec5cfbe987 100644 --- a/addons/base_report_creator/base_report_creator_demo.xml +++ b/addons/base_report_creator/base_report_creator_demo.xml @@ -10,7 +10,6 @@ - diff --git a/addons/base_report_creator/base_report_creator_view.xml b/addons/base_report_creator/base_report_creator_view.xml index 021bcbb5998..8752a573725 100644 --- a/addons/base_report_creator/base_report_creator_view.xml +++ b/addons/base_report_creator/base_report_creator_view.xml @@ -23,7 +23,6 @@ - @@ -42,12 +41,21 @@ - - -