Files
odoo_source/addons/website_project/views/project_templates.xml
T
fwi-odoo 936b215adf [IMP] website_portal: hide menu when no documents available
This commit impact website_portal, website_portal_sale,
website_project, website_project_issue, and website_crm_partner_assign.

The idea is to hide menu items and dashboard entry in customer
portal when there no document available. Only Sales Orders and
Opportunities are always displayed to avoid empty dashboard.

Also, resequence menu items to be more consistent and to prepare
to insert more items in the future.
2017-03-23 14:50:32 +01:00

267 lines
13 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="portal_layout" name="Portal layout: project menu entry" inherit_id="website_portal.portal_layout" priority="40">
<xpath expr="//ul[contains(@class,'o_portal_submenu')]" position="inside">
<li t-if="project_count" t-att-class="page_name == 'project' and 'active'">
<a href="/my/projects">Projects</a>
</li>
<li t-if="task_count" t-att-class="page_name == 'task' and 'active'">
<a href="/my/tasks">Tasks</a>
</li>
</xpath>
</template>
<template id="portal_my_home" name="Portal My Home: project entries" inherit_id="website_portal.portal_my_home" priority="40">
<xpath expr="//div[contains(@class,'o_my_home_content')]" position="inside">
<h3 t-if="project_count" class="page-header">
<a href="/my/projects">Your Projects
<small class="ml8">
<span class='badge'><t t-esc="project_count"/></span>
</small>
</a>
</h3>
<h3 t-if="task_count" class="page-header">
<a href="/my/tasks">Your Tasks
<small class="ml8">
<span class='badge'><t t-esc="task_count"/></span>
</small>
</a>
</h3>
</xpath>
</template>
<template id="my_projects" name="My Projects">
<t t-call="website_portal.portal_layout">
<div class="row">
<h3 class="page-header">
Your Projects
<t t-call="website_portal.portal_searchbar"/>
</h3>
</div>
<t t-if="not projects">
<div class="alert alert-warning mt8" role="alert">
There are no projects.
</div>
</t>
<div t-if="projects" class="panel panel-default">
<div class="table-responsive"><table class="table table-hover status_table">
<thead>
<tr class="active">
<th class="col-md-6">Name</th>
<th></th>
</tr>
</thead>
<tbody>
<tr t-foreach="projects" t-as="project">
<td>
<a t-attf-href="/my/project/#{project.id}?{{ keep_query() }}"><span t-field="project.name"/></a>
</td>
<td>
<a t-if="project.use_tasks" t-attf-href="/my/tasks?filterby=#{project.id}">
<t t-esc="project.task_count" />
<t t-esc="project.label_tasks" />
</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<div t-if="pager" class="o_portal_pager text-center">
<t t-call="website.pager"/>
</div>
</t>
</template>
<template id="my_project" name="My Project">
<t t-call="website.layout">
<div id="wrap">
<div class="container">
<div class="oe_structure">
<div class="row">
<div class="col-sm-4">
<ol class="breadcrumb mt8">
<li><a href="/my/home"><i class="fa fa-home"/></a></li>
<li><a t-attf-href="/my/projects?#{keep_query()}">My Projects</a></li>
<li><span t-field="project.name"/></li>
</ol>
</div>
</div>
</div>
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-md-12">
<h4>
<t t-call='website_portal.record_pager'/>
Project - <span t-field="project.name"/>
</h4>
</div>
</div>
</div>
<div class="panel-body">
<div class='row'>
<div class="col-md-6">
<t t-if="project.partner_id">
<strong>Customer</strong>
<div t-if="project.partner_id">
<address t-field="project.partner_id" t-field-options='{"widget": "contact", "fields": ["name", "email"]}'/>
</div>
</t>
<t t-if="project.user_id">
<strong>Project Manager</strong>
<div>
<address t-field="project.user_id" t-field-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'/>
</div>
</t>
</div>
<div class="col-md-6">
<div class="pull-right">
<a t-attf-href="/my/tasks?filterby=#{project.id}" class="btn btn-default btn-lg">
<span class="fa fa-tasks" />
<span t-esc="project.task_count" />
<span t-field="project.label_tasks" />
</a>
</div>
</div>
</div>
</div>
</div>
<div class="row mt32">
<div class="col-md-12">
<h4><strong>Message and communication history</strong></h4>
</div>
<div class="col-md-10 col-md-offset-1 mt16">
<t t-call="website_mail.message_thread">
<t t-set="object" t-value="project"/>
<t t-set="chatter_mode" t-value="'json'"/>
</t>
</div>
</div>
</div>
</div>
</div>
</t>
</template>
<template id="my_tasks" name="My Tasks">
<t t-call="website_portal.portal_layout">
<h3 class="page-header">
Your Tasks
<t t-call="website_portal.portal_searchbar"/>
</h3>
<t t-if="not tasks">
<div class="alert alert-warning mt8" role="alert">
There are no tasks.
</div>
</t>
<div t-if="tasks" class="panel panel-default">
<div class="table-responsive"><table class="table table-hover status_table">
<thead>
<tr class="active">
<th class="col-md-10">Task</th>
<th>Stage</th>
</tr>
</thead>
<tbody>
<t t-foreach="tasks" t-as="task">
<tr>
<td>
<a t-attf-href="/my/task/#{task.id}?{{ keep_query() }}"><span t-field="task.name"/></a>
</td>
<td>
<span class="label label-info" title="Current stage of the task" t-esc="task.stage_id.name" />
</td>
</tr>
</t>
</tbody>
</table></div>
</div>
<div t-if="pager" class="o_portal_pager text-center">
<t t-call="website.pager"/>
</div>
</t>
</template>
<template id="my_task" name="My Task">
<t t-call="website.layout">
<div id="wrap">
<div class="container">
<div class="oe_structure">
<div class="row">
<div class="col-sm-6">
<ol class="breadcrumb mt8">
<li><a href="/my/home"><i class="fa fa-home"/></a></li>
<li><a t-attf-href="/my/tasks?#{keep_query()}">My Tasks</a></li>
<li><span t-field="task.name"/></li>
</ol>
</div>
</div>
</div>
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
<div class="col-md-12">
<h4>
<t t-call='website_portal.record_pager'/>
Task - <span t-field="task.name"/>
<span t-field="task.stage_id.name" class="pull-right label label-info" title="Current stage of this task"/>
<a class="btn btn-info" t-att-href="'/web#return_label=Website&amp;model=project.task&amp;id=%s&amp;view_type=form' % (task.id)" groups="project.group_project_user">Edit Task</a>
</h4>
</div>
</div>
</div>
<div class="panel-body">
<div class="mb8" t-if="user.partner_id.id in task.sudo().project_id.message_partner_ids.ids">
<strong>Project:</strong> <a t-attf-href="/my/project/#{task.project_id.id}" t-field="task.project_id.name"/>
</div>
<div class='row'>
<div class="col-md-6">
<div class="mb8">
<strong>Date:</strong> <span t-field="task.create_date" t-field-options='{"widget": "date"}'/>
</div>
<div t-if="task.user_id">
<strong>Assigned to</strong>
<div>
<address t-field="task.user_id" t-field-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'/>
</div>
</div>
</div>
<div class="col-md-6">
<div class="mb8" t-if="task.date_deadline">
<strong>Deadline:</strong> <span t-field="task.date_deadline" t-field-options='{"widget": "date"}'/>
</div>
<div t-if="task.partner_id">
<strong>Reported by</strong>
<div>
<address t-field="task.partner_id" t-field-options='{"widget": "contact", "fields": ["name", "email"]}'/>
</div>
</div>
</div>
</div>
<div class="container" t-if="task.description">
<p t-field="task.description" />
</div>
</div>
</div>
<div class="row mt32">
<div class="col-md-12">
<h4><strong>Message and communication history</strong></h4>
</div>
<div class="col-md-10 col-md-offset-1 mt16">
<t t-call="website_mail.message_thread">
<t t-set="object" t-value="task"/>
<t t-set="chatter_mode" t-value="'json'"/>
</t>
</div>
</div>
</div>
</div>
</div>
</t>
</template>
</odoo>