İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
1908 Görünümler

Hi, 

i'm trying to deny the access to all tasks so that only the assigned person sees his task. 


the domain i'm trying to apply is: 

['|',('user_id','=',False),('user_id','=',user\.id\)\]


Group\ Name\ :\ Project\ /\ User


error: 

Traceback\ \(most\ recent\ call\ last\):
\ \ File\ "/home/arishi/src/odoo/odoo/api\.py",\ line\ 983,\ in\ get
\ \ \ \ cache_value\ =\ field_cache\[record\._ids\[0\]\]
KeyError:\ 1

During\ handling\ of\ the\ above\ exception,\ another\ exception\ occurred:

Traceback\ \(most\ recent\ call\ last\):
\ \ File\ "/home/arishi/src/odoo/odoo/fields\.py",\ line\ 1160,\ in\ __get__
\ \ \ \ value\ =\ env\.cache\.get\(record,\ self\)
\ \ File\ "/home/arishi/src/odoo/odoo/api\.py",\ line\ 990,\ in\ get
\ \ \ \ raise\ CacheMiss\(record,\ field\)
odoo\.exceptions\.CacheMiss:\ 'project\.project\(1,\)\.task_count'

During\ handling\ of\ the\ above\ exception,\ another\ exception\ occurred:

Traceback\ \(most\ recent\ call\ last\):
\ \ File\ "/home/arishi/src/odoo/odoo/http\.py",\ line\ 1583,\ in\ _serve_db
\ \ \ \ return\ service_model\.retrying\(self\._serve_ir_http,\ self\.env\)
\ \ File\ "/home/arishi/src/odoo/odoo/service/model\.py",\ line\ 134,\ in\ retrying
\ \ \ \ result\ =\ func\(\)
\ \ File\ "/home/arishi/src/odoo/odoo/http\.py",\ line\ 1610,\ in\ _serve_ir_http
\ \ \ \ response\ =\ self\.dispatcher\.dispatch\(rule\.endpoint,\ args\)
\ \ File\ "/home/arishi/src/odoo/odoo/http\.py",\ line\ 1807,\ in\ dispatch
\ \ \ \ result\ =\ self\.request\.registry\['ir\.http'\]\._dispatch\(endpoint\)
\ \ File\ "/home/arishi/src/odoo/odoo/addons/base/models/ir_http\.py",\ line\ 154,\ in\ _dispatch
\ \ \ \ result\ =\ endpoint\(\*\*request\.params\)
\ \ File\ "/home/arishi/src/odoo/odoo/http\.py",\ line\ 696,\ in\ route_wrapper
\ \ \ \ result\ =\ endpoint\(self,\ \*args,\ \*\*params_ok\)
\ \ File\ "/home/arishi/src/odoo/addons/web/controllers/dataset\.py",\ line\ 42,\ in\ call_kw
\ \ \ \ return\ self\._call_kw\(model,\ method,\ args,\ kwargs\)
\ \ File\ "/home/arishi/src/odoo/addons/web/controllers/dataset\.py",\ line\ 33,\ in\ _call_kw
\ \ \ \ return\ call_kw\(request\.env\[model\],\ method,\ args,\ kwargs\)
\ \ File\ "/home/arishi/src/odoo/odoo/api\.py",\ line\ 457,\ in\ call_kw
\ \ \ \ result\ =\ _call_kw_model\(method,\ model,\ args,\ kwargs\)
\ \ File\ "/home/arishi/src/odoo/odoo/api\.py",\ line\ 430,\ in\ _call_kw_model
\ \ \ \ result\ =\ method\(recs,\ \*args,\ \*\*kwargs\)
\ \ File\ "/home/arishi/src/odoo/addons/web/models/models\.py",\ line\ 62,\ in\ web_search_read
\ \ \ \ records\ =\ self\.search_read\(domain,\ fields,\ offset=offset,\ limit=limit,\ order=order\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 4975,\ in\ search_read
\ \ \ \ result\ =\ records\.read\(fields,\ \*\*read_kwargs\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 2979,\ in\ read
\ \ \ \ return\ self\._read_format\(fnames=fields,\ load=load\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 3136,\ in\ _read_format
\ \ \ \ vals\[name\]\ =\ convert\(record\[name\],\ record,\ use_name_get\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 5858,\ in\ __getitem__
\ \ \ \ return\ self\._fields\[key\]\.__get__\(self,\ type\(self\)\)
\ \ File\ "/home/arishi/src/odoo/odoo/fields\.py",\ line\ 1209,\ in\ __get__
\ \ \ \ self\.compute_value\(recs\)
\ \ File\ "/home/arishi/src/odoo/odoo/fields\.py",\ line\ 1368,\ in\ compute_value
\ \ \ \ records\._compute_field_value\(self\)
\ \ File\ "/home/arishi/src/odoo/addons/mail/models/mail_thread\.py",\ line\ 403,\ in\ _compute_field_value
\ \ \ \ return\ super\(\)\._compute_field_value\(field\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 4193,\ in\ _compute_field_value
\ \ \ \ fields\.determine\(field\.compute,\ self\)
\ \ File\ "/home/arishi/src/odoo/odoo/fields\.py",\ line\ 97,\ in\ determine
\ \ \ \ return\ needle\(\*args\)
\ \ File\ "/home/arishi/src/odoo/addons/project/models/project\.py",\ line\ 248,\ in\ _compute_task_count
\ \ \ \ task_data\ =\ self\.env\['project\.task'\]\._read_group\(domain,\ fields,\ groupby\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 2148,\ in\ _read_group
\ \ \ \ return\ self\.read_group\(domain,\ fields,\ groupby,\ offset,\ limit,\ orderby,\ lazy\)
\ \ File\ "/home/arishi/src/odoo/addons/project/models/project\.py",\ line\ 1920,\ in\ read_group
\ \ \ \ return\ super\(Task,\ self\)\.read_group\(domain,\ fields,\ groupby,\ offset=offset,\ limit=limit,\ orderby=orderby,\ lazy=lazy\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 2188,\ in\ read_group
\ \ \ \ result\ =\ self\._read_group_raw\(domain,\ fields,\ groupby,\ offset=offset,\ limit=limit,\ orderby=orderby,\ lazy=lazy\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 2223,\ in\ _read_group_raw
\ \ \ \ self\._apply_ir_rules\(query,\ 'read'\)
\ \ File\ "/home/arishi/src/odoo/odoo/models\.py",\ line\ 4425,\ in\ _apply_ir_rules
\ \ \ \ expression\.expression\(domain,\ self\.sudo\(\),\ self\._table,\ query\)
\ \ File\ "/home/arishi/src/odoo/odoo/osv/expression\.py",\ line\ 447,\ in\ __init__
\ \ \ \ self\.parse\(\)
\ \ File\ "/home/arishi/src/odoo/odoo/osv/expression.py", line 672, in parse
raise ValueError("Invalid field %s.%s in leaf %s" % (model._name, path[0], str(leaf)))
ValueError: Invalid field project.task.user_id in leaf ('user_id', '=', 6)



Avatar
Vazgeç

What Odoo version you are using?

En İyi Yanıt

in Odoo 16, user_id field in project task has been changed to user_ids so you can use the below domian:

['|',('user_ids','=',False),('user_ids','in',user.id)]


Avatar
Vazgeç
Üretici

this domain still shows all the task, I want to show only the tasks person assigned to

Use this:

[('user_ids','in',user.id)]

Üretici

still shows all tasks

You need to check if you have another rule for Project/user group

Üretici En İyi Yanıt

Odoo 16

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
2
Oca 24
3896
0
Oca 24
1945
0
Tem 23
2152
2
Ağu 22
2952
0
Tem 22
2593