dashboard-view ok

This commit is contained in:
Frederik Jaeckel 2022-11-05 13:56:09 +01:00
parent bf7943af46
commit ee0a17cba2
4 changed files with 71 additions and 65 deletions

View file

@ -183,6 +183,9 @@ class Evaluation(ModelSQL, ModelView):
if evaluation.dashb_actwin: if evaluation.dashb_actwin:
to_delete_window.append(evaluation.dashb_actwin) to_delete_window.append(evaluation.dashb_actwin)
with Transaction().set_context({
'_check_access': False,
}):
if len(to_delete_uiview) > 0: if len(to_delete_uiview) > 0:
UiView.delete(to_delete_uiview) UiView.delete(to_delete_uiview)
if len(to_delete_window) > 0: if len(to_delete_window) > 0:
@ -202,12 +205,15 @@ class Evaluation(ModelSQL, ModelView):
to_write_eval = [] to_write_eval = []
for evaluation in evaluations: for evaluation in evaluations:
with Transaction().set_context({
'_check_access': False,
}):
view_graph, = UiView.create([ view_graph, = UiView.create([
cls.get_create_view_data(evaluation), cls.get_create_view_data(evaluation),
]) ])
dashb_actwin, = ActWin.create([{ dashb_actwin, = ActWin.create([{
'name': evaluation.dtype_string, 'name': evaluation.name,
'res_model': 'cashbook_report.eval_line', 'res_model': 'cashbook_report.eval_line',
'usage': 'dashboard', 'usage': 'dashboard',
'domain': '[["evaluation", "=", %d]]' % evaluation.id, 'domain': '[["evaluation", "=", %d]]' % evaluation.id,
@ -228,7 +234,6 @@ class Evaluation(ModelSQL, ModelView):
}]) }])
if len(to_write_eval) > 0: if len(to_write_eval) > 0:
print('-- to_write_eval:', to_write_eval)
Evaluation2.write(*to_write_eval) Evaluation2.write(*to_write_eval)
@classmethod @classmethod

84
ir.xml
View file

@ -5,19 +5,37 @@ full copyright notices and license terms. -->
<tryton> <tryton>
<data> <data>
<record model="ir.model.access" id="access_iruiview-group_cashbook"> <!-- limit visibility to owner - read for owner-->
<field name="model" search="[('model', '=', 'ir.ui.view')]"/> <record model="ir.rule.group" id="rg_iractwin_group_cashbook_read">
<field name="group" ref="cashbook.group_cashbook"/> <field name="model" search="[('model', '=', 'ir.action.act_window')]"/>
<field name="name">Owner: IR Act Window read</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
<field name="perm_read" eval="True"/> <field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/> <field name="perm_write" eval="False"/>
<field name="perm_create" eval="True"/> <field name="perm_create" eval="False"/>
<field name="perm_delete" eval="True"/> <field name="perm_delete" eval="False"/>
</record>
<record model="ir.rule" id="rg_iractwin_group_cashbook_read-2">
<field name="domain" eval="[
('res_model', '=', 'cashbook_report.eval_line'),
['OR',
('create_uid', '=', Eval('user', {}).get('id', -1)),
('create_uid', '=', 0),
],
]" pyson="1"/>
<field name="rule_group" ref="rg_iractwin_group_cashbook_read"/>
</record>
<record model="ir.rule.group-res.group"
id="rg_iractwin_group_cashbook_read-group_cashbook">
<field name="rule_group" ref="rg_iractwin_group_cashbook_read"/>
<field name="group" ref="cashbook.group_cashbook"/>
</record> </record>
<!-- permission by rule - anon --> <!-- allow read for created by root -->
<record model="ir.rule.group" id="rg_iruiview_anon"> <record model="ir.rule.group" id="rg_iractwin_anon">
<field name="model" search="[('model', '=', 'ir.ui.view')]"/> <field name="model" search="[('model', '=', 'ir.action.act_window')]"/>
<field name="name">Anon: IR UI View read</field> <field name="name">Anon: IR Act Window read</field>
<field name="global_p" eval="False"/> <field name="global_p" eval="False"/>
<field name="default_p" eval="True"/> <field name="default_p" eval="True"/>
<field name="perm_read" eval="True"/> <field name="perm_read" eval="True"/>
@ -25,40 +43,17 @@ full copyright notices and license terms. -->
<field name="perm_create" eval="False"/> <field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/> <field name="perm_delete" eval="False"/>
</record> </record>
<record model="ir.rule" id="rg_iruiview_anon-1"> <record model="ir.rule" id="rg_iractwin_anon-1">
<field name="domain" eval="[]" pyson="1"/>
<field name="rule_group" ref="rg_iruiview_anon"/>
</record>
<!-- permission by rule - group_cashbook - edit -->
<record model="ir.rule.group" id="rg_iruiview_group_cashbook">
<field name="model" search="[('model', '=', 'ir.ui.view')]"/>
<field name="name">Owner: IR UI View edit</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule" id="rg_iruiview_group_cashbook-2">
<field name="domain" eval="[ <field name="domain" eval="[
('model', '=', 'cashbook_report.eval_line'), ('res_model', '!=', 'cashbook_report.eval_line'),
('type', '=', 'graph'),
('module', '=', 'cashbook_report'),
('create_uid', '=', Eval('user', {}).get('id', -1)),
]" pyson="1"/> ]" pyson="1"/>
<field name="rule_group" ref="rg_iruiview_group_cashbook"/> <field name="rule_group" ref="rg_iractwin_anon"/>
</record>
<record model="ir.rule.group-res.group" id="rg_iruiview_group_cashbook-group_cashbook">
<field name="rule_group" ref="rg_iruiview_group_cashbook"/>
<field name="group" ref="cashbook.group_cashbook"/>
</record> </record>
<!-- permission by rule - group_admin --> <!-- allow write for admin -->
<record model="ir.rule.group" id="rg_iruiview_group_admin"> <record model="ir.rule.group" id="rg_iractwin_group_admin">
<field name="model" search="[('model', '=', 'ir.ui.view')]"/> <field name="model" search="[('model', '=', 'ir.action.act_window')]"/>
<field name="name">Administrator: IR UI View edit</field> <field name="name">Admin: IR Act Window write</field>
<field name="global_p" eval="False"/> <field name="global_p" eval="False"/>
<field name="default_p" eval="False"/> <field name="default_p" eval="False"/>
<field name="perm_read" eval="True"/> <field name="perm_read" eval="True"/>
@ -66,12 +61,13 @@ full copyright notices and license terms. -->
<field name="perm_create" eval="True"/> <field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/> <field name="perm_delete" eval="True"/>
</record> </record>
<record model="ir.rule" id="rg_iruiview_group_admin-1"> <record model="ir.rule" id="rg_iractwin_group_admin-1">
<field name="domain" eval="[]" pyson="1"/> <field name="domain" eval="[]" pyson="1"/>
<field name="rule_group" ref="rg_iruiview_group_admin"/> <field name="rule_group" ref="rg_iractwin_group_admin"/>
</record> </record>
<record model="ir.rule.group-res.group" id="rg_iruiview_group_admin-group_admin"> <record model="ir.rule.group-res.group"
<field name="rule_group" ref="rg_iruiview_group_admin"/> id="rg_iractwin_group_admin-group_admin">
<field name="rule_group" ref="rg_iractwin_group_admin"/>
<field name="group" ref="res.group_admin"/> <field name="group" ref="res.group_admin"/>
</record> </record>

View file

@ -47,5 +47,10 @@ full copyright notices and license terms. -->
<field name="act_window" ref="act_evaluation_graph_view"/> <field name="act_window" ref="act_evaluation_graph_view"/>
</record> </record>
<record model="ir.action-res.group" id="graph_view-group_cashbook">
<field name="action" ref="act_evaluation_graph_view"/>
<field name="group" ref="cashbook.group_cashbook"/>
</record>
</data> </data>
</tryton> </tryton>

View file

@ -1,14 +1,14 @@
[tryton] [tryton]
version=6.0.0 version=6.0.0
depends: depends:
ir res
cashbook cashbook
xml: xml:
icon.xml icon.xml
message.xml message.xml
ir.xml
evaluation.xml evaluation.xml
line.xml line.xml
evaluation_context.xml evaluation_context.xml
evaluation_wizard.xml evaluation_wizard.xml
ir.xml
menu.xml menu.xml