Browse Source

[IMP] survey_input_statistics

16.0
RemiFr82 2 weeks ago
parent
commit
ecacd33407
  1. 1
      survey_input_statistics/__manifest__.py
  2. 29
      survey_input_statistics/models/survey_survey.py
  3. 4
      survey_input_statistics/views/survey_survey.xml
  4. 21
      survey_input_statistics/views/survey_user_input.xml

1
survey_input_statistics/__manifest__.py

@ -30,6 +30,7 @@
], ],
"data": [ "data": [
"views/survey_survey.xml", "views/survey_survey.xml",
"views/survey_user_input.xml",
], ],
"css": [], "css": [],
"images": [], "images": [],

29
survey_input_statistics/models/survey_survey.py

@ -27,7 +27,10 @@ class SurveySurvey(models.Model):
} }
stat = dict((sid, default_vals) for sid in self.ids) stat = dict((sid, default_vals) for sid in self.ids)
UserInput = self.env["survey.user_input"] UserInput = self.env["survey.user_input"]
base_domain = [("survey_id", "in", self.ids)]
base_domain = [
("survey_id", "in", self.ids),
("invite_token", "!=", False),
]
read_group_res = UserInput._read_group( read_group_res = UserInput._read_group(
base_domain, base_domain,
@ -78,23 +81,15 @@ class SurveySurvey(models.Model):
ctx = dict(self.env.context) ctx = dict(self.env.context)
search_done = ctx.get("search_default_completed", None) search_done = ctx.get("search_default_completed", None)
action = super(SurveySurvey, self).action_survey_user_input() action = super(SurveySurvey, self).action_survey_user_input()
if ctx.get("shared_only", False):
domain = action.get("domain") or []
if isinstance(domain, str):
domain = eval(domain)
if len(domain) > 1:
action["domain"] = AND(
[[("invite_token", "!=", False)], normalize_domain(domain)]
)
else:
action["domain"] = [("invite_token", "!=", False)]
action["display_name"] += _(" (from sharing)")
if ctx.get("search_default_shared_invite", False):
action["display_name"] += _(" (shared)")
if search_done is not None: if search_done is not None:
act_ctx = action.get("context") or {}
act_ctx = action.get("context") or dict()
if isinstance(act_ctx, str): if isinstance(act_ctx, str):
act_ctx = eval(act_ctx) act_ctx = eval(act_ctx)
if "search_default_completed" in act_ctx:
if bool(act_ctx["search_default_completed"]) is not bool(search_done):
act_ctx["search_default_completed"] = int(bool(search_done))
action["context"] = act_ctx
if "search_default_completed" in act_ctx and bool(
act_ctx["search_default_completed"]
) is not bool(search_done):
act_ctx["search_default_completed"] = int(bool(search_done))
action["context"] = act_ctx
return action return action

4
survey_input_statistics/views/survey_survey.xml

@ -9,13 +9,13 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='answer_count']/.." position="after"> <xpath expr="//field[@name='answer_count']/.." position="after">
<button type="object" name="action_survey_user_input" class="oe_stat_button" <button type="object" name="action_survey_user_input" class="oe_stat_button"
context="{'search_default_completed':1, 'search_default_in_progress':1, 'shared_only':1}">
context="{'search_default_completed':1, 'search_default_in_progress':1, 'search_default_shared_invite':1}">
<field string="Started" name="answer_start_ratio" widget="percentpie" /> <field string="Started" name="answer_start_ratio" widget="percentpie" />
</button> </button>
</xpath> </xpath>
<xpath expr="//field[@name='answer_done_count']/.." position="after"> <xpath expr="//field[@name='answer_done_count']/.." position="after">
<button type="object" name="action_survey_user_input" class="oe_stat_button" <button type="object" name="action_survey_user_input" class="oe_stat_button"
context="{'search_default_completed':1, 'shared_only':1}">
context="{'search_default_completed':1, 'search_default_shared_invite':1}">
<field string="Completed" name="answer_done_ratio" widget="percentpie" /> <field string="Completed" name="answer_done_ratio" widget="percentpie" />
</button> </button>
<xpath expr="//field[@name='success_count']/.." position="move" /> <xpath expr="//field[@name='success_count']/.." position="move" />

21
survey_input_statistics/views/survey_user_input.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="survey_user_input_view_search" model="ir.ui.view">
<field name="name">survey_input_statistics survey.user_input search</field>
<field name="model">survey.user_input</field>
<field name="inherit_id" ref="survey.survey_user_input_view_search" />
<field name="priority">26</field>
<field name="arch" type="xml">
<filter name="not_test">
<separator />
<filter name="shared_invite" string="Shared invite" domain="[('invite_token', '!=', False)]" />
<filter name="free_filling" string="Free filling" domain="[('invite_token', '=', False)]" />
</filter>
<filter name="group_by_partner" position="after">
<filter name="by_state" string="State" domain="[]" context="{'group_by': 'state'}" />
</filter>
</field>
</record>
</odoo>
Loading…
Cancel
Save