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