2020-12-15 22:50:09 +00:00
|
|
|
import {
|
|
|
|
Button,
|
|
|
|
Wizard,
|
|
|
|
WizardContextConsumer,
|
|
|
|
WizardFooter,
|
|
|
|
} from "@patternfly/react-core";
|
|
|
|
import React from "react";
|
2021-01-04 21:33:18 +00:00
|
|
|
import { LdapSettingsGeneral } from "./ldap/LdapSettingsGeneral";
|
|
|
|
import { LdapSettingsConnection } from "./ldap/LdapSettingsConnection";
|
|
|
|
import { LdapSettingsSearching } from "./ldap/LdapSettingsSearching";
|
|
|
|
import { LdapSettingsSynchronization } from "./ldap/LdapSettingsSynchronization";
|
|
|
|
import { LdapSettingsKerberosIntegration } from "./ldap/LdapSettingsKerberosIntegration";
|
|
|
|
import { LdapSettingsCache } from "./ldap/LdapSettingsCache";
|
|
|
|
import { LdapSettingsAdvanced } from "./ldap/LdapSettingsAdvanced";
|
|
|
|
import { useTranslation } from "react-i18next";
|
2020-12-15 22:50:09 +00:00
|
|
|
|
|
|
|
export const UserFederationLdapWizard = () => {
|
|
|
|
const { t } = useTranslation("user-federation");
|
2021-01-04 21:33:18 +00:00
|
|
|
const helpText = useTranslation("user-federation-help").t;
|
2020-12-15 22:50:09 +00:00
|
|
|
|
|
|
|
const steps = [
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("requiredSettings"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapRequiredSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsGeneral showSectionHeading showSectionDescription />
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("connectionAndAuthenticationSettings"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapConnectionSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsConnection showSectionHeading showSectionDescription />
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("ldapSearchingAndUpdatingSettings"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapSearchingSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsSearching showSectionHeading showSectionDescription />
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("synchronizationSettings"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapSynchronizationSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsSynchronization
|
|
|
|
showSectionHeading
|
|
|
|
showSectionDescription
|
|
|
|
/>
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("kerberosIntegration"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapKerberosIntegrationSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsKerberosIntegration
|
|
|
|
showSectionHeading
|
|
|
|
showSectionDescription
|
|
|
|
/>
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("cacheSettings"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapCacheSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsCache showSectionHeading showSectionDescription />
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
{
|
2021-01-04 21:33:18 +00:00
|
|
|
name: t("advancedSettings"),
|
2020-12-15 22:50:09 +00:00
|
|
|
id: "ldapAdvancedSettingsStep",
|
2021-01-04 21:33:18 +00:00
|
|
|
component: (
|
|
|
|
<LdapSettingsAdvanced showSectionHeading showSectionDescription />
|
|
|
|
),
|
2020-12-15 22:50:09 +00:00
|
|
|
},
|
|
|
|
];
|
|
|
|
|
2021-01-04 21:33:18 +00:00
|
|
|
const title = t("addLdapWizardTitle");
|
|
|
|
const description = helpText("addLdapWizardDescription");
|
2020-12-15 22:50:09 +00:00
|
|
|
|
|
|
|
const footer = (
|
|
|
|
<WizardFooter>
|
|
|
|
<WizardContextConsumer>
|
2021-01-04 21:33:18 +00:00
|
|
|
{({ activeStep, onNext, onBack, onClose }) => {
|
2020-12-15 22:50:09 +00:00
|
|
|
// First step buttons
|
|
|
|
if (activeStep.id == "ldapRequiredSettingsStep") {
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Button variant="primary" type="submit" onClick={onNext}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:next")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
<Button
|
|
|
|
variant="secondary"
|
|
|
|
onClick={onBack}
|
|
|
|
className="pf-m-disabled"
|
|
|
|
>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:back")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
<Button variant="link" onClick={onClose}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:cancel")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
// Other required step buttons
|
|
|
|
else if (
|
|
|
|
activeStep.id == "ldapConnectionSettingsStep" ||
|
|
|
|
activeStep.id == "ldapSearchingSettingsStep"
|
|
|
|
) {
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Button variant="primary" type="submit" onClick={onNext}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:next")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
<Button variant="secondary" onClick={onBack}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:back")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
<Button variant="link" onClick={onClose}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:cancel")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
// Last step buttons
|
|
|
|
else if (activeStep.id == "ldapAdvancedSettingsStep") {
|
|
|
|
return (
|
|
|
|
<>
|
2021-01-05 14:43:01 +00:00
|
|
|
<Button
|
|
|
|
onClick={() => {}} //TODO: close the wizard and finish
|
|
|
|
>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:finish")}
|
|
|
|
</Button>
|
2020-12-15 22:50:09 +00:00
|
|
|
<Button variant="secondary" onClick={onBack}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:back")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
<Button variant="link" onClick={onClose}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:cancel")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
// All the other steps buttons
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Button onClick={onNext}>Next</Button>
|
|
|
|
<Button variant="secondary" onClick={onBack}>
|
|
|
|
Back
|
|
|
|
</Button>
|
|
|
|
<Button
|
|
|
|
variant="link"
|
2021-01-04 21:33:18 +00:00
|
|
|
onClick={() => {}} //TODO: validate last step and finish
|
2020-12-15 22:50:09 +00:00
|
|
|
>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:skipCustomizationAndFinish")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
<Button variant="link" onClick={onClose}>
|
2021-01-04 21:33:18 +00:00
|
|
|
{t("common:cancel")}
|
2020-12-15 22:50:09 +00:00
|
|
|
</Button>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}}
|
|
|
|
</WizardContextConsumer>
|
|
|
|
</WizardFooter>
|
|
|
|
);
|
|
|
|
|
|
|
|
return (
|
|
|
|
<Wizard
|
|
|
|
title={title}
|
2021-01-04 21:33:18 +00:00
|
|
|
description={description}
|
2020-12-15 22:50:09 +00:00
|
|
|
height="100%"
|
|
|
|
steps={steps}
|
|
|
|
footer={footer}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
};
|