← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 669920] Re: [6.0RC1][WISH] Allow to select a view depend of record selected

 

sorry for serge,

we have partners that are either doctors or patients. each one has its
own form with specific fields, but they are all partners. we add 2
actions : "create a new doctor" and "create a new patient". each action
is linked to a specific view : doctor or patient. when the user is on
the partner list and opens a partner, we want to be able to show the
appropriated form. we want to do the same when the user opens the
partner from a many2one relation field. for this, we override
"fields_view_get". in our own many2one fields that use partners, we add
a context with the category name (doctor or patient). Then, in
"fields_view_get", we read the context and return the appropriated view.
But for all the other many2one fields that use partners, it will be too
much work to override them with our context. What will ease the view
selection, is to add the identifier of the record in the parameters of
"fields_view_get". then, we will be able to read the record, get the
category (doctor or patient) from it, then return the appropriated view.

by exemple, in product.py, you override fields_view_get to change labels
based on the location. you pass the location in the context. but it will
be better if you pass the current id to fields_view_get and read the
location from it, don't you think ?

please tell me if you have more questions.

-- 
[6.0RC1][WISH] Allow to select a view depend of record selected
https://bugs.launchpad.net/bugs/669920
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.

Status in OpenObject Web Client: Triaged

Bug description:
Hi 

    I need to show different view based on the category of partner, i can do it with my menu link, but if i go in sale order and click on the partner link, view selected by priority.

    The active_id not pass in context to function fields_view_get, so ... if i want select view i need the active_id record.


my pacth to do it 

client-web/addons/openerp/widgets/screen.py

    def add_view_id(self, view_id, view_type):
        self.view_id = view_id

        if view_type in self.views_preloaded:
            view = self.views_preloaded[view_type]
        else:
            ctx = rpc.session.context.copy()
            ctx.update(self.context)
+          ctx['active_id'] = self.id and self.id or False
+          ctx['active_ids'] = self.ids and self.ids or False
            if ctx.get('view_id'):
                view_id = ctx['view_id']
            view = cache.fields_view_get(self.model, view_id, view_type, ctx, self.hastoolbar, self.hassubmenu)

        self.add_view(view, view_type)


So now in my addons module in server, i can override the function fields_view_get in res.partner to select view based on the category of the partner.

I hope you can add this in next version.





References