for-loop
for-loop

Reputation: 57

Odoo 15 Helpdesk formatting ID field

I need help with the modul Helpdesk. I wanted to add the field ID into the tree view via Addon. I could manage to do so, but now I want to format the field like this Ticket ID : #1234, at the moment its in this kind of format : Ticket ID 1,234. I also can´t find the field ID in the source code.

This my code for the tree view:

<!-- Helpdesk Addon Tree View -->

  <record id="helpdesk_addon_tree_view" model="ir.ui.view">
    <field name="name">view.helpdesk.addon.tree</field>
    <field name="model">helpdesk.ticket</field>
    <field name="inherit_id" ref="helpdesk.helpdesk_tickets_view_tree"/>
    <field name="arch" type="xml">
      <field name="display_name" position="before">
        <field name="id" string="ID"/>
      </field>
      <field name="stage_id" position="after">
        <field name="create_date"/>
      </field>
    </field>
  </record>

</odoo>

Helpdesk

Upvotes: 0

Views: 329

Answers (1)

Waleed Mohsen
Waleed Mohsen

Reputation: 1055

The id is a number and you can't format it, as a workaround you can add new Char field and override create method to fill it then you can use the new created field in the list view.

from odoo import models, api, fields, _

class HelpdeskTicket(models.Model):
    _inherit = 'helpdesk.ticket'

    ticket_no = fields.Char(string="Ticket No")

                
    @api.model_create_multi
    def create(self, list_value):
        tickets = super(HelpdeskTicket, self).create(list_value)

        # set ticket Id
        for ticket in tickets:
            if ticket.id:
                ticket.ticket_no= '#' + str(ticket.id)
        return tickets

XML will be:

<!-- Helpdesk Addon Tree View -->

  <record id="helpdesk_addon_tree_view" model="ir.ui.view">
    <field name="name">view.helpdesk.addon.tree</field>
    <field name="model">helpdesk.ticket</field>
    <field name="inherit_id" ref="helpdesk.helpdesk_tickets_view_tree"/>
    <field name="arch" type="xml">
      <field name="display_name" position="before">
        <field name="ticket_no" string="ID"/>
      </field>
      <field name="stage_id" position="after">
        <field name="create_date"/>
      </field>
    </field>
  </record>

</odoo>

Upvotes: 1

Related Questions