first push message
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- CLIENT ACTION (Replaces ir.ui.view) -->
|
||||
<record id="action_project_dashboard" model="ir.actions.client">
|
||||
<field name="name">Project Dashboard</field>
|
||||
<field name="tag">project_dashboard_tag</field>
|
||||
</record>
|
||||
|
||||
<!-- MENUS -->
|
||||
<menuitem id="menu_project_dashboard_root"
|
||||
name="Project Dashboard"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem id="menu_project_dashboard_main"
|
||||
name="Dashboard"
|
||||
parent="menu_project_dashboard_root"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem id="menu_project_dashboard_open"
|
||||
name="Project Dashboard"
|
||||
parent="menu_project_dashboard_main"
|
||||
action="action_project_dashboard"
|
||||
sequence="10"/>
|
||||
</odoo>
|
||||
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="dashboard_report_template" name="Project Dashboard Report">
|
||||
<t t-call="web.html_container">
|
||||
<t t-call="web.external_layout">
|
||||
<div class="page">
|
||||
<h2>Project Dashboard Report</h2>
|
||||
<p>Generated: <t t-esc="datetime.datetime.now()"/></p>
|
||||
|
||||
<!-- KPIs -->
|
||||
<div class="row mt-4">
|
||||
<div class="col-4">
|
||||
<h4>Total Projects</h4>
|
||||
<p class="text-primary display-4" t-esc="kpis.get('total_projects', 0)"/>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<h4>Active Tasks</h4>
|
||||
<p class="text-success display-4" t-esc="kpis.get('active_tasks', 0)"/>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<h4>Overdue Tasks</h4>
|
||||
<p class="text-danger display-4" t-esc="kpis.get('overdue_tasks', 0)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tasks Table -->
|
||||
<h3 class="mt-5">Tasks</h3>
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Task Name</th>
|
||||
<th>Project</th>
|
||||
<th>Deadline</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-foreach="tasks" t-as="task">
|
||||
<tr>
|
||||
<td t-esc="task.get('name')"/>
|
||||
<td t-esc="task.get('project')"/>
|
||||
<td t-esc="task.get('deadline')"/>
|
||||
<td t-esc="task.get('status')"/>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user