Skip to content
  • Categories
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse

Odoo 中文社区

  1. Home
  2. Categories
  3. Odoo 新手求助
  4. user_has_groups 里的 用户组别名怎么获取

user_has_groups 里的 用户组别名怎么获取

Scheduled Pinned Locked Moved Solved Odoo 新手求助
8 Posts 2 Posters 3.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 元 Offline
    元 Offline
    元宝
    wrote on last edited by
    #1

    比如我要判断这个用户是不是库存的管理员 user_has_groups('stock.XXXXXX');
    里面的stock.XXX 该怎么填写。这个值可以在哪里看到

    1 Reply Last reply
    0
    • D Offline
      D Offline
      digitalsatori
      管理员
      wrote on last edited by digitalsatori
      #4

      在模块的翻译文件里 搜索 model:res.groups。大致可以找到需要的用户组名。如何找到自己创建的用户组的name。如图是库存用户的 groupsname

      这个找法不太正确啊😲

      用户组其实就是res_groups表中的一条记录。这条记录在Odoo中一般是通过xml的导入生成的。一般用户组的记录都是放在security目录下,比如你所说的stock模块的库存管理员的用户组的定义就在stock/security/stock_security.xml文件中定义, 注意下面的id(group_stock_manager):

      <?xml version="1.0" encoding="utf-8"?>
      <odoo>
      <data noupdate="0">
       ...
          <record id="group_stock_manager" model="res.groups">
              <field name="name">Manager</field>
              <field name="category_id" ref="base.module_category_warehouse_management"/>
              <field name="implied_ids" eval="[(4, ref('group_stock_user'))]"/>
              <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
          </record>
      ....
      

      【上海先安科技】(tony AT openerp.cn)

      元 1 Reply Last reply
      0
      • 元 Offline
        元 Offline
        元宝
        wrote on last edited by 元宝
        #2

        在模块的翻译文件里 搜索 model:res.groups。大致可以找到需要的用户组名。如何找到自己创建的用户组的name。如图是库存用户的 groupsname 613201bf-44f6-4e5d-ac04-23ae93d3021a-image.png

        1 Reply Last reply
        0
        • 元 Offline
          元 Offline
          元宝
          wrote on last edited by
          #3

          已解决 ir_model_data 筛选 model 是res.group 就是用户所在的用户组了。name是用户组的名称 res_id 对应res_groups 里的用户组主键id

          D 1 Reply Last reply
          0
          • D Offline
            D Offline
            digitalsatori
            管理员
            wrote on last edited by digitalsatori
            #4

            在模块的翻译文件里 搜索 model:res.groups。大致可以找到需要的用户组名。如何找到自己创建的用户组的name。如图是库存用户的 groupsname

            这个找法不太正确啊😲

            用户组其实就是res_groups表中的一条记录。这条记录在Odoo中一般是通过xml的导入生成的。一般用户组的记录都是放在security目录下,比如你所说的stock模块的库存管理员的用户组的定义就在stock/security/stock_security.xml文件中定义, 注意下面的id(group_stock_manager):

            <?xml version="1.0" encoding="utf-8"?>
            <odoo>
            <data noupdate="0">
             ...
                <record id="group_stock_manager" model="res.groups">
                    <field name="name">Manager</field>
                    <field name="category_id" ref="base.module_category_warehouse_management"/>
                    <field name="implied_ids" eval="[(4, ref('group_stock_user'))]"/>
                    <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
                </record>
            ....
            

            【上海先安科技】(tony AT openerp.cn)

            元 1 Reply Last reply
            0
            • 元 元宝

              已解决 ir_model_data 筛选 model 是res.group 就是用户所在的用户组了。name是用户组的名称 res_id 对应res_groups 里的用户组主键id

              D Offline
              D Offline
              digitalsatori
              管理员
              wrote on last edited by digitalsatori
              #5

              @元宝

              已解决 ir_model_data 筛选 model 是res.group 就是用户所在的用户组了。name是用户组的名称 res_id 对应res_groups 里的用户组主键id

              这也的确是一个方法,因为所有从xml导入的数据都会同时在ir.model.data表中留下记录。

              【上海先安科技】(tony AT openerp.cn)

              1 Reply Last reply
              0
              • D digitalsatori

                在模块的翻译文件里 搜索 model:res.groups。大致可以找到需要的用户组名。如何找到自己创建的用户组的name。如图是库存用户的 groupsname

                这个找法不太正确啊😲

                用户组其实就是res_groups表中的一条记录。这条记录在Odoo中一般是通过xml的导入生成的。一般用户组的记录都是放在security目录下,比如你所说的stock模块的库存管理员的用户组的定义就在stock/security/stock_security.xml文件中定义, 注意下面的id(group_stock_manager):

                <?xml version="1.0" encoding="utf-8"?>
                <odoo>
                <data noupdate="0">
                 ...
                    <record id="group_stock_manager" model="res.groups">
                        <field name="name">Manager</field>
                        <field name="category_id" ref="base.module_category_warehouse_management"/>
                        <field name="implied_ids" eval="[(4, ref('group_stock_user'))]"/>
                        <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
                    </record>
                ....
                
                元 Offline
                元 Offline
                元宝
                wrote on last edited by
                #6

                @digitalsatori
                fb6aaa47-dc1b-4003-a38b-ef982ad1cbca-image.png
                daac18b6-2ed2-4bfc-89af-1f73a7818b1a-image.png
                我新增一个用户组的话 我怎么在页面修改name。还是说 新增用户组的操作 最好是通过 security 去新增用户组 然后更新模块。

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  digitalsatori
                  管理员
                  wrote on last edited by digitalsatori
                  #7

                  @元宝
                  在界面中新增的群组是没有xmlid的,也就是没有ir.model.data表的一条对应记录从而没有记录xmlid的name字段值,比如group_stock_manager。
                  这样你就不能在程序中通过xmlid来引用这条记录,当然你仍然可以通过search这个组的比如组名来得到这条记录。
                  如果你需要在程序中引用到对应用户组,最好的办法是在你的模块的security目录下通过xml来添加用户组。

                  【上海先安科技】(tony AT openerp.cn)

                  元 1 Reply Last reply
                  0
                  • D digitalsatori

                    @元宝
                    在界面中新增的群组是没有xmlid的,也就是没有ir.model.data表的一条对应记录从而没有记录xmlid的name字段值,比如group_stock_manager。
                    这样你就不能在程序中通过xmlid来引用这条记录,当然你仍然可以通过search这个组的比如组名来得到这条记录。
                    如果你需要在程序中引用到对应用户组,最好的办法是在你的模块的security目录下通过xml来添加用户组。

                    元 Offline
                    元 Offline
                    元宝
                    wrote on last edited by
                    #8

                    @digitalsatori 在 user_has_groups 里的 用户组别名怎么获取 中说:

                    的办法是在你的模块的security目录下通过xml来添加用

                    ♥ 好的。谢谢你!

                    1 Reply Last reply
                    0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Tags
                    • Popular
                    • Users
                    • Groups