获取Odoo中日志用户的员工ID - 8

时间:2016-02-03 01:57:29

标签: openerp odoo-8

美好的一天我在过滤Odoo 8 Field时遇到了问题 我只想选择Log User的Employee id,我只需在我的XML中添加它

<field name="employee_id" style = "width:500px" domain = "[('id', '=', user.id.employee_id.id)]" options="{'no_create': True}"/>

但我说错误

未捕获错误:NameError:name&#39; user&#39;没有定义。

是否有正确的方法在Odoo 8中获取日志用户的员工ID?

3 个答案:

答案 0 :(得分:5)

要获取已登录用户的员工,请执行以下操作:

NSURL *videoURl = [NSURL fileURLWithPath:mPath];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURl options:nil];
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generate.appliesPreferredTrackTransform = YES;
NSError *err = NULL;
CMTime time = CMTimeMake(1, 60);
CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err];
UIImage *img = [[UIImage alloc] initWithCGImage:imgRef];
[m_videoFrames addObject:img];
CMTime duration = [asset duration];
int seconds = ceil(duration.value/duration.timescale);

当然将它放在域中并不容易,因此也许您可以使用存储的计算字段将员工的user_id保存在表中,然后您可以这样编写域:

resource = self.env['resource.resource'].search([('user_id','=',self.env.user.id)])
employee = self.env['hr.employee'].search([('resource_id','=',resource.id)])

答案 1 :(得分:2)

您可以尝试使用以下域名:

替换您的代码

[('id', '=', user.id.employee_id.id)]

[('employee_id.user_id','=',user.id)]

这将过滤员工的用户。基于记录用户,它过滤员工的用户。

答案 2 :(得分:0)

可以用更简单的方式完成。 试试这个 .py文件

employee_id = fields.Many2one('hr.employee', string=u"Employé", readonly=True, store=True, default=_employee_get)

def _employee_get(self):
    record = self.env['hr.employee'].search([('user_id', '=', self.env.user.login)]) 
    return record[0]