first push message

This commit is contained in:
2026-07-01 14:41:49 +07:00
parent 6667dec2bf
commit 58b5f46cc4
2951 changed files with 316619 additions and 0 deletions
@@ -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>