Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
2191 Tampilan

Hi, in the CRM module (crm_lead) in the kanban view I want the different pipelines to be automatically ordered in each stage ('New', 'Qualified', 'Proposition', 'Won') based on the 'date_deadline' field so that those whose expected closing date is closer to the current date are at the top. Any solution that gives me the desired results works for me (odoo studio, python code in odoo.sh, etc.)















Avatar
Buang
Jawaban Terbai

Hi,

By default, Odoo doesn't offer the order-by feature in the Kanban view. However, the group-by feature can be used for a similar purpose. The drawback of this approach is that it hides the pipeline stages, as the pipelines are altered to reflect the group-by field name. Nevertheless, this method allows sorting records by dates close to the deadline or those that have already passed. The only downside to this option is that you need to check the stage by opening the record.(Check the screenshot attached below)


For development purposes, this code customization allows sorting records in the Kanban view based on the 'deadline' field in descending order. Please ensure that you thoroughly test these changes in a development environment before implementing them in a production system:


IN XML:


<odoo>

    <data>

        <record id="view_custom_kanban" model="ir.ui.view">

            <field name="name">Your Model Kanban View</field>

            <field name="model">your.model</field>

            <field name="inherit_id" ref="your_module.your_model_kanban_view"/>

            <field name="arch" type="xml">

                <xpath expr="//kanban" position="attributes">

                    <attribute name="default_order">deadline desc</attribute>

                </xpath>

            </field>

        </record>

    </data>

</odoo>


IN Py:



from odoo import models, fields


class YourModel(models.Model):

    _name = 'your.model'

    _description = 'Your Model'


    name = fields.Char(string='Name', required=True)

    deadline = fields.Datetime(string='Deadline')

    # ... other fields ...


Hope it helps

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
2
Agu 22
307
1
Nov 22
3207
2
Nov 22
3621
1
Mei 24
1351
2
Mar 24
8082