跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • 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

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. view中使用context.get()

view中使用context.get()

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
2 帖子 2 发布者 3.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • I 离线
    I 离线
    iooop
    写于 最后由 iooop 编辑
    #1

    了解到view中可以使用context.get来做一些动态的处理,比如根据context里面的某个元素的值,来处理是否隐藏某个字段。
    搜了一下源代码,这样的应用还是很多的,比如:odoo\addons\base\res\res_bank_view.xml,

            <record id="view_partner_bank_search" model="ir.ui.view">
                <field name="name">res.partner.bank.search</field>
                <field name="model">res.partner.bank</field>
                <field name="arch" type="xml">
                    <search string="Bank Accounts">
                        <field name="bank_name" filter_domain="['|', ('bank_name','ilike',self), ('acc_number','ilike',self)]" string="Bank Name"/>
                        <field name="company_id" invisible="context.get('company_hide', True)"/>
                        <field name="partner_id"/>
                    </search>
                </field>
            </record>
    

    对于上面的代码,在视图中获取key为company_hide的context值,从而决定是否隐藏字段company_id。
    我尝试搜索源代码,看是在哪里设置company_hide的,但是没有找到任何处理的地方。我的问题是,这里的company_hide是在哪里产生和设置的?如果没有任何地方设置company_hide,那上面的代码设置那段invisible的处理又有什么意义?

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      应该是没有清理干净的legacy code

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

      1 条回复 最后回复
      0

      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 标签
      • 热门
      • 用户
      • 群组