IO-1846 add prior succesful export indicator.
This commit is contained in:
@@ -14493,6 +14493,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>priorsuccesfulexport</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
</children>
|
</children>
|
||||||
</folder_node>
|
</folder_node>
|
||||||
</children>
|
</children>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import QboAuthorizeComponent from "../qbo-authorize/qbo-authorize.component";
|
|||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
|
import ExportLogsCountDisplay from "../export-logs-count-display/export-logs-count-display.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop,
|
bodyshop: selectBodyshop,
|
||||||
@@ -131,11 +132,9 @@ export function AccountingPayablesTableComponent({ bodyshop, loading, bills }) {
|
|||||||
dataIndex: "attempts",
|
dataIndex: "attempts",
|
||||||
key: "attempts",
|
key: "attempts",
|
||||||
|
|
||||||
render: (text, record) => {
|
render: (text, record) => (
|
||||||
const success = record.exportlogs.filter((e) => e.successful).length;
|
<ExportLogsCountDisplay logs={record.exportlogs} />
|
||||||
const attempts = record.exportlogs.length;
|
),
|
||||||
return `${success}/${attempts}`;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t("general.labels.actions"),
|
title: t("general.labels.actions"),
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import { connect } from "react-redux";
|
|||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
|
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
|
||||||
|
import ExportLogsCountDisplay from "../export-logs-count-display/export-logs-count-display.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop,
|
bodyshop: selectBodyshop,
|
||||||
@@ -130,11 +131,9 @@ export function AccountingPayablesTableComponent({
|
|||||||
dataIndex: "attempts",
|
dataIndex: "attempts",
|
||||||
key: "attempts",
|
key: "attempts",
|
||||||
|
|
||||||
render: (text, record) => {
|
render: (text, record) => (
|
||||||
const success = record.exportlogs.filter((e) => e.successful).length;
|
<ExportLogsCountDisplay logs={record.exportlogs} />
|
||||||
const attempts = record.exportlogs.length;
|
),
|
||||||
return `${success}/${attempts}`;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t("general.labels.actions"),
|
title: t("general.labels.actions"),
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import { selectBodyshop } from "../../redux/user/user.selectors";
|
|||||||
import QboAuthorizeComponent from "../qbo-authorize/qbo-authorize.component";
|
import QboAuthorizeComponent from "../qbo-authorize/qbo-authorize.component";
|
||||||
import { DateFormatter } from "../../utils/DateFormatter";
|
import { DateFormatter } from "../../utils/DateFormatter";
|
||||||
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
|
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
|
||||||
|
import ExportLogsCountDisplay from "../export-logs-count-display/export-logs-count-display.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop,
|
bodyshop: selectBodyshop,
|
||||||
@@ -139,12 +140,9 @@ export function AccountingReceivablesTableComponent({
|
|||||||
title: t("exportlogs.labels.attempts"),
|
title: t("exportlogs.labels.attempts"),
|
||||||
dataIndex: "attempts",
|
dataIndex: "attempts",
|
||||||
key: "attempts",
|
key: "attempts",
|
||||||
|
render: (text, record) => (
|
||||||
render: (text, record) => {
|
<ExportLogsCountDisplay logs={record.exportlogs} />
|
||||||
const success = record.exportlogs.filter((e) => e.successful).length;
|
),
|
||||||
const attempts = record.exportlogs.length;
|
|
||||||
return `${success}/${attempts}`;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t("general.labels.actions"),
|
title: t("general.labels.actions"),
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
import React from "react";
|
||||||
|
import { WarningOutlined } from "@ant-design/icons";
|
||||||
|
import { Space, Tooltip } from "antd";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
|
const style = {
|
||||||
|
fontWeight: "bold",
|
||||||
|
color: "green",
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function ExportLogsCountDisplay({ logs }) {
|
||||||
|
const success = logs.filter((e) => e.successful).length;
|
||||||
|
const attempts = logs.length;
|
||||||
|
const { t } = useTranslation();
|
||||||
|
return (
|
||||||
|
<Space style={success > 0 ? style : {}}>
|
||||||
|
{`${success}/${attempts}`}
|
||||||
|
{success > 0 && (
|
||||||
|
<Tooltip title={t("exportlogs.labels.priorsuccesfulexport")}>
|
||||||
|
<WarningOutlined />
|
||||||
|
</Tooltip>
|
||||||
|
)}
|
||||||
|
</Space>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -912,7 +912,8 @@
|
|||||||
"createdat": "Created At"
|
"createdat": "Created At"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"attempts": "Export Attempts"
|
"attempts": "Export Attempts",
|
||||||
|
"priorsuccesfulexport": "This record has previously been exported successfully. Please make sure it has already been deleted in the target system."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
@@ -912,7 +912,8 @@
|
|||||||
"createdat": ""
|
"createdat": ""
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"attempts": ""
|
"attempts": "",
|
||||||
|
"priorsuccesfulexport": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
@@ -912,7 +912,8 @@
|
|||||||
"createdat": ""
|
"createdat": ""
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"attempts": ""
|
"attempts": "",
|
||||||
|
"priorsuccesfulexport": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
Reference in New Issue
Block a user