Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
2194 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
srp 22
307
1
lis 22
3211
2
lis 22
3622
1
kvě 24
1358
2
bře 24
8087