Add payment number and date. IO-610

This commit is contained in:
Patrick Fic
2021-02-08 11:07:48 -08:00
parent f14b665e26
commit 1d091ac98d
35 changed files with 679 additions and 32 deletions

View File

@@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next";
import { Link } from "react-router-dom";
import { logImEXEvent } from "../../firebase/firebase.utils";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import { DateTimeFormatter } from "../../utils/DateFormatter";
import { DateFormatter, DateTimeFormatter } from "../../utils/DateFormatter";
import { alphaSort } from "../../utils/sorters";
import PaymentExportButton from "../payment-export-button/payment-export-button.component";
import { PaymentsExportAllButton } from "../payments-export-all-button/payments-export-all-button.component";
@@ -37,7 +37,23 @@ export default function AccountingPayablesTableComponent({
<Link to={"/manage/jobs/" + record.job.id}>{record.job.ro_number}</Link>
),
},
{
title: t("payments.fields.date"),
dataIndex: "date",
key: "date",
sorter: (a, b) => alphaSort(a.date, b.date),
sortOrder:
state.sortedInfo.columnKey === "date" && state.sortedInfo.order,
render: (text, record) => <DateFormatter>{record.date}</DateFormatter>,
},
{
title: t("payments.fields.date"),
dataIndex: "date",
key: "date",
sorter: (a, b) => alphaSort(a.date, b.date),
sortOrder:
state.sortedInfo.columnKey === "date" && state.sortedInfo.order,
},
{
title: t("jobs.fields.owner"),
dataIndex: "owner",

View File

@@ -6,6 +6,7 @@ import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { selectBodyshop } from "../../redux/user/user.selectors";
import Alert from "../alert/alert.component";
import DatePickerFormItem from "../form-date-picker/form-date-picker.component";
import CurrencyInput from "../form-items-formatted/currency-form-item.component";
import JobSearchSelect from "../job-search-select/job-search-select.component";
@@ -63,7 +64,18 @@ export function PaymentFormComponent({
<Form.Item label={t("payments.fields.memo")} name="memo">
<Input disabled={disabled} />
</Form.Item>
<Form.Item
label={t("payments.fields.date")}
name="date"
rules={[
{
required: true,
message: t("general.validation.required"),
},
]}
>
<DatePickerFormItem disabled={disabled} />
</Form.Item>
<Form.Item
label={t("payments.fields.payer")}
name="payer"

View File

@@ -5,7 +5,7 @@ import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { Link, useHistory, useLocation } from "react-router-dom";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import { DateTimeFormatter } from "../../utils/DateFormatter";
import { DateFormatter, DateTimeFormatter } from "../../utils/DateFormatter";
import { alphaSort } from "../../utils/sorters";
import { connect } from "react-redux";
@@ -51,7 +51,13 @@ export function PaymentsListPaginated({
</Link>
),
},
{
title: t("payments.fields.paymentnum"),
dataIndex: "paymentnum",
key: "paymentnum",
sorter: (a, b) => alphaSort(a.paymentnum, b.paymentnum),
sortOrder: sortcolumn === "paymentnum" && sortorder,
},
{
title: t("jobs.fields.owner"),
dataIndex: "owner",
@@ -73,6 +79,15 @@ export function PaymentsListPaginated({
);
},
},
{
title: t("payments.fields.date"),
dataIndex: "date",
key: "date",
sorter: (a, b) => alphaSort(a.date, b.date),
sortOrder:
state.sortedInfo.columnKey === "date" && state.sortedInfo.order,
render: (text, record) => <DateFormatter>{record.date}</DateFormatter>,
},
{
title: t("payments.fields.amount"),
dataIndex: "amount",

View File

@@ -71,6 +71,8 @@ export const QUERY_PAYMENTS_FOR_EXPORT = gql`
stripeid
created_at
transactionid
paymentnum
date
}
}
`;

View File

@@ -26,6 +26,8 @@ export const QUERY_ALL_PAYMENTS_PAGINATED = gql`
id
created_at
jobid
paymentnum
date
job {
id
ro_number
@@ -63,6 +65,8 @@ export const UPDATE_PAYMENT = gql`
exportedat
stripeid
payer
paymentnum
date
}
}
}
@@ -85,6 +89,8 @@ export const UPDATE_PAYMENTS = gql`
exportedat
stripeid
payer
paymentnum
date
}
}
}

View File

@@ -37,7 +37,7 @@ export function AllJobs({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
limit: 25,
order: [
{
[sortcolumn || "created_at"]: sortorder
[sortcolumn || "date"]: sortorder
? sortorder === "descend"
? "desc"
: "asc"

View File

@@ -85,7 +85,6 @@
"newline": "New Line"
},
"fields": {
"actual": "Retail Price",
"actual_cost": "Actual Cost",
"actual_price": "Retail",
"cost_center": "Cost Center",
@@ -1407,9 +1406,11 @@
"fields": {
"amount": "Amount",
"created_at": "Created At",
"date": "Payment Date",
"exportedat": "Exported At",
"memo": "Memo",
"payer": "Payer",
"paymentnum": "Payment Number",
"stripeid": "Stripe ID",
"transactionid": "Transaction ID",
"type": "Type"

View File

@@ -85,7 +85,6 @@
"newline": ""
},
"fields": {
"actual": "",
"actual_cost": "",
"actual_price": "",
"cost_center": "",
@@ -1407,9 +1406,11 @@
"fields": {
"amount": "",
"created_at": "",
"date": "",
"exportedat": "",
"memo": "",
"payer": "",
"paymentnum": "",
"stripeid": "",
"transactionid": "",
"type": ""

View File

@@ -85,7 +85,6 @@
"newline": ""
},
"fields": {
"actual": "",
"actual_cost": "",
"actual_price": "",
"cost_center": "",
@@ -1407,9 +1406,11 @@
"fields": {
"amount": "",
"created_at": "",
"date": "",
"exportedat": "",
"memo": "",
"payer": "",
"paymentnum": "",
"stripeid": "",
"transactionid": "",
"type": ""