Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
6572 Переглядів

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'])

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
0
вер. 19
2576
1
груд. 22
4362
1
бер. 15
4493
3
лип. 25
2977
1
бер. 25
1450