Implemented file storage handling for Corporate Transfer and Comission Transfer

This commit is contained in:
Joao Ramos
2023-12-13 23:29:14 +00:00
parent 21b612eaa4
commit 020ecff29c
10 changed files with 473 additions and 12 deletions

View File

@@ -24,6 +24,7 @@ import Select from "react-select";
import Input from "@/components/Low/Input";
import ReactDatePicker from "react-datepicker";
import moment from "moment";
import PaymentAssetManager from "@/components/PaymentAssetManager";
export const getServerSideProps = withIronSessionSsr(({req, res}) => {
const user = req.session.user;
@@ -305,6 +306,116 @@ export default function PaymentRecord() {
.finally(reload);
};
const getFileAssetsColumns = () => {
if(user) {
const containerClassName = "flex gap-2 text-mti-purple-light hover:text-mti-purple-dark ease-in-out duration-300 cursor-pointer"
switch(user.type) {
case 'corporate': return [
columnHelper.accessor("corporateTransfer", {
header: "Corporate transfer",
cell: (info) => (
<div
className={containerClassName}
>
<PaymentAssetManager
permissions={info.row.original.isPaid ? "read" : "write"}
asset={info.row.original.corporateTransfer}
paymentId={info.row.original.id}
type="corporate"
/>
</div>
),
}),
];
case 'agent': return [
columnHelper.accessor("commissionTransfer", {
header: "Commission transfer",
cell: (info) => (
<div
className={containerClassName}
>
<PaymentAssetManager
permissions="read"
asset={info.row.original.commissionTransfer}
paymentId={info.row.original.id}
type="commission"
/>
</div>
),
}),
]
case 'admin': return [
columnHelper.accessor("corporateTransfer", {
header: "Corporate transfer",
cell: (info) => (
<div
className={containerClassName}
>
<PaymentAssetManager
permissions="read"
asset={info.row.original.corporateTransfer}
paymentId={info.row.original.id}
type="corporate"
/>
</div>
),
}),
columnHelper.accessor("commissionTransfer", {
header: "Commission transfer",
cell: (info) => (
<div
className={containerClassName}
>
<PaymentAssetManager
permissions={info.row.original.isPaid ? "read" : "write"}
asset={info.row.original.commissionTransfer}
paymentId={info.row.original.id}
type="commission"
/>
</div>
),
}),
]
case 'developer': return [
columnHelper.accessor("corporateTransfer", {
header: "Corporate transfer",
cell: (info) => (
<div
className={containerClassName}
>
<PaymentAssetManager
permissions="write"
asset={info.row.original.corporateTransfer}
paymentId={info.row.original.id}
type="corporate"
/>
</div>
),
}),
columnHelper.accessor("commissionTransfer", {
header: "Commission transfer",
cell: (info) => (
<div
className={containerClassName}
>
<PaymentAssetManager
permissions="write"
asset={info.row.original.commissionTransfer}
paymentId={info.row.original.id}
type="commission"
/>
</div>
),
}),
]
default: return [];
}
}
return [];
}
const defaultColumns = [
columnHelper.accessor("id", {
header: "ID",
@@ -365,6 +476,7 @@ export default function PaymentRecord() {
</Checkbox>
),
}),
...getFileAssetsColumns(),
{
header: "",
id: "actions",