Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
3 Vastaukset
21542 Näkymät

Hello All,

I am working on odoo 10 kanban view of purchase order module in which i created a new stage field(many2one relation with stage module) and  as per define stage in  purchase order kanban view get order as per stage 

But as per requirement i want to show all stages including empty one. for that i follow below link 

http://ludwiktrammer.github.io/odoo/odoo-grouping-kanban-view-empty.html

but  i did not find " group_by_full" attribute in kanban view  and not in any other modules like sale or project kanban view

Below in my module.py code in which i try to implement "group_by full" but it did not for me

@api.multi   

def stage_groups(self):   

   postage = self.env['stage.stage'].search([]).name_get() 

   return postage 

group_by_full = {'po_stage': stage_groups,}


below is my view code :

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

<field name="name">purchase_kanban</field>   

<field name="model">purchase.order</field>   

<field name="inherit_id" ref="purchase.view_purchase_order_kanban"/>  

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

<!-- Adding attribute -->     

<xpath expr="//kanban[@class='o_kanban_mobile']" position="attributes">           

<attribute name="default_group_by">po_stage</attribute>          

    <attribute name="group_expand">_read_group_stage_ids</attribute>     

    </xpath>     

    <xpath expr="//kanban[@class='o_kanban_mobile']" position="inside">       

          <field name="po_stage"  />

    </xpath>   

</field> 

</record>


so kindly suggest how i can achieved this in odoo 10




Avatar
Hylkää
Paras vastaus

group_by_full has been replaced in Odoo 10 by group_expand which is a different (better IMHO) mechanism.

See this SO answer for more details: https://stackoverflow.com/a/40761734/2498426

Avatar
Hylkää
Paras vastaus

Just in case someone would come by here and want to know:

If you go in the Debug -> Modify Action, and add in the context {'default_project_id': x} (x being the actual project ID), it will do the trick.

At least from 15>, didn't try on

Coming from standard:


    @api.model

    def _read_group_stage_ids(self, stages, domain, order):

        search_domain = [('id', 'in', stages.ids)]

        if 'default_project_id' in self.env.context:

            search_domain = ['|', ('project_ids', '=', self.env.context['default_project_id'])] + search_domain


        stage_ids = stages._search(search_domain, order=order, access_rights_uid=SUPERUSER_ID)

        return stages.browse(stage_ids)

Avatar
Hylkää
Paras vastaus

Hello 

as per consider the code that mention  in the first link 

you can not use many2many field in group by clause 

Avatar
Hylkää

If you mean many2one as it is stated in question, in sources of odoo 10 you may see many2one field project.task.stage_id and it's work

Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
2
marrask. 22
8244
1
helmik. 19
4934
0
heinäk. 17
2650
0
maalisk. 17
3040
1
toukok. 21
10072