Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

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

    Odoo 开发与实施交流
    3
    9
    5976
    Loading More Posts
    • 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.
    • 鲍
      鲍永道 last edited by

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

      1 Reply Last reply Reply Quote 0
      • S
        Siyuan last edited by

        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 Reply Last reply Reply Quote 0
        • 鲍
          鲍永道 last edited by

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

          S 1 Reply Last reply Reply Quote 0
          • S
            Siyuan @鲍永道 last edited by

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

            1 Reply Last reply Reply Quote 0
            • 鲍
              鲍永道 last edited by

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

              S 1 Reply Last reply Reply Quote 0
              • S
                Siyuan @鲍永道 last edited by

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

                1 Reply Last reply Reply Quote 0
                • 鲍
                  鲍永道 last edited by

                  好的,谢谢。我联系他。

                  1 Reply Last reply Reply Quote 0
                  • guohuadengchina
                    guohuadengchina last edited by

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

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

                    鲍 1 Reply Last reply Reply Quote 0
                    • 鲍
                      鲍永道 @guohuadengchina last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post