Merge branch 'release/v1.0.0' of github.com:ONLYOFFICE/AppServer into release/v1.0.0

This commit is contained in:
Vlada Gazizova 2023-03-28 11:54:08 +03:00
commit 71e2463cd2
34 changed files with 171 additions and 87 deletions

View File

@ -2,6 +2,5 @@
"ChangeUserStatusDialog": "{{ userStatus }} olan istifadəçilər {{ status }} olacaqlar.",
"ChangeUserStatusDialogHeader": "İstifadəçi statusunun dəyişdirilməsi",
"ChangeUsersActiveStatus": "iz ver",
"ChangeUsersDisableStatus": "söndürülüb",
"ChangeUsersStatusButton": "İstifadəçi statusunun dəyişdirilməsi"
"ChangeUsersDisableStatus": "söndürülüb"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Промени потребителски статус",
"ChangeUserStatusDialogMessage": "Не можете да смените статуса за собственика на DocSpace и за себе си.",
"ChangeUsersActiveStatus": "активиран",
"ChangeUsersDisableStatus": "активиран",
"ChangeUsersStatusButton": "Промени потребителския статус"
"ChangeUsersDisableStatus": "активиран"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Změnit status uživatele",
"ChangeUserStatusDialogMessage": "Nemůžete změnit status pro vlastníka DocSpace a pro sebe.",
"ChangeUsersActiveStatus": "aktivován",
"ChangeUsersDisableStatus": "aktivován",
"ChangeUsersStatusButton": "Změnit status uživatele"
"ChangeUsersDisableStatus": "aktivován"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Benutzerstatus ändern",
"ChangeUserStatusDialogMessage": "Sie können Status für Sie oder Portalbesitzer nicht ändern.",
"ChangeUsersActiveStatus": "aktiviert",
"ChangeUsersDisableStatus": "deaktiviert",
"ChangeUsersStatusButton": "Benutzerstatus ändern"
"ChangeUsersDisableStatus": "deaktiviert"
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "Οι χρήστες με κατάσταση '{{ userStatus }}' θα είναι {{ status }}.",
"ChangeUserStatusDialogHeader": "Αλλαγή κατάστασης χρήστη",
"ChangeUsersStatusButton": "Αλλαγή κατάστασης χρήστη"
"ChangeUserStatusDialogHeader": "Αλλαγή κατάστασης χρήστη"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Change user status",
"ChangeUserStatusDialogMessage": "You can't change the status for the DocSpace owner and for yourself.",
"ChangeUsersActiveStatus": "enabled",
"ChangeUsersDisableStatus": "disabled",
"ChangeUsersStatusButton": "Change user status"
"ChangeUsersDisableStatus": "disabled"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Cambiar estado de usuario",
"ChangeUserStatusDialogMessage": "No puede cambiar el estado para el propietario del portal y para usted mismo.",
"ChangeUsersActiveStatus": "activados",
"ChangeUsersDisableStatus": "desactivados",
"ChangeUsersStatusButton": "Cambiar estado de usuario"
"ChangeUsersDisableStatus": "desactivados"
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "Käyttäjät, joilla on tila {{userStatus}}, tulee {{ status }}.",
"ChangeUserStatusDialogHeader": "Muuta käyttäjän tilaa",
"ChangeUsersStatusButton": "Muuta käyttäjän tilaa"
"ChangeUserStatusDialogHeader": "Muuta käyttäjän tilaa"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Modifier le statut de l'utilisateur",
"ChangeUserStatusDialogMessage": "Vous ne pouvez pas changer le statut du propriétaire de DocSpace ainsi que votre statut.",
"ChangeUsersActiveStatus": "activés",
"ChangeUsersDisableStatus": "désactivés",
"ChangeUsersStatusButton": "Modifier le statut de l'utilisateur"
"ChangeUsersDisableStatus": "désactivés"
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "'{{ userStatus }}'ունեցող օգտվողները կլինեն {{ status }}.",
"ChangeUserStatusDialogHeader": "Փոխել օգտվողի կարգավիճակը",
"ChangeUsersStatusButton": "Փոխել օգտվողի կարգավիճակը"
"ChangeUserStatusDialogHeader": "Փոխել օգտվողի կարգավիճակը"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Cambia stato di utente",
"ChangeUserStatusDialogMessage": "Non è possibile modificare lo stato per il proprietario di DocSpace e per te stesso",
"ChangeUsersActiveStatus": "attivati",
"ChangeUsersDisableStatus": "disattivati",
"ChangeUsersStatusButton": "Cambia lo stato dell'utente"
"ChangeUsersDisableStatus": "disattivati"
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "ステータスが'{{ userStatus }}' のユーザーは {{ status }} になります。",
"ChangeUserStatusDialogHeader": "ユーザーステータスの変更",
"ChangeUsersStatusButton": "ユーザーステータスの変更"
"ChangeUserStatusDialogHeader": "ユーザーステータスの変更"
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "'{{ userStatus }}' 상태 사용자는 {{ status }}.",
"ChangeUserStatusDialogHeader": "사용자 상태 변경",
"ChangeUsersStatusButton": "사용자 상태 변경"
"ChangeUserStatusDialogHeader": "사용자 상태 변경"
}

View File

@ -1,6 +1,5 @@
{
"ChangeUserStatusDialog": "ສະຖານະຂອງຜູ້ໃຊ້ທີ່ມີ '{{ userStatus }}' ຈະເປັນ {{ status }}.",
"ChangeUserStatusDialogHeader": "ປ່ຽນສະຖານະຜູ້ໃຊ້",
"ChangeUserStatusDialogMessage": "ທ່ານບໍ່ສາມາດປ່ຽນສະຖານະພາບສຳລັບເຈົ້າຂອງ DocSpace ແລະ ສຳລັບທ່ານເອງ",
"ChangeUsersStatusButton": "ປ່ຽນສະຖານະຜູ້ໃຊ້"
"ChangeUserStatusDialogMessage": "ທ່ານບໍ່ສາມາດປ່ຽນສະຖານະພາບສຳລັບເຈົ້າຂອງ DocSpace ແລະ ສຳລັບທ່ານເອງ"
}

View File

@ -1,6 +1,5 @@
{
"ChangeUserStatusDialog": "Lietotāji ar '{{ userStatus }}' statusu tiks {{ status }}.",
"ChangeUserStatusDialogHeader": "Mainiet lietotāja statusu",
"ChangeUserStatusDialogMessage": "Jūs nevarat mainīt statusu DocSpace īpašnieka un sev.",
"ChangeUsersStatusButton": "Mainīt lietotāja statusu"
"ChangeUserStatusDialogMessage": "Jūs nevarat mainīt statusu DocSpace īpašnieka un sev."
}

View File

@ -1,6 +1,5 @@
{
"ChangeUserStatusDialog": "De gebruikers met de '{{ userStatus }}' status zullen worden {{ status }}.",
"ChangeUserStatusDialogHeader": "Wijzig gebruikersstatus",
"ChangeUserStatusDialogMessage": "U kunt de status voor de DocSpace-eigenaar en voor uzelf niet veranderen.",
"ChangeUsersStatusButton": "Wijzig gebruikersstatus"
"ChangeUserStatusDialogMessage": "U kunt de status voor de DocSpace-eigenaar en voor uzelf niet veranderen."
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Zmień status użytkownika",
"ChangeUserStatusDialogMessage": "Nie możesz zmienić swojego statusu, ani statusu właściciela DocSpace.",
"ChangeUsersActiveStatus": "aktywny",
"ChangeUsersDisableStatus": "nieaktywny",
"ChangeUsersStatusButton": "Zmień status użytkownika"
"ChangeUsersDisableStatus": "nieaktywny"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Alterar status de usuário",
"ChangeUserStatusDialogMessage": "Você não pode mudar o status para o proprietário do DocSpace e para você mesmo.",
"ChangeUsersActiveStatus": "abilitado",
"ChangeUsersDisableStatus": "desabilitado",
"ChangeUsersStatusButton": "Alterar status de usuário"
"ChangeUsersDisableStatus": "desabilitado"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Alterar estado de utilizador",
"ChangeUserStatusDialogMessage": "Não pode alterar o estado para o dono do DocSpace e para si próprio.",
"ChangeUsersActiveStatus": "ativado",
"ChangeUsersDisableStatus": "desabilitado",
"ChangeUsersStatusButton": "Alterar estado de utilizador"
"ChangeUsersDisableStatus": "desabilitado"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Schimbați statutul utilizatorului",
"ChangeUserStatusDialogMessage": "Nu puteți schimba statutul posesorului portalului și nici al dumneavoastră.",
"ChangeUsersActiveStatus": "activat",
"ChangeUsersDisableStatus": "desactivat",
"ChangeUsersStatusButton": "Schimbați statutul utilizatorului"
"ChangeUsersDisableStatus": "desactivat"
}

View File

@ -3,6 +3,5 @@
"ChangeUserStatusDialogHeader": "Изменение статуса пользователя",
"ChangeUserStatusDialogMessage": "Вы не можете изменить статус владельца DocSpace и свой собственный статус.",
"ChangeUsersActiveStatus": "разблокированы",
"ChangeUsersDisableStatus": "заблокированы",
"ChangeUsersStatusButton": "Изменить статус пользователя"
"ChangeUsersDisableStatus": "заблокированы"
}

View File

@ -2,6 +2,5 @@
"ChangeUserStatusDialog": "Používatelia so stavom '{{ userStatus }}' budú {{ status }}.",
"ChangeUserStatusDialogHeader": "Zmeniť stav používateľa",
"ChangeUserStatusDialogMessage": "Nemôžete zmeniť svoj stav a stav vlastníka DocSpace.",
"ChangeUsersActiveStatus": "aktivovaný",
"ChangeUsersStatusButton": "Zmeniť stav používateľa"
"ChangeUsersActiveStatus": "aktivovaný"
}

View File

@ -1,6 +1,5 @@
{
"ChangeUserStatusDialog": "Uporabniki z '{{ userStatus }}' statusom bodo {{ status }}.",
"ChangeUserStatusDialogHeader": "Spremeni status uporabnika",
"ChangeUserStatusDialogMessage": "Status lastnika DocSpace in svojega statusa ne morete spremeniti.",
"ChangeUsersStatusButton": "Spremeni status uporabnika"
"ChangeUserStatusDialogMessage": "Status lastnika DocSpace in svojega statusa ne morete spremeniti."
}

View File

@ -1,6 +1,5 @@
{
"ChangeUserStatusDialog": "'{{ userStatus }} durumuna sahip kullanıcılar {{ status }} olacak.",
"ChangeUserStatusDialogHeader": "Kullanıcı durumunu değiştir",
"ChangeUserStatusDialogMessage": "DocSpace sahibi ve kendiniz için durumu değiştiremezsiniz.",
"ChangeUsersStatusButton": "Kullanıcı durumunu değiştir"
"ChangeUserStatusDialogMessage": "DocSpace sahibi ve kendiniz için durumu değiştiremezsiniz."
}

View File

@ -1,6 +1,5 @@
{
"ChangeUserStatusDialog": "Користувача зі статусом '{{ userStatus }}' буде {{ status }}.",
"ChangeUserStatusDialogHeader": "Змінити статус користувача",
"ChangeUserStatusDialogMessage": "Ви не можете змінити статус власника DocSpace та свій статус.",
"ChangeUsersStatusButton": "Змінити статус користувача"
"ChangeUserStatusDialogMessage": "Ви не можете змінити статус власника DocSpace та свій статус."
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "Người dùng có trạng thái '{{ userStatus }}' sẽ bị {{ status }}.",
"ChangeUserStatusDialogHeader": "Thay đổi trạng thái người dùng",
"ChangeUsersStatusButton": "Thay đổi trạng thái người dùng"
"ChangeUserStatusDialogHeader": "Thay đổi trạng thái người dùng"
}

View File

@ -1,5 +1,4 @@
{
"ChangeUserStatusDialog": "带有‘{{ userStatus }}’状态的用户将‘{{ userStatus }}",
"ChangeUserStatusDialogHeader": "变更用户状态",
"ChangeUsersStatusButton": "变更用户状态"
"ChangeUserStatusDialogHeader": "变更用户状态"
}

View File

@ -100,7 +100,7 @@ class ChangeUserStatusDialogComponent extends React.Component {
<ModalDialog.Footer>
<Button
id="change-user-status-modal_submit"
label={t("ChangeUsersStatusButton")}
label={t("Common:ChangeButton")}
size="normal"
primary
scale

View File

@ -67,6 +67,8 @@ const FilesTileContainer = ({
const { width } = node.getBoundingClientRect();
if (width === 0) return;
const size = thumbnails1280x720 ? "1280x720" : getThumbSize(width);
const widthWithoutPadding = width - 32;

View File

@ -27,16 +27,30 @@ export const MainContainer = styled.div`
margin-bottom: 24px;
color: ${(props) => props.theme.client.settings.common.descriptionColor};
}
`;
.button {
@media (${smallTablet}) {
position: absolute;
bottom: 16px;
width: calc(100% - 40px);
export const ButtonWrapper = styled.div`
display: flex;
gap: 8px;
align-items: center;
@media (${mobile}) {
width: calc(100% - 32px);
}
.request-again-link {
margin-left: 4px;
}
@media (${smallTablet}) {
flex-direction: column-reverse;
gap: 16px;
position: absolute;
bottom: 16px;
width: calc(100% - 40px);
@media (${mobile}) {
width: calc(100% - 32px);
}
.button {
width: 100%;
}
}
`;

View File

@ -5,13 +5,21 @@ import { inject } from "mobx-react";
import Text from "@docspace/components/text";
import Button from "@docspace/components/button";
import toastr from "@docspace/components/toast/toastr";
import { MainContainer } from "./StyledDeleteData";
import Link from "@docspace/components/link";
import { MainContainer, ButtonWrapper } from "./StyledDeleteData";
import { setDocumentTitle } from "../../../../helpers/utils";
import { sendSuspendPortalEmail } from "@docspace/common/api/portal";
import { isDesktop } from "@docspace/components/utils/device";
import { EmployeeActivationStatus } from "@docspace/common/constants";
const PortalDeactivation = (props) => {
const { t, getPortalOwner, owner } = props;
const {
t,
getPortalOwner,
owner,
currentColorScheme,
sendActivationLink,
} = props;
const [isDesktopView, setIsDesktopView] = useState(false);
const fetchData = async () => {
@ -42,6 +50,13 @@ const PortalDeactivation = (props) => {
}
};
const requestAgain = () => {
sendActivationLink && sendActivationLink(t);
};
const notActivatedEmail =
owner.activationStatus === EmployeeActivationStatus.NotActivated;
return (
<MainContainer>
<Text fontSize="16px" fontWeight="700" className="header">
@ -51,21 +66,46 @@ const PortalDeactivation = (props) => {
{t("PortalDeactivationDescription")}
</Text>
<Text className="helper">{t("PortalDeactivationHelper")}</Text>
<Button
className="button"
label={t("Deactivate")}
primary
size={isDesktopView ? "small" : "normal"}
onClick={onDeactivateClick}
/>
<ButtonWrapper>
<Button
className="button"
label={t("Deactivate")}
primary
size={isDesktopView ? "small" : "normal"}
onClick={onDeactivateClick}
isDisabled={notActivatedEmail}
/>
{notActivatedEmail && (
<Text fontSize="12px" fontWeight="600">
{t("MainBar:ConfirmEmailHeader")}
<Link
className="request-again-link"
color={currentColorScheme?.main?.accent}
fontSize="12px"
fontWeight="400"
onClick={requestAgain}
>
{t("MainBar:RequestActivation")}
</Link>
</Text>
)}
</ButtonWrapper>
</MainContainer>
);
};
export default inject(({ auth }) => {
const { getPortalOwner, owner } = auth.settingsStore;
const { getPortalOwner, owner, currentColorScheme } = auth.settingsStore;
const { sendActivationLink } = auth.userStore;
return {
getPortalOwner,
owner,
currentColorScheme,
sendActivationLink,
};
})(withTranslation("Settings")(withRouter(PortalDeactivation)));
})(
withTranslation(["Settings", "MainBar", "People"])(
withRouter(PortalDeactivation)
)
);

View File

@ -4,7 +4,8 @@ import { withTranslation } from "react-i18next";
import { inject } from "mobx-react";
import Text from "@docspace/components/text";
import Button from "@docspace/components/button";
import { MainContainer } from "./StyledDeleteData";
import Link from "@docspace/components/link";
import { MainContainer, ButtonWrapper } from "./StyledDeleteData";
import { setDocumentTitle } from "../../../../helpers/utils";
import { DeletePortalDialog } from "SRC_DIR/components/dialogs";
import toastr from "@docspace/components/toast/toastr";
@ -13,9 +14,16 @@ import {
sendDeletePortalEmail,
} from "@docspace/common/api/portal";
import { isDesktop } from "@docspace/components/utils/device";
import { EmployeeActivationStatus } from "@docspace/common/constants";
const PortalDeletion = (props) => {
const { t, getPortalOwner, owner } = props;
const {
t,
getPortalOwner,
owner,
currentColorScheme,
sendActivationLink,
} = props;
const [isDialogVisible, setIsDialogVisible] = useState(false);
const [stripeUrl, setStripeUrl] = useState(null);
const [isDesktopView, setIsDesktopView] = useState(false);
@ -54,6 +62,13 @@ const PortalDeletion = (props) => {
}
};
const requestAgain = () => {
sendActivationLink && sendActivationLink(t);
};
const notActivatedEmail =
owner.activationStatus === EmployeeActivationStatus.NotActivated;
return (
<MainContainer>
<Text fontSize="16px" fontWeight="700" className="header">
@ -63,14 +78,30 @@ const PortalDeletion = (props) => {
{t("PortalDeletionDescription")}
</Text>
<Text className="helper">{t("PortalDeletionHelper")}</Text>
<Button
className="button"
label={t("Common:Delete")}
primary
size={isDesktopView ? "small" : "normal"}
onClick={onDeleteClick}
/>
<ButtonWrapper>
<Button
className="button"
label={t("Common:Delete")}
primary
size={isDesktopView ? "small" : "normal"}
onClick={onDeleteClick}
isDisabled={notActivatedEmail}
/>
{notActivatedEmail && (
<Text fontSize="12px" fontWeight="600">
{t("MainBar:ConfirmEmailHeader")}
<Link
className="request-again-link"
color={currentColorScheme?.main?.accent}
fontSize="12px"
fontWeight="400"
onClick={requestAgain}
>
{t("MainBar:RequestActivation")}
</Link>
</Text>
)}
</ButtonWrapper>
<DeletePortalDialog
visible={isDialogVisible}
onClose={() => setIsDialogVisible(false)}
@ -82,9 +113,17 @@ const PortalDeletion = (props) => {
};
export default inject(({ auth }) => {
const { getPortalOwner, owner } = auth.settingsStore;
const { getPortalOwner, owner, currentColorScheme } = auth.settingsStore;
const { sendActivationLink } = auth.userStore;
return {
getPortalOwner,
owner,
currentColorScheme,
sendActivationLink,
};
})(withTranslation(["Settings", "Common"])(withRouter(PortalDeletion)));
})(
withTranslation(["Settings", "MainBar", "People", "Common"])(
withRouter(PortalDeletion)
)
);

View File

@ -123,6 +123,10 @@ class ConsumerModalDialog extends React.Component {
return this.props.rackspaceUrl;
case "selectel":
return this.props.selectelUrl;
case "yandex":
return this.props.yandexUrl;
case "vk":
return this.props.vkUrl;
default:
return this.props.docspaceSettingsUrl;
}
@ -145,7 +149,7 @@ class ConsumerModalDialog extends React.Component {
</Link>
</Trans>
);
supportTeamDescription = (
<Box paddingProp="20px 0 8px">
<Trans
@ -284,6 +288,8 @@ export default inject(({ setup, auth }) => {
googleCloudUrl,
rackspaceUrl,
selectelUrl,
yandexUrl,
vkUrl,
} = settingsStore;
const { integration } = setup;
const { selectedConsumer } = integration;
@ -312,5 +318,7 @@ export default inject(({ setup, auth }) => {
googleCloudUrl,
rackspaceUrl,
selectelUrl,
yandexUrl,
vkUrl,
};
})(observer(ConsumerModalDialog));

View File

@ -234,6 +234,14 @@ class SettingsStore {
return `${this.helpLink}/administration/connect-selectel-docspace.aspx`;
}
get yandexUrl() {
return `${this.helpLink}/administration/connect-yandex-docspace.aspx`;
}
get vkUrl() {
return `${this.helpLink}/administration/connect-vk-docspace.aspx`;
}
get wizardCompleted() {
return this.isLoaded && !this.wizardToken;
}