/* eslint-disable react/no-danger */ import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { withUnstatedContainers } from '../../UnstatedUtils'; import { toastSuccess, toastError } from '~/client/util/apiNotification'; import { PageDeleteConfigValue } from '~/interfaces/page-delete-config'; import AppContainer from '~/client/services/AppContainer'; import AdminGeneralSecurityContainer from '~/client/services/AdminGeneralSecurityContainer'; // used as the prefix of translation const DeletionType = Object.freeze({ Deletion: 'deletion', CompleteDeletion: 'complete_deletion', RecursiveDeletion: 'recursive_deletion', RecursiveCompleteDeletion: 'recursive_complete_deletion', }); class SecuritySetting extends React.Component { constructor(props) { super(props); this.putSecuritySetting = this.putSecuritySetting.bind(this); this.renderPageDeletePermissionDropdown = this.renderPageDeletePermissionDropdown.bind(this); } async putSecuritySetting() { const { t, adminGeneralSecurityContainer } = this.props; try { await adminGeneralSecurityContainer.updateGeneralSecuritySetting(); toastSuccess(t('security_setting.updated_general_security_setting')); } catch (err) { toastError(err); } } renderPageDeletePermissionDropdown(currentState, setState, deletionType, t) { const isRecursiveDeletion = deletionType === DeletionType.RecursiveDeletion || deletionType === DeletionType.RecursiveCompleteDeletion; return (
{t(`security_setting.${deletionType}_explain`)}
{t('Error occurred')} : {adminGeneralSecurityContainer.retrieveError}
| { t('scope_of_page_disclosure') } | { t('set_point') } |
|---|---|
| { t('Public') } | { t('always_displayed') } |
| { t('Anyone with the link') } | { t('always_hidden') } |
| { t('Only me') } |
{ adminGeneralSecurityContainer.switchIsShowRestrictedByOwner() }}
/>
|
| { t('Only inside the group') } |
{ adminGeneralSecurityContainer.switchIsShowRestrictedByGroup() }}
/>
|
FIXED
{t('security_setting.max_age_caution')}