Displaying the rating of project is moved directly in project module, since it does not depends on website. User may want to display rating of its support project even without website.
204 lines
13 KiB
XML
204 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data>
|
|
|
|
<!-- Page : List of project -->
|
|
<template id="rating_index" name="Project Rating List">
|
|
<t t-call="portal.frontend_layout">
|
|
<t t-set="additional_title">Project Satisfaction</t>
|
|
<div id="wrap">
|
|
<div class="oe_structure"/>
|
|
<div class="container o_portal_project_rating">
|
|
<div class="row text-center">
|
|
<h2>Projects</h2>
|
|
</div>
|
|
<div class="oe_structure"/>
|
|
<div class="row">
|
|
<t t-if="not projects">
|
|
<div class="mt64 text-center">
|
|
No project rating puslished for now.
|
|
</div>
|
|
</t>
|
|
<t t-foreach="projects" t-as="project">
|
|
<div t-if="project.percentage_satisfaction_project != -1" class="col-sm-6 col-xs-4 col-md-4 col-lg-4">
|
|
<div class="thumbnail">
|
|
<div>
|
|
<div class="caption">
|
|
<span class="label label-default pull-right"><t t-esc="project.privacy_visibility"/></span>
|
|
<h4><t t-esc="project.name"/></h4>
|
|
<p t-if="project.date" class="text-muted">
|
|
<i class="fa fa-calendar"/> End date : <t t-esc="project.date"/>
|
|
</p>
|
|
<p t-if="project.alias_name and project.alias_domain" class="text-muted">
|
|
<i class="fa fa-envelope"/> Email : <t t-esc="project.alias_name"/>@<t t-esc="project.alias_domain"/>
|
|
</p>
|
|
<div class="row">
|
|
<div class="col-md-6 text-center">
|
|
<h2><t t-esc="len(project.task_ids)"/></h2>
|
|
<p><t t-esc="project.label_tasks"/></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="caption">
|
|
<p>
|
|
<a t-att-href="'/project/rating/%s' % project.id" class="btn btn-primary btn-lg btn-block">
|
|
<i class="fa fa-arrow-circle-right "/> See the feedbacks
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
<div class="oe_structure"/>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
|
|
<!-- Page : Project Rating Page (and widgets) -->
|
|
<template id="portal_project_rating_progressbar">
|
|
<div class="progress o_rating_progress">
|
|
<t t-set="percent_rating_10" t-value="(stats['rating_10'] / float(stats['total'])) * 100 if stats['total'] else 0.0"/>
|
|
<div class="progress-bar progress-bar-success" t-attf-style="width: #{percent_rating_10}%;" title="Happy">
|
|
<t t-esc="percent_rating_10"/>%
|
|
</div>
|
|
<t t-set="percent_rating_5" t-value="(stats['rating_5'] / float(stats['total'])) * 100 if stats['total'] else 0.0"/>
|
|
<div class="progress-bar progress-bar-warning" t-attf-style="width: #{percent_rating_5}%;" title="Average">
|
|
<t t-esc="percent_rating_5"/>%
|
|
</div>
|
|
<t t-set="percent_rating_1" t-value="(stats['rating_1'] / float(stats['total'])) * 100 if stats['total'] else 0.0"/>
|
|
<div class="progress-bar progress-bar-danger" t-attf-style="width: #{percent_rating_1}%;" title="Bad">
|
|
<t t-esc="percent_rating_1"/>%
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="portal_project_rating_partner_stat">
|
|
<t t-foreach="partner_stats.values()" t-as="partner_stat">
|
|
<div class="row mt8" t-if="partner_stat['total']" title="Top 5 partner ratings of last 15 days.">
|
|
<div class="col-sm-1">
|
|
<img t-if="partner_stat['rated_partner'].image" class="o_top_partner_image" t-attf-src="data:image/png;base64,#{partner_stat['rated_partner'].image}"/>
|
|
<img t-if="not partner_stat['rated_partner'].image" class="o_top_partner_image" src='/web/static/src/img/placeholder.png'/>
|
|
</div>
|
|
<div class="col-sm-4 o_smiley_no_padding_right">
|
|
<span class="ml8" t-esc="partner_stat['rated_partner'].name"/>
|
|
</div>
|
|
<div class="col-sm-4 o_smiley_no_padding_right">
|
|
<div class="col-sm-4 o_smiley_no_padding_right o_smiley_no_padding_left">
|
|
<span t-if="partner_stat['rating_10']">
|
|
<img title="happy" class="o_top_partner_rating_image" src='/rating/static/src/img/rating_10.png'/>
|
|
<span class="o_rating_count" t-esc="partner_stat['rating_10']"/>
|
|
</span>
|
|
<span t-if="not partner_stat['rating_10']">
|
|
<img title="happy" class="o_top_partner_rating_image o_lighter_smileys" src='/rating/static/src/img/rating_10.png'/>
|
|
<span class="o_rating_count o_lighter_smileys" t-esc="partner_stat['rating_10']"/>
|
|
</span>
|
|
</div>
|
|
<div class="col-sm-4 o_smiley_no_padding_right o_smiley_no_padding_left">
|
|
<span t-if="partner_stat['rating_5']">
|
|
<img title="happy" class="o_top_partner_rating_image" src='/rating/static/src/img/rating_5.png'/>
|
|
<span class="o_rating_count" t-esc="partner_stat['rating_5']"/>
|
|
</span>
|
|
<span t-if="not partner_stat['rating_5']">
|
|
<img title="happy" class="o_top_partner_rating_image o_lighter_smileys" src='/rating/static/src/img/rating_5.png'/>
|
|
<span class="o_rating_count o_lighter_smileys" t-esc="partner_stat['rating_5']"/>
|
|
</span>
|
|
</div>
|
|
<div class="col-sm-4 o_smiley_no_padding_right o_smiley_no_padding_left">
|
|
<span t-if="partner_stat['rating_1']">
|
|
<img title="happy" class="o_top_partner_rating_image" src='/rating/static/src/img/rating_1.png'/>
|
|
<span class="o_rating_count" t-esc="partner_stat['rating_1']"/>
|
|
</span>
|
|
<span t-if="not partner_stat['rating_1']">
|
|
<img title="happy" class="o_top_partner_rating_image o_lighter_smileys" src='/rating/static/src/img/rating_1.png'/>
|
|
<span class="o_rating_count o_lighter_smileys" t-esc="partner_stat['rating_1']"/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3 o_smiley_no_padding_left">
|
|
<strong class="pull-right"><t t-esc="partner_stat['percentage_happy']"/>%</strong>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
|
|
<template id="portal_project_rating_popover">
|
|
<div t-attf-id="rating_#{rating.id}" class="container hidden">
|
|
<div class="row">
|
|
<div class="col-md-2">
|
|
<img t-if="rating.partner_id.image" class="o_top_partner_image" t-attf-src="data:image/png;base64,#{rating.partner_id.image}"/>
|
|
<img t-if="not rating.partner_id.image" class="o_top_partner_image" src='/web/static/src/img/placeholder.png'/>
|
|
</div>
|
|
<div class="col-md-10">
|
|
<div class="mt4">
|
|
<strong><t t-esc="rating.rated_partner_id.name"/></strong> - <span class="rating_timeduration"><t t-esc="rating.create_date"/></span>
|
|
</div>
|
|
<strong>Rated by: </strong><t t-esc="rating.partner_id.name" />
|
|
</div>
|
|
</div>
|
|
<div class="row o_top_partner_feedback" t-if="rating.feedback">
|
|
<div class="col-md-12">
|
|
<t t-esc="rating.feedback" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="rating_project_rating_page" name="Project Rating Page">
|
|
<t t-call="portal.frontend_layout">
|
|
<div id="wrap">
|
|
<div class="oe_structure"/>
|
|
<div class="container o_project o_portal_project_rating">
|
|
<h1 t-esc="project.name" class="text-center"/>
|
|
<div class="row mb32">
|
|
<div>
|
|
<h3 class="page-header">Customer Ratings</h3>
|
|
<div class="row">
|
|
<div class="col-md-7">
|
|
<t t-foreach="ratings" t-as="rating">
|
|
<img t-attf-src='/rating/static/src/img/rating_#{int(rating.rating)}.png'
|
|
class="mt4 o_rating_image"
|
|
t-att-data-id="rating.id"
|
|
t-att-data-rating-date="rating.write_date"/>
|
|
<t t-call="project.portal_project_rating_popover"/>
|
|
</t>
|
|
</div>
|
|
<div class="col-md-5 o_vertical_separator">
|
|
<div t-if="statistics['period_statistics']['days_06']">
|
|
<h5>Last 7 days</h5>
|
|
<t t-call="project.portal_project_rating_progressbar">
|
|
<t t-set="stats" t-value="statistics['period_statistics']['days_06']"/>
|
|
</t>
|
|
</div>
|
|
<div t-if="statistics['period_statistics']['days_30']">
|
|
<h5>Last 30 days</h5>
|
|
<t t-call="project.portal_project_rating_progressbar">
|
|
<t t-set="stats" t-value="statistics['period_statistics']['days_30']"/>
|
|
</t>
|
|
</div>
|
|
<div t-if="statistics['period_statistics']['days_90']">
|
|
<h5>Last 3 months</h5>
|
|
<t t-call="project.portal_project_rating_progressbar">
|
|
<t t-set="stats" t-value="statistics['period_statistics']['days_90']"/>
|
|
</t>
|
|
</div>
|
|
<div>
|
|
<t t-call="project.portal_project_rating_partner_stat">
|
|
<t t-set="partner_stats" t-value="statistics['partner_statistics']"/>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="oe_structure"/>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
|
|
</data>
|
|
</odoo>
|