跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. odoo中如何使用js获取当前登入用户的信息?

odoo中如何使用js获取当前登入用户的信息?

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

    odoo首次进来不都需要账号登入的么,那要怎么样才能使用js获取到当前登入用户的信息,比如说获取当前用户的id,要具体怎么做呢?

    1 条回复 最后回复
    0
    • S 离线
      S 离线
      Siyuan
      写于 最后由 编辑
      #2

      odoo 框架在js端封装了 session,

      web/static/src/js/framework/session.js

      当前用户id的话,session.uid

      例如 user_menu.js:

      odoo.define('web.UserMenu', function (require) {
      "use strict";

      var core = require('web.core');
      var Dialog = require('web.Dialog');
      var framework = require('web.framework');
      var Model = require('web.DataModel');
      var session = require('web.session');
      var Widget = require('web.Widget');

      var _t = core._t;
      var QWeb = core.qweb;

      var UserMenu = Widget.extend({
      template: "UserMenu",
      init: function(parent) {
      this.super(parent);
      this.update_promise = $.Deferred().resolve();
      },
      start: function() {
      var self = this;
      this.$el.on('click', '.dropdown-menu li a[data-menu]', function(ev) {
      ev.preventDefault();
      var f = self['on_menu
      ' + $(this).data('menu')];
      if (f) {
      f($(this));
      }
      });
      this.$el.parent().show();
      return this._super.apply(this, arguments);
      },
      do_update: function () {
      var self = this;
      var fct = function() {
      var $avatar = self.$el.find('.oe_topbar_avatar');
      $avatar.attr('src', $avatar.data('default-src'));
      if (!session.uid)
      return;

      1 条回复 最后回复
      0
      • 鲍 离线
        鲍 离线
        鲍永道
        写于 最后由 编辑
        #3

        非常感谢,我下午已经找到了。
        var session = require('web.session');
        然后在session中可以获取当前登入用户的信息。
        但现在就是还有一个问题,我现在在这个js文件中已经获取到了当前用户的值,我要怎么传到我自定义的html页面中,或是传到template里面嵌入html页面中?
        我试过了把上面获取到的session的js文件引入到html页面中,会报错误,引用不上,不知道有没有其他方式?希望能给与到帮助。

        S 1 条回复 最后回复
        0
        • S 离线
          S 离线
          Siyuan
          在 回复了 鲍永道 最后由 编辑
          #4

          @鲍永道 这个你最好找做odoo二次开发的咨询,这个不是简单几句能讲清楚的,设计到odoo js的框架,和你的html是如何写的

          1 条回复 最后回复
          0
          • 鲍 离线
            鲍 离线
            鲍永道
            写于 最后由 编辑
            #5

            嗯嗯,谢谢建议。你好,那在哪里找到odoo二次开发的咨询呢?

            S 1 条回复 最后回复
            0
            • S 离线
              S 离线
              Siyuan
              在 回复了 鲍永道 最后由 编辑
              #6

              @鲍永道 这里的管理员 @Joshua 等应该会比较有经验

              1 条回复 最后回复
              0
              • 鲍 离线
                鲍 离线
                鲍永道
                写于 最后由 编辑
                #7

                好的,谢谢。我联系他。

                1 条回复 最后回复
                0
                • guohuadengchinaG 离线
                  guohuadengchinaG 离线
                  guohuadengchina
                  写于 最后由 编辑
                  #8

                  查jinja2模板相关资料就成。
                  或者直接在js中用jquery给dom赋值,你另一个问题中我有示例代码

                  odoo开发实施
                  qq: 300883
                  web: http://www.sunpop.cn

                  鲍 1 条回复 最后回复
                  0
                  • 鲍 离线
                    鲍 离线
                    鲍永道
                    在 回复了 guohuadengchina 最后由 编辑
                    #9

                    @guohuadengchina 你好,能都给出具体实例代码,我好查看学习。

                    1 条回复 最后回复
                    0

                    • 登录

                    • 没有帐号? 注册

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