En: The developed function is filtering the groups well, but it’s not returning only the cases within the past 24 hours. I want it to hide all cases that have passed beyond the 24-hour mark. Could you adjust that?
PT: O filtro que desenvolvi para os grupos está funcionando bem, exceto por um detalhe: ele não está retornando apenas os casos que ocorreram nas últimas 24 horas. Gostaria que ele ocultasse todos os casos que já passaram desse período. Poderia ajustar isso?
<code> _logger = logging.getLogger(__name__)
@api.model
def cases_records_hide(self):
_logger.info("A função cases_records_hide() foi chamada com sucesso.")
# Encontre registros criados há mais de 24 horas
records_to_hide = self.env['linhaverde.case'].search([
('datetime_created', '<', datetime.now() - timedelta(hours=24))
])
_logger.info(f"Encontrados {len(records_to_hide)} registros para esconder.")
# Log dos IDs dos registros que serão ocultados
_logger.info(f"IDs dos registros a serem ocultados: {records_to_hide.ids}")
# Get the current user
current_user = self.env.user
# Log do nome do usuário e dos grupos aos quais ele pertence
_logger.info(f"Nome do usuário: {current_user.name}")
_logger.info(f"Grupos do usuário: {current_user.groups_id.mapped('name')}")
# Check if the user is in the specified groups
if current_user.has_group('linhaverde_odoo.group_linhaverde_focal_point') or
current_user.has_group('linhaverde_odoo.group_linhaverde_operator') or
current_user.has_group('linhaverde_odoo.group_linhaverde_partner'):
# Usuários em 'linhaverde_focal_point', 'linhaverde_operator' ou 'linhaverde_partner' não podem ver os casos que passaram de 24h
_logger.info("Permissão de leitura removida dos registros com sucesso.")
return [('id', 'not in', records_to_hide.ids)]
else:
# Outros usuários podem ver todos os casos
_logger.info("Usuário não está em grupos específicos. Retornando todos os registros.")
return []
_logger.info("Permissão de leitura removida dos registros com sucesso.")
</code>
<code> _logger = logging.getLogger(__name__)
@api.model
def cases_records_hide(self):
_logger.info("A função cases_records_hide() foi chamada com sucesso.")
# Encontre registros criados há mais de 24 horas
records_to_hide = self.env['linhaverde.case'].search([
('datetime_created', '<', datetime.now() - timedelta(hours=24))
])
_logger.info(f"Encontrados {len(records_to_hide)} registros para esconder.")
# Log dos IDs dos registros que serão ocultados
_logger.info(f"IDs dos registros a serem ocultados: {records_to_hide.ids}")
# Get the current user
current_user = self.env.user
# Log do nome do usuário e dos grupos aos quais ele pertence
_logger.info(f"Nome do usuário: {current_user.name}")
_logger.info(f"Grupos do usuário: {current_user.groups_id.mapped('name')}")
# Check if the user is in the specified groups
if current_user.has_group('linhaverde_odoo.group_linhaverde_focal_point') or
current_user.has_group('linhaverde_odoo.group_linhaverde_operator') or
current_user.has_group('linhaverde_odoo.group_linhaverde_partner'):
# Usuários em 'linhaverde_focal_point', 'linhaverde_operator' ou 'linhaverde_partner' não podem ver os casos que passaram de 24h
_logger.info("Permissão de leitura removida dos registros com sucesso.")
return [('id', 'not in', records_to_hide.ids)]
else:
# Outros usuários podem ver todos os casos
_logger.info("Usuário não está em grupos específicos. Retornando todos os registros.")
return []
_logger.info("Permissão de leitura removida dos registros com sucesso.")
</code>
_logger = logging.getLogger(__name__)
@api.model
def cases_records_hide(self):
_logger.info("A função cases_records_hide() foi chamada com sucesso.")
# Encontre registros criados há mais de 24 horas
records_to_hide = self.env['linhaverde.case'].search([
('datetime_created', '<', datetime.now() - timedelta(hours=24))
])
_logger.info(f"Encontrados {len(records_to_hide)} registros para esconder.")
# Log dos IDs dos registros que serão ocultados
_logger.info(f"IDs dos registros a serem ocultados: {records_to_hide.ids}")
# Get the current user
current_user = self.env.user
# Log do nome do usuário e dos grupos aos quais ele pertence
_logger.info(f"Nome do usuário: {current_user.name}")
_logger.info(f"Grupos do usuário: {current_user.groups_id.mapped('name')}")
# Check if the user is in the specified groups
if current_user.has_group('linhaverde_odoo.group_linhaverde_focal_point') or
current_user.has_group('linhaverde_odoo.group_linhaverde_operator') or
current_user.has_group('linhaverde_odoo.group_linhaverde_partner'):
# Usuários em 'linhaverde_focal_point', 'linhaverde_operator' ou 'linhaverde_partner' não podem ver os casos que passaram de 24h
_logger.info("Permissão de leitura removida dos registros com sucesso.")
return [('id', 'not in', records_to_hide.ids)]
else:
# Outros usuários podem ver todos os casos
_logger.info("Usuário não está em grupos específicos. Retornando todos os registros.")
return []
_logger.info("Permissão de leitura removida dos registros com sucesso.")