@@ -62,7 +62,7 @@ const ChangePassword = ({
|
|||||||
const changePassword = (event: React.FormEvent) => {
|
const changePassword = (event: React.FormEvent) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
if (newPassword != reNewPassword) {
|
if (newPassword !== reNewPassword) {
|
||||||
setError("New passwords don't match");
|
setError("New passwords don't match");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ const ListObjects = ({
|
|||||||
xhr.open("POST", uploadUrl, true);
|
xhr.open("POST", uploadUrl, true);
|
||||||
|
|
||||||
xhr.withCredentials = false;
|
xhr.withCredentials = false;
|
||||||
xhr.onload = function(event) {
|
xhr.onload = function (event) {
|
||||||
// TODO: handle status
|
// TODO: handle status
|
||||||
if (xhr.status === 401 || xhr.status === 403) {
|
if (xhr.status === 401 || xhr.status === 403) {
|
||||||
showSnackBarMessage("An error occurred while uploading the file.");
|
showSnackBarMessage("An error occurred while uploading the file.");
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
// You should have received a copy of the GNU Affero General Public License
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useCallback, useEffect, useState } from "react";
|
||||||
import get from "lodash/get";
|
import get from "lodash/get";
|
||||||
import { createStyles, Theme, withStyles } from "@material-ui/core/styles";
|
import { createStyles, Theme, withStyles } from "@material-ui/core/styles";
|
||||||
import Paper from "@material-ui/core/Paper";
|
import Paper from "@material-ui/core/Paper";
|
||||||
@@ -211,7 +211,6 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
const [loadingEvents, setLoadingEvents] = useState<boolean>(true);
|
const [loadingEvents, setLoadingEvents] = useState<boolean>(true);
|
||||||
const [loadingSize, setLoadingSize] = useState<boolean>(true);
|
const [loadingSize, setLoadingSize] = useState<boolean>(true);
|
||||||
const [error, setError] = useState<string>("");
|
const [error, setError] = useState<string>("");
|
||||||
const [deleteError, setDeleteError] = useState<string>("");
|
|
||||||
const [errBucket, setErrBucket] = useState<string>("");
|
const [errBucket, setErrBucket] = useState<string>("");
|
||||||
const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] = useState<boolean>(
|
const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] = useState<boolean>(
|
||||||
false
|
false
|
||||||
@@ -223,11 +222,9 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
setEnableEncryptionScreenOpen,
|
setEnableEncryptionScreenOpen,
|
||||||
] = useState<boolean>(false);
|
] = useState<boolean>(false);
|
||||||
const [deleteOpen, setDeleteOpen] = useState<boolean>(false);
|
const [deleteOpen, setDeleteOpen] = useState<boolean>(false);
|
||||||
const [selectedBucket, setSelectedBucket] = useState<string>("");
|
|
||||||
const [selectedEvent, setSelectedEvent] = useState<BucketEvent | null>(null);
|
const [selectedEvent, setSelectedEvent] = useState<BucketEvent | null>(null);
|
||||||
const [bucketSize, setBucketSize] = useState<string>("0");
|
const [bucketSize, setBucketSize] = useState<string>("0");
|
||||||
const [errorSize, setErrorSize] = useState<string>("");
|
const [errorSize, setErrorSize] = useState<string>("");
|
||||||
const [replicationSet, setReplicationSet] = useState<boolean>(false);
|
|
||||||
const [openSetReplication, setOpenSetReplication] = useState<boolean>(false);
|
const [openSetReplication, setOpenSetReplication] = useState<boolean>(false);
|
||||||
const [isVersioned, setIsVersioned] = useState<boolean>(false);
|
const [isVersioned, setIsVersioned] = useState<boolean>(false);
|
||||||
const [encryptionEnabled, setEncryptionEnabled] = useState<boolean>(false);
|
const [encryptionEnabled, setEncryptionEnabled] = useState<boolean>(false);
|
||||||
@@ -268,7 +265,7 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchBucketsSize = () => {
|
const fetchBucketsSize = useCallback(() => {
|
||||||
const bucketName = match.params["bucketName"];
|
const bucketName = match.params["bucketName"];
|
||||||
setLoadingSize(true);
|
setLoadingSize(true);
|
||||||
api
|
api
|
||||||
@@ -290,9 +287,9 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
setLoadingSize(false);
|
setLoadingSize(false);
|
||||||
setErrorSize(err);
|
setErrorSize(err);
|
||||||
});
|
});
|
||||||
};
|
}, []);
|
||||||
|
|
||||||
const loadInfo = () => {
|
const loadInfo = useCallback(() => {
|
||||||
const bucketName = match.params["bucketName"];
|
const bucketName = match.params["bucketName"];
|
||||||
setLoadingBucket(true);
|
setLoadingBucket(true);
|
||||||
|
|
||||||
@@ -306,7 +303,7 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
setLoadingBucket(false);
|
setLoadingBucket(false);
|
||||||
setErrBucket(err);
|
setErrBucket(err);
|
||||||
});
|
});
|
||||||
};
|
}, [match]);
|
||||||
|
|
||||||
const fetchBucketEncryptionInfo = () => {
|
const fetchBucketEncryptionInfo = () => {
|
||||||
const bucketName = match.params["bucketName"];
|
const bucketName = match.params["bucketName"];
|
||||||
@@ -339,7 +336,7 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
fetchEvents();
|
fetchEvents();
|
||||||
fetchBucketsSize();
|
fetchBucketsSize();
|
||||||
fetchBucketEncryptionInfo();
|
fetchBucketEncryptionInfo();
|
||||||
}, []);
|
}, [loadInfo]);
|
||||||
|
|
||||||
const bucketName = match.params["bucketName"];
|
const bucketName = match.params["bucketName"];
|
||||||
|
|
||||||
@@ -437,6 +434,11 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => {
|
|||||||
)}
|
)}
|
||||||
<PageHeader label={`Bucket > ${match.params["bucketName"]}`} />
|
<PageHeader label={`Bucket > ${match.params["bucketName"]}`} />
|
||||||
<Grid container>
|
<Grid container>
|
||||||
|
{error !== "" && (
|
||||||
|
<Grid item xs={12}>
|
||||||
|
{error}
|
||||||
|
</Grid>
|
||||||
|
)}
|
||||||
<Grid item xs={12} className={classes.container}>
|
<Grid item xs={12} className={classes.container}>
|
||||||
<Grid item xs={12}>
|
<Grid item xs={12}>
|
||||||
<div className={classes.headerContainer}>
|
<div className={classes.headerContainer}>
|
||||||
|
|||||||
@@ -236,10 +236,6 @@ const Console = ({
|
|||||||
component: ConfigurationsList,
|
component: ConfigurationsList,
|
||||||
path: "/configurations-list",
|
path: "/configurations-list",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
component: Permissions,
|
|
||||||
path: "/permissions",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
component: Account,
|
component: Account,
|
||||||
path: "/account",
|
path: "/account",
|
||||||
@@ -294,20 +290,20 @@ const Console = ({
|
|||||||
<LinearProgress />
|
<LinearProgress />
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
) : (
|
) : (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
The instance needs to be restarted for configuration changes
|
The instance needs to be restarted for configuration changes
|
||||||
to take effect.{" "}
|
to take effect.{" "}
|
||||||
<Button
|
<Button
|
||||||
color="secondary"
|
color="secondary"
|
||||||
size="small"
|
size="small"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
restartServer();
|
restartServer();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Restart
|
Restart
|
||||||
</Button>
|
</Button>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<Container className={classes.container}>
|
<Container className={classes.container}>
|
||||||
|
|||||||
@@ -97,7 +97,6 @@ const Users = ({ classes }: IUsersProps) => {
|
|||||||
const [records, setRecords] = useState<User[]>([]);
|
const [records, setRecords] = useState<User[]>([]);
|
||||||
const [loading, setLoading] = useState<boolean>(false);
|
const [loading, setLoading] = useState<boolean>(false);
|
||||||
const [error, setError] = useState<string>("");
|
const [error, setError] = useState<string>("");
|
||||||
const [deleteError, setDeleteError] = useState<string>("");
|
|
||||||
const [addScreenOpen, setAddScreenOpen] = useState<boolean>(false);
|
const [addScreenOpen, setAddScreenOpen] = useState<boolean>(false);
|
||||||
const [deleteOpen, setDeleteOpen] = useState<boolean>(false);
|
const [deleteOpen, setDeleteOpen] = useState<boolean>(false);
|
||||||
const [selectedUser, setSelectedUser] = useState<User | null>(null);
|
const [selectedUser, setSelectedUser] = useState<User | null>(null);
|
||||||
@@ -233,6 +232,11 @@ const Users = ({ classes }: IUsersProps) => {
|
|||||||
)}
|
)}
|
||||||
<PageHeader label={"Users"} />
|
<PageHeader label={"Users"} />
|
||||||
<Grid container>
|
<Grid container>
|
||||||
|
{error !== "" && (
|
||||||
|
<Grid item xs={12}>
|
||||||
|
{error}
|
||||||
|
</Grid>
|
||||||
|
)}
|
||||||
<Grid item xs={12} className={classes.container}>
|
<Grid item xs={12} className={classes.container}>
|
||||||
<Grid item xs={12} className={classes.actionsTray}>
|
<Grid item xs={12} className={classes.actionsTray}>
|
||||||
<TextField
|
<TextField
|
||||||
|
|||||||
Reference in New Issue
Block a user