Kanban odoo18
<kanban sample="1">
<field name="avatar_128"/>
<field name="is_company"/>
<field name="active"/>
<templates>
<t t-name="card" class="flex-row">
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
<aside class="o_kanban_aside_full">
<t t-if="!record.is_company.raw_value">
<div class="o_kanban_image_fill position-relative w-100">
<field name="avatar_128" alt="Contact image" class="h-100" widget="image" options="{'img_class': 'object-fit-cover'}"/>
<field t-if="record.parent_id.raw_value" name="parent_id" class="position-absolute bottom-0 end-0 w-25 bg-light" widget="image" options="{'preview_image': 'image_128', 'img_class': 'object-fit-contain'}"/>
</div>
</t>
<t t-else="">
<field name="avatar_128" class="w-100" widget="image" options="{'img_class': 'object-fit-contain w-100 h-100'}"/>
</t>
</aside>
<main class="ps-2 ps-md-0">
<div class="mb-1">
<field name="display_name" class="mb-0 fw-bold fs-5"/>
<field t-if="record.parent_id.raw_value and !record.function.raw_value" class="text-muted" name="parent_id"/>
<field t-elif="!record.parent_id.raw_value and record.function.raw_value" class="text-muted" name="function"/>
<div t-elif="record.parent_id.raw_value and record.function.raw_value" class="text-muted">
<field name="function"/> at <field name="parent_id"/>
</div>
</div>
<div>
<field name="membership_state"/> - <field name="ref"/>
</div>
<div>
Date de fin d'adhésion : <field name="membership_stop"/>
</div>
<div t-if="record.city.raw_value">
<field name="city"/>
</div>
<field name="email" class="text-truncate"/>
<footer><div/></footer>
</main>
</t>
</templates>
</kanban>