CEC-4126-update-manifest-migrate-button (#320)

* CEC-4126-update-manifest-migrate-button

* remove comment

---------

Co-authored-by: John Wu <76966357+jwu-fisker@users.noreply.github.com>
This commit is contained in:
das31
2023-04-25 17:36:25 -04:00
committed by GitHub
parent 7b061c0282
commit e0315ba76e
11 changed files with 73 additions and 2 deletions

View File

@@ -7,6 +7,8 @@ import { ManifestsProvider, useManifestsContext } from "../../Contexts/Manifests
import { useStatusContext } from "../../Contexts/StatusContext";
import { useUserContext } from "../../Contexts/UserContext";
import { DropDownList } from "../../Controls/DropDownList";
import { RoleWrap } from "../../Controls/RoleWrap";
import { Permissions } from "../../../utils/roles";
import useStyles from "../../useStyles";
const manifestTypes = [
@@ -37,11 +39,13 @@ const MainForm = () => {
const [manifest, setManifest] = useState(null);
const [redirect, setRedirect] = useState(null);
const { getManifest, busy, updateManifest } = useManifestsContext();
const { getManifest, busy, migrateManifest, updateManifest } = useManifestsContext();
const {
token: {
idToken: { jwtToken: token },
},
groups,
providers,
} = useUserContext();
const { setMessage, setTitle, setSitePath } = useStatusContext();
@@ -86,6 +90,17 @@ const MainForm = () => {
}
}
const manifestMigrate = async (e) => {
e.preventDefault();
try{
const result = await migrateManifest(manifest_id, token)
if (!result || result.error) return;
setMessage(`Manifest Migrated ${manifest_id}`)
} catch(e) {
setMessage(`Failed to update manifest ${manifest_id}`)
}
}
useEffect(() => {
(async () => {
try {
@@ -179,6 +194,24 @@ const MainForm = () => {
>
{busy ? "Updating..." : "Update"}
</Button>
<RoleWrap
groups={groups}
providers={providers}
rolesPerProvider={Permissions.ManifestMigration}
>
<Button
type="button"
aria-label="migrate manifest"
disabled={busy || manifest == null}
fullWidth
variant="contained"
color="secondary"
className={classes.submit}
onClick={manifestMigrate}
>
{busy ? "Migrating..." : "Migrate"}
</Button>
</RoleWrap>
</FormControl>
</div>
@@ -191,4 +224,4 @@ const ManifestUpdate = () => (
</ManifestsProvider>
);
export default ManifestUpdate;
export default ManifestUpdate;