Web: Disabled security settings.

This commit is contained in:
Tatiana Lopaeva 2022-09-16 15:21:17 +03:00
parent e59984bc5c
commit 19113eb32d
5 changed files with 72 additions and 16 deletions

View File

@ -3,6 +3,7 @@ import React from "react";
import Text from "@docspace/components/text"; import Text from "@docspace/components/text";
import moment from "moment"; import moment from "moment";
import styled from "styled-components"; import styled from "styled-components";
import { UnavailableStyles } from "../../../../utils/commonSettingsStyles";
const StyledRowContent = styled(RowContent)` const StyledRowContent = styled(RowContent)`
.row-main-container-wrapper { .row-main-container-wrapper {
@ -10,9 +11,11 @@ const StyledRowContent = styled(RowContent)`
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
} }
${(props) => props.isSettingNotPaid && UnavailableStyles}
`; `;
export const AuditContent = ({ sectionWidth, item }) => { export const AuditContent = ({ sectionWidth, item, isSettingNotPaid }) => {
const DATE_FORMAT = "YYYY-MM-DD LT"; const DATE_FORMAT = "YYYY-MM-DD LT";
const to = moment(item.date).local(); const to = moment(item.date).local();
@ -22,9 +25,15 @@ export const AuditContent = ({ sectionWidth, item }) => {
sideColor="#A3A9AE" sideColor="#A3A9AE"
nameColor="#D0D5DA" nameColor="#D0D5DA"
sectionWidth={sectionWidth} sectionWidth={sectionWidth}
isSettingNotPaid={isSettingNotPaid}
> >
<div className="user-container-wrapper"> <div className="user-container-wrapper">
<Text fontWeight={600} fontSize="14px" isTextOverflow={true}> <Text
fontWeight={600}
fontSize="14px"
isTextOverflow={true}
className="settings_unavailable"
>
{item.user} {item.user}
</Text> </Text>
</div> </div>
@ -34,10 +43,16 @@ export const AuditContent = ({ sectionWidth, item }) => {
fontSize="12px" fontSize="12px"
fontWeight={600} fontWeight={600}
truncate={true} truncate={true}
className="settings_unavailable"
> >
{dateStr} {dateStr}
</Text> </Text>
<Text fontSize="12px" as="div" fontWeight={600}> <Text
fontSize="12px"
as="div"
fontWeight={600}
className="settings_unavailable"
>
{`${item.room} | ${item.action}`} {`${item.room} | ${item.action}`}
</Text> </Text>
</StyledRowContent> </StyledRowContent>

View File

@ -6,7 +6,14 @@ import TableHeader from "./TableHeader";
import TableBody from "@docspace/components/table-container/TableBody"; import TableBody from "@docspace/components/table-container/TableBody";
import { isMobile } from "react-device-detect"; import { isMobile } from "react-device-detect";
const Table = ({ auditTrailUsers, sectionWidth, viewAs, setViewAs, theme }) => { const Table = ({
auditTrailUsers,
sectionWidth,
viewAs,
setViewAs,
theme,
isSettingNotPaid,
}) => {
const ref = useRef(null); const ref = useRef(null);
useEffect(() => { useEffect(() => {
if (!sectionWidth) return; if (!sectionWidth) return;
@ -22,7 +29,12 @@ const Table = ({ auditTrailUsers, sectionWidth, viewAs, setViewAs, theme }) => {
<TableHeader sectionWidth={sectionWidth} containerRef={ref} /> <TableHeader sectionWidth={sectionWidth} containerRef={ref} />
<TableBody> <TableBody>
{auditTrailUsers.map((item) => ( {auditTrailUsers.map((item) => (
<TableRow theme={theme} key={item.id} item={item} /> <TableRow
theme={theme}
key={item.id}
item={item}
isSettingNotPaid={isSettingNotPaid}
/>
))} ))}
</TableBody> </TableBody>
</TableContainer> </TableContainer>

View File

@ -5,6 +5,7 @@ import TableCell from "@docspace/components/table-container/TableCell";
import Text from "@docspace/components/text"; import Text from "@docspace/components/text";
import styled from "styled-components"; import styled from "styled-components";
import moment from "moment"; import moment from "moment";
import { UnavailableStyles } from "../../../../utils/commonSettingsStyles";
const StyledPeopleRow = styled(TableRow)` const StyledPeopleRow = styled(TableRow)`
.table-container_cell { .table-container_cell {
@ -29,10 +30,11 @@ const StyledPeopleRow = styled(TableRow)`
.table-cell_username { .table-cell_username {
margin-right: 12px; margin-right: 12px;
} }
${(props) => props.isSettingNotPaid && UnavailableStyles}
`; `;
const PeopleTableRow = (props) => { const PeopleTableRow = (props) => {
const { item, contextOptionsProps } = props; const { item, contextOptionsProps, isSettingNotPaid } = props;
const { email, position } = item; const { email, position } = item;
const DATE_FORMAT = "YYYY-MM-DD LT"; const DATE_FORMAT = "YYYY-MM-DD LT";
@ -41,7 +43,11 @@ const PeopleTableRow = (props) => {
const dateStr = to.format(DATE_FORMAT); const dateStr = to.format(DATE_FORMAT);
return ( return (
<StyledPeopleRow key={item.id} {...contextOptionsProps}> <StyledPeopleRow
key={item.id}
{...contextOptionsProps}
isSettingNotPaid={isSettingNotPaid}
>
<TableCell> <TableCell>
<Text <Text
type="page" type="page"
@ -49,6 +55,7 @@ const PeopleTableRow = (props) => {
fontSize="12px" fontSize="12px"
fontWeight={600} fontWeight={600}
truncate truncate
className="settings_unavailable"
> >
{item.user} {item.user}
</Text> </Text>
@ -60,6 +67,7 @@ const PeopleTableRow = (props) => {
fontSize="12px" fontSize="12px"
fontWeight={600} fontWeight={600}
truncate truncate
className="settings_unavailable"
> >
{dateStr} {dateStr}
</Text> </Text>
@ -71,6 +79,7 @@ const PeopleTableRow = (props) => {
fontSize="12px" fontSize="12px"
fontWeight={600} fontWeight={600}
isTextOverflow isTextOverflow
className="settings_unavailable"
> >
{item.room} {item.room}
</Text> </Text>
@ -83,6 +92,7 @@ const PeopleTableRow = (props) => {
fontSize="12px" fontSize="12px"
fontWeight={600} fontWeight={600}
isTextOverflow isTextOverflow
className="settings_unavailable"
> >
{item.action} {item.action}
</Text> </Text>

View File

@ -19,6 +19,7 @@ const AuditTrail = (props) => {
getLifetimeAuditSettings, getLifetimeAuditSettings,
getAuditTrailReport, getAuditTrailReport,
securityLifetime, securityLifetime,
isAuditAvailable,
} = props; } = props;
useEffect(() => { useEffect(() => {
@ -40,11 +41,15 @@ const AuditTrail = (props) => {
theme={theme} theme={theme}
auditTrailUsers={auditTrailUsers} auditTrailUsers={auditTrailUsers}
sectionWidth={context.sectionWidth} sectionWidth={context.sectionWidth}
isSettingNotPaid={!isAuditAvailable}
/> />
</> </>
) : ( ) : (
<> <>
<AuditRowContainer sectionWidth={context.sectionWidth} /> <AuditRowContainer
sectionWidth={context.sectionWidth}
isSettingNotPaid={!isAuditAvailable}
/>
</> </>
) )
} }
@ -69,6 +74,7 @@ const AuditTrail = (props) => {
content={getContent()} content={getContent()}
downloadReport={t("DownloadReportBtn")} downloadReport={t("DownloadReportBtn")}
getReport={getAuditTrailReport} getReport={getAuditTrailReport}
isSettingNotPaid={!isAuditAvailable}
/> />
)} )}
</> </>
@ -85,8 +91,9 @@ export default inject(({ setup, auth }) => {
getAuditTrailReport, getAuditTrailReport,
securityLifetime, securityLifetime,
} = setup; } = setup;
const { theme } = auth.settingsStore; const { settingsStore, currentQuotaStore } = auth;
const { theme } = settingsStore;
const { isAuditAvailable } = currentQuotaStore;
return { return {
getAuditTrail, getAuditTrail,
auditTrailUsers: security.auditTrail.users, auditTrailUsers: security.auditTrail.users,
@ -96,5 +103,6 @@ export default inject(({ setup, auth }) => {
setLifetimeAuditSettings, setLifetimeAuditSettings,
getAuditTrailReport, getAuditTrailReport,
securityLifetime, securityLifetime,
isAuditAvailable,
}; };
})(withTranslation("Settings")(withRouter(AuditTrail))); })(withTranslation("Settings")(withRouter(AuditTrail)));

View File

@ -6,8 +6,9 @@ import SaveCancelButtons from "@docspace/components/save-cancel-buttons";
import styled from "styled-components"; import styled from "styled-components";
import Button from "@docspace/components/button"; import Button from "@docspace/components/button";
import toastr from "@docspace/components/toast/toastr"; import toastr from "@docspace/components/toast/toastr";
import { UnavailableStyles } from "../../../utils/commonSettingsStyles";
import { hugeMobile, tablet } from "@docspace/components/utils/device"; import { hugeMobile, tablet } from "@docspace/components/utils/device";
import Badge from "@docspace/components/badge";
const StyledTextInput = styled(TextInput)` const StyledTextInput = styled(TextInput)`
margin-top: 4px; margin-top: 4px;
@ -74,6 +75,8 @@ const MainContainer = styled.div`
width: 100%; width: 100%;
} }
} }
${(props) => props.isSettingNotPaid && UnavailableStyles}
`; `;
const HistoryMainContent = (props) => { const HistoryMainContent = (props) => {
@ -92,6 +95,7 @@ const HistoryMainContent = (props) => {
content, content,
downloadReport, downloadReport,
getReport, getReport,
isSettingNotPaid,
} = props; } = props;
const [lifeTime, setLifeTime] = useState(String(lifetime) || "180"); const [lifeTime, setLifeTime] = useState(String(lifetime) || "180");
@ -149,14 +153,18 @@ const HistoryMainContent = (props) => {
}, [lifeTime]); }, [lifeTime]);
return ( return (
<MainContainer> <MainContainer isSettingNotPaid={isSettingNotPaid}>
{isSettingNotPaid && <Badge backgroundColor="#EDC409" label="Paid" />}
<div className="main-wrapper"> <div className="main-wrapper">
<Text fontSize="13px" color="#657077"> <Text fontSize="13px" color="#657077" className="settings_unavailable">
{subHeader} {subHeader}
</Text> </Text>
<Text className="latest-text">{latestText} </Text> <Text className="latest-text settings_unavailable">{latestText} </Text>
<label className="storage-label" htmlFor="storage-period"> <label
className="storage-label settings_unavailable"
htmlFor="storage-period"
>
{storagePeriod} {storagePeriod}
</label> </label>
<StyledTextInput <StyledTextInput
@ -165,6 +173,7 @@ const HistoryMainContent = (props) => {
size="base" size="base"
id="storage-period" id="storage-period"
type="text" type="text"
isDisabled={isSettingNotPaid}
/> />
<SaveCancelButtons <SaveCancelButtons
className="save-cancel" className="save-cancel"
@ -175,8 +184,9 @@ const HistoryMainContent = (props) => {
showReminder={showReminder} showReminder={showReminder}
displaySettings={true} displaySettings={true}
hasScroll={false} hasScroll={false}
isDisabled={isSettingNotPaid}
/> />
<Text className="latest-text">{downloadText}</Text> <Text className="latest-text settings_unavailable">{downloadText}</Text>
</div> </div>
{content} {content}
<Button <Button
@ -186,6 +196,7 @@ const HistoryMainContent = (props) => {
size="normal" size="normal"
minwidth="auto" minwidth="auto"
onClick={() => getReport()} onClick={() => getReport()}
isDisabled={isSettingNotPaid}
/> />
</MainContainer> </MainContainer>
); );