[ADD] helpdesk_ticket_deadline: add a manual deadline on tickets
This module adds a simple, manually filled ``date_deadline`` Date field, tracked in the chatter, with an overdue flag, a red kanban decoration and search filters (overdue, due today, group by deadline).
This commit is contained in:
75
helpdesk_ticket_deadline/views/helpdesk_ticket_views.xml
Normal file
75
helpdesk_ticket_deadline/views/helpdesk_ticket_views.xml
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<!-- Form: deadline displayed right after the priority field. -->
|
||||
<record id="ticket_view_form_deadline" model="ir.ui.view">
|
||||
<field name="name">helpdesk.ticket.form.deadline</field>
|
||||
<field name="model">helpdesk.ticket</field>
|
||||
<field name="inherit_id" ref="helpdesk_mgmt.ticket_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='priority']" position="after">
|
||||
<field name="date_deadline" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Kanban: display the deadline on the card. -->
|
||||
<record id="view_helpdesk_ticket_kanban_deadline" model="ir.ui.view">
|
||||
<field name="name">helpdesk.ticket.kanban.deadline</field>
|
||||
<field name="model">helpdesk.ticket</field>
|
||||
<field name="inherit_id" ref="helpdesk_mgmt.view_helpdesk_ticket_kanban" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='tag_ids']" position="after">
|
||||
<div class="text-muted" t-if="record.date_deadline.raw_value">
|
||||
<field name="date_deadline" widget="remaining_days" />
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- List: optional deadline column after the assigned user. -->
|
||||
<record id="ticket_view_tree_deadline" model="ir.ui.view">
|
||||
<field name="name">helpdesk.ticket.list.deadline</field>
|
||||
<field name="model">helpdesk.ticket</field>
|
||||
<field name="inherit_id" ref="helpdesk_mgmt.ticket_view_tree" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='user_id']" position="after">
|
||||
<field
|
||||
name="date_deadline"
|
||||
widget="remaining_days"
|
||||
optional="show"
|
||||
/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Search: field, overdue/today filters and group by deadline. -->
|
||||
<record id="helpdesk_ticket_view_search_deadline" model="ir.ui.view">
|
||||
<field name="name">helpdesk.ticket.search.deadline</field>
|
||||
<field name="model">helpdesk.ticket</field>
|
||||
<field name="inherit_id" ref="helpdesk_mgmt.helpdesk_ticket_view_search" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='high_priority']" position="after">
|
||||
<filter
|
||||
string="Overdue"
|
||||
name="deadline_overdue"
|
||||
domain="[('date_deadline', '<', context_today().strftime('%Y-%m-%d'))]"
|
||||
help="Tickets whose deadline is before today"
|
||||
/>
|
||||
<filter
|
||||
string="Due Today"
|
||||
name="deadline_today"
|
||||
domain="[('date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"
|
||||
help="Tickets whose deadline is today"
|
||||
/>
|
||||
</xpath>
|
||||
<xpath expr="//filter[@name='group_tag']" position="after">
|
||||
<filter
|
||||
string="Deadline"
|
||||
name="group_deadline"
|
||||
domain="[]"
|
||||
context="{'group_by': 'date_deadline'}"
|
||||
/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user