2016-12-17 5 views
2

Я создал настраиваемый модуль для добавления некоторых полей в данные партнера. Кажется, что все работает хорошо, но ни один администратор не может редактировать многие поля. Он показывает следующее сообщение (как в случае каких-либо разрешений конфигурации были неправы с этой моделью):AccessError, когда пользователи редактируют поле many2one в настраиваемом модуле

enter image description here

После делать то, что вы просили, это то, что происходит:

Это ошибка я получаю :

Exception: Fall\xf3 el m\xf3dulo cargando cant_neg_dir: no se pudo procesar el archivo cant_neg_dir/security/ir.model.access.csv: Line 1 : No se han encontrado registros coincidentes para id. externo 'group_name_test_user' en el campo 'Object' 

И это то, что у меня есть в моих файлах:

ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_sector_user,sector.user,group_name_test_user,base.group_user,1,1,1,1 

cant_dir_security.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data noupdate="0"> 
     <record model="ir.module.category" id="module_category_name_test"> 
      <field name="name">Management</field> 
      <field name="sequence">7</field> 
     </record> 
     <record id="group_name_test_user" model="res.groups"> 
      <field name="name">User</field> 
      <field name="category_id" ref="module_category_name_test"/> 
      <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> 
     </record> 
     <record id="group_name_test_manager" model="res.groups"> 
      <field name="name">Manager</field> 
      <field name="category_id" ref="module_category_name_test"/> 
      <field name="implied_ids" eval="[(4, ref('group_name_test_user'))]"/> 
      <field name="users" eval="[(4, ref('base.user_root'))]"/> 
     </record> 
    </data> 
</openerp> 

cant_neg_dir.py

import openerp 
from openerp.osv import fields, osv, orm 
from openerp import models 


class poligono(models.Model): 
    _name = "poligono" 
    _rec_name= "poligono_name" 
    _columns = { 
     'poligono_name': fields.char('Polígono', required=True), 
} 

class sector(models.Model): 
    _name = "sector" 
    _rec_name= "sector_name" 
    _columns = { 
     'sector_name': fields.char('Sector', required=True), 
} 

class municipio(models.Model): 
    _name = "municipio" 
    _rec_name= "municipio_name" 
    _columns = { 
     'municipio_name': fields.char('Municipio', required=True), 
} 

Еще раз спасибо за вашу помощь.

С уважением.

+0

Может кто-нибудь помочь? –

ответ

1

Вам необходимо предоставить право на право доступа к новому объекту.

Мы можем сделать это с помощью кода. Например:

access_sector,sector.user,model_sector,base.group_user,1,1,1,1 

Для получения более подробной информации security/ir.model.access.csv и Odoo Security Documentation.

EDIT

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_sector,sector.user,model_sector,base.group_user,1,1,1,1 

EDIT

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_sector_user,sector.user,your_module_name.group_name_test_user,base.group_user,1,1,1,1 

И убедитесь, что файл openerp.py будет выглядеть следующим образом:

cant_dir_security.xml 
ir.model.access.csv 
+0

Большое спасибо за ваш быстрый ответ! Я не понимаю, что ... Нужно ли добавить это к моему .py-коду модели? –

+0

Нет. Вам нужно создать имя папки с * security * и в ней нужно создать * ir.model.access.csv * и поместить код ответа. Не забудьте указать файл в * __ openerp __. Py * Я ответил очень четко в данной ссылке. Вам нужно только изменить строку с ответной строкой. –

+0

Большое спасибо за помощь Одебра, но теперь я получаю ошибку в строке 1 при установке модуля. –

 Смежные вопросы

  • Нет связанных вопросов^_^