[IMP] rating,rating_project,livechat: primary views
Rating is used on different objects that don't have the same business needs. We want rating module to provide the common needs (filter, views, basic actions, ...) and other module will extends these basic tools to complete their specific business needs.
This commit is contained in:
@@ -21,6 +21,7 @@ Help your customers with this chat, and analyse their feedback.
|
||||
'data': [
|
||||
"security/im_livechat_channel_security.xml",
|
||||
"security/ir.model.access.csv",
|
||||
"views/rating_views.xml",
|
||||
"views/mail_channel_views.xml",
|
||||
"views/im_livechat_channel_views.xml",
|
||||
"views/im_livechat_channel_templates.xml",
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="rating_rating_view_search_livechat" model="ir.ui.view">
|
||||
<field name="name">rating.rating.search.livechat</field>
|
||||
<field name="model">rating.rating</field>
|
||||
<field name="inherit_id" ref="rating.rating_rating_view_search"/>
|
||||
<field name="mode">primary</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='resource']" position="after">
|
||||
<field name="parent_res_name"/>
|
||||
<filter string="Livechat Channel" name="groupby_livechat_channel" context="{'group_by': 'parent_res_name'}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="rating_rating_action_view_livechat_rating" model="ir.actions.act_window">
|
||||
<field name="name">Ratings for livechat channel</field>
|
||||
<field name="res_model">rating.rating</field>
|
||||
<field name="view_mode">kanban,tree,graph,pivot,form</field>
|
||||
<field name="domain">[('consumed','=',True)]</field>
|
||||
<field name="search_view_id" ref="rating_rating_view_search_livechat"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
There is no rating for this object at the moment.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -111,7 +111,7 @@ class Project(models.Model):
|
||||
@api.multi
|
||||
def action_view_task_rating(self):
|
||||
""" return the action to see all the rating about the tasks of the project """
|
||||
action = self.env['ir.actions.act_window'].for_xml_id('rating', 'action_view_rating')
|
||||
action = self.env['ir.actions.act_window'].for_xml_id('rating_project', 'rating_rating_action_view_project_rating')
|
||||
action_domain = safe_eval(action['domain']) if action['domain'] else []
|
||||
domain = ['&', ('res_id', 'in', self.tasks.ids), ('res_model', '=', 'project.task')]
|
||||
if action_domain:
|
||||
|
||||
@@ -2,27 +2,46 @@
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="rating_rating_action_task" model="ir.actions.act_window">
|
||||
<field name="name">Customer Ratings</field>
|
||||
<field name="res_model">rating.rating</field>
|
||||
<field name="view_mode">kanban,tree,pivot,graph,form</field>
|
||||
<field name="domain">[('res_model', '=', 'project.task'), ('res_id', '=', active_id), ('consumed', '=', True)]</field>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
Customer ratings on tasks. If you have no rating, change your project Settings to activate it.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="rating_rating_view_search" model="ir.ui.view">
|
||||
<field name="name">rating.rating.search.inherit</field>
|
||||
<record id="rating_rating_view_search_project" model="ir.ui.view">
|
||||
<field name="name">rating.rating.search.project</field>
|
||||
<field name="model">rating.rating</field>
|
||||
<field name="inherit_id" ref="rating.rating_rating_view_search" />
|
||||
<field name="inherit_id" ref="rating.rating_rating_view_search"/>
|
||||
<field name="mode">primary</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='rating_unhappy']" position="after">
|
||||
<separator />
|
||||
<filter string="Rating for tasks" name="rating_tasks" domain="[('res_model', '=', 'project.task')]" />
|
||||
</xpath>
|
||||
<xpath expr="//filter[@name='resource']" position="after">
|
||||
<field name="parent_res_name"/>
|
||||
<filter string="Project" name="groupby_project" context="{'group_by': 'parent_res_name'}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="rating_rating_action_view_project_rating" model="ir.actions.act_window">
|
||||
<field name="name">Rating</field>
|
||||
<field name="res_model">rating.rating</field>
|
||||
<field name="view_mode">kanban,tree,graph,pivot,form</field>
|
||||
<field name="domain">[('consumed','=',True)]</field>
|
||||
<field name="search_view_id" ref="rating_rating_view_search_project"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
There is no rating for this object at the moment.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="rating_rating_action_task" model="ir.actions.act_window">
|
||||
<field name="name">Customer Ratings from task</field>
|
||||
<field name="res_model">rating.rating</field>
|
||||
<field name="view_mode">kanban,tree,pivot,graph,form</field>
|
||||
<field name="domain">[('res_model', '=', 'project.task'), ('res_id', '=', active_id), ('consumed', '=', True)]</field>
|
||||
<field name="search_view_id" ref="rating_rating_view_search_project"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
Customer ratings on tasks. If you have no rating, change your project Settings to activate it.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -149,18 +168,23 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="rating_rating_action_project" model="ir.actions.act_window">
|
||||
<record id="rating_rating_action_project_report" model="ir.actions.act_window">
|
||||
<field name="name">Customer Ratings</field>
|
||||
<field name="res_model">rating.rating</field>
|
||||
<field name="view_mode">kanban,tree,pivot,graph,form</field>
|
||||
<field name="domain">[('parent_res_model','=','project.project'), ('consumed', '=', True)]</field>
|
||||
<field name="search_view_id" ref="rating_rating_view_search_project"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
Customer ratings on tasks/issues. If you have no rating, change your project Settings to activate it.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem id="rating_rating_menu_project" action="rating_rating_action_project" parent="project.menu_project_report" sequence="40"/>
|
||||
|
||||
<menuitem id="rating_rating_menu_project"
|
||||
action="rating_rating_action_project_report"
|
||||
parent="project.menu_project_report"
|
||||
sequence="40"/>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -82,7 +82,7 @@ class Project(models.Model):
|
||||
@api.multi
|
||||
def action_view_issue_rating(self):
|
||||
""" return the action to see all the rating about the issues of the project """
|
||||
action = self.env['ir.actions.act_window'].for_xml_id('rating', 'action_view_rating')
|
||||
action = self.env['ir.actions.act_window'].for_xml_id('rating_project', 'rating_rating_action_view_project_rating')
|
||||
issues = self.env['project.issue'].search([('project_id', 'in', self.ids)])
|
||||
action_domain = safe_eval(action['domain']) if action['domain'] else []
|
||||
domain = ['&', ('res_id', 'in', issues.ids), ('res_model', '=', 'project.issue')]
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<field name="res_model">rating.rating</field>
|
||||
<field name="view_mode">kanban,tree,pivot,graph,form</field>
|
||||
<field name="domain">[('res_model','=','project.issue'),('res_id','=',active_id), ('consumed', '=', True)]</field>
|
||||
<field name="search_view_id" ref="rating_project.rating_rating_view_search_project"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
Customer ratings on issues. If you have no rating, change your project Settings to activate it.
|
||||
@@ -17,7 +18,7 @@
|
||||
<record id="rating_rating_view_search" model="ir.ui.view">
|
||||
<field name="name">rating.rating.search.inherit</field>
|
||||
<field name="model">rating.rating</field>
|
||||
<field name="inherit_id" ref="rating.rating_rating_view_search" />
|
||||
<field name="inherit_id" ref="rating_project.rating_rating_view_search_project" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='rating_tasks']" position="after">
|
||||
<filter string="Rating for issues" domain="[('res_model', '=', 'project.issue')]" />
|
||||
|
||||
Reference in New Issue
Block a user