diff --git a/apps/orgs/caches.py b/apps/orgs/caches.py index 6b73c43b8..0a665c130 100644 --- a/apps/orgs/caches.py +++ b/apps/orgs/caches.py @@ -113,12 +113,15 @@ class OrgResourceStatisticsCache(OrgRelatedCache): def compute_total_count_online_sessions(): return Session.objects.filter(is_finished=False).count() - @staticmethod - def compute_total_count_today_login_users(): + def compute_total_count_today_login_users(self): t = local_zero_hour() - return UserLoginLog.objects.filter( + user_login_logs = UserLoginLog.objects.filter( datetime__gte=t, status=LoginStatusChoices.success - ).values('username').distinct().count() + ) + if not self.org.is_root(): + usernames = self.org.get_members().values('username') + user_login_logs = user_login_logs.filter(username__in=usernames) + return user_login_logs.values('username').distinct().count() @staticmethod def compute_total_count_today_active_assets(): diff --git a/apps/orgs/signal_handlers/cache.py b/apps/orgs/signal_handlers/cache.py index 9d3ce5c85..27947c2d2 100644 --- a/apps/orgs/signal_handlers/cache.py +++ b/apps/orgs/signal_handlers/cache.py @@ -79,7 +79,6 @@ class OrgResourceStatisticsRefreshUtil: Domain: ['domains_amount'], UserGroup: ['groups_amount'], Account: ['accounts_amount'], - UserLoginLog: ['total_count_today_login_users'], RoleBinding: ['users_amount', 'new_users_amount_this_week'], Asset: ['assets_amount', 'new_assets_amount_this_week'], AssetPermission: ['asset_perms_amount'],