콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
6562 화면

import xmlrpclib

username = 'admin' #the user
pwd = 'admin'      #the password of the user
dbname = 'openerp' #the database

# Get the uid
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, username, pwd)

#replace localhost with the address of the server
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object'

diki = {'id':1,'name':"myname",'model_id':1,'group_id': 1,'perm_read':0,'perm_write':1,'perm_create':0,'perm_unlink':1}


group = {
  'category_id': 1, # many2one
  'name': 'newgroup14', #simple field
  'implied_ids': [(6,0,[3, 2, 1])], #one2many
  'users' : [(6,0,[1])],
  'menu_access' : [(6,0,[1])], #many2many
  'view_access' : [(6,0,[1])],
  'comment' : 'chopito',
  'model_access' :diki
 
   } #many2many


#Read partner data

 

 

partner_id = sock.execute(dbname, uid, pwd, 'res.groups', 'create', group)

아바타
취소
베스트 답변

It is easier to see from ir.model.access model perspective. So, after create that group with your script (no need model_access in group hash), you make access control with script like this

ret = sock.execute(dbname, uid, pwd, 'ir.model.access', 'create', {
                'name': diki['name'],
                'model_id': diki['model_id'],
                'group_id': partner_id,
                'perm_create': diki['perm_create'],
                'perm_read': diki['perm_read'],
                'perm_unlink': diki['perm_unlink'],
                'perm_write': diki['perm_write']
                })
            if ret:
                print 'ACL {} created'.format(diki['name'])

아바타
취소
관련 게시물 답글 화면 활동
0
9월 19
2575
1
12월 22
4358
1
3월 15
4483
3
7월 25
2974
1
3월 25
1446