first commit
This commit is contained in:
55
modules/web_user/ir.py
Normal file
55
modules/web_user/ir.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.tools import escape_wildcard
|
||||
|
||||
|
||||
class Email(metaclass=PoolMeta):
|
||||
__name__ = 'ir.email'
|
||||
|
||||
@classmethod
|
||||
def _match(cls, name, email):
|
||||
pool = Pool()
|
||||
User = pool.get('web.user')
|
||||
yield from super()._match(name, email)
|
||||
domain = ['OR']
|
||||
for field in ['party.name', 'email']:
|
||||
for value in [name, email]:
|
||||
if value and len(value) >= 3:
|
||||
domain.append(
|
||||
(field, 'ilike', '%' + escape_wildcard(value) + '%'))
|
||||
for user in User.search([
|
||||
('email', '!=', ''),
|
||||
domain,
|
||||
], order=[]):
|
||||
yield user.party.name if user.party else '', user.email
|
||||
|
||||
|
||||
class EmailTemplate(metaclass=PoolMeta):
|
||||
__name__ = 'ir.email.template'
|
||||
|
||||
@classmethod
|
||||
def email_models(cls):
|
||||
return super().email_models() + ['web.user']
|
||||
|
||||
@classmethod
|
||||
def _get_address(cls, record):
|
||||
pool = Pool()
|
||||
User = pool.get('web.user')
|
||||
address = super()._get_address(record)
|
||||
if isinstance(record, User):
|
||||
name = None
|
||||
if record.party:
|
||||
name = record.party.name
|
||||
address = (name, record.email)
|
||||
return address
|
||||
|
||||
@classmethod
|
||||
def _get_language(cls, record):
|
||||
pool = Pool()
|
||||
User = pool.get('web.user')
|
||||
language = super()._get_language(record)
|
||||
if isinstance(record, User):
|
||||
if record.party:
|
||||
language = cls._get_language(record.party)
|
||||
return language
|
||||
Reference in New Issue
Block a user