1
0
mirror of https://github.com/sasjs/server.git synced 2025-12-12 03:54:34 +00:00

fix(web): only admin should be able to add, update or delete permission

This commit is contained in:
2022-06-23 23:35:06 +05:00
parent f863b81a7d
commit be8635ccc5

View File

@@ -1,4 +1,4 @@
import React, { useState, useEffect } from 'react' import React, { useState, useEffect, useContext } from 'react'
import axios from 'axios' import axios from 'axios'
import { import {
Box, Box,
@@ -27,12 +27,14 @@ import AddPermissionModal from './addPermissionModal'
import UpdatePermissionModal from './updatePermissionModal' import UpdatePermissionModal from './updatePermissionModal'
import { PermissionResponse } from '../../utils/types' import { PermissionResponse } from '../../utils/types'
import { AppContext } from '../../context/appContext'
const BootstrapTableCell = styled(TableCell)({ const BootstrapTableCell = styled(TableCell)({
textAlign: 'left' textAlign: 'left'
}) })
const Permission = () => { const Permission = () => {
const appContext = useContext(AppContext)
const [isLoading, setIsLoading] = useState(false) const [isLoading, setIsLoading] = useState(false)
const [addPermissionModalOpen, setAddPermissionModalOpen] = useState(false) const [addPermissionModalOpen, setAddPermissionModalOpen] = useState(false)
const [updatePermissionModalOpen, setUpdatePermissionModalOpen] = const [updatePermissionModalOpen, setUpdatePermissionModalOpen] =
@@ -140,15 +142,17 @@ const Permission = () => {
<FilterListIcon onClick={() => setFilterModalOpen(true)} /> <FilterListIcon onClick={() => setFilterModalOpen(true)} />
</IconButton> </IconButton>
</Tooltip> </Tooltip>
<Tooltip {appContext.isAdmin && (
sx={{ marginLeft: 'auto' }} <Tooltip
title="Add Permission" sx={{ marginLeft: 'auto' }}
placement="bottom-end" title="Add Permission"
> placement="bottom-end"
<IconButton onClick={() => setAddPermissionModalOpen(true)}> >
<AddIcon /> <IconButton onClick={() => setAddPermissionModalOpen(true)}>
</IconButton> <AddIcon />
</Tooltip> </IconButton>
</Tooltip>
)}
</Paper> </Paper>
</Grid> </Grid>
<Grid item xs={12}> <Grid item xs={12}>
@@ -200,6 +204,8 @@ const PermissionTable = ({
permissions, permissions,
handleUpdatePermissionClick handleUpdatePermissionClick
}: PermissionTableProps) => { }: PermissionTableProps) => {
const appContext = useContext(AppContext)
return ( return (
<TableContainer component={Paper}> <TableContainer component={Paper}>
<Table sx={{ minWidth: 650 }}> <Table sx={{ minWidth: 650 }}>
@@ -208,7 +214,9 @@ const PermissionTable = ({
<BootstrapTableCell>Uri</BootstrapTableCell> <BootstrapTableCell>Uri</BootstrapTableCell>
<BootstrapTableCell>Principal</BootstrapTableCell> <BootstrapTableCell>Principal</BootstrapTableCell>
<BootstrapTableCell>Setting</BootstrapTableCell> <BootstrapTableCell>Setting</BootstrapTableCell>
<BootstrapTableCell>Action</BootstrapTableCell> {appContext.isAdmin && (
<BootstrapTableCell>Action</BootstrapTableCell>
)}
</TableRow> </TableRow>
</TableHead> </TableHead>
<TableBody> <TableBody>
@@ -219,20 +227,22 @@ const PermissionTable = ({
{displayPrincipal(permission)} {displayPrincipal(permission)}
</BootstrapTableCell> </BootstrapTableCell>
<BootstrapTableCell>{permission.setting}</BootstrapTableCell> <BootstrapTableCell>{permission.setting}</BootstrapTableCell>
<BootstrapTableCell> {appContext.isAdmin && (
<Tooltip title="Edit Permission"> <BootstrapTableCell>
<IconButton <Tooltip title="Edit Permission">
onClick={() => handleUpdatePermissionClick(permission)} <IconButton
> onClick={() => handleUpdatePermissionClick(permission)}
<EditIcon /> >
</IconButton> <EditIcon />
</Tooltip> </IconButton>
<Tooltip title="Delete Permission"> </Tooltip>
<IconButton color="error"> <Tooltip title="Delete Permission">
<DeleteForeverIcon /> <IconButton color="error">
</IconButton> <DeleteForeverIcon />
</Tooltip> </IconButton>
</BootstrapTableCell> </Tooltip>
</BootstrapTableCell>
)}
</TableRow> </TableRow>
))} ))}
</TableBody> </TableBody>