diff --git a/apps/accounts/templates/accounts/push_account_report.html b/apps/accounts/templates/accounts/push_account_report.html
index 9a672f8d1..6f723b950 100644
--- a/apps/accounts/templates/accounts/push_account_report.html
+++ b/apps/accounts/templates/accounts/push_account_report.html
@@ -5,7 +5,9 @@
@@ -122,193 +124,5 @@
diff --git a/apps/assets/automations/base/manager.py b/apps/assets/automations/base/manager.py
index a8d630f57..2e5e96de5 100644
--- a/apps/assets/automations/base/manager.py
+++ b/apps/assets/automations/base/manager.py
@@ -134,12 +134,21 @@ class BaseManager:
return f"Automation {self.execution.id} finished"
def get_report_context(self):
+ logo = self.get_file_content("static/img/JumpServer_white_logo.svg")
return {
"execution": self.execution,
"summary": self.execution.summary,
"result": self.execution.result,
+ "logo": logo,
}
+ @staticmethod
+ def get_file_content(path):
+ file_path = os.path.join(settings.BASE_DIR, path)
+ with open(file_path, "r", encoding="utf-8") as f:
+ file_content = f.read()
+ return file_content
+
def send_report_if_need(self):
recipients = self.execution.recipients
if not recipients:
@@ -147,7 +156,7 @@ class BaseManager:
print("Send report to: ", ",".join([str(u) for u in recipients]))
report = self.gen_report()
- report = transform(report)
+ report = transform(report, cssutils_logging_level="CRITICAL")
subject = self.get_report_subject()
emails = [r.email for r in recipients if r.email]
send_mail_async(subject, report, emails, html_message=report)
diff --git a/apps/perms/api/user_permission/assets.py b/apps/perms/api/user_permission/assets.py
index bdbbc58dd..dadd3f1f1 100644
--- a/apps/perms/api/user_permission/assets.py
+++ b/apps/perms/api/user_permission/assets.py
@@ -76,6 +76,9 @@ class UserAllPermedAssetsApi(BaseUserPermedAssetsApi):
pagination_class = AllPermedAssetPagination
def get_assets(self):
+ if self.user.is_superuser and self.request.query_params.get('id'):
+ return Asset.objects.filter(id=self.request.query_params.get('id'))
+
node_id = self.request.query_params.get('node_id')
if is_uuid(node_id):
__, assets = self.query_asset_util.get_node_all_assets(node_id)
diff --git a/apps/users/filters.py b/apps/users/filters.py
index 0d45b989f..1c7b01c5a 100644
--- a/apps/users/filters.py
+++ b/apps/users/filters.py
@@ -1,3 +1,4 @@
+from django.conf import settings
from django.db.models import Q
from django.utils import timezone
from django.utils.translation import gettext as _
@@ -5,7 +6,6 @@ from django_filters import rest_framework as filters
from common.drf.filters import BaseFilterSet
from common.utils import is_uuid
-from jumpserver import settings
from rbac.models import Role, OrgRoleBinding, SystemRoleBinding
from users.models.user import User
@@ -30,7 +30,7 @@ class UserFilter(BaseFilterSet):
'id', 'username', 'email', 'name',
'groups', 'group_id', 'exclude_group_id',
'source', 'org_roles', 'system_roles',
- 'is_active', 'is_first_login',
+ 'is_active', 'is_first_login', 'mfa_level'
)
def filter_is_blocked(self, queryset, name, value):