summaryrefslogtreecommitdiff
path: root/src/pages/my
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-06 16:15:14 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-06 16:15:14 +0700
commite561175d7167da3f6ac25200ad3cce63ea38e20b (patch)
tree0ad04bc66ef2b5ca23f35bfa9614731e1240d9f3 /src/pages/my
parent620223f151700bbd91a33d32e2a4c29d4c287e9d (diff)
no message
Diffstat (limited to 'src/pages/my')
-rw-r--r--src/pages/my/invoice/[id].js2
-rw-r--r--src/pages/my/invoices.js43
-rw-r--r--src/pages/my/transaction/[id].js36
-rw-r--r--src/pages/my/transactions.js27
4 files changed, 92 insertions, 16 deletions
diff --git a/src/pages/my/invoice/[id].js b/src/pages/my/invoice/[id].js
index 10f625a9..7342b1bf 100644
--- a/src/pages/my/invoice/[id].js
+++ b/src/pages/my/invoice/[id].js
@@ -105,7 +105,7 @@ export default function DetailInvoice() {
type="button"
className="btn-light py-1.5 px-3 ml-auto"
onClick={downloadTaxInvoice}
- disabled={invoice.efaktur ? false : true}
+ disabled={!invoice.efaktur}
>
Download
</button>
diff --git a/src/pages/my/invoices.js b/src/pages/my/invoices.js
index a86ddffc..ed9ba660 100644
--- a/src/pages/my/invoices.js
+++ b/src/pages/my/invoices.js
@@ -6,6 +6,7 @@ import Layout from "@/components/layouts/Layout";
import apiOdoo from "@/core/utils/apiOdoo";
import { useAuth } from "@/core/utils/auth";
import currencyFormat from "@/core/utils/currencyFormat";
+import useBottomPopup from "@/lib/elements/hooks/useBottomPopup";
import { CheckIcon, ClockIcon, EllipsisVerticalIcon, MagnifyingGlassIcon } from "@heroicons/react/24/outline";
import { useRouter } from "next/router";
import { useEffect, useRef, useState } from "react";
@@ -54,6 +55,45 @@ export default function Invoices() {
router.push(`/my/invoices${queryParams}`);
};
+ const downloadInvoice = (data) => {
+ const url = `${process.env.ODOO_HOST}/api/v1/download/invoice/${data.id}/${data.token}`;
+ window.open(url, 'download');
+ closePopup();
+ };
+
+ const downloadTaxInvoice = (data) => {
+ const url = `${process.env.ODOO_HOST}/api/v1/download/tax-invoice/${data.id}/${data.token}`;
+ window.open(url, 'download');
+ closePopup();
+ };
+
+ const childrenPopup = (data) => (
+ <div className="flex flex-col gap-y-6">
+ <button
+ className="text-left disabled:opacity-60"
+ onClick={() => downloadInvoice(data)}
+ >
+ Download Faktur Pembelian
+ </button>
+ <button
+ className="text-left disabled:opacity-60"
+ disabled={!data?.efaktur}
+ onClick={() => downloadTaxInvoice(data)}
+ >
+ Download Faktur Pajak
+ </button>
+ </div>
+ );
+
+ const {
+ closePopup,
+ openPopup,
+ BottomPopup
+ } = useBottomPopup({
+ title: 'Lainnya',
+ children: childrenPopup
+ });
+
return (
<WithAuth>
<Layout>
@@ -91,7 +131,7 @@ export default function Invoices() {
) : (
<div className="badge-solid-green h-fit ml-auto">Lunas</div>
) }
- <EllipsisVerticalIcon className="w-5 h-5" onClick={() => {}} />
+ <EllipsisVerticalIcon className="w-5 h-5" onClick={() => openPopup(invoice)} />
</div>
</div>
<Link href={`/my/invoice/${invoice.id}`}>
@@ -129,6 +169,7 @@ export default function Invoices() {
</div>
)) }
</div>
+ { BottomPopup }
</Layout>
</WithAuth>
);
diff --git a/src/pages/my/transaction/[id].js b/src/pages/my/transaction/[id].js
index d1ecbd7f..51004839 100644
--- a/src/pages/my/transaction/[id].js
+++ b/src/pages/my/transaction/[id].js
@@ -107,11 +107,13 @@ export default function DetailTransaction() {
});
const downloadPurchaseOrder = () => {
-
+ const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${transaction.id}/download_po/${transaction.token}`;
+ window.open(url, 'download')
};
- const uploadPurchaseOrder = () => {
- openPopup();
+ const downloadQuotation = () => {
+ const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${transaction.id}/download/${transaction.token}`;
+ window.open(url, 'download')
};
return (
@@ -152,7 +154,7 @@ export default function DetailTransaction() {
<button
type="button"
className="btn-light py-1.5 px-3 ml-auto"
- onClick={transaction?.purchase_order_file ? downloadPurchaseOrder : uploadPurchaseOrder}
+ onClick={transaction?.purchase_order_file ? downloadPurchaseOrder : openPopup}
>
{ transaction?.purchase_order_file ? 'Download' : 'Upload' }
</button>
@@ -211,15 +213,27 @@ export default function DetailTransaction() {
Belum ada Invoice
</Alert>
) }
- <button
- className="btn-light w-full mt-4"
- disabled={transaction?.status != 'waiting'}
- onClick={() => openConfirmAlert(transaction)}
- >
- Batalkan Transaksi
- </button>
</div>
</div>
+
+ <LineDivider />
+
+ <div className="px-4">
+ <button
+ className="btn-light w-full mt-4"
+ disabled={transaction?.status != 'draft'}
+ onClick={downloadQuotation}
+ >
+ Download Quotation
+ </button>
+ <button
+ className="btn-light w-full mt-4"
+ disabled={transaction?.status != 'waiting'}
+ onClick={() => openConfirmAlert(transaction)}
+ >
+ Batalkan Transaksi
+ </button>
+ </div>
</>
) : (
<div className="p-4 py-6">
diff --git a/src/pages/my/transactions.js b/src/pages/my/transactions.js
index 6eb0fb4e..8be43af7 100644
--- a/src/pages/my/transactions.js
+++ b/src/pages/my/transactions.js
@@ -58,15 +58,36 @@ export default function Transactions() {
router.push(`/my/transactions${queryParams}`);
};
+ const downloadPurchaseOrder = (data) => {
+ const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${data.id}/download_po/${data.token}`;
+ window.open(url, 'download');
+ closePopup();
+ };
+
+ const downloadQuotation = (data) => {
+ const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${data.id}/download/${data.token}`;
+ window.open(url, 'download');
+ closePopup();
+ };
+
const childrenPopup = (data) => (
<div className="flex flex-col gap-y-6">
<button
- className="text-left"
+ className="text-left disabled:opacity-60"
+ disabled={!data?.purchase_order_file}
+ onClick={() => downloadPurchaseOrder(data)}
+ >
+ Download PO
+ </button>
+ <button
+ className="text-left disabled:opacity-60"
+ disabled={data?.status != 'draft'}
+ onClick={() => downloadQuotation(data)}
>
Download Quotation
</button>
<button
- className="text-left disabled:opacity-70"
+ className="text-left disabled:opacity-60"
disabled={ data?.status != 'waiting' }
onClick={() => {openConfirmAlert(data); closePopup()}}
>
@@ -99,7 +120,7 @@ export default function Transactions() {
title: 'Batalkan Transaksi',
caption: 'Apakah anda yakin untuk membatalkan transaksi?',
closeText: 'Tidak',
- submitText: 'Iya, batalkan',
+ submitText: 'Ya, Batalkan',
onSubmit: submitCancelTransaction
});