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

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

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

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

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



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



  • 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;



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



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



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



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



  • 好的,谢谢。我联系他。



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



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


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待