You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
10 KiB
211 lines
10 KiB
## -*- coding: utf-8 -*-
|
|
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<style type="text/css">
|
|
${css}
|
|
|
|
.list_table .act_as_row {
|
|
margin-top: 10px;
|
|
margin-bottom: 10px;
|
|
font-size:10px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<%!
|
|
|
|
def amount(text):
|
|
return text.replace('-', '‑') # replace by a non-breaking hyphen (it will not word-wrap between hyphen and numbers)
|
|
%>
|
|
|
|
<%def name="format_amount(amount, display_option=None)">
|
|
<%
|
|
output = amount
|
|
if display_option == 'normal':
|
|
output = amount
|
|
elif display_option == 'round':
|
|
output = u"%.0f" % round(amount)
|
|
elif display_option == 'kilo':
|
|
if amount:
|
|
output = u"%.2fK" % (amount / 1000,)
|
|
%>
|
|
${output}
|
|
</%def>
|
|
|
|
<%setLang(user.lang)%>
|
|
|
|
<div class="act_as_table data_table">
|
|
<div class="act_as_row labels">
|
|
<div class="act_as_cell">${_('Chart of Account')}</div>
|
|
<div class="act_as_cell">${_('Fiscal Year')}</div>
|
|
<div class="act_as_cell">
|
|
%if filter_form(data) == 'filter_date':
|
|
${_('Dates')}
|
|
%else:
|
|
${_('Periods')}
|
|
%endif
|
|
</div>
|
|
<div class="act_as_cell">${_('Displayed Accounts')}</div>
|
|
<div class="act_as_cell">${_('Target Moves')}</div>
|
|
<div class="act_as_cell">${_('Initial Balance')}</div>
|
|
</div>
|
|
<div class="act_as_row">
|
|
<div class="act_as_cell">${ chart_account.name }</div>
|
|
<div class="act_as_cell">${ fiscalyear.name if fiscalyear else '-' }</div>
|
|
<div class="act_as_cell">
|
|
${_('From:')}
|
|
%if filter_form(data) == 'filter_date':
|
|
${formatLang(start_date, date=True) if start_date else u'' }
|
|
%else:
|
|
${start_period.name if start_period else u''}
|
|
%endif
|
|
${_('To:')}
|
|
%if filter_form(data) == 'filter_date':
|
|
${ formatLang(stop_date, date=True) if stop_date else u'' }
|
|
%else:
|
|
${stop_period.name if stop_period else u'' }
|
|
%endif
|
|
</div>
|
|
<div class="act_as_cell">
|
|
%if accounts(data):
|
|
${', '.join([account.code for account in accounts(data)])}
|
|
%else:
|
|
${_('All')}
|
|
%endif
|
|
</div>
|
|
<div class="act_as_cell">${ display_target_move(data) }</div>
|
|
<div class="act_as_cell">${ _('Yes') if initial_balance else _('No') }</div>
|
|
</div>
|
|
</div>
|
|
|
|
%for index, params in enumerate(comp_params):
|
|
<div class="act_as_table data_table">
|
|
<div class="act_as_row">
|
|
<div class="act_as_cell">${_('Comparison %s') % (index + 1,)} (${"C%s" % (index + 1,)})</div>
|
|
<div class="act_as_cell">
|
|
%if params['comparison_filter'] == 'filter_date':
|
|
${_('Dates : ')} ${formatLang(params['start'], date=True) } - ${formatLang(params['stop'], date=True) }
|
|
%elif params['comparison_filter'] == 'filter_period':
|
|
${_('Periods : ')} ${params['start'].name} - ${params['stop'].name}
|
|
%else:
|
|
${_('Fiscal Year : ')} ${params['fiscalyear'].name}
|
|
%endif
|
|
</div>
|
|
<div class="act_as_cell">${_('Initial Balance:')} ${ _('Yes') if params['initial_balance'] else _('No') }</div>
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
|
|
<div class="act_as_table list_table" style="margin-top: 20px;">
|
|
|
|
<div class="act_as_thead">
|
|
<div class="act_as_row labels">
|
|
## account name
|
|
<div class="act_as_cell" style="width: 80px;">${_('Account')}</div>
|
|
%if comparison_mode == 'no_comparison':
|
|
%if initial_balance:
|
|
## initial balance
|
|
<div class="act_as_cell amount" style="width: 30px;">${_('Initial Balance')}</div>
|
|
%endif
|
|
## debit
|
|
<div class="act_as_cell amount" style="width: 30px;">${_('Debit')}</div>
|
|
## credit
|
|
<div class="act_as_cell amount" style="width: 30px;">${_('Credit')}</div>
|
|
%endif
|
|
## balance
|
|
<div class="act_as_cell amount" style="width: 30px;">
|
|
%if comparison_mode == 'no_comparison' or not fiscalyear:
|
|
${_('Balance')}
|
|
%else:
|
|
${_('Balance %s') % (fiscalyear.name,)}
|
|
%endif
|
|
</div>
|
|
%if comparison_mode in ('single', 'multiple'):
|
|
%for index in range(nb_comparison):
|
|
<div class="act_as_cell amount" style="width: 30px;">
|
|
%if comp_params[index]['comparison_filter'] == 'filter_year' and comp_params[index].get('fiscalyear', False):
|
|
${_('Balance %s') % (comp_params[index]['fiscalyear'].name,)}
|
|
%else:
|
|
${_('Balance C%s') % (index + 1,)}
|
|
%endif
|
|
</div>
|
|
%if comparison_mode == 'single': ## no diff in multiple comparisons because it shows too data
|
|
<div class="act_as_cell amount" style="width: 30px;">${_('Difference')}</div>
|
|
<div class="act_as_cell amount" style="width: 30px;">${_('% Difference')}</div>
|
|
%endif
|
|
%endfor
|
|
%endif
|
|
</div>
|
|
</div>
|
|
|
|
<div class="act_as_tbody">
|
|
%for account_at in objects:
|
|
<%
|
|
current_account = account_at['current']
|
|
level = current_account['level']
|
|
%>
|
|
%if level_print(data, level): ## how to manage levels?
|
|
<%
|
|
styles = []
|
|
if level_bold(data, level):
|
|
styles.append('font-weight: bold;')
|
|
else:
|
|
styles.append('font-weight: normal;')
|
|
|
|
if level_italic(data, level):
|
|
styles.append('font-style: italic;')
|
|
else:
|
|
styles.append('font-style: normal;')
|
|
|
|
if level_underline(data, level):
|
|
styles.append('text-decoration: underline;')
|
|
else:
|
|
styles.append('text-decoration: none;')
|
|
|
|
if level_uppercase(data, level):
|
|
styles.append('text-transform: uppercase;')
|
|
else:
|
|
styles.append('font-decoration: none;')
|
|
|
|
styles.append("font-size: %spx;" % (level_size(data, level),))
|
|
|
|
%>
|
|
<div class="act_as_row lines ${"account_level_%s" % (current_account['level'])}" styles="${' '.join(styles)}">
|
|
## account name
|
|
<div class="act_as_cell" style="padding-left: ${current_account.get('level', 0) * 5}px; ${' '.join(styles)}">${current_account['name']}</div>
|
|
%if comparison_mode == 'no_comparison':
|
|
%if initial_balance:
|
|
## opening balance
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">${format_amount(current_account['init_balance'], numbers_display(data)) | amount}</div>
|
|
%endif
|
|
## debit
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">${format_amount(current_account['debit'], numbers_display(data)) | amount}</div>
|
|
## credit
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">${format_amount(current_account['credit'] * -1, numbers_display(data)) if current_account['credit'] else 0.0 | amount}</div>
|
|
%endif
|
|
## balance
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">${format_amount(current_account['balance'], numbers_display(data)) | amount}</div>
|
|
|
|
%if comparison_mode in ('single', 'multiple'):
|
|
%for comp_account in account_at['comparisons']:
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">${format_amount(comp_account['balance'], numbers_display(data)) | amount}</div>
|
|
%if comparison_mode == 'single': ## no diff in multiple comparisons because it shows too data
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">${format_amount(comp_account['diff'], numbers_display(data)) | amount}</div>
|
|
<div class="act_as_cell amount" style="${' '.join(styles)}">
|
|
%if comp_account['percent_diff'] is False:
|
|
${ '-' }
|
|
%else:
|
|
${comp_account['percent_diff'] | amount} %
|
|
%endif
|
|
</div>
|
|
%endif
|
|
%endfor
|
|
%endif
|
|
</div>
|
|
%endif
|
|
%endfor
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|