forked from Yaltik/golem
[IMP]GOLEM Member : allow more operators on search age
This commit is contained in:
parent
f695e36811
commit
301f88f537
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# Copyright 2016-2020 Fabien Bourgeois <fabien@yaltik.com>
|
# Copyright 2016-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||||
# Copyright 2018 Michel Dessenne <michel@yaltik.com>
|
# Copyright 2018 Michel Dessenne <michel@yaltik.com>
|
||||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||||
|
|
||||||
@ -21,7 +21,7 @@
|
|||||||
'name': 'GOLEM non-profit members',
|
'name': 'GOLEM non-profit members',
|
||||||
'summary': 'Extends Odoo contacts for MJC',
|
'summary': 'Extends Odoo contacts for MJC',
|
||||||
'description': 'Extends Odoo contacts for MJC',
|
'description': 'Extends Odoo contacts for MJC',
|
||||||
'version': '10.0.2.8.2',
|
'version': '10.0.2.8.3',
|
||||||
'category': 'GOLEM',
|
'category': 'GOLEM',
|
||||||
'author': 'Fabien Bourgeois, Michel Dessenne',
|
'author': 'Fabien Bourgeois, Michel Dessenne',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright 2016-2019 Fabien Bourgeois <fabien@yaltik.com>
|
# Copyright 2016-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
@ -103,14 +103,30 @@ class ResPartner(models.Model):
|
|||||||
|
|
||||||
def _search_age(self, operator, value):
|
def _search_age(self, operator, value):
|
||||||
""" Age search function """
|
""" Age search function """
|
||||||
if operator != '=':
|
if operator not in ('=', '!=', '<', '<=', '>', '>='):
|
||||||
err = _('Unsupported operator for age search')
|
err = _('Unsupported operator for age search')
|
||||||
raise NotImplementedError(err)
|
raise NotImplementedError(err)
|
||||||
today = date.today()
|
today = date.today()
|
||||||
min_birthdate_date = today - timedelta(days=365.25 * value)
|
birthdate_date = today - timedelta(days=365.25 * value)
|
||||||
max_birthdate_date = today - timedelta(days=365.25 * (value + 1))
|
if operator in ('=', '!='):
|
||||||
return ['&', ('birthdate_date', '>', max_birthdate_date),
|
birthdate_date = today - timedelta(days=365.25 * value)
|
||||||
('birthdate_date', '<=', min_birthdate_date)]
|
max_birthdate_date = today - timedelta(days=365.25 * (value + 1))
|
||||||
|
if operator == '=':
|
||||||
|
return ['&', ('birthdate_date', '>', max_birthdate_date),
|
||||||
|
('birthdate_date', '<=', birthdate_date)]
|
||||||
|
else:
|
||||||
|
return ['|', ('birthdate_date', '<=', max_birthdate_date),
|
||||||
|
('birthdate_date', '>', birthdate_date)]
|
||||||
|
else:
|
||||||
|
if operator == '>':
|
||||||
|
operator = '<'
|
||||||
|
elif operator == '>=':
|
||||||
|
operator = '<='
|
||||||
|
elif operator == '<':
|
||||||
|
operator = '>'
|
||||||
|
else:
|
||||||
|
operator = '>='
|
||||||
|
return [('birthdate_date', operator, birthdate_date)]
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _get_default_nationality_id(self):
|
def _get_default_nationality_id(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user