有时候在前端我们需要提取一些和用户身份有关的数据,但是系统默认的又没有,这时候就需要扩展
xxxxxxxxxx
19
1
from odoo.http import request
2
from odoo import models
3
4
5
class Http(models.AbstractModel):
6
_inherit = 'ir.http'
7
8
def session_info(self):
9
user = request.env.user
10
allowed_projects = self.env['pmbc.project.management'].sudo().search([('status', '!=', 'review')])
11
session_info = super().session_info()
12
session_info['project_id'] = user.current_project_id.id if request.session.uid else None
13
session_info['user_projects'] = {
14
'current_project': (user.current_project_id.id, user.current_project_id.name),
15
'allowed_projects': [(project.id, project.name) for project in allowed_projects]
16
}
17
session_info['department_names'] = user.department_ids.mapped('name')
18
session_info['user_approval_dep_name'] = user.approval_dep_id.name
19
return session_info
已复制
这个时候我们就可以在前端的js文件中调用获取到自己定的信息
xxxxxxxxxx
2
1
var session = require('web.session');
2
// 去session里面取数据就行,数据会在每次刷新页面时更新
已复制