feat: reformat frontend alert texts with correct i18n (#1341)

* fix: add i18

* fix: standard prompt message
This commit is contained in:
Yaodong Yu
2022-12-02 00:06:28 +08:00
committed by GitHub
parent fcda64ad7d
commit 9f3ee275a8
51 changed files with 484 additions and 353 deletions

View File

@ -83,7 +83,7 @@ func parseToData() *I18nData {
data := I18nData{} data := I18nData{}
for _, word := range allWords { for _, word := range allWords {
tokens := strings.Split(word, ":") tokens := strings.SplitN(word, ":", 2)
namespace := tokens[0] namespace := tokens[0]
key := tokens[1] key := tokens[1]

View File

@ -263,8 +263,8 @@ class AdapterEditPage extends React.Component {
const adapter = Setting.deepCopy(this.state.adapter); const adapter = Setting.deepCopy(this.state.adapter);
AdapterBackend.updateAdapter(this.state.adapter.owner, this.state.adapterName, adapter) AdapterBackend.updateAdapter(this.state.adapter.owner, this.state.adapterName, adapter)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
adapterName: this.state.adapter.name, adapterName: this.state.adapter.name,
}); });
@ -275,22 +275,26 @@ class AdapterEditPage extends React.Component {
this.props.history.push(`/adapters/${this.state.owner}/${this.state.adapter.name}`); this.props.history.push(`/adapters/${this.state.owner}/${this.state.adapter.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateAdapterField("name", this.state.adapterName); this.updateAdapterField("name", this.state.adapterName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteAdapter() { deleteAdapter() {
AdapterBackend.deleteAdapter(this.state.adapter) AdapterBackend.deleteAdapter(this.state.adapter)
.then(() => { .then((res) => {
this.props.history.push("/adapters"); if (res.status === "ok") {
this.props.history.push("/adapters");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `adapter failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -47,27 +47,31 @@ class AdapterListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/adapters/${newAdapter.organization}/${newAdapter.name}`, mode: "add"}); this.props.history.push({pathname: `/adapters/${newAdapter.organization}/${newAdapter.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Adapter failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Adapter failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteAdapter(i) { deleteAdapter(i) {
AdapterBackend.deleteAdapter(this.state.data[i]) AdapterBackend.deleteAdapter(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Adapter deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Adapter failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -191,7 +191,7 @@ class ApplicationEditPage extends React.Component {
Setting.showMessage("success", i18next.t("application:File uploaded successfully")); Setting.showMessage("success", i18next.t("application:File uploaded successfully"));
this.updateApplicationField("termsOfUse", res.data); this.updateApplicationField("termsOfUse", res.data);
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
} }
}).finally(() => { }).finally(() => {
this.setState({uploading: false}); this.setState({uploading: false});
@ -787,7 +787,7 @@ class ApplicationEditPage extends React.Component {
ApplicationBackend.updateApplication("admin", this.state.applicationName, application) ApplicationBackend.updateApplication("admin", this.state.applicationName, application)
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
applicationName: this.state.application.name, applicationName: this.state.application.name,
}); });
@ -798,22 +798,26 @@ class ApplicationEditPage extends React.Component {
this.props.history.push(`/applications/${this.state.application.organization}/${this.state.application.name}`); this.props.history.push(`/applications/${this.state.application.organization}/${this.state.application.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateApplicationField("name", this.state.applicationName); this.updateApplicationField("name", this.state.applicationName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteApplication() { deleteApplication() {
ApplicationBackend.deleteApplication(this.state.application) ApplicationBackend.deleteApplication(this.state.application)
.then(() => { .then((res) => {
this.props.history.push("/applications"); if (res.status === "ok") {
this.props.history.push("/applications");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Application failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -80,27 +80,31 @@ class ApplicationListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/applications/${newApplication.organization}/${newApplication.name}`, mode: "add"}); this.props.history.push({pathname: `/applications/${newApplication.organization}/${newApplication.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Application failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Application failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteApplication(i) { deleteApplication(i) {
ApplicationBackend.deleteApplication(this.state.data[i]) ApplicationBackend.deleteApplication(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Application deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Application failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -217,8 +217,8 @@ class CertEditPage extends React.Component {
const cert = Setting.deepCopy(this.state.cert); const cert = Setting.deepCopy(this.state.cert);
CertBackend.updateCert(this.state.cert.owner, this.state.certName, cert) CertBackend.updateCert(this.state.cert.owner, this.state.certName, cert)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
certName: this.state.cert.name, certName: this.state.cert.name,
}); });
@ -229,22 +229,26 @@ class CertEditPage extends React.Component {
this.props.history.push(`/certs/${this.state.cert.name}`); this.props.history.push(`/certs/${this.state.cert.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateCertField("name", this.state.certName); this.updateCertField("name", this.state.certName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteCert() { deleteCert() {
CertBackend.deleteCert(this.state.cert) CertBackend.deleteCert(this.state.cert)
.then(() => { .then((res) => {
this.props.history.push("/certs"); if (res.status === "ok") {
this.props.history.push("/certs");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Cert failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -45,27 +45,31 @@ class CertListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/certs/${newCert.name}`, mode: "add"}); this.props.history.push({pathname: `/certs/${newCert.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Cert failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Cert failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteCert(i) { deleteCert(i) {
CertBackend.deleteCert(this.state.data[i]) CertBackend.deleteCert(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Cert deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Cert failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -81,7 +81,7 @@ class LdapTable extends React.Component {
table = Setting.deleteRow(table, i); table = Setting.deleteRow(table, i);
this.updateTable(table); this.updateTable(table);
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
} }
} }
) )

View File

@ -158,8 +158,8 @@ class ModelEditPage extends React.Component {
const model = Setting.deepCopy(this.state.model); const model = Setting.deepCopy(this.state.model);
ModelBackend.updateModel(this.state.organizationName, this.state.modelName, model) ModelBackend.updateModel(this.state.organizationName, this.state.modelName, model)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
modelName: this.state.model.name, modelName: this.state.model.name,
}); });
@ -170,22 +170,26 @@ class ModelEditPage extends React.Component {
this.props.history.push(`/models/${this.state.model.owner}/${this.state.model.name}`); this.props.history.push(`/models/${this.state.model.owner}/${this.state.model.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateModelField("name", this.state.modelName); this.updateModelField("name", this.state.modelName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteModel() { deleteModel() {
ModelBackend.deleteModel(this.state.model) ModelBackend.deleteModel(this.state.model)
.then(() => { .then((res) => {
this.props.history.push("/models"); if (res.status === "ok") {
this.props.history.push("/models");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Model failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -40,27 +40,31 @@ class ModelListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/models/${newModel.owner}/${newModel.name}`, mode: "add"}); this.props.history.push({pathname: `/models/${newModel.owner}/${newModel.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Model failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Model failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteModel(i) { deleteModel(i) {
ModelBackend.deleteModel(this.state.data[i]) ModelBackend.deleteModel(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Model deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Model failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -336,7 +336,7 @@ class OrganizationEditPage extends React.Component {
OrganizationBackend.updateOrganization(this.state.organization.owner, this.state.organizationName, organization) OrganizationBackend.updateOrganization(this.state.organization.owner, this.state.organizationName, organization)
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
organizationName: this.state.organization.name, organizationName: this.state.organization.name,
}); });
@ -347,22 +347,26 @@ class OrganizationEditPage extends React.Component {
this.props.history.push(`/organizations/${this.state.organization.name}`); this.props.history.push(`/organizations/${this.state.organization.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateOrganizationField("name", this.state.organizationName); this.updateOrganizationField("name", this.state.organizationName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteOrganization() { deleteOrganization() {
OrganizationBackend.deleteOrganization(this.state.organization) OrganizationBackend.deleteOrganization(this.state.organization)
.then(() => { .then((res) => {
this.props.history.push("/organizations"); if (res.status === "ok") {
this.props.history.push("/organizations");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -77,27 +77,31 @@ class OrganizationListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/organizations/${newOrganization.name}`, mode: "add"}); this.props.history.push({pathname: `/organizations/${newOrganization.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Organization failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Organization failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteOrganization(i) { deleteOrganization(i) {
OrganizationBackend.deleteOrganization(this.state.data[i]) OrganizationBackend.deleteOrganization(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Organization deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Organization failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -78,7 +78,7 @@ class PaymentEditPage extends React.Component {
this.setState({ this.setState({
isInvoiceLoading: false, isInvoiceLoading: false,
}); });
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully invoiced"); Setting.showMessage("success", "Successfully invoiced");
Setting.openLinkSafe(res.data); Setting.openLinkSafe(res.data);
this.getPayment(); this.getPayment();
@ -90,7 +90,7 @@ class PaymentEditPage extends React.Component {
this.setState({ this.setState({
isInvoiceLoading: false, isInvoiceLoading: false,
}); });
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
@ -443,8 +443,8 @@ class PaymentEditPage extends React.Component {
const payment = Setting.deepCopy(this.state.payment); const payment = Setting.deepCopy(this.state.payment);
PaymentBackend.updatePayment(this.state.payment.owner, this.state.paymentName, payment) PaymentBackend.updatePayment(this.state.payment.owner, this.state.paymentName, payment)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
paymentName: this.state.payment.name, paymentName: this.state.payment.name,
}); });
@ -455,22 +455,26 @@ class PaymentEditPage extends React.Component {
this.props.history.push(`/payments/${this.state.payment.name}`); this.props.history.push(`/payments/${this.state.payment.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updatePaymentField("name", this.state.paymentName); this.updatePaymentField("name", this.state.paymentName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deletePayment() { deletePayment() {
PaymentBackend.deletePayment(this.state.payment) PaymentBackend.deletePayment(this.state.payment)
.then(() => { .then((res) => {
this.props.history.push("/payments"); if (res.status === "ok") {
this.props.history.push("/payments");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Payment failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -53,28 +53,32 @@ class PaymentListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/payments/${newPayment.name}`, mode: "add"}); this.props.history.push({pathname: `/payments/${newPayment.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Payment failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
} }
) )
.catch(error => { .catch(error => {
Setting.showMessage("error", `Payment failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deletePayment(i) { deletePayment(i) {
PaymentBackend.deletePayment(this.state.data[i]) PaymentBackend.deletePayment(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Payment deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Payment failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -417,8 +417,8 @@ class PermissionEditPage extends React.Component {
const permission = Setting.deepCopy(this.state.permission); const permission = Setting.deepCopy(this.state.permission);
PermissionBackend.updatePermission(this.state.organizationName, this.state.permissionName, permission) PermissionBackend.updatePermission(this.state.organizationName, this.state.permissionName, permission)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
permissionName: this.state.permission.name, permissionName: this.state.permission.name,
}); });
@ -429,22 +429,26 @@ class PermissionEditPage extends React.Component {
this.props.history.push(`/permissions/${this.state.permission.owner}/${this.state.permission.name}`); this.props.history.push(`/permissions/${this.state.permission.owner}/${this.state.permission.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updatePermissionField("name", this.state.permissionName); this.updatePermissionField("name", this.state.permissionName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deletePermission() { deletePermission() {
PermissionBackend.deletePermission(this.state.permission) PermissionBackend.deletePermission(this.state.permission)
.then(() => { .then((res) => {
this.props.history.push("/permissions"); if (res.status === "ok") {
this.props.history.push("/permissions");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Permission failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -50,27 +50,31 @@ class PermissionListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/permissions/${newPermission.owner}/${newPermission.name}`, mode: "add"}); this.props.history.push({pathname: `/permissions/${newPermission.owner}/${newPermission.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Permission failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Permission failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deletePermission(i) { deletePermission(i) {
PermissionBackend.deletePermission(this.state.data[i]) PermissionBackend.deletePermission(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Permission deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Permission failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -81,11 +81,11 @@ class ProductBuyPage extends React.Component {
ProductBackend.buyProduct(this.state.product.owner, this.state.productName, provider.name) ProductBackend.buyProduct(this.state.product.owner, this.state.productName, provider.name)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
const payUrl = res.data; const payUrl = res.data;
Setting.goToLink(payUrl); Setting.goToLink(payUrl);
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.setState({ this.setState({
isPlacingOrder: false, isPlacingOrder: false,
@ -93,7 +93,7 @@ class ProductBuyPage extends React.Component {
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -271,8 +271,8 @@ class ProductEditPage extends React.Component {
const product = Setting.deepCopy(this.state.product); const product = Setting.deepCopy(this.state.product);
ProductBackend.updateProduct(this.state.product.owner, this.state.productName, product) ProductBackend.updateProduct(this.state.product.owner, this.state.productName, product)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
productName: this.state.product.name, productName: this.state.product.name,
}); });
@ -283,22 +283,26 @@ class ProductEditPage extends React.Component {
this.props.history.push(`/products/${this.state.product.name}`); this.props.history.push(`/products/${this.state.product.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateProductField("name", this.state.productName); this.updateProductField("name", this.state.productName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteProduct() { deleteProduct() {
ProductBackend.deleteProduct(this.state.product) ProductBackend.deleteProduct(this.state.product)
.then(() => { .then((res) => {
this.props.history.push("/products"); if (res.status === "ok") {
this.props.history.push("/products");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Product failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -47,27 +47,31 @@ class ProductListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/products/${newProduct.name}`, mode: "add"}); this.props.history.push({pathname: `/products/${newProduct.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Product failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Product failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteProduct(i) { deleteProduct(i) {
ProductBackend.deleteProduct(this.state.data[i]) ProductBackend.deleteProduct(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Product deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Product failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -794,7 +794,7 @@ class ProviderEditPage extends React.Component {
ProviderBackend.updateProvider(this.state.owner, this.state.providerName, provider) ProviderBackend.updateProvider(this.state.owner, this.state.providerName, provider)
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
owner: this.state.provider.owner, owner: this.state.provider.owner,
providerName: this.state.provider.name, providerName: this.state.provider.name,
@ -806,22 +806,26 @@ class ProviderEditPage extends React.Component {
this.props.history.push(`/providers/${this.state.provider.owner}/${this.state.provider.name}`); this.props.history.push(`/providers/${this.state.provider.owner}/${this.state.provider.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateProviderField("name", this.state.providerName); this.updateProviderField("name", this.state.providerName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteProvider() { deleteProvider() {
ProviderBackend.deleteProvider(this.state.provider) ProviderBackend.deleteProvider(this.state.provider)
.then(() => { .then((res) => {
this.props.history.push("/providers"); if (res.status === "ok") {
this.props.history.push("/providers");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Provider failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -63,27 +63,31 @@ class ProviderListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/providers/${newProvider.owner}/${newProvider.name}`, mode: "add"}); this.props.history.push({pathname: `/providers/${newProvider.owner}/${newProvider.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Provider failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Provider failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteProvider(i) { deleteProvider(i) {
ProviderBackend.deleteProvider(this.state.data[i]) ProviderBackend.deleteProvider(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Provider deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Provider failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -43,15 +43,18 @@ class ResourceListPage extends BaseListPage {
deleteResource(i) { deleteResource(i) {
ResourceBackend.deleteResource(this.state.data[i]) ResourceBackend.deleteResource(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Resource deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Resource failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -196,8 +196,8 @@ class RoleEditPage extends React.Component {
const role = Setting.deepCopy(this.state.role); const role = Setting.deepCopy(this.state.role);
RoleBackend.updateRole(this.state.organizationName, this.state.roleName, role) RoleBackend.updateRole(this.state.organizationName, this.state.roleName, role)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
roleName: this.state.role.name, roleName: this.state.role.name,
}); });
@ -208,22 +208,26 @@ class RoleEditPage extends React.Component {
this.props.history.push(`/roles/${this.state.role.owner}/${this.state.role.name}`); this.props.history.push(`/roles/${this.state.role.owner}/${this.state.role.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateRoleField("name", this.state.roleName); this.updateRoleField("name", this.state.roleName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteRole() { deleteRole() {
RoleBackend.deleteRole(this.state.role) RoleBackend.deleteRole(this.state.role)
.then(() => { .then((res) => {
this.props.history.push("/roles"); if (res.status === "ok") {
this.props.history.push("/roles");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Role failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -42,27 +42,31 @@ class RoleListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/roles/${newRole.owner}/${newRole.name}`, mode: "add"}); this.props.history.push({pathname: `/roles/${newRole.owner}/${newRole.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Role failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Role failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteRole(i) { deleteRole(i) {
RoleBackend.deleteRole(this.state.data[i]) RoleBackend.deleteRole(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Role deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Role failed to delete: ${error}`);
}); });
} }

View File

@ -298,8 +298,8 @@ class SyncerEditPage extends React.Component {
const syncer = Setting.deepCopy(this.state.syncer); const syncer = Setting.deepCopy(this.state.syncer);
SyncerBackend.updateSyncer(this.state.syncer.owner, this.state.syncerName, syncer) SyncerBackend.updateSyncer(this.state.syncer.owner, this.state.syncerName, syncer)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
syncerName: this.state.syncer.name, syncerName: this.state.syncer.name,
}); });
@ -310,22 +310,26 @@ class SyncerEditPage extends React.Component {
this.props.history.push(`/syncers/${this.state.syncer.name}`); this.props.history.push(`/syncers/${this.state.syncer.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateSyncerField("name", this.state.syncerName); this.updateSyncerField("name", this.state.syncerName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteSyncer() { deleteSyncer() {
SyncerBackend.deleteSyncer(this.state.syncer) SyncerBackend.deleteSyncer(this.state.syncer)
.then(() => { .then((res) => {
this.props.history.push("/syncers"); if (res.status === "ok") {
this.props.history.push("/syncers");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Syncer failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -51,27 +51,31 @@ class SyncerListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/syncers/${newSyncer.name}`, mode: "add"}); this.props.history.push({pathname: `/syncers/${newSyncer.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Syncer failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Syncer failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteSyncer(i) { deleteSyncer(i) {
SyncerBackend.deleteSyncer(this.state.data[i]) SyncerBackend.deleteSyncer(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Syncer deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Syncer failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -13,32 +13,33 @@
// limitations under the License. // limitations under the License.
import * as Setting from "./Setting"; import * as Setting from "./Setting";
import i18next from "i18next";
export function sendTestEmail(provider, email) { export function sendTestEmail(provider, email) {
testEmailProvider(provider, email) testEmailProvider(provider, email)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully send email"); Setting.showMessage("success", "Successfully send email");
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", res.msg);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
export function connectSmtpServer(provider) { export function connectSmtpServer(provider) {
testEmailProvider(provider) testEmailProvider(provider)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully connecting smtp server"); Setting.showMessage("success", "Successfully connecting smtp server");
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", res.msg);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -167,8 +167,8 @@ class TokenEditPage extends React.Component {
const token = Setting.deepCopy(this.state.token); const token = Setting.deepCopy(this.state.token);
TokenBackend.updateToken(this.state.token.owner, this.state.tokenName, token) TokenBackend.updateToken(this.state.token.owner, this.state.tokenName, token)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
tokenName: this.state.token.name, tokenName: this.state.token.name,
}); });
@ -179,22 +179,26 @@ class TokenEditPage extends React.Component {
this.props.history.push(`/tokens/${this.state.token.name}`); this.props.history.push(`/tokens/${this.state.token.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateTokenField("name", this.state.tokenName); this.updateTokenField("name", this.state.tokenName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteToken() { deleteToken() {
TokenBackend.deleteToken(this.state.token) TokenBackend.deleteToken(this.state.token)
.then(() => { .then((res) => {
this.props.history.push("/tokens"); if (res.status === "ok") {
this.props.history.push("/tokens");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Token failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -44,27 +44,31 @@ class TokenListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/tokens/${newToken.name}`, mode: "add"}); this.props.history.push({pathname: `/tokens/${newToken.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Token failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Token failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteToken(i) { deleteToken(i) {
TokenBackend.deleteToken(this.state.data[i]) TokenBackend.deleteToken(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Token deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Token failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -612,7 +612,7 @@ class UserEditPage extends React.Component {
UserBackend.updateUser(this.state.organizationName, this.state.userName, user) UserBackend.updateUser(this.state.organizationName, this.state.userName, user)
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
organizationName: this.state.user.owner, organizationName: this.state.user.owner,
userName: this.state.user.name, userName: this.state.user.name,
@ -632,23 +632,27 @@ class UserEditPage extends React.Component {
} }
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateUserField("owner", this.state.organizationName); this.updateUserField("owner", this.state.organizationName);
this.updateUserField("name", this.state.userName); this.updateUserField("name", this.state.userName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteUser() { deleteUser() {
UserBackend.deleteUser(this.state.user) UserBackend.deleteUser(this.state.user)
.then(() => { .then((res) => {
this.props.history.push("/users"); if (res.status === "ok") {
this.props.history.push("/users");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `User failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -74,27 +74,31 @@ class UserListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/users/${newUser.owner}/${newUser.name}`, mode: "add"}); this.props.history.push({pathname: `/users/${newUser.owner}/${newUser.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `User failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `User failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteUser(i) { deleteUser(i) {
UserBackend.deleteUser(this.state.data[i]) UserBackend.deleteUser(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "User deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `User failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -26,7 +26,7 @@ class WebAuthnCredentialTable extends React.Component {
registerWebAuthn() { registerWebAuthn() {
UserWebauthnBackend.registerWebauthnCredential().then((res) => { UserWebauthnBackend.registerWebauthnCredential().then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully added webauthn credentials"); Setting.showMessage("success", "Successfully added webauthn credentials");
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", res.msg);
@ -34,7 +34,7 @@ class WebAuthnCredentialTable extends React.Component {
this.props.refresh(); this.props.refresh();
}).catch(error => { }).catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -296,8 +296,8 @@ class WebhookEditPage extends React.Component {
const webhook = Setting.deepCopy(this.state.webhook); const webhook = Setting.deepCopy(this.state.webhook);
WebhookBackend.updateWebhook(this.state.webhook.owner, this.state.webhookName, webhook) WebhookBackend.updateWebhook(this.state.webhook.owner, this.state.webhookName, webhook)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.setState({ this.setState({
webhookName: this.state.webhook.name, webhookName: this.state.webhook.name,
}); });
@ -308,22 +308,26 @@ class WebhookEditPage extends React.Component {
this.props.history.push(`/webhooks/${this.state.webhook.name}`); this.props.history.push(`/webhooks/${this.state.webhook.name}`);
} }
} else { } else {
Setting.showMessage("error", res.msg); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
this.updateWebhookField("name", this.state.webhookName); this.updateWebhookField("name", this.state.webhookName);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteWebhook() { deleteWebhook() {
WebhookBackend.deleteWebhook(this.state.webhook) WebhookBackend.deleteWebhook(this.state.webhook)
.then(() => { .then((res) => {
this.props.history.push("/webhooks"); if (res.status === "ok") {
this.props.history.push("/webhooks");
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Webhook failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -44,27 +44,31 @@ class WebhookListPage extends BaseListPage {
.then((res) => { .then((res) => {
if (res.status === "ok") { if (res.status === "ok") {
this.props.history.push({pathname: `/webhooks/${newWebhook.name}`, mode: "add"}); this.props.history.push({pathname: `/webhooks/${newWebhook.name}`, mode: "add"});
Setting.showMessage("success", i18next.t("general:Successfully added"));
} else { } else {
Setting.showMessage("error", `Webhook failed to add: ${res.msg}`); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `Webhook failed to add: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }
deleteWebhook(i) { deleteWebhook(i) {
WebhookBackend.deleteWebhook(this.state.data[i]) WebhookBackend.deleteWebhook(this.state.data[i])
.then((res) => { .then((res) => {
Setting.showMessage("success", "Webhook deleted successfully"); if (res.status === "ok") {
this.setState({ Setting.showMessage("success", i18next.t("general:Successfully deleted"));
data: Setting.deleteRow(this.state.data, i), this.setState({
pagination: {total: this.state.pagination.total - 1}, data: Setting.deleteRow(this.state.data, i),
}); pagination: {total: this.state.pagination.total - 1},
} });
) } else {
Setting.showMessage("error", `${i18next.t("general:Failed to delete")}: ${res.msg}`);
}
})
.catch(error => { .catch(error => {
Setting.showMessage("error", `Webhook failed to delete: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
}); });
} }

View File

@ -126,7 +126,7 @@ class AuthCallback extends React.Component {
// If service was not specified, Casdoor must display a message notifying the client that it has successfully initiated a single sign-on session. // If service was not specified, Casdoor must display a message notifying the client that it has successfully initiated a single sign-on session.
msg += "Now you can visit apps protected by Casdoor."; msg += "Now you can visit apps protected by Casdoor.";
} }
Util.showMessage("success", msg); Setting.showMessage("success", msg);
if (casService !== "") { if (casService !== "") {
const st = res.data; const st = res.data;
@ -135,7 +135,7 @@ class AuthCallback extends React.Component {
window.location.href = newUrl.toString(); window.location.href = newUrl.toString();
} }
} else { } else {
Util.showMessage("error", `Failed to log in: ${res.msg}`); Setting.showMessage("error", `Failed to log in: ${res.msg}`);
} }
}); });
return; return;
@ -148,7 +148,7 @@ class AuthCallback extends React.Component {
if (res.status === "ok") { if (res.status === "ok") {
const responseType = this.getResponseType(); const responseType = this.getResponseType();
if (responseType === "login") { if (responseType === "login") {
Util.showMessage("success", "Logged in successfully"); Setting.showMessage("success", "Logged in successfully");
// Setting.goToLinkSoft(this, "/"); // Setting.goToLinkSoft(this, "/");
const link = Setting.getFromLink(); const link = Setting.getFromLink();
@ -156,7 +156,7 @@ class AuthCallback extends React.Component {
} else if (responseType === "code") { } else if (responseType === "code") {
const code = res.data; const code = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}code=${code}&state=${oAuthParams.state}`); Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}code=${code}&state=${oAuthParams.state}`);
// Util.showMessage("success", `Authorization code: ${res.data}`); // Setting.showMessage("success", `Authorization code: ${res.data}`);
} else if (responseType === "token" || responseType === "id_token") { } else if (responseType === "token" || responseType === "id_token") {
const token = res.data; const token = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}${responseType}=${token}&state=${oAuthParams.state}&token_type=bearer`); Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}${responseType}=${token}&state=${oAuthParams.state}&token_type=bearer`);

View File

@ -61,10 +61,7 @@ class ForgetPage extends React.Component {
if (this.state.applicationName !== undefined) { if (this.state.applicationName !== undefined) {
this.getApplication(); this.getApplication();
} else { } else {
Util.showMessage( Setting.showMessage("error", i18next.t("forget:Unknown forget type: ") + this.state.type);
"error",
i18next.t("forget:Unknown forget type: ") + this.state.type
);
} }
} }

View File

@ -67,7 +67,7 @@ class LoginPage extends React.Component {
} else if (this.state.type === "saml") { } else if (this.state.type === "saml") {
this.getSamlApplication(); this.getSamlApplication();
} else { } else {
Util.showMessage("error", `Unknown authentication type: ${this.state.type}`); Setting.showMessage("error", `Unknown authentication type: ${this.state.type}`);
} }
} }
@ -92,7 +92,7 @@ class LoginPage extends React.Component {
application: res.data, application: res.data,
}); });
} else { } else {
// Util.showMessage("error", res.msg); // Setting.showMessage("error", res.msg);
this.setState({ this.setState({
application: res.data, application: res.data,
msg: res.msg, msg: res.msg,
@ -122,7 +122,7 @@ class LoginPage extends React.Component {
applicationName: res.data.name, applicationName: res.data.name,
}); });
} else { } else {
Util.showMessage("error", res.msg); Setting.showMessage("error", res.msg);
} }
}); });
} }
@ -269,7 +269,7 @@ class LoginPage extends React.Component {
// If service was not specified, Casdoor must display a message notifying the client that it has successfully initiated a single sign-on session. // If service was not specified, Casdoor must display a message notifying the client that it has successfully initiated a single sign-on session.
msg += "Now you can visit apps protected by Casdoor."; msg += "Now you can visit apps protected by Casdoor.";
} }
Util.showMessage("success", msg); Setting.showMessage("success", msg);
this.setState({openCaptchaModal: false}); this.setState({openCaptchaModal: false});
@ -281,7 +281,7 @@ class LoginPage extends React.Component {
} }
} else { } else {
this.setState({openCaptchaModal: false}); this.setState({openCaptchaModal: false});
Util.showMessage("error", `Failed to log in: ${res.msg}`); Setting.showMessage("error", `Failed to log in: ${res.msg}`);
} }
}); });
} else { } else {
@ -295,13 +295,13 @@ class LoginPage extends React.Component {
const responseType = values["type"]; const responseType = values["type"];
if (responseType === "login") { if (responseType === "login") {
Util.showMessage("success", "Logged in successfully"); Setting.showMessage("success", "Logged in successfully");
const link = Setting.getFromLink(); const link = Setting.getFromLink();
Setting.goToLink(link); Setting.goToLink(link);
} else if (responseType === "code") { } else if (responseType === "code") {
this.postCodeLoginAction(res); this.postCodeLoginAction(res);
// Util.showMessage("success", `Authorization code: ${res.data}`); // Setting.showMessage("success", `Authorization code: ${res.data}`);
} else if (responseType === "token" || responseType === "id_token") { } else if (responseType === "token" || responseType === "id_token") {
const accessToken = res.data; const accessToken = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}#${responseType}=${accessToken}?state=${oAuthParams.state}&token_type=bearer`); Setting.goToLink(`${oAuthParams.redirectUri}#${responseType}=${accessToken}?state=${oAuthParams.state}&token_type=bearer`);
@ -312,7 +312,7 @@ class LoginPage extends React.Component {
} }
} else { } else {
this.setState({openCaptchaModal: false}); this.setState({openCaptchaModal: false});
Util.showMessage("error", `Failed to log in: ${res.msg}`); Setting.showMessage("error", `Failed to log in: ${res.msg}`);
} }
}); });
} }
@ -673,7 +673,7 @@ class LoginPage extends React.Component {
}), }),
}) })
.then(res => res.json()).then((res) => { .then(res => res.json()).then((res) => {
if (res.msg === "") { if (res.status === "ok") {
const responseType = values["type"]; const responseType = values["type"];
if (responseType === "code") { if (responseType === "code") {
this.postCodeLoginAction(res); this.postCodeLoginAction(res);
@ -689,7 +689,7 @@ class LoginPage extends React.Component {
} }
}) })
.catch(error => { .catch(error => {
Setting.showMessage("error", `${i18next.t("application:Failed to connect to server: ")}${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}${error}`);
}); });
}); });
} }

View File

@ -203,9 +203,9 @@ class PromptPage extends React.Component {
const user = Setting.deepCopy(this.state.user); const user = Setting.deepCopy(this.state.user);
UserBackend.updateUser(this.state.user.owner, this.state.user.name, user) UserBackend.updateUser(this.state.user.owner, this.state.user.name, user)
.then((res) => { .then((res) => {
if (res.msg === "") { if (res.status === "ok") {
if (isFinal) { if (isFinal) {
Setting.showMessage("success", "Successfully saved"); Setting.showMessage("success", i18next.t("general:Successfully saved"));
this.logout(); this.logout();
} }
@ -217,7 +217,7 @@ class PromptPage extends React.Component {
}) })
.catch(error => { .catch(error => {
if (isFinal) { if (isFinal) {
Setting.showMessage("error", `Failed to connect to server: ${error}`); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
} }
}); });
} }

View File

@ -16,7 +16,6 @@ import React from "react";
import {Button, Result} from "antd"; import {Button, Result} from "antd";
import i18next from "i18next"; import i18next from "i18next";
import {authConfig} from "./Auth"; import {authConfig} from "./Auth";
import * as Util from "./Util";
import * as ApplicationBackend from "../backend/ApplicationBackend"; import * as ApplicationBackend from "../backend/ApplicationBackend";
import * as Setting from "../Setting"; import * as Setting from "../Setting";
@ -34,7 +33,7 @@ class ResultPage extends React.Component {
if (this.state.applicationName !== undefined) { if (this.state.applicationName !== undefined) {
this.getApplication(); this.getApplication();
} else { } else {
Util.showMessage("error", `Unknown application name: ${this.state.applicationName}`); Setting.showMessage("error", `Unknown application name: ${this.state.applicationName}`);
} }
} }

View File

@ -79,7 +79,7 @@ class SamlCallback extends React.Component {
if (res.status === "ok") { if (res.status === "ok") {
const responseType = this.getResponseType(redirectUri); const responseType = this.getResponseType(redirectUri);
if (responseType === "login") { if (responseType === "login") {
Util.showMessage("success", "Logged in successfully"); Setting.showMessage("success", "Logged in successfully");
Setting.goToLink("/"); Setting.goToLink("/");
} else if (responseType === "code") { } else if (responseType === "code") {
const code = res.data; const code = res.data;

View File

@ -94,7 +94,7 @@ class SignupPage extends React.Component {
if (applicationName !== undefined) { if (applicationName !== undefined) {
this.getApplication(applicationName); this.getApplication(applicationName);
} else { } else {
Util.showMessage("error", `Unknown application name: ${applicationName}`); Setting.showMessage("error", `Unknown application name: ${applicationName}`);
} }
} }

View File

@ -13,19 +13,11 @@
// limitations under the License. // limitations under the License.
import React from "react"; import React from "react";
import {Alert, Button, Result, message} from "antd"; import {Alert, Button, Result} from "antd";
import {getWechatMessageEvent} from "./AuthBackend"; import {getWechatMessageEvent} from "./AuthBackend";
import * as Setting from "../Setting"; import * as Setting from "../Setting";
import * as Provider from "./Provider"; import * as Provider from "./Provider";
export function showMessage(type, text) {
if (type === "success") {
message.success(text);
} else if (type === "error") {
message.error(text);
}
}
export function renderMessage(msg) { export function renderMessage(msg) {
if (msg !== null) { if (msg !== null) {
return ( return (

View File

@ -90,16 +90,15 @@ class PolicyTable extends React.Component {
this.setState({loading: true}); this.setState({loading: true});
AdapterBackend.syncPolicies(this.props.owner, this.props.name) AdapterBackend.syncPolicies(this.props.owner, this.props.name)
.then((res) => { .then((res) => {
if (res.status !== "error") { if (res.status === "ok") {
this.setState({loading: false, policyLists: res}); this.setState({policyLists: res});
} else { } else {
this.setState({loading: false}); Setting.showMessage("error", i18next.t("adapter:Failed to sync policies: ") + res.msg);
Setting.showMessage("error", `Adapter failed to get policies, ${res.msg}`);
} }
this.setState({loading: false});
}) })
.catch(error => { .catch(error => {
this.setState({loading: false}); Setting.showMessage("error", `${i18next.t("general:Failed to connect to server")}: ${error}`);
Setting.showMessage("error", `Adapter failed to get policies, ${error}`);
}); });
} }
@ -107,9 +106,9 @@ class PolicyTable extends React.Component {
AdapterBackend.UpdatePolicy(this.props.owner, this.props.name, [this.state.oldPolicy, table[i]]).then(res => { AdapterBackend.UpdatePolicy(this.props.owner, this.props.name, [this.state.oldPolicy, table[i]]).then(res => {
if (res.status === "ok") { if (res.status === "ok") {
this.setState({editingIndex: "", oldPolicy: ""}); this.setState({editingIndex: "", oldPolicy: ""});
Setting.showMessage("success", i18next.t("adapter:Update policy successfully")); Setting.showMessage("success", i18next.t("general:Successfully saved"));
} else { } else {
Setting.showMessage("error", i18next.t(`adapter:Update policy failed, ${res.msg}`)); Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);
} }
}); });
} }
@ -119,12 +118,12 @@ class PolicyTable extends React.Component {
if (res.status === "ok") { if (res.status === "ok") {
this.setState({editingIndex: "", oldPolicy: "", add: false}); this.setState({editingIndex: "", oldPolicy: "", add: false});
if (res.data !== "Affected") { if (res.data !== "Affected") {
Setting.showMessage("info", i18next.t("adapter:Repeated policy")); Setting.showMessage("info", i18next.t("adapter:Repeated policy rules"));
} else { } else {
Setting.showMessage("success", i18next.t("adapter:Add policy successfully")); Setting.showMessage("success", i18next.t("general:Successfully added"));
} }
} else { } else {
Setting.showMessage("error", i18next.t(`adapter:Add policy failed, ${res.msg}`)); Setting.showMessage("error", `${i18next.t("general:Failed to add")}: ${res.msg}`);
} }
}); });
} }
@ -134,9 +133,9 @@ class PolicyTable extends React.Component {
if (res.status === "ok") { if (res.status === "ok") {
table = Setting.deleteRow(table, i); table = Setting.deleteRow(table, i);
this.updateTable(table); this.updateTable(table);
Setting.showMessage("success", i18next.t("adapter:Delete policy successfully")); Setting.showMessage("success", i18next.t("general:Successfully deleted"));
} else { } else {
Setting.showMessage("error", i18next.t(`adapter:Delete policy failed, ${res.msg}`)); Setting.showMessage("error", i18next.t("general:Failed to delete"));
} }
}); });
} }

View File

@ -89,7 +89,7 @@ i18n.use(initReactI18next).init({
keySeparator: false, keySeparator: false,
interpolation: { interpolation: {
escapeValue: false, escapeValue: true,
}, },
// debug: true, // debug: true,
saveMissing: true, saveMissing: true,

View File

@ -6,15 +6,13 @@
"Sign Up": "Registrieren" "Sign Up": "Registrieren"
}, },
"adapter": { "adapter": {
"Add policy successfully": "Add policy successfully",
"Delete policy successfully": "Delete policy successfully",
"Edit Adapter": "Edit Adapter", "Edit Adapter": "Edit Adapter",
"Failed to sync policies: ": "Failed to sync policies: ",
"New Adapter": "New Adapter", "New Adapter": "New Adapter",
"Policies": "Policies", "Policies": "Policies",
"Policies - Tooltip": "Policies - Tooltip", "Policies - Tooltip": "Policies - Tooltip",
"Repeated policy": "Repeated policy", "Repeated policy rules": "Repeated policy rules",
"Sync": "Sync", "Sync": "Sync"
"Update policy successfully": "Update policy successfully"
}, },
"application": { "application": {
"Always": "Always", "Always": "Always",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "Aktiviere Anmeldesession - Tooltip", "Enable signin session - Tooltip": "Aktiviere Anmeldesession - Tooltip",
"Enable signup": "Anmeldung aktivieren", "Enable signup": "Anmeldung aktivieren",
"Enable signup - Tooltip": "Whether to allow users to sign up", "Enable signup - Tooltip": "Whether to allow users to sign up",
"Failed to connect to server": "Failed to connect to server",
"File uploaded successfully": "Datei erfolgreich hochgeladen", "File uploaded successfully": "Datei erfolgreich hochgeladen",
"Form CSS": "Form CSS", "Form CSS": "Form CSS",
"Form CSS - Edit": "Form CSS - Edit", "Form CSS - Edit": "Form CSS - Edit",
@ -128,7 +125,7 @@
"Please input your username!": "Bitte geben Sie Ihren Benutzernamen ein!", "Please input your username!": "Bitte geben Sie Ihren Benutzernamen ein!",
"Reset": "Reset", "Reset": "Reset",
"Retrieve password": "Passwort abrufen", "Retrieve password": "Passwort abrufen",
"Unknown forget type": "Unknown forget type", "Unknown forget type: ": "Unknown forget type: ",
"Verify": "Überprüfen" "Verify": "Überprüfen"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "Bearbeiten", "Edit": "Bearbeiten",
"Email": "E-Mail", "Email": "E-Mail",
"Email - Tooltip": "email", "Email - Tooltip": "email",
"Failed to add": "Failed to add",
"Failed to connect to server": "Failed to connect to server",
"Failed to delete": "Failed to delete",
"Failed to save": "Failed to save",
"Favicon": "Favicon", "Favicon": "Favicon",
"Favicon - Tooltip": "Application icon", "Favicon - Tooltip": "Application icon",
"First name": "First name", "First name": "First name",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "Sorry, you do not have permission to access this page.", "Sorry, you do not have permission to access this page.": "Sorry, you do not have permission to access this page.",
"State": "State", "State": "State",
"State - Tooltip": "State - Tooltip", "State - Tooltip": "State - Tooltip",
"Successfully added": "Successfully added",
"Successfully deleted": "Successfully deleted",
"Successfully saved": "Successfully saved",
"Swagger": "Swagger", "Swagger": "Swagger",
"Sync": "Sync", "Sync": "Sync",
"Syncers": "Syncers", "Syncers": "Syncers",

View File

@ -6,15 +6,13 @@
"Sign Up": "Sign Up" "Sign Up": "Sign Up"
}, },
"adapter": { "adapter": {
"Add policy successfully": "Add policy successfully",
"Delete policy successfully": "Delete policy successfully",
"Edit Adapter": "Edit Adapter", "Edit Adapter": "Edit Adapter",
"Failed to sync policies: ": "Failed to sync policies: ",
"New Adapter": "New Adapter", "New Adapter": "New Adapter",
"Policies": "Policies", "Policies": "Policies",
"Policies - Tooltip": "Policies - Tooltip", "Policies - Tooltip": "Policies - Tooltip",
"Repeated policy": "Repeated policy", "Repeated policy rules": "Repeated policy rules",
"Sync": "Sync", "Sync": "Sync"
"Update policy successfully": "Update policy successfully"
}, },
"application": { "application": {
"Always": "Always", "Always": "Always",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signin session - Tooltip": "Enable signin session - Tooltip",
"Enable signup": "Enable signup", "Enable signup": "Enable signup",
"Enable signup - Tooltip": "Enable signup - Tooltip", "Enable signup - Tooltip": "Enable signup - Tooltip",
"Failed to connect to server": "Failed to connect to server",
"File uploaded successfully": "File uploaded successfully", "File uploaded successfully": "File uploaded successfully",
"Form CSS": "Form CSS", "Form CSS": "Form CSS",
"Form CSS - Edit": "Form CSS - Edit", "Form CSS - Edit": "Form CSS - Edit",
@ -128,7 +125,7 @@
"Please input your username!": "Please input your username!", "Please input your username!": "Please input your username!",
"Reset": "Reset", "Reset": "Reset",
"Retrieve password": "Retrieve password", "Retrieve password": "Retrieve password",
"Unknown forget type": "Unknown forget type", "Unknown forget type: ": "Unknown forget type: ",
"Verify": "Verify" "Verify": "Verify"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "Edit", "Edit": "Edit",
"Email": "Email", "Email": "Email",
"Email - Tooltip": "Email - Tooltip", "Email - Tooltip": "Email - Tooltip",
"Failed to add": "Failed to add",
"Failed to connect to server": "Failed to connect to server",
"Failed to delete": "Failed to delete",
"Failed to save": "Failed to save",
"Favicon": "Favicon", "Favicon": "Favicon",
"Favicon - Tooltip": "Favicon - Tooltip", "Favicon - Tooltip": "Favicon - Tooltip",
"First name": "First name", "First name": "First name",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "Sorry, you do not have permission to access this page.", "Sorry, you do not have permission to access this page.": "Sorry, you do not have permission to access this page.",
"State": "State", "State": "State",
"State - Tooltip": "State - Tooltip", "State - Tooltip": "State - Tooltip",
"Successfully added": "Successfully added",
"Successfully deleted": "Successfully deleted",
"Successfully saved": "Successfully saved",
"Swagger": "Swagger", "Swagger": "Swagger",
"Sync": "Sync", "Sync": "Sync",
"Syncers": "Syncers", "Syncers": "Syncers",

View File

@ -6,15 +6,13 @@
"Sign Up": "S'inscrire" "Sign Up": "S'inscrire"
}, },
"adapter": { "adapter": {
"Add policy successfully": "Add policy successfully",
"Delete policy successfully": "Delete policy successfully",
"Edit Adapter": "Edit Adapter", "Edit Adapter": "Edit Adapter",
"Failed to sync policies: ": "Failed to sync policies: ",
"New Adapter": "New Adapter", "New Adapter": "New Adapter",
"Policies": "Policies", "Policies": "Policies",
"Policies - Tooltip": "Policies - Tooltip", "Policies - Tooltip": "Policies - Tooltip",
"Repeated policy": "Repeated policy", "Repeated policy rules": "Repeated policy rules",
"Sync": "Sync", "Sync": "Sync"
"Update policy successfully": "Update policy successfully"
}, },
"application": { "application": {
"Always": "Always", "Always": "Always",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "Activer la session de connexion - infobulle", "Enable signin session - Tooltip": "Activer la session de connexion - infobulle",
"Enable signup": "Activer l'inscription", "Enable signup": "Activer l'inscription",
"Enable signup - Tooltip": "Whether to allow users to sign up", "Enable signup - Tooltip": "Whether to allow users to sign up",
"Failed to connect to server": "Failed to connect to server",
"File uploaded successfully": "Fichier téléchargé avec succès", "File uploaded successfully": "Fichier téléchargé avec succès",
"Form CSS": "Form CSS", "Form CSS": "Form CSS",
"Form CSS - Edit": "Form CSS - Edit", "Form CSS - Edit": "Form CSS - Edit",
@ -128,7 +125,7 @@
"Please input your username!": "Veuillez entrer votre nom d'utilisateur !", "Please input your username!": "Veuillez entrer votre nom d'utilisateur !",
"Reset": "Reset", "Reset": "Reset",
"Retrieve password": "Récupérer le mot de passe", "Retrieve password": "Récupérer le mot de passe",
"Unknown forget type": "Unknown forget type", "Unknown forget type: ": "Unknown forget type: ",
"Verify": "Vérifier" "Verify": "Vérifier"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "Editer", "Edit": "Editer",
"Email": "Courriel", "Email": "Courriel",
"Email - Tooltip": "email", "Email - Tooltip": "email",
"Failed to add": "Failed to add",
"Failed to connect to server": "Failed to connect to server",
"Failed to delete": "Failed to delete",
"Failed to save": "Failed to save",
"Favicon": "Favicon", "Favicon": "Favicon",
"Favicon - Tooltip": "Application icon", "Favicon - Tooltip": "Application icon",
"First name": "First name", "First name": "First name",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "Désolé, vous n'avez pas la permission d'accéder à cette page.", "Sorry, you do not have permission to access this page.": "Désolé, vous n'avez pas la permission d'accéder à cette page.",
"State": "State", "State": "State",
"State - Tooltip": "State - Tooltip", "State - Tooltip": "State - Tooltip",
"Successfully added": "Successfully added",
"Successfully deleted": "Successfully deleted",
"Successfully saved": "Successfully saved",
"Swagger": "Swagger", "Swagger": "Swagger",
"Sync": "Sync", "Sync": "Sync",
"Syncers": "Synchronisateurs", "Syncers": "Synchronisateurs",

View File

@ -6,15 +6,13 @@
"Sign Up": "新規登録" "Sign Up": "新規登録"
}, },
"adapter": { "adapter": {
"Add policy successfully": "Add policy successfully",
"Delete policy successfully": "Delete policy successfully",
"Edit Adapter": "Edit Adapter", "Edit Adapter": "Edit Adapter",
"Failed to sync policies: ": "Failed to sync policies: ",
"New Adapter": "New Adapter", "New Adapter": "New Adapter",
"Policies": "Policies", "Policies": "Policies",
"Policies - Tooltip": "Policies - Tooltip", "Policies - Tooltip": "Policies - Tooltip",
"Repeated policy": "Repeated policy", "Repeated policy rules": "Repeated policy rules",
"Sync": "Sync", "Sync": "Sync"
"Update policy successfully": "Update policy successfully"
}, },
"application": { "application": {
"Always": "Always", "Always": "Always",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signin session - Tooltip": "Enable signin session - Tooltip",
"Enable signup": "サインアップを有効にする", "Enable signup": "サインアップを有効にする",
"Enable signup - Tooltip": "Whether to allow users to sign up", "Enable signup - Tooltip": "Whether to allow users to sign up",
"Failed to connect to server": "Failed to connect to server",
"File uploaded successfully": "ファイルが正常にアップロードされました", "File uploaded successfully": "ファイルが正常にアップロードされました",
"Form CSS": "Form CSS", "Form CSS": "Form CSS",
"Form CSS - Edit": "Form CSS - Edit", "Form CSS - Edit": "Form CSS - Edit",
@ -128,7 +125,7 @@
"Please input your username!": "ユーザー名を入力してください!", "Please input your username!": "ユーザー名を入力してください!",
"Reset": "Reset", "Reset": "Reset",
"Retrieve password": "パスワードの取得", "Retrieve password": "パスワードの取得",
"Unknown forget type": "Unknown forget type", "Unknown forget type: ": "Unknown forget type: ",
"Verify": "確認する" "Verify": "確認する"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "編集", "Edit": "編集",
"Email": "Eメールアドレス", "Email": "Eメールアドレス",
"Email - Tooltip": "email", "Email - Tooltip": "email",
"Failed to add": "Failed to add",
"Failed to connect to server": "Failed to connect to server",
"Failed to delete": "Failed to delete",
"Failed to save": "Failed to save",
"Favicon": "Favicon", "Favicon": "Favicon",
"Favicon - Tooltip": "Application icon", "Favicon - Tooltip": "Application icon",
"First name": "First name", "First name": "First name",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "申し訳ありませんが、このページにアクセスする権限がありません。", "Sorry, you do not have permission to access this page.": "申し訳ありませんが、このページにアクセスする権限がありません。",
"State": "State", "State": "State",
"State - Tooltip": "State - Tooltip", "State - Tooltip": "State - Tooltip",
"Successfully added": "Successfully added",
"Successfully deleted": "Successfully deleted",
"Successfully saved": "Successfully saved",
"Swagger": "Swagger", "Swagger": "Swagger",
"Sync": "Sync", "Sync": "Sync",
"Syncers": "Syncers", "Syncers": "Syncers",

View File

@ -6,15 +6,13 @@
"Sign Up": "Sign Up" "Sign Up": "Sign Up"
}, },
"adapter": { "adapter": {
"Add policy successfully": "Add policy successfully",
"Delete policy successfully": "Delete policy successfully",
"Edit Adapter": "Edit Adapter", "Edit Adapter": "Edit Adapter",
"Failed to sync policies: ": "Failed to sync policies: ",
"New Adapter": "New Adapter", "New Adapter": "New Adapter",
"Policies": "Policies", "Policies": "Policies",
"Policies - Tooltip": "Policies - Tooltip", "Policies - Tooltip": "Policies - Tooltip",
"Repeated policy": "Repeated policy", "Repeated policy rules": "Repeated policy rules",
"Sync": "Sync", "Sync": "Sync"
"Update policy successfully": "Update policy successfully"
}, },
"application": { "application": {
"Always": "Always", "Always": "Always",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signin session - Tooltip": "Enable signin session - Tooltip",
"Enable signup": "Enable signup", "Enable signup": "Enable signup",
"Enable signup - Tooltip": "Whether to allow users to sign up", "Enable signup - Tooltip": "Whether to allow users to sign up",
"Failed to connect to server": "Failed to connect to server",
"File uploaded successfully": "File uploaded successfully", "File uploaded successfully": "File uploaded successfully",
"Form CSS": "Form CSS", "Form CSS": "Form CSS",
"Form CSS - Edit": "Form CSS - Edit", "Form CSS - Edit": "Form CSS - Edit",
@ -128,7 +125,7 @@
"Please input your username!": "Please input your username!", "Please input your username!": "Please input your username!",
"Reset": "Reset", "Reset": "Reset",
"Retrieve password": "Retrieve password", "Retrieve password": "Retrieve password",
"Unknown forget type": "Unknown forget type", "Unknown forget type: ": "Unknown forget type: ",
"Verify": "Verify" "Verify": "Verify"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "Edit", "Edit": "Edit",
"Email": "Email", "Email": "Email",
"Email - Tooltip": "email", "Email - Tooltip": "email",
"Failed to add": "Failed to add",
"Failed to connect to server": "Failed to connect to server",
"Failed to delete": "Failed to delete",
"Failed to save": "Failed to save",
"Favicon": "Favicon", "Favicon": "Favicon",
"Favicon - Tooltip": "Application icon", "Favicon - Tooltip": "Application icon",
"First name": "First name", "First name": "First name",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "Sorry, you do not have permission to access this page.", "Sorry, you do not have permission to access this page.": "Sorry, you do not have permission to access this page.",
"State": "State", "State": "State",
"State - Tooltip": "State - Tooltip", "State - Tooltip": "State - Tooltip",
"Successfully added": "Successfully added",
"Successfully deleted": "Successfully deleted",
"Successfully saved": "Successfully saved",
"Swagger": "Swagger", "Swagger": "Swagger",
"Sync": "Sync", "Sync": "Sync",
"Syncers": "Syncers", "Syncers": "Syncers",

View File

@ -6,15 +6,13 @@
"Sign Up": "Регистрация" "Sign Up": "Регистрация"
}, },
"adapter": { "adapter": {
"Add policy successfully": "Add policy successfully",
"Delete policy successfully": "Delete policy successfully",
"Edit Adapter": "Edit Adapter", "Edit Adapter": "Edit Adapter",
"Failed to sync policies: ": "Failed to sync policies: ",
"New Adapter": "New Adapter", "New Adapter": "New Adapter",
"Policies": "Policies", "Policies": "Policies",
"Policies - Tooltip": "Policies - Tooltip", "Policies - Tooltip": "Policies - Tooltip",
"Repeated policy": "Repeated policy", "Repeated policy rules": "Repeated policy rules",
"Sync": "Sync", "Sync": "Sync"
"Update policy successfully": "Update policy successfully"
}, },
"application": { "application": {
"Always": "Always", "Always": "Always",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "Включить сеанс входа - Подсказка", "Enable signin session - Tooltip": "Включить сеанс входа - Подсказка",
"Enable signup": "Включить регистрацию", "Enable signup": "Включить регистрацию",
"Enable signup - Tooltip": "Whether to allow users to sign up", "Enable signup - Tooltip": "Whether to allow users to sign up",
"Failed to connect to server": "Failed to connect to server",
"File uploaded successfully": "Файл успешно загружен", "File uploaded successfully": "Файл успешно загружен",
"Form CSS": "Form CSS", "Form CSS": "Form CSS",
"Form CSS - Edit": "Form CSS - Edit", "Form CSS - Edit": "Form CSS - Edit",
@ -128,7 +125,7 @@
"Please input your username!": "Пожалуйста, введите ваше имя пользователя!", "Please input your username!": "Пожалуйста, введите ваше имя пользователя!",
"Reset": "Сбросить", "Reset": "Сбросить",
"Retrieve password": "Получить пароль", "Retrieve password": "Получить пароль",
"Unknown forget type": "Неизвестный тип", "Unknown forget type: ": "Unknown forget type: ",
"Verify": "Подтвердить" "Verify": "Подтвердить"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "Редактирование", "Edit": "Редактирование",
"Email": "Почта", "Email": "Почта",
"Email - Tooltip": "email", "Email - Tooltip": "email",
"Failed to add": "Failed to add",
"Failed to connect to server": "Failed to connect to server",
"Failed to delete": "Failed to delete",
"Failed to save": "Failed to save",
"Favicon": "Иконка", "Favicon": "Иконка",
"Favicon - Tooltip": "Application icon", "Favicon - Tooltip": "Application icon",
"First name": "Имя", "First name": "Имя",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "Извините, вы не имеете права доступа к этой странице.", "Sorry, you do not have permission to access this page.": "Извините, вы не имеете права доступа к этой странице.",
"State": "State", "State": "State",
"State - Tooltip": "State - Tooltip", "State - Tooltip": "State - Tooltip",
"Successfully added": "Successfully added",
"Successfully deleted": "Successfully deleted",
"Successfully saved": "Successfully saved",
"Swagger": "Swagger", "Swagger": "Swagger",
"Sync": "Sync", "Sync": "Sync",
"Syncers": "Синхронизаторы", "Syncers": "Синхронизаторы",

View File

@ -6,15 +6,13 @@
"Sign Up": "注册" "Sign Up": "注册"
}, },
"adapter": { "adapter": {
"Add policy successfully": "添加策略成功",
"Delete policy successfully": "删除策略成功",
"Edit Adapter": "编辑适配器", "Edit Adapter": "编辑适配器",
"Failed to sync policies: ": "同步策略失败: ",
"New Adapter": "添加适配器", "New Adapter": "添加适配器",
"Policies": "策略", "Policies": "策略",
"Policies - Tooltip": "策略", "Policies - Tooltip": "策略",
"Repeated policy": "策略重复", "Repeated policy rules": "重复的策略",
"Sync": "同步", "Sync": "同步"
"Update policy successfully": "更新策略成功"
}, },
"application": { "application": {
"Always": "始终开启", "Always": "始终开启",
@ -38,7 +36,6 @@
"Enable signin session - Tooltip": "从应用登录Casdoor后Casdoor是否保持会话", "Enable signin session - Tooltip": "从应用登录Casdoor后Casdoor是否保持会话",
"Enable signup": "启用注册", "Enable signup": "启用注册",
"Enable signup - Tooltip": "是否允许用户注册", "Enable signup - Tooltip": "是否允许用户注册",
"Failed to connect to server": "无法连接服务器",
"File uploaded successfully": "文件上传成功", "File uploaded successfully": "文件上传成功",
"Form CSS": "表单CSS", "Form CSS": "表单CSS",
"Form CSS - Edit": "编辑表单CSS", "Form CSS - Edit": "编辑表单CSS",
@ -128,7 +125,7 @@
"Please input your username!": "请输入您的用户名!", "Please input your username!": "请输入您的用户名!",
"Reset": "重置", "Reset": "重置",
"Retrieve password": "找回密码", "Retrieve password": "找回密码",
"Unknown forget type": "未知的忘记密码类型", "Unknown forget type: ": "未知的忘记密码类型: ",
"Verify": "验证" "Verify": "验证"
}, },
"general": { "general": {
@ -167,6 +164,10 @@
"Edit": "编辑", "Edit": "编辑",
"Email": "电子邮箱", "Email": "电子邮箱",
"Email - Tooltip": "电子邮件:", "Email - Tooltip": "电子邮件:",
"Failed to add": "添加失败",
"Failed to connect to server": "连接服务器失败",
"Failed to delete": "删除失败",
"Failed to save": "保存失败",
"Favicon": "网站图标", "Favicon": "网站图标",
"Favicon - Tooltip": "网站的Favicon图标", "Favicon - Tooltip": "网站的Favicon图标",
"First name": "名字", "First name": "名字",
@ -237,6 +238,9 @@
"Sorry, you do not have permission to access this page.": "抱歉,您无权访问该页面", "Sorry, you do not have permission to access this page.": "抱歉,您无权访问该页面",
"State": "状态", "State": "状态",
"State - Tooltip": "状态", "State - Tooltip": "状态",
"Successfully added": "添加成功",
"Successfully deleted": "删除成功",
"Successfully saved": "保存成功",
"Swagger": "API文档", "Swagger": "API文档",
"Sync": "同步", "Sync": "同步",
"Syncers": "同步器", "Syncers": "同步器",