Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
6751 Представления

i want to update my field depend on current user's group , but when i execute the method it update all the record even it has the other group .

here's the code :

def wtc_approval(self, cr, uid, ids,vals, context=None):
        user = self.pool.get("res.users").browse(cr, uid, uid)['groups_id']
        data = self.pool.get("wtc.approval.line").browse(cr,uid,user)
        line = self.browse(cr, uid, ids, context=context)
   
        for user in line.app_line:
            line.app_line.write({
                                   'sts':'2',
                                   'pelaksana':uid,
                                   'tanggal':datetime.today()
                                   })
           return True

i don't know how to get current user group , the code always catch all group ..

anybody know how to resolve it ?

Thanks in advance

Аватар
Отменить
Лучший ответ

You can try to find whether the user has Group access for a particular group.

Flag = self.pool.get('res.users').has_group(cr,create_uid.id , 'base.group_sale_manager')

If access is available, then it is TRUE.

Аватар
Отменить
Лучший ответ

Openerp has a build in mechanism to restrict access per model / record:

  • Access Control List
  • Record Rule

Generally you can configure access control per model (ex. write access for certain group), openerp will do the checking for you.

The other is condition in workflow transition: you can set group in workflow transition, so that it can be triggered only by that group.

So in many cases you don't have to write some code to check user's group.

Аватар
Отменить
Related Posts Ответы Просмотры Активность
9
мар. 20
42062
2
окт. 18
3985
1
окт. 17
4226
1
мар. 15
4666
2
апр. 23
4261