From da3193195c23db2df5cae070522feee454b55534 Mon Sep 17 00:00:00 2001 From: "a.bouhuolia" Date: Sun, 9 Jan 2022 21:12:54 +0200 Subject: [PATCH 1/2] fix: `BIG-274` Duplicated description in payment receive details. --- src/components/CommercialDoc/index.js | 2 +- .../CreditNoteDetailFooter.js | 5 +++ .../CreditNoteDetailHeader.js | 17 +++----- .../PaymentMadeDetailFooter.js | 41 +++++++----------- .../PaymentMadeDetailHeader.js | 13 +++--- .../PaymentMadeDetailProvider.js | 3 +- .../PaymentMadeDetailTab.js | 4 +- .../PaymentMadeDetailTableFooter.js | 42 +++++++++++++++++++ .../PaymentReceiveDetailHeader.js | 13 +++--- .../VendorCreditDetailFooter.js | 23 ++++++++++ .../VendorCreditDetailHeader.js | 15 +++---- .../VendorCreditDetailPanel.js | 2 + .../Invoices/InvoiceDetails/InvoiceDrawer.js | 3 +- src/lang/en/index.json | 1 + 14 files changed, 116 insertions(+), 68 deletions(-) create mode 100644 src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailTableFooter.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailFooter.js diff --git a/src/components/CommercialDoc/index.js b/src/components/CommercialDoc/index.js index c8e2c593b..d1480c3f5 100644 --- a/src/components/CommercialDoc/index.js +++ b/src/components/CommercialDoc/index.js @@ -21,5 +21,5 @@ export const CommercialDocEntriesTable = styled(DataTable)` `; export const CommercialDocFooter = styled.div` - margin-top: 25px; + margin-top: 28px; `; diff --git a/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailFooter.js b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailFooter.js index 24a1cc598..cf19eab7d 100644 --- a/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailFooter.js +++ b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailFooter.js @@ -15,9 +15,14 @@ import { useCreditNoteDetailDrawerContext } from './CreditNoteDetailDrawerProvid */ export default function CreditNoteDetailFooter() { const { creditNote } = useCreditNoteDetailDrawerContext(); + return ( + + } children={creditNote.note} /> + + }> {creditNote.terms_conditions} diff --git a/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailHeader.js b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailHeader.js index ead8b8243..d4d145704 100644 --- a/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailHeader.js +++ b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailHeader.js @@ -42,6 +42,12 @@ export default function CreditNoteDetailHeader() { + + + + @@ -53,12 +59,6 @@ export default function CreditNoteDetailHeader() { {creditNote.customer?.display_name} - - - - @@ -77,11 +77,6 @@ export default function CreditNoteDetailHeader() { label={intl.get('reference')} children={defaultTo(creditNote.reference_no, '-')} /> - - } children={} diff --git a/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailFooter.js b/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailFooter.js index 5ba3e99ff..61ab7800f 100644 --- a/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailFooter.js +++ b/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailFooter.js @@ -1,42 +1,29 @@ import React from 'react'; -import styled from 'styled-components'; import { T, - TotalLines, - TotalLine, - TotalLineBorderStyle, - TotalLineTextStyle, + CommercialDocFooter, + DetailsMenu, + If, + DetailItem, } from 'components'; import { usePaymentMadeDetailContext } from './PaymentMadeDetailProvider'; /** * Payment made - Details panel - Footer. */ -export default function PaymentMadeDetailFooter() { +export function PaymentMadeDetailFooter() { const { paymentMade } = usePaymentMadeDetailContext(); return ( - - - } - value={paymentMade.amount} - borderStyle={TotalLineBorderStyle.SingleDark} - /> - } - value={paymentMade.formatted_amount} - borderStyle={TotalLineBorderStyle.DoubleDark} - textStyle={TotalLineTextStyle.Bold} - /> - - + + + + }> + {paymentMade.statement} + + + + ); } - -export const PaymentMadeFooterRoot = styled.div``; - -export const PaymentMadeTotalLines = styled(TotalLines)` - margin-left: auto; -`; diff --git a/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailHeader.js b/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailHeader.js index 6e36411f5..5ad9f68b5 100644 --- a/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailHeader.js +++ b/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailHeader.js @@ -34,6 +34,10 @@ export default function PaymentMadeDetailHeader() { + } + /> - - } - /> @@ -61,8 +60,8 @@ export default function PaymentMadeDetailHeader() { minLabelSize={'180px'} > + ); diff --git a/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailTableFooter.js b/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailTableFooter.js new file mode 100644 index 000000000..9342529d7 --- /dev/null +++ b/src/containers/Drawers/PaymentMadeDetailDrawer/PaymentMadeDetailTableFooter.js @@ -0,0 +1,42 @@ +import React from 'react'; +import styled from 'styled-components'; + +import { + T, + TotalLines, + TotalLine, + TotalLineBorderStyle, + TotalLineTextStyle, +} from 'components'; +import { usePaymentMadeDetailContext } from './PaymentMadeDetailProvider'; + +/** + * Payment made - Details panel - Footer. + */ +export default function PaymentMadeDetailTableFooter() { + const { paymentMade } = usePaymentMadeDetailContext(); + + return ( + + + } + value={paymentMade.amount} + borderStyle={TotalLineBorderStyle.SingleDark} + /> + } + value={paymentMade.formatted_amount} + borderStyle={TotalLineBorderStyle.DoubleDark} + textStyle={TotalLineTextStyle.Bold} + /> + + + ); +} + +export const PaymentMadeFooterRoot = styled.div``; + +export const PaymentMadeTotalLines = styled(TotalLines)` + margin-left: auto; +`; diff --git a/src/containers/Drawers/PaymentReceiveDetailDrawer/PaymentReceiveDetailHeader.js b/src/containers/Drawers/PaymentReceiveDetailDrawer/PaymentReceiveDetailHeader.js index 182f9d7dd..b99756e72 100644 --- a/src/containers/Drawers/PaymentReceiveDetailDrawer/PaymentReceiveDetailHeader.js +++ b/src/containers/Drawers/PaymentReceiveDetailDrawer/PaymentReceiveDetailHeader.js @@ -10,7 +10,6 @@ import { DetailItem, CommercialDocHeader, CommercialDocTopHeader, - ButtonLink, CustomerDrawerLink, } from 'components'; import { usePaymentReceiveDetailContext } from './PaymentReceiveDetailProvider'; @@ -34,6 +33,10 @@ export default function PaymentReceiveDetailHeader() { + } + /> - } - /> @@ -62,8 +61,8 @@ export default function PaymentReceiveDetailHeader() { minLabelSize={'180px'} > + + + } children={vendorCredit.note} /> + + + + ); +} diff --git a/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.js b/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.js index c24d95041..7c987b336 100644 --- a/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.js +++ b/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.js @@ -38,6 +38,11 @@ export default function VendorCreditDetailHeader() { + + + @@ -49,12 +54,6 @@ export default function VendorCreditDetailHeader() { {vendorCredit.vendor?.display_name} - - - - @@ -72,10 +71,6 @@ export default function VendorCreditDetailHeader() { label={intl.get('reference')} children={defaultTo(vendorCredit.reference_no, '-')} /> - } children={} diff --git a/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailPanel.js b/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailPanel.js index f158d0fff..00d7e19ec 100644 --- a/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailPanel.js +++ b/src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailPanel.js @@ -5,6 +5,7 @@ import { CommercialDocBox } from 'components'; import VendorCreditDetailHeader from './VendorCreditDetailHeader'; import VendorCreditDetailTable from './VendorCreditDetailTable'; import VendorCreditDetailDrawerFooter from './VendorCreditDetailDrawerFooter'; +import { VendorCreditDetailFooter } from './VendorCreditDetailFooter'; /** * Vendor credit details panel. @@ -16,6 +17,7 @@ export default function VendorCreditDetailPanel() { + ); } diff --git a/src/containers/Sales/Invoices/InvoiceDetails/InvoiceDrawer.js b/src/containers/Sales/Invoices/InvoiceDetails/InvoiceDrawer.js index aa452299c..18705f345 100644 --- a/src/containers/Sales/Invoices/InvoiceDetails/InvoiceDrawer.js +++ b/src/containers/Sales/Invoices/InvoiceDetails/InvoiceDrawer.js @@ -11,12 +11,11 @@ const InvoicesDrawerContent = lazy(() => import('./InvoiceDrawerContent')); */ function InvoiceDrawer({ name, + //#withDrawer isOpen, payload: { invoiceId }, - }) { - return ( diff --git a/src/lang/en/index.json b/src/lang/en/index.json index 51cc47d1d..17fd98566 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1193,6 +1193,7 @@ "payment_made.details.payment_number": "Payment #", "payment_made.details.subtotal": "Subtotal", "payment_made.details.total": "TOTAL", + "payment_made.details.statement": "Statement", "payment_receive.details.payment_number": "Payment #", "payment_receive.details.total": "TOTAL", "payment_receive.details.subtotal": "Subtotal", From 5c847be42079d482bd6a565d66ab798b6f8d6cb7 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Sun, 9 Jan 2022 21:18:45 +0200 Subject: [PATCH 2/2] BIG-277 Separate customer and vendor. --- .../Alerts/Customers/CustomerActivateAlert.js | 67 ++++++++++++++++++ .../Customers/CustomerInactivateAlert.js | 69 +++++++++++++++++++ .../Alerts/Vendors/VendorActivateAlert.js | 69 +++++++++++++++++++ .../Alerts/Vendors/VendorInactivateAlert.js | 68 ++++++++++++++++++ src/containers/Customers/CustomersAlerts.js | 12 ++-- .../CustomersLanding/CustomersTable.js | 10 +-- src/containers/Vendors/VendorsAlerts.js | 12 ++-- .../Vendors/VendorsLanding/VendorsTable.js | 8 +-- src/lang/ar/index.json | 14 +++- src/lang/en/index.json | 13 +++- 10 files changed, 318 insertions(+), 24 deletions(-) create mode 100644 src/containers/Alerts/Customers/CustomerActivateAlert.js create mode 100644 src/containers/Alerts/Customers/CustomerInactivateAlert.js create mode 100644 src/containers/Alerts/Vendors/VendorActivateAlert.js create mode 100644 src/containers/Alerts/Vendors/VendorInactivateAlert.js diff --git a/src/containers/Alerts/Customers/CustomerActivateAlert.js b/src/containers/Alerts/Customers/CustomerActivateAlert.js new file mode 100644 index 000000000..ef86134a3 --- /dev/null +++ b/src/containers/Alerts/Customers/CustomerActivateAlert.js @@ -0,0 +1,67 @@ +import React from 'react'; +import { FormattedMessage as T } from 'components'; +import intl from 'react-intl-universal'; +import { Intent, Alert } from '@blueprintjs/core'; +import { AppToaster } from 'components'; + +import { useActivateContact } from 'hooks/query'; + +import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; +import withAlertActions from 'containers/Alert/withAlertActions'; + +import { compose } from 'utils'; + +/** + * Customer activate alert. + */ +function CustomerActivateAlert({ + name, + + // #withAlertStoreConnect + isOpen, + payload: { customerId, service }, + + // #withAlertActions + closeAlert, +}) { + const { mutateAsync: activateContact, isLoading } = useActivateContact(); + + // Handle activate constomer alert cancel. + const handleCancelActivateCustomer = () => { + closeAlert(name); + }; + + // Handle confirm customer activated. + const handleConfirmCustomerActivate = () => { + activateContact(customerId) + .then(() => { + AppToaster.show({ + message: intl.get('customer.alert.activated_message'), + intent: Intent.SUCCESS, + }); + }) + .catch((error) => {}) + .finally(() => { + closeAlert(name); + }); + }; + + return ( + } + confirmButtonText={} + intent={Intent.WARNING} + isOpen={isOpen} + onCancel={handleCancelActivateCustomer} + loading={isLoading} + onConfirm={handleConfirmCustomerActivate} + > +

{intl.get('customer.alert.are_you_sure_want_to_activate_this_customer')}

+
+ ); +} + +export default compose( + withAlertStoreConnect(), + withAlertActions, +)(CustomerActivateAlert); diff --git a/src/containers/Alerts/Customers/CustomerInactivateAlert.js b/src/containers/Alerts/Customers/CustomerInactivateAlert.js new file mode 100644 index 000000000..d86675c91 --- /dev/null +++ b/src/containers/Alerts/Customers/CustomerInactivateAlert.js @@ -0,0 +1,69 @@ +import React from 'react'; +import { FormattedMessage as T } from 'components'; +import intl from 'react-intl-universal'; +import { Intent, Alert } from '@blueprintjs/core'; +import { AppToaster } from 'components'; + +import { useInactivateContact } from 'hooks/query'; + +import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; +import withAlertActions from 'containers/Alert/withAlertActions'; + +import { compose } from 'utils'; + +/** + * customer inactivate alert. + */ +function CustomerInactivateAlert({ + name, + // #withAlertStoreConnect + isOpen, + payload: { customerId, service }, + + // #withAlertActions + closeAlert, +}) { + const { mutateAsync: inactivateContact, isLoading } = useInactivateContact(); + + // Handle cancel inactivate alert. + const handleCancelInactivateCustomer = () => { + closeAlert(name); + }; + + // Handle confirm contact Inactive. + const handleConfirmCustomerInactive = () => { + inactivateContact(customerId) + .then(() => { + AppToaster.show({ + message: intl.get('the_contact_has_been_inactivated_successfully'), + intent: Intent.SUCCESS, + }); + }) + .catch((error) => {}) + .finally(() => { + closeAlert(name); + }); + }; + + return ( + } + confirmButtonText={} + intent={Intent.WARNING} + isOpen={isOpen} + onCancel={handleCancelInactivateCustomer} + onConfirm={handleConfirmCustomerInactive} + loading={isLoading} + > +

+ {intl.get( + 'customer.alert.are_you_sure_want_to_inactivate_this_customer', + )} +

+
+ ); +} +export default compose( + withAlertStoreConnect(), + withAlertActions, +)(CustomerInactivateAlert); diff --git a/src/containers/Alerts/Vendors/VendorActivateAlert.js b/src/containers/Alerts/Vendors/VendorActivateAlert.js new file mode 100644 index 000000000..8e48ab34f --- /dev/null +++ b/src/containers/Alerts/Vendors/VendorActivateAlert.js @@ -0,0 +1,69 @@ +import React from 'react'; +import { FormattedMessage as T } from 'components'; +import intl from 'react-intl-universal'; +import { Intent, Alert } from '@blueprintjs/core'; +import { AppToaster } from 'components'; + +import { useActivateContact } from 'hooks/query'; + +import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; +import withAlertActions from 'containers/Alert/withAlertActions'; + +import { compose } from 'utils'; + +/** + * Vendor activate alert. + */ +function VendorActivateAlert({ + name, + + // #withAlertStoreConnect + isOpen, + payload: { vendorId }, + + // #withAlertActions + closeAlert, +}) { + const { mutateAsync: activateContact, isLoading } = useActivateContact(); + + // Handle activate vendor alert cancel. + const handleCancelActivateVendor = () => { + closeAlert(name); + }; + + // Handle confirm vendor activated. + const handleConfirmVendorActivate = () => { + activateContact(vendorId) + .then(() => { + AppToaster.show({ + message: intl.get('vendor.alert.activated_message'), + intent: Intent.SUCCESS, + }); + }) + .catch((error) => {}) + .finally(() => { + closeAlert(name); + }); + }; + + return ( + } + confirmButtonText={} + intent={Intent.WARNING} + isOpen={isOpen} + onCancel={handleCancelActivateVendor} + loading={isLoading} + onConfirm={handleConfirmVendorActivate} + > +

+ {intl.get('vendor.alert.are_you_sure_want_to_activate_this_vendor')} +

+
+ ); +} + +export default compose( + withAlertStoreConnect(), + withAlertActions, +)(VendorActivateAlert); diff --git a/src/containers/Alerts/Vendors/VendorInactivateAlert.js b/src/containers/Alerts/Vendors/VendorInactivateAlert.js new file mode 100644 index 000000000..a5d48358d --- /dev/null +++ b/src/containers/Alerts/Vendors/VendorInactivateAlert.js @@ -0,0 +1,68 @@ +import React from 'react'; +import { FormattedMessage as T } from 'components'; +import intl from 'react-intl-universal'; +import { Intent, Alert } from '@blueprintjs/core'; +import { AppToaster } from 'components'; + +import { useInactivateContact } from 'hooks/query'; + +import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; +import withAlertActions from 'containers/Alert/withAlertActions'; + +import { compose } from 'utils'; + +/** + * Vendor inactivate alert. + */ +function VendorInactivateAlert({ + name, + // #withAlertStoreConnect + isOpen, + payload: { vendorId }, + + // #withAlertActions + closeAlert, +}) { + const { mutateAsync: inactivateContact, isLoading } = useInactivateContact(); + + // Handle cancel inactivate alert. + const handleCancelInactivateVendor = () => { + closeAlert(name); + }; + + // Handle confirm contact Inactive. + const handleConfirmVendorInactive = () => { + inactivateContact(vendorId) + .then(() => { + AppToaster.show({ + message: intl.get('vendor.alert.inactivated_message'), + intent: Intent.SUCCESS, + }); + }) + .catch((error) => {}) + .finally(() => { + closeAlert(name); + }); + }; + + return ( + } + confirmButtonText={} + intent={Intent.WARNING} + isOpen={isOpen} + onCancel={handleCancelInactivateVendor} + onConfirm={handleConfirmVendorInactive} + loading={isLoading} + > +

+ {intl.get('vendor.alert.are_you_sure_want_to_inactivate_this_vendor')} +

+
+ ); +} + +export default compose( + withAlertStoreConnect(), + withAlertActions, +)(VendorInactivateAlert); diff --git a/src/containers/Customers/CustomersAlerts.js b/src/containers/Customers/CustomersAlerts.js index a7bab20eb..7cd902d21 100644 --- a/src/containers/Customers/CustomersAlerts.js +++ b/src/containers/Customers/CustomersAlerts.js @@ -3,11 +3,11 @@ import React from 'react'; const CustomerDeleteAlert = React.lazy(() => import('../Alerts/Customers/CustomerDeleteAlert'), ); -const ContactActivateAlert = React.lazy(() => - import('../Alerts/Contacts/ContactActivateAlert'), +const CustomerActivateAlert = React.lazy(() => + import('../Alerts/Customers/CustomerActivateAlert'), ); -const ContactInactivateAlert = React.lazy(() => - import('../Alerts/Contacts/ContactInactivateAlert'), +const CustomerInactivateAlert = React.lazy(() => + import('../Alerts/Customers/CustomerInactivateAlert'), ); /** @@ -15,6 +15,6 @@ const ContactInactivateAlert = React.lazy(() => */ export default [ { name: 'customer-delete', component: CustomerDeleteAlert }, - { name: 'contact-activate', component: ContactActivateAlert }, - { name: 'contact-inactivate', component: ContactInactivateAlert }, + { name: 'customer-activate', component: CustomerActivateAlert }, + { name: 'customer-inactivate', component: CustomerInactivateAlert }, ]; diff --git a/src/containers/Customers/CustomersLanding/CustomersTable.js b/src/containers/Customers/CustomersLanding/CustomersTable.js index 7619936ac..9618ba4cf 100644 --- a/src/containers/Customers/CustomersLanding/CustomersTable.js +++ b/src/containers/Customers/CustomersLanding/CustomersTable.js @@ -89,15 +89,17 @@ function CustomersTable({ // Handle cancel/confirm inactive. const handleInactiveCustomer = ({ id, contact_service }) => { - openAlert('contact-inactivate', { - contactId: id, - service: contact_service, + openAlert('customer-inactivate', { + customerId: id, }); }; // Handle cancel/confirm activate. const handleActivateCustomer = ({ id, contact_service }) => { - openAlert('contact-activate', { contactId: id, service: contact_service }); + openAlert('customer-activate', { + customerId: id, + service: contact_service, + }); }; // Handle view detail contact. diff --git a/src/containers/Vendors/VendorsAlerts.js b/src/containers/Vendors/VendorsAlerts.js index 8c845e725..93714e3e8 100644 --- a/src/containers/Vendors/VendorsAlerts.js +++ b/src/containers/Vendors/VendorsAlerts.js @@ -3,15 +3,15 @@ import React from 'react'; const VendorDeleteAlert = React.lazy(() => import('../Alerts/Vendors/VendorDeleteAlert'), ); -const ContactActivateAlert = React.lazy(() => - import('../Alerts/Contacts/ContactActivateAlert'), +const VendorActivateAlert = React.lazy(() => + import('../Alerts/Vendors/VendorActivateAlert'), ); -const ContactInactivateAlert = React.lazy(() => - import('../Alerts/Contacts/ContactInactivateAlert'), +const VendorInactivateAlert = React.lazy(() => + import('../Alerts/Vendors/VendorInactivateAlert'), ); export default [ { name: 'vendor-delete', component: VendorDeleteAlert }, - { name: 'contact-activate', component: ContactActivateAlert }, - { name: 'contact-inactivate', component: ContactInactivateAlert }, + { name: 'vendor-activate', component: VendorActivateAlert }, + { name: 'vendor-inactivate', component: VendorInactivateAlert }, ]; diff --git a/src/containers/Vendors/VendorsLanding/VendorsTable.js b/src/containers/Vendors/VendorsLanding/VendorsTable.js index fc117d291..c57114864 100644 --- a/src/containers/Vendors/VendorsLanding/VendorsTable.js +++ b/src/containers/Vendors/VendorsLanding/VendorsTable.js @@ -67,15 +67,15 @@ function VendorsTable({ // Handle cancel/confirm inactive. const handleInactiveVendor = ({ id, contact_service }) => { - openAlert('contact-inactivate', { - contactId: id, + openAlert('vendor-inactivate', { + vendorId: id, service: contact_service, }); }; - // Handle cancel/confirm activate. + // Handle cancel/confirm activate. const handleActivateVendor = ({ id, contact_service }) => { - openAlert('contact-activate', { contactId: id, service: contact_service }); + openAlert('vendor-activate', { vendorId: id, service: contact_service }); }; // Handle click delete vendor. diff --git a/src/lang/ar/index.json b/src/lang/ar/index.json index e40e67091..e293d9e3c 100644 --- a/src/lang/ar/index.json +++ b/src/lang/ar/index.json @@ -1757,5 +1757,15 @@ "global_error.you_dont_have_permissions": "ليس لديك صلاحية الوصول إلى هذه الصفحة.", "global_error.transactions_locked": "تم قفل المعاملات التي تمت قبل {lockedToDate}. ومن ثم لا يمكن القيام بأي عمل.", - "global_error.authorized_user_inactive": "المستخدم المصرح له تم تعطيلة." -} \ No newline at end of file + "global_error.authorized_user_inactive": "المستخدم المصرح له تم تعطيلة.", + + "vendor.alert.activated_message": "تم تفعيل المورد بنجاح.", + "vendor.alert.are_you_sure_want_to_activate_this_vendor": "هل أنت متأكد أنك تريد تفعيل هذا المورد؟ ستتمكن من تعطيله لاحقًا", + "vendor.alert.inactivated_message": "تم إلغاء تنشيط المورد بنجاح.", + "vendor.alert.are_you_sure_want_to_inactivate_this_vendor":"هل أنت متأكد أنك تريد إلغاء تنشيط هذا المورد؟ ستكون قادرًا على تنشيطه لاحقًا", + + "customer.alert.activated_message":"تم تفعيل الزبون بنجاح.", + "customer.alert.are_you_sure_want_to_activate_this_customer": "هل أنت متأكد أنك تريد تفعيل هذا الزبون؟ ستتمكن من تعطيله لاحقًا", + "customer.alert.inactivated_message": "تم إلغاء تنشيط الزبون بنجاح.", + "customer.alert.are_you_sure_want_to_inactivate_this_customer":"هل أنت متأكد أنك تريد إلغاء تنشيط هذا الزبون؟ ستكون قادرًا على تنشيطه لاحقًا" +} diff --git a/src/lang/en/index.json b/src/lang/en/index.json index 51cc47d1d..0183c97e2 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1734,8 +1734,17 @@ "payment_made.drawer.title": "Payment made details {number}", "manual_journal.drawer.title": "Manual journal details ({number})", "expense.drawer.title": "Expense details", - "global_error.you_dont_have_permissions": "You do not have permissions to access this page.", "global_error.transactions_locked": "Transactions before {lockedToDate} has been locked. Hence action cannot be performed.", - "global_error.authorized_user_inactive": "The authorized user is inactive." + "global_error.authorized_user_inactive": "The authorized user is inactive.", + "the_vendor_has_been_inactivated_successfully": "The contact has been inactivated successfully.", + "vendor.alert.activated_message": "The vendor has been activated successfully.", + "vendor.alert.are_you_sure_want_to_inactivate_this_vendor":"Are you sure want to inactivate this vendor? You will to able to activate it later.", + "vendor.alert.inactivated_message": "The vendor has been inactivated successfully.", + "vendor.alert.are_you_sure_want_to_activate_this_vendor": "Are you sure want to activate this vendor? You will to able to inactivate it later.", + + "customer.alert.activated_message":"The customer has been activated successfully.", + "customer.alert.are_you_sure_want_to_activate_this_customer": "Are you sure want to activate this customer? You will to able to inactivate it later.", + "customer.alert.inactivated_message": "The customer has been inactivated successfully.", + "customer.alert.are_you_sure_want_to_inactivate_this_customer":"Are you sure want to inactivate this customer? You will to able to activate it later." } \ No newline at end of file