Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
3734 Lượt xem

How can I make a user role - Project Manager or User statement for a function?

like this :

def onchange_planned(self, cr, uid, ids, planned=0.0, effective=0.0):

if user_id.sel_groups_44_45 == 45:

return {'value': {'remaining_hours': planned - effective}}


But it doesn't work.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi Wizardz,

You should check if particular group is assigned to current logged in user to fulfill your requirement.

if self.pool.get('res.users').has_group(cr, uid, 'module_name.XML_ID_of_group'): # return True if group is assigned to user, False otherwise
#your logic goes here if user exists in the group

Source Code 

Hope this help you.

Ảnh đại diện
Huỷ bỏ
Tác giả

I don't wanna get the group, In the settings per user in Project, you can choose from manager and user. I wanna set a if the user is a user in projcect, or a manager

Tác giả

or is it like this the ID from the group xml : if self.pool.get('res.users').has_group(cr, uid, 'res.groups.84'):

You can apply groups on planned_hours field. Users who are not in that group, won't be able to see the field.

Tác giả

and how? please

Tác giả Câu trả lời hay nhất

If I do this: 

    def onchange_planned(self, cr, uid, ids, planned=0.0, effective=0.0):

if self.pool.get('res.users').has_group(cr, uid, 'project.group_project_manager'): # return True if group is assigned to user, False otherwise
#your logic goes here if user exists in the group
return {'value': {'remaining_hours': planned - effective}}
raise osv.except_osv(('Info'), ('You are not available to change the planned time settings.'))


Other user get the raise info message but can change the planned_hours. Why? How Can I stop that a user not in this group can't CHANGE the planned hours??????? 

Ảnh đại diện
Huỷ bỏ
Tác giả

How can I stop that the value I put in is going to save?

Bài viết liên quan Trả lời Lượt xem Hoạt động
7
thg 5 20
6309
0
thg 4 16
2978
2
thg 4 15
5854
11
thg 9 21
31996
2
thg 1 24
14900