feat( S&P ): add branch name to details.

This commit is contained in:
elforjani13
2022-03-02 19:07:09 +02:00
parent e46609e3f1
commit 7f4ee26979
10 changed files with 106 additions and 10 deletions

View File

@@ -34,7 +34,7 @@ function DrawerHeaderContent(props) {
<Icon icon={icon} iconSize={Icon.SIZE_LARGE} /> <Icon icon={icon} iconSize={Icon.SIZE_LARGE} />
<H4> <H4>
{title} {title}
<Subtitle>{subTitle}</Subtitle> <SubTitle>{subTitle}</SubTitle>
</H4> </H4>
<Button <Button
@@ -50,7 +50,19 @@ function DrawerHeaderContent(props) {
export default compose(withDrawerActions)(DrawerHeaderContent); export default compose(withDrawerActions)(DrawerHeaderContent);
const Subtitle = styled.div` /**
* SubTitle Drawer header.
* @returns {React.JSX}
*/
function SubTitle({ children }) {
if (children == null) {
return null;
}
return <SubTitleHead>{children}</SubTitleHead>;
}
const SubTitleHead = styled.div`
color: #666; color: #666;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;

View File

@@ -2,6 +2,8 @@ import React from 'react';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { useBill, useBillLocatedLandedCost } from 'hooks/query'; import { useBill, useBillLocatedLandedCost } from 'hooks/query';
import { useFeatureCan } from 'hooks/state';
import { Features } from 'common';
const BillDrawerContext = React.createContext(); const BillDrawerContext = React.createContext();
@@ -9,6 +11,9 @@ const BillDrawerContext = React.createContext();
* Bill drawer provider. * Bill drawer provider.
*/ */
function BillDrawerProvider({ billId, ...props }) { function BillDrawerProvider({ billId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Handle fetch bill details. // Handle fetch bill details.
const { isLoading: isBillLoading, data: bill } = useBill(billId, { const { isLoading: isBillLoading, data: bill } = useBill(billId, {
enabled: !!billId, enabled: !!billId,
@@ -36,6 +41,13 @@ function BillDrawerProvider({ billId, ...props }) {
title={intl.get('bill.drawer.title', { title={intl.get('bill.drawer.title', {
number: bill.bill_number ? `(${bill.bill_number})` : null, number: bill.bill_number ? `(${bill.bill_number})` : null,
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('bill.drawer.subtitle', {
value: bill.branch?.name,
})
: null
}
/> />
<BillDrawerContext.Provider value={provider} {...props} /> <BillDrawerContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -7,6 +7,8 @@ import {
useReconcileCreditNotes, useReconcileCreditNotes,
} from 'hooks/query'; } from 'hooks/query';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { Features } from 'common';
import { useFeatureCan } from 'hooks/state';
const CreditNoteDetailDrawerContext = React.createContext(); const CreditNoteDetailDrawerContext = React.createContext();
@@ -14,6 +16,9 @@ const CreditNoteDetailDrawerContext = React.createContext();
* Credit note detail drawer provider. * Credit note detail drawer provider.
*/ */
function CreditNoteDetailDrawerProvider({ creditNoteId, ...props }) { function CreditNoteDetailDrawerProvider({ creditNoteId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Handle fetch vendor credit details. // Handle fetch vendor credit details.
const { data: creditNote, isLoading: isCreditNoteLoading } = useCreditNote( const { data: creditNote, isLoading: isCreditNoteLoading } = useCreditNote(
creditNoteId, creditNoteId,
@@ -70,6 +75,13 @@ function CreditNoteDetailDrawerProvider({ creditNoteId, ...props }) {
title={intl.get('credit_note.drawer.title', { title={intl.get('credit_note.drawer.title', {
number: creditNote.credit_note_number, number: creditNote.credit_note_number,
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('credit_note.drawer.subtitle', {
value: creditNote.branch?.name,
})
: null
}
/> />
<CreditNoteDetailDrawerContext.Provider value={provider} {...props} /> <CreditNoteDetailDrawerContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -2,6 +2,8 @@ import React from 'react';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import { useEstimate } from 'hooks/query'; import { useEstimate } from 'hooks/query';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { Features } from 'common';
import { useFeatureCan } from 'hooks/state';
const EstimateDetailDrawerContext = React.createContext(); const EstimateDetailDrawerContext = React.createContext();
@@ -9,6 +11,9 @@ const EstimateDetailDrawerContext = React.createContext();
* Estimate detail provider. * Estimate detail provider.
*/ */
function EstimateDetailDrawerProvider({ estimateId, ...props }) { function EstimateDetailDrawerProvider({ estimateId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Fetches the estimate by the given id. // Fetches the estimate by the given id.
const { data: estimate, isLoading: isEstimateLoading } = useEstimate( const { data: estimate, isLoading: isEstimateLoading } = useEstimate(
estimateId, estimateId,
@@ -27,6 +32,13 @@ function EstimateDetailDrawerProvider({ estimateId, ...props }) {
title={intl.get('estimate.drawer.title', { title={intl.get('estimate.drawer.title', {
number: estimate.estimate_number, number: estimate.estimate_number,
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('estimate.drawer.subtitle', {
value: estimate.branch?.name,
})
: null
}
/> />
<EstimateDetailDrawerContext.Provider value={provider} {...props} /> <EstimateDetailDrawerContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -18,8 +18,6 @@ function InvoiceDetailDrawerProvider({ invoiceId, ...props }) {
enabled: !!invoiceId, enabled: !!invoiceId,
}); });
// const isFeatureCan = featureCan(Features.Branches);
// Provider. // Provider.
const provider = { const provider = {
invoiceId, invoiceId,

View File

@@ -1,11 +1,9 @@
import React from 'react'; import React from 'react';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { import { usePaymentMade } from 'hooks/query';
useTransactionsByReference, import { useFeatureCan } from 'hooks/state';
usePaymentMade, import { Features } from 'common';
usePaymentMadeEditPage,
} from 'hooks/query';
const PaymentMadeDetailContext = React.createContext(); const PaymentMadeDetailContext = React.createContext();
@@ -13,6 +11,9 @@ const PaymentMadeDetailContext = React.createContext();
* Payment made detail provider. * Payment made detail provider.
*/ */
function PaymentMadeDetailProvider({ paymentMadeId, ...props }) { function PaymentMadeDetailProvider({ paymentMadeId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Handle fetch specific payment made details. // Handle fetch specific payment made details.
const { data: paymentMade, isLoading: isPaymentMadeLoading } = usePaymentMade( const { data: paymentMade, isLoading: isPaymentMadeLoading } = usePaymentMade(
paymentMadeId, paymentMadeId,
@@ -37,6 +38,13 @@ function PaymentMadeDetailProvider({ paymentMadeId, ...props }) {
? `(${paymentMade.payment_number})` ? `(${paymentMade.payment_number})`
: '', : '',
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('payment_made.drawer.subtitle', {
value: paymentMade.branch?.name,
})
: null
}
/> />
<PaymentMadeDetailContext.Provider value={provider} {...props} /> <PaymentMadeDetailContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -2,6 +2,8 @@ import React from 'react';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { usePaymentReceive } from 'hooks/query'; import { usePaymentReceive } from 'hooks/query';
import { Features } from 'common';
import { useFeatureCan } from 'hooks/state';
const PaymentReceiveDetailContext = React.createContext(); const PaymentReceiveDetailContext = React.createContext();
@@ -9,6 +11,9 @@ const PaymentReceiveDetailContext = React.createContext();
* Payment receive detail provider. * Payment receive detail provider.
*/ */
function PaymentReceiveDetailProvider({ paymentReceiveId, ...props }) { function PaymentReceiveDetailProvider({ paymentReceiveId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Fetches specific payment receive details. // Fetches specific payment receive details.
const { const {
data: paymentReceive, data: paymentReceive,
@@ -32,6 +37,13 @@ function PaymentReceiveDetailProvider({ paymentReceiveId, ...props }) {
title={intl.get('payment_receive.drawer.title', { title={intl.get('payment_receive.drawer.title', {
number: paymentReceive.payment_receive_no, number: paymentReceive.payment_receive_no,
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('payment_receive.drawer.subtitle', {
value: paymentReceive.branch?.name,
})
: null
}
/> />
<PaymentReceiveDetailContext.Provider value={provider} {...props} /> <PaymentReceiveDetailContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -2,6 +2,8 @@ import React from 'react';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { useReceipt } from 'hooks/query'; import { useReceipt } from 'hooks/query';
import { Features } from 'common';
import { useFeatureCan } from 'hooks/state';
// useTransactionsByReference // useTransactionsByReference
const ReceiptDetailDrawerContext = React.createContext(); const ReceiptDetailDrawerContext = React.createContext();
@@ -10,6 +12,9 @@ const ReceiptDetailDrawerContext = React.createContext();
* Receipt detail provider. * Receipt detail provider.
*/ */
function ReceiptDetailDrawerProvider({ receiptId, ...props }) { function ReceiptDetailDrawerProvider({ receiptId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Fetch sale receipt details. // Fetch sale receipt details.
const { data: receipt, isFetching: isReceiptLoading } = useReceipt( const { data: receipt, isFetching: isReceiptLoading } = useReceipt(
receiptId, receiptId,
@@ -31,6 +36,13 @@ function ReceiptDetailDrawerProvider({ receiptId, ...props }) {
title={intl.get('receipt.drawer.title', { title={intl.get('receipt.drawer.title', {
number: receipt.receipt_number, number: receipt.receipt_number,
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('receipt.drawer.subtitle', {
value: receipt.branch?.name,
})
: null
}
/> />
<ReceiptDetailDrawerContext.Provider value={provider} {...props} /> <ReceiptDetailDrawerContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -6,6 +6,8 @@ import {
useReconcileVendorCredits, useReconcileVendorCredits,
} from 'hooks/query'; } from 'hooks/query';
import { DrawerHeaderContent, DrawerLoading } from 'components'; import { DrawerHeaderContent, DrawerLoading } from 'components';
import { useFeatureCan } from 'hooks/state';
import { Features } from 'common';
const VendorCreditDetailDrawerContext = React.createContext(); const VendorCreditDetailDrawerContext = React.createContext();
@@ -13,6 +15,9 @@ const VendorCreditDetailDrawerContext = React.createContext();
* Vendor credit drawer provider. * Vendor credit drawer provider.
*/ */
function VendorCreditDetailDrawerProvider({ vendorCreditId, ...props }) { function VendorCreditDetailDrawerProvider({ vendorCreditId, ...props }) {
// Features guard.
const { featureCan } = useFeatureCan();
// Handle fetch vendor credit details. // Handle fetch vendor credit details.
const { data: vendorCredit, isLoading: isVendorCreditLoading } = const { data: vendorCredit, isLoading: isVendorCreditLoading } =
useVendorCredit(vendorCreditId, { useVendorCredit(vendorCreditId, {
@@ -59,6 +64,13 @@ function VendorCreditDetailDrawerProvider({ vendorCreditId, ...props }) {
title={intl.get('vendor_credit.drawer_vendor_credit_detail', { title={intl.get('vendor_credit.drawer_vendor_credit_detail', {
vendorNumber: vendorCredit.vendor_credit_number, vendorNumber: vendorCredit.vendor_credit_number,
})} })}
subTitle={
featureCan(Features.Branches)
? intl.get('vendor_credit.drawer.subtitle', {
value: vendorCredit.branch?.name,
})
: null
}
/> />
<VendorCreditDetailDrawerContext.Provider value={provider} {...props} /> <VendorCreditDetailDrawerContext.Provider value={provider} {...props} />
</DrawerLoading> </DrawerLoading>

View File

@@ -915,7 +915,6 @@
"due_amount": "Due Amount", "due_amount": "Due Amount",
"invoice_details.drawer.title": "Invoice details ({invoiceNumber})", "invoice_details.drawer.title": "Invoice details ({invoiceNumber})",
"invoice_details.drawer.subtitle": "Branch: {value}", "invoice_details.drawer.subtitle": "Branch: {value}",
"setting_your_auto_generated_estimate_number": "Setting your auto-generated estimate number", "setting_your_auto_generated_estimate_number": "Setting your auto-generated estimate number",
"setting_your_auto_generated_journal_number": "Setting your auto-generated journal number", "setting_your_auto_generated_journal_number": "Setting your auto-generated journal number",
"setting_your_auto_generated_invoice_number": "Setting your auto-generated invoice number", "setting_your_auto_generated_invoice_number": "Setting your auto-generated invoice number",
@@ -1226,6 +1225,7 @@
"invoice.details.invoice_no": "Invoice #", "invoice.details.invoice_no": "Invoice #",
"invoice.details.exchange_rate": "Exchange rate", "invoice.details.exchange_rate": "Exchange rate",
"bill.drawer.title": "Bill details {number}", "bill.drawer.title": "Bill details {number}",
"bill.drawer.subtitle": "Branch: {value}",
"bill.details.reference": "Reference #", "bill.details.reference": "Reference #",
"bill.details.bill_number": "Bill #", "bill.details.bill_number": "Bill #",
"bill.details.created_at": "Created at", "bill.details.created_at": "Created at",
@@ -1562,6 +1562,7 @@
"setting_your_auto_generated_vendor_credit_number": "Setting your auto-generated vendor credit number", "setting_your_auto_generated_vendor_credit_number": "Setting your auto-generated vendor credit number",
"vendor_credit.label": "Vendor credits", "vendor_credit.label": "Vendor credits",
"vendor_credit.drawer_vendor_credit_detail": "Vendor Credit details", "vendor_credit.drawer_vendor_credit_detail": "Vendor Credit details",
"vendor_credit.drawer.subtitle": "Branch: {value}",
"vendor_credit.drawer.label_vendor_credit_no": "Vendor Credit #", "vendor_credit.drawer.label_vendor_credit_no": "Vendor Credit #",
"vendor_credit.drawer.label_vendor_credit_date": "Vendor Credit Date", "vendor_credit.drawer.label_vendor_credit_date": "Vendor Credit Date",
"vendor_credit.drawer.label_credits_remaining": "Credits Remaining", "vendor_credit.drawer.label_credits_remaining": "Credits Remaining",
@@ -1733,10 +1734,15 @@
"refund_credit.drawer.label.reference_no": "Reference number", "refund_credit.drawer.label.reference_no": "Reference number",
"refund_credit.drawer.label.description": "Description", "refund_credit.drawer.label.description": "Description",
"estimate.drawer.title": "Estimate details ({number})", "estimate.drawer.title": "Estimate details ({number})",
"estimate.drawer.subtitle": "Branch: {value}",
"receipt.drawer.title": "Receipt details ({number})", "receipt.drawer.title": "Receipt details ({number})",
"receipt.drawer.subtitle": "Branch: {value}",
"credit_note.drawer.title": "Credit Note details ({number})", "credit_note.drawer.title": "Credit Note details ({number})",
"credit_note.drawer.subtitle": "Branch: {value}",
"payment_receive.drawer.title": "Payment receive details ({number})", "payment_receive.drawer.title": "Payment receive details ({number})",
"payment_receive.drawer.subtitle": "Branch: {value}",
"payment_made.drawer.title": "Payment made details {number}", "payment_made.drawer.title": "Payment made details {number}",
"payment_made.drawer.subtitle": "Branch: {value}",
"manual_journal.drawer.title": "Manual journal details ({number})", "manual_journal.drawer.title": "Manual journal details ({number})",
"expense.drawer.title": "Expense details", "expense.drawer.title": "Expense details",
"global_error.you_dont_have_permissions": "You do not have permissions to access this page.", "global_error.you_dont_have_permissions": "You do not have permissions to access this page.",