diff --git a/apps/serializers.py b/apps/serializers.py index 89d3a5df45e..d03ae61ff4c 100644 --- a/apps/serializers.py +++ b/apps/serializers.py @@ -114,6 +114,7 @@ class Meta: last_modified_by_email = serializers.SerializerMethodField() template = serializers.SerializerMethodField() visibility = serializers.SerializerMethodField() + has_live_version = serializers.SerializerMethodField() def get_logo(self, obj): profile = Profile.objects.get(user=obj.owner) @@ -142,6 +143,12 @@ def get_data(self, obj): if app_data: return app_data.data return None + + def get_has_live_version(self, obj): + app_datas = AppData.objects.filter( + app_uuid=obj.uuid, is_draft=False).first() + return app_datas is not None + def get_app_type_name(self, obj): return obj.type.name @@ -237,7 +244,7 @@ class Meta: 'logo', 'is_shareable', 'has_footer', 'domain', 'visibility', 'accessible_by', 'access_permission', 'last_modified_by_email', 'owner_email', 'web_config', 'slack_config', 'discord_config', 'app_type_name', 'processors', 'template', - 'read_accessible_by', 'write_accessible_by' + 'read_accessible_by', 'write_accessible_by', 'has_live_version' ] diff --git a/client/src/pages/AppEdit.jsx b/client/src/pages/AppEdit.jsx index f064eb4723b..eb18cb80829 100644 --- a/client/src/pages/AppEdit.jsx +++ b/client/src/pages/AppEdit.jsx @@ -21,6 +21,7 @@ import { Paper, Stack, SvgIcon, + Tooltip, } from "@mui/material"; import ChangeHistoryIcon from "@mui/icons-material/ChangeHistory"; import EditIcon from "@mui/icons-material/Edit"; @@ -401,27 +402,44 @@ export default function AppEditPage(props) { app={app} setIsPublished={setIsPublished} /> + {appId && app && ( - + + + + )}