diff --git a/changes/21796-fix-vpp-self-service-checkbox b/changes/21796-fix-vpp-self-service-checkbox
new file mode 100644
index 0000000000..6ec7e46db9
--- /dev/null
+++ b/changes/21796-fix-vpp-self-service-checkbox
@@ -0,0 +1 @@
+- Fixed self-service checkbox appearing when iOS or iPadOS app is selected.
diff --git a/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx b/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx
index ffde9220a2..12664495fe 100644
--- a/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx
+++ b/frontend/pages/SoftwarePage/components/AppStoreVpp/AppStoreVpp.tsx
@@ -177,6 +177,9 @@ const AppStoreVpp = ({
const onSelectApp = (app: IVppApp) => {
setIsSubmitDisabled(false);
setSelectedApp(app);
+ if (app.platform === "ios" || app.platform === "ipados") {
+ setIsSelfService(false);
+ }
};
const onAddSoftware = async () => {
@@ -209,6 +212,27 @@ const AppStoreVpp = ({
onExit();
};
+ const renderSelfServiceContent = (platform: string) => {
+ if (platform !== "ios" && platform !== "ipados") {
+ return (
+ setIsSelfService(newVal)}
+ className={`${baseClass}__self-service-checkbox`}
+ tooltipContent={
+ <>
+ End users can install from Fleet Desktop {">"}{" "}
+ Self-service.
+ >
+ }
+ >
+ Self-service
+
+ );
+ }
+ return null;
+ };
+
const renderContent = () => {
if (isLoadingVppInfo || isLoadingVppApps) {
return ;
@@ -238,19 +262,9 @@ const AppStoreVpp = ({
apps, head to{" "}
- setIsSelfService(newVal)}
- className={`${baseClass}__self-service-checkbox`}
- tooltipContent={
- <>
- End users can install from Fleet Desktop {">"}{" "}
- Self-service.
- >
- }
- >
- Self-service
-
+ {renderSelfServiceContent(
+ (selectedApp && selectedApp.platform) || ""
+ )}
);
}
diff --git a/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx b/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx
index 76c131769f..8d8c5a171d 100644
--- a/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx
+++ b/frontend/pages/SoftwarePage/components/AppStoreVpp/helpers.tsx
@@ -35,13 +35,15 @@ const generateAlreadyAvailableMessage = (msg: string) => {
// eslint-disable-next-line import/prefer-default-export
export const getErrorMessage = (e: unknown) => {
- const reason = getErrorReason(e);
-
+ let reason = getErrorReason(e);
// software is already available for install
if (reason.toLowerCase().includes("already")) {
return generateAlreadyAvailableMessage(reason);
}
- return DEFAULT_ERROR_MESSAGE;
+ if (reason && !reason.endsWith(".")) {
+ reason += ".";
+ }
+ return reason || DEFAULT_ERROR_MESSAGE;
};
export const getUniqueAppId = (app: IVppApp) =>