Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
9448 Weergaven

I have a search filter defined below

<filter string="Taller" name="ex_height_taller_1" domain="[('height','&gt;',context.get('test_value', False))]" />


context.get can never get the context value pass into the view.After tracing the problem into pyeval.js, I notice the eval_domains function never take into consideration the custom context passed into the view.


It will only works for context values defined from the following function

instance.web.pyeval.context = function () {

return _.extend({

datetime: datetime,

context_today: context_today,

time: time,

relativedelta: relativedelta,

current_date: py.PY_call(

time.strftime, [py.str.fromJSON('%Y-%m-%d')]),

}, instance.session.user_context);

};


Is there a way to overcome this? I need to define a test_value base on the initial partner choose first for comparison.

Avatar
Annuleer
Auteur Beste antwoord

Found the solution......

Look for the following code in pyeval.js


instance.web.pyeval.sync_eval_domains_and_contexts = function (source) {

    var contexts = ([instance.session.user_context] || []).concat(source.contexts);

    // see Session.eval_context in Python

    return {

        context: instance.web.pyeval.eval('contexts', contexts),

        domain: instance.web.pyeval.eval('domains', source.domains, source.contexts[0]),

        group_by: instance.web.pyeval.eval('groupbys', source.group_by_seq || [])

    };

};

Pass in the context  source.contexts[0] to the domain for evaluation.
This will be good for creating dynamic search filter using context.

Cheers

Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
0
mrt. 15
3400
2
nov. 24
2676
6
mrt. 18
8204
0
mei 15
3138
2
mrt. 15
7926