ansicht begonnen
This commit is contained in:
parent
f4950c5033
commit
5809a7caba
2 changed files with 76 additions and 3 deletions
|
@ -12,6 +12,7 @@ from trytond.i18n import gettext
|
|||
from trytond.exceptions import UserError
|
||||
from trytond.pool import Pool
|
||||
from .colors import sel_color as sel_bgcolor
|
||||
from .templates import template_view_graph, template_view_line
|
||||
|
||||
|
||||
sel_etype = [
|
||||
|
@ -93,6 +94,11 @@ class Evaluation(ModelSQL, ModelView):
|
|||
field='evaluation', readonly=True,
|
||||
model_name='cashbook_report.eval_type')
|
||||
|
||||
action_view = fields.Many2One(string='Action View',
|
||||
model_name='ir.action.act_window', ondelete='SET NULL')
|
||||
ui_view_point = fields.Many2One(string='UI View Point',
|
||||
model_name='ir.ui.view', ondelete='SET NULL')
|
||||
|
||||
@classmethod
|
||||
def default_currency(cls):
|
||||
""" currency of company
|
||||
|
@ -145,6 +151,73 @@ class Evaluation(ModelSQL, ModelView):
|
|||
"""
|
||||
return 'pie'
|
||||
|
||||
@classmethod
|
||||
def actionview_create(cls, evaluations):
|
||||
""" create action views for current setup of evaluation
|
||||
|
||||
"""
|
||||
pool = Pool()
|
||||
ActionActWindow = pool.get('ir.action.act_window')
|
||||
UiView = pool.get('ir.ui.view')
|
||||
|
||||
#cls.actionview_delete(charts)
|
||||
|
||||
to_write_eval = []
|
||||
for evaluation in evaluations:
|
||||
if evaluation.dtype:
|
||||
if getattr(evaluation, evaluation.dtype) == 0:
|
||||
continue
|
||||
|
||||
view_graph, = UiView.create([{
|
||||
'model': 'cashbook_report.%s' % {
|
||||
'cashbooks': 'eval_book',
|
||||
'types': 'eval_type',
|
||||
'currenciews': 'eval_currency',
|
||||
}[evaluation.dtype],
|
||||
'module': 'cashbook_report',
|
||||
'priority': 10,
|
||||
'type': 'graph',
|
||||
'data': template_view_graph % {
|
||||
'bgcol': '#ffffc0',
|
||||
'legend': '1',
|
||||
'lines': template_view_line % {
|
||||
'fill': '1',
|
||||
'string': evaluation.dtype,
|
||||
},
|
||||
},
|
||||
}])
|
||||
|
||||
view_chart, = UiView.create([{
|
||||
'model': 'cashbook_reporting.chart',
|
||||
'module': 'cashbook_reporting',
|
||||
'priority': 10,
|
||||
'type': 'form',
|
||||
'data': template_view_chart % {
|
||||
'view_ids': view_point.id,
|
||||
'fname': html.escape(chart.name),
|
||||
},
|
||||
}])
|
||||
|
||||
action_view, = ActionActWindow.create([{
|
||||
'res_model': 'cashbook_reporting.chart',
|
||||
'name': chart.name,
|
||||
'act_window_views': [('create', [{
|
||||
'view': view_chart.id,
|
||||
'sequence': 1,
|
||||
}])],
|
||||
}])
|
||||
|
||||
to_write_chart.extend([
|
||||
[chart],
|
||||
{
|
||||
'ui_view_point': view_point.id,
|
||||
'ui_view_chart': view_chart.id,
|
||||
'action_view': action_view.id,
|
||||
}])
|
||||
|
||||
if len(to_write_chart) > 0:
|
||||
Chart2.write(*to_write_chart)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
""" unlink records if dtype changes
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
# full copyright notices and license terms.
|
||||
|
||||
|
||||
template_view_line = '<field %(linecolor)s name="%(yname)s" fill="%(fill)s" empty="0" string="%(string)s"/>'
|
||||
template_view_line = '<field name="name" fill="%(fill)s" empty="0" string="%(string)s"/>'
|
||||
|
||||
template_view_point = """<?xml version="1.0"?>
|
||||
template_view_graph = """<?xml version="1.0"?>
|
||||
<graph type="%(type)s" legend="%(legend)s" %(colscheme)s %(bgcol)s>
|
||||
<x>
|
||||
<field name="%(xname)s"/>
|
||||
<field name="name"/>
|
||||
</x>
|
||||
<y>
|
||||
%(lines)s
|
||||
|
|
Loading…
Reference in a new issue