为什么不在odoo中显示自定义模块

时间:2017-04-13 12:56:05

标签: openerp

我开发了新模块但面临问题。

在服务器上安装自定义模块,没有菜单和视图的访问权限,我的模块正常工作。 但是当我安装具有访问权限的模块时,只显示空白页而不是已安装模块的列表。

实际屏幕:   Actual screen

空白屏幕:   Blank screen

访问权限:   Access right

安全性:   Security

3 个答案:

答案 0 :(得分:1)

我在学习安全时学到的一件事:

如果您的空白页面意味着您未向用户提供所需的组,则base.group_user Witch是员工组。因为后端是公司的员工,所以你需要给用户这个组以便查看后端。这是我使用管理员登录时的屏幕图片,但我手动删除了base.group_user

Blank page with administrator account

因此,如果您要为新用户创建新组,则需要至少为其提供base.roup_user

代码示例stock_security模型中的

<record id="group_stock_user" model="res.groups">
        <field name="name">User</field>
        <field name="category_id" ref="base.module_category_warehouse_management"/>
        <field name="implied_ids" eval="[(4, ref('base.group_user')), (4, ref('stock.group_locations'))]"/>
      </record>

他们在这里定义了一个包含base.group_user

的新组名称用户

所以我的问题是你是否与管理员或新用户联系

现在我有两个问题:

您是使用管理员还是使用新用户的新用户进行连接?

如果您使用管理员屏幕是空白页面,如图片中的那个,或者您有菜单应用程序和设置但是您没有自己的菜单?

编辑:

如果菜单未显示给用户,则用户无法访问  您需要为该组提供读取权限的模型的权利

ir.model.access.csv

 "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
 // in this example all user can read record of model : model.name because you didn't specify the group
 "unic_xml_id_for_every_record","name what ever you want","model_model_name",,1,0,0,0

 // in this example only user belong to group some_group_xmlid can read record of model.name
 "unic_xml_id_for_every_record","name what ever you want","model_model_name","some_group_xmlid",1,0,0,0

 // user belong to group some_group_xmlid can read and create records of model.name
 "unic_xml_id_for_every_record","name what ever you want","model_model_name","some_group_xmlid",1,0,1,0

exmple

ir.model.access.csv

 "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
 "mode_name_id_1","model_name all","model_model_name",,1,0,0,0
 "mode_name_id_2","model_name create_acces","model_model_name","some_group_xmlid",1,0,1,0

答案 1 :(得分:0)

你能告诉我们JS控制台显示的内容吗?

答案 2 :(得分:0)

如果您希望用户看到显示model.test视图的菜单,请假设您的used_id为test_user  和你的小组xml group_xml_id

  1. 将该群组添加到您的用户:
  2.         <!-- 
                 this will add the group to the existing groups if you want 
                 to replace them [(6,0,[ref('group_xml_id'),]]
             -->
             <record id="test_user" model="res.users">
                ...
                ...
                <field name="groups" eval="[(4, ref('group_xml_id')]"/>
            </record>
    
    1. group_xml_id的用户添加访问权限:

      "user_test_full_acces","USER TEST FULL ACCES","model_model_test","group_xml_id",1,1,1,1

    2. 如果您希望仅属于组group_xml_id的用户才能看到该菜单:

    3. <menu .......  groups="module_name.group_xml_id"/>
      

      thouse是您需要尊重的角色,以便查看菜单。

      如果您找不到该群组,此查询将显示您的用户是否拥有所需群组 然后你做错了你应该检查__manifest__你可能忘了 把xml文件。

      select p.name, g.name from res_users u
                                     INNER JOIN res_partner p on u.partner_id = p.id 
                         inner join res_groups_users_rel r on u.id = r.uid
                         INNER JOIN res_groups g on r.gid = g.id
      order by p.name