mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-04-28 03:21:12 +00:00
fix: Account filter error
This commit is contained in:
parent
e0d6b843ee
commit
e5a5d5f727
@ -180,6 +180,13 @@ class BaseChangeSecretPushManager(AccountBasePlaybookManager):
|
||||
recorder.status = ChangeSecretRecordStatusChoice.failed.value
|
||||
recorder.date_finished = timezone.now()
|
||||
recorder.error = error
|
||||
account = recorder.account
|
||||
if not account:
|
||||
print("Account not found, deleted ?")
|
||||
return
|
||||
account.date_updated = timezone.now()
|
||||
account.date_change_secret = timezone.now()
|
||||
account.change_secret_status = ChangeSecretRecordStatusChoice.failed
|
||||
|
||||
self.summary['fail_accounts'] += 1
|
||||
self.result['fail_accounts'].append(
|
||||
@ -191,4 +198,5 @@ class BaseChangeSecretPushManager(AccountBasePlaybookManager):
|
||||
super().on_host_error(host, error, result)
|
||||
|
||||
with safe_db_connection():
|
||||
account.save(update_fields=['change_secret_status', 'date_change_secret', 'date_updated'])
|
||||
self.save_record(recorder)
|
||||
|
@ -68,6 +68,7 @@ class AccountFilterSet(BaseFilterSet):
|
||||
risk = drf_filters.CharFilter(method="filter_risk")
|
||||
integrationapplication = drf_filters.CharFilter(method="filter_integrationapplication")
|
||||
long_time_no_change_secret = drf_filters.BooleanFilter(method="filter_long_time")
|
||||
long_time_no_login = drf_filters.BooleanFilter(method="filter_long_time")
|
||||
long_time_no_verified = drf_filters.BooleanFilter(method="filter_long_time")
|
||||
|
||||
@staticmethod
|
||||
@ -85,12 +86,15 @@ class AccountFilterSet(BaseFilterSet):
|
||||
if name == "long_time_no_change_secret":
|
||||
field = "date_change_secret"
|
||||
confirm_field = "change_secret_status"
|
||||
elif name == "long_time_no_login":
|
||||
field = "date_last_login"
|
||||
confirm_field = None
|
||||
else:
|
||||
field = "date_verified"
|
||||
confirm_field = "connectivity"
|
||||
|
||||
q = Q(**{f"{field}__lt": date}) | Q(**{f"{field}__isnull": True})
|
||||
confirm_q = {f"{confirm_field}": "na"}
|
||||
confirm_q = {f"{confirm_field}": "na"} if confirm_field else {}
|
||||
queryset = queryset.exclude(**confirm_q).filter(q)
|
||||
return queryset
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user