~unifield-team/unifield-web/jfb-uf-2332

« back to all changes in this revision

Viewing changes to addons/openerp/controllers/fieldpref.py

  • Committer: jf
  • Date: 2013-12-18 19:13:46 UTC
  • mfrom: (4688.1.10 web-457)
  • Revision ID: jfb@tempo-consulting.fr-20131218191346-az320og10g9bqj1r
UF-1987 [IMP] Change the logic of the "set default" (right click on field)
UTP-457 [FIX] function "set as default value" not working for users other than admin
lp:~unifield-team/unifield-web/utp-457

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
 
28
28
    _cp_path = "/openerp/fieldpref"
29
29
 
 
30
    def is_admin_profile(self):
 
31
        return rpc.RPCProxy('res.users').get_admin_profile(rpc.session.uid)
 
32
 
30
33
    @expose(template="/openerp/controllers/templates/fieldpref.mako")
31
34
    def index(self, **kw): #_terp_model, _terp_field, _terp_deps
32
35
 
 
36
        
33
37
        click_ok = None
34
38
        params, data = TinyDict.split(kw)
35
39
        deps = params.deps
36
 
        return dict(model=params.model, click_ok=click_ok, field=params.field, deps=deps)
 
40
        return dict(model=params.model, click_ok=click_ok, field=params.field, deps=deps, admin_profile=self.is_admin_profile())
 
41
 
 
42
    @expose(template="/openerp/controllers/templates/fieldresetpref.mako")
 
43
    def reset_default(self, **kw):
 
44
        is_admin = self.is_admin_profile()
 
45
        params, data = TinyDict.split(kw)
 
46
        field = params.field.split('/')[-1]
 
47
        values_obj = rpc.RPCProxy('ir.values')
 
48
        dom = [('model', '=', params.model), ('name', '=', field), ('key', '=', 'default')]
 
49
        if not self.is_admin_profile():
 
50
            dom.append(('user_id', '=', rpc.session.uid))
 
51
        else:
 
52
            dom.append(('user_id', 'in', [rpc.session.uid, False]))
 
53
 
 
54
        
 
55
        fields = rpc.RPCProxy(params.model).fields_get(field, rpc.session.context)
 
56
        txt = fields.get(field,{}).get('string', '')
 
57
 
 
58
        val_ids = values_obj.search(dom, 0, 0, False, rpc.session.context)
 
59
        values = values_obj.read(val_ids, ['name', 'real_value', 'user_id', 'key2'], rpc.session.context)
 
60
        return dict(model=params.model, click_ok='', field=params.field, values=values, admin_profile=is_admin, string=txt)
 
61
 
 
62
    @expose(template="/openerp/controllers/templates/fieldresetpref.mako")
 
63
    def reset_apply(self, **kw):
 
64
        params, data = TinyDict.split(kw)
 
65
        if params.to_del:
 
66
            rpc.RPCProxy('ir.values').delete_default(params.to_del.values(), params.model, params.field.split('/')[-1])
 
67
        return dict(click_ok=1, model=params.model, field=params.field, values=[], admin_profile=self.is_admin_profile(), string=params.string)
37
68
 
38
69
    @expose('json')
39
70
    def get(self, **kw):