Compare commits

...

12 Commits

Author SHA1 Message Date
a.bouhuolia
f1899e1ce1 Merge branch 'develop' into main 2022-01-08 18:20:08 +02:00
elforjani13
76d6cd0eaa fix(MoneyOutForm): BIG-270 publish & draft cashflow. 2022-01-08 18:14:39 +02:00
elforjani13
90b4f86a0d fix(MoneyInForm): BIG-270 publish & draft cashflow. 2022-01-08 18:14:17 +02:00
Ahmed Bouhuolia
5766d25bd1 Merge pull request #18 from bigcapitalhq/BIG-271-hotjar-client-application-integration
`BIG-271` Hotjar client application integration.
2022-01-08 18:06:54 +02:00
elforjani13
6a5d96e869 BIG-271 Hotjar client application integration. 2022-01-08 17:59:30 +02:00
Ahmed Bouhuolia
11851d114d Merge pull request #16 from bigcapitalhq/develop
Release 1.5.5
2022-01-04 22:35:49 +02:00
a.bouhuolia
21779007be fix: application version. 2022-01-03 23:14:11 +02:00
a.bouhuolia
4fc1ecdc2d Merge branch 'main' of https://github.com/bigcapitalhq/client into main 2022-01-03 19:42:48 +02:00
a.bouhuolia
c9b5cecf7a Merge branch 'develop' into main 2022-01-03 19:42:23 +02:00
elforjani13
c31e9dcd29 fix: inventory adjustment & contacts drawer. 2022-01-03 14:35:50 +02:00
elforjani13
430ab95dc3 landed cost localiztion. 2022-01-03 13:38:22 +02:00
Ahmed Bouhuolia
8100a57195 Merge pull request #15 from bigcapitalhq/develop
Merge `develop` to `main`
2022-01-03 12:31:14 +02:00
14 changed files with 68 additions and 28 deletions

View File

@@ -85,6 +85,9 @@ function getClientEnvironment(publicUrl) {
WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST,
WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH,
WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT,
// Application version.
VERSION: paths.appVersion
} }
); );
// Stringify all values so we can feed into webpack DefinePlugin // Stringify all values so we can feed into webpack DefinePlugin

View File

@@ -48,6 +48,8 @@ const resolveModule = (resolveFn, filePath) => {
return resolveFn(`${filePath}.js`); return resolveFn(`${filePath}.js`);
}; };
const appVersion = require(resolveApp('package.json')).version;
// config after eject: we're in ./config/ // config after eject: we're in ./config/
module.exports = { module.exports = {
dotenv: resolveApp('.env'), dotenv: resolveApp('.env'),
@@ -65,6 +67,7 @@ module.exports = {
proxySetup: resolveApp('src/setupProxy.js'), proxySetup: resolveApp('src/setupProxy.js'),
appNodeModules: resolveApp('node_modules'), appNodeModules: resolveApp('node_modules'),
publicUrlOrPath, publicUrlOrPath,
appVersion
}; };

View File

@@ -2,7 +2,11 @@
<html dir="ltr" lang="en"> <html dir="ltr" lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicons/favicon-32.ico" sizes="32x32"> <link
rel="icon"
href="%PUBLIC_URL%/favicons/favicon-32.ico"
sizes="32x32"
/>
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" /> <meta name="theme-color" content="#000000" />
<meta <meta
@@ -15,6 +19,22 @@
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/ user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
--> -->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!-- Hotjar Tracking Code for https://app.bigcapital.ly/ -->
<script>
(function (h, o, t, j, a, r) {
h.hj =
h.hj ||
function () {
(h.hj.q = h.hj.q || []).push(arguments);
};
h._hjSettings = { hjid: 2774528, hjsv: 6 };
a = o.getElementsByTagName('head')[0];
r = o.createElement('script');
r.async = 1;
r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
a.appendChild(r);
})(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv=');
</script>
<!-- <!--
Notice the use of %PUBLIC_URL% in the tags above. Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build. It will be replaced with the URL of the `public` folder during the build.
@@ -41,7 +61,11 @@
To create a production bundle, use `npm run build` or `yarn build`. To create a production bundle, use `npm run build` or `yarn build`.
--> -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flexboxgrid/6.3.1/flexboxgrid.min.css" type="text/css" > <link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/flexboxgrid/6.3.1/flexboxgrid.min.css"
type="text/css"
/>
<!-- <link href="https://cdn.syncfusion.com/ej2/material.css" rel="stylesheet"> --> <!-- <link href="https://cdn.syncfusion.com/ej2/material.css" rel="stylesheet"> -->
<!-- <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> --> <!-- <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> -->
</body> </body>

View File

@@ -28,7 +28,7 @@ export default function Sidebar({ dashboardContentRef }) {
* @returns {React.JSX} * @returns {React.JSX}
*/ */
function SidebarFooterVersion() { function SidebarFooterVersion() {
const { REACT_APP_VERSION: VERSION } = process.env; const { VERSION } = process.env;
if (!VERSION) { if (!VERSION) {
return null; return null;

View File

@@ -57,9 +57,7 @@ function BillTransactionDeleteAlert({
loading={isLoading} loading={isLoading}
> >
<p> <p>
<T <T id={`landed_cost.once_your_delete_this_located_landed_cost`} />
id={`Once your delete this located landed cost, you won't be able to restore it later, Are your sure you want to delete this transaction?`}
/>
</p> </p>
</Alert> </Alert>
); );

View File

@@ -79,6 +79,10 @@ export const handleCashFlowTransactionType = (reference, openDrawer) => {
return openDrawer('refund-vendor-detail-drawer', { return openDrawer('refund-vendor-detail-drawer', {
refundTransactionId: reference.reference_id, refundTransactionId: reference.reference_id,
}); });
case 'InventoryAdjustment':
return openDrawer('inventory-adjustment-drawer', {
inventoryId: reference.reference_id,
});
default: default:
return openDrawer('cashflow-transaction-drawer', { return openDrawer('cashflow-transaction-drawer', {

View File

@@ -37,7 +37,7 @@ function AllocateLandedCostFloatingActions({
<DialogFooterActions alignment={'left'}> <DialogFooterActions alignment={'left'}>
{costTransactionEntry && ( {costTransactionEntry && (
<UnallocatedAmount> <UnallocatedAmount>
Unallocated cost Amount:{' '} <T id={'landed_cost.dialog.label_unallocated_cost_amount'}/>
<strong>{formattedUnallocatedCostAmount}</strong> <strong>{formattedUnallocatedCostAmount}</strong>
</UnallocatedAmount> </UnallocatedAmount>
)} )}

View File

@@ -42,7 +42,10 @@ function AllocateLandedCostForm({
.map((entry) => transformToForm(entry, defaultInitialValues.items[0])); .map((entry) => transformToForm(entry, defaultInitialValues.items[0]));
if (entries.length <= 0) { if (entries.length <= 0) {
AppToaster.show({ message: 'Something wrong!', intent: Intent.DANGER }); AppToaster.show({
message: intl.get('something_wrong'),
intent: Intent.DANGER,
});
return; return;
} }
const form = { const form = {
@@ -69,13 +72,14 @@ function AllocateLandedCostForm({
) )
) { ) {
AppToaster.show({ AppToaster.show({
message: message: intl.get(
'The total located cost is bigger than the transaction line.', 'landed_cost.error.the_total_located_cost_is_bigger_than_the_transaction_line',
),
intent: Intent.DANGER, intent: Intent.DANGER,
}); });
} else { } else {
AppToaster.show({ AppToaster.show({
message: 'Something went wrong!', message: intl.get('something_went_wrong'),
intent: Intent.DANGER, intent: Intent.DANGER,
}); });
} }

View File

@@ -29,7 +29,7 @@ const defaultInitialValues = {
cashflow_account_id: '', cashflow_account_id: '',
credit_account_id: '', credit_account_id: '',
description: '', description: '',
published: '', publish: '',
}; };
function MoneyInForm({ function MoneyInForm({
@@ -73,7 +73,7 @@ function MoneyInForm({
const handleFormSubmit = (values, { setSubmitting, setErrors }) => { const handleFormSubmit = (values, { setSubmitting, setErrors }) => {
const form = { const form = {
...omit(values, ['currency_code']), ...omit(values, ['currency_code']),
published: true, publish: true,
}; };
setSubmitting(true); setSubmitting(true);
createCashflowTransactionMutate(form) createCashflowTransactionMutate(form)

View File

@@ -14,7 +14,7 @@ const Schema = Yup.object().shape({
.min(3) .min(3)
.max(DATATYPES_LENGTH.TEXT) .max(DATATYPES_LENGTH.TEXT)
.label(intl.get('description')), .label(intl.get('description')),
published: Yup.boolean(), publish: Yup.boolean(),
}); });
export const CreateMoneyInFormSchema = Schema; export const CreateMoneyInFormSchema = Schema;

View File

@@ -29,7 +29,7 @@ const defaultInitialValues = {
cashflow_account_id: '', cashflow_account_id: '',
credit_account_id: '', credit_account_id: '',
description: '', description: '',
published: '', publish: '',
}; };
function MoneyOutForm({ function MoneyOutForm({
@@ -73,7 +73,7 @@ function MoneyOutForm({
const handleFormSubmit = (values, { setSubmitting, setErrors }) => { const handleFormSubmit = (values, { setSubmitting, setErrors }) => {
const form = { const form = {
...omit(values, ['currency_code']), ...omit(values, ['currency_code']),
published: true, publish: true,
}; };
setSubmitting(true); setSubmitting(true);
createCashflowTransactionMutate(form) createCashflowTransactionMutate(form)

View File

@@ -14,7 +14,7 @@ const Schema = Yup.object().shape({
.min(3) .min(3)
.max(DATATYPES_LENGTH.TEXT) .max(DATATYPES_LENGTH.TEXT)
.label(intl.get('description')), .label(intl.get('description')),
published: Yup.boolean(), publish: Yup.boolean(),
}); });
export const CreateMoneyOutSchema = Schema; export const CreateMoneyOutSchema = Schema;

View File

@@ -1173,7 +1173,6 @@
"From transaction": "من معاملة", "From transaction": "من معاملة",
"Landed": "Landed", "Landed": "Landed",
"This options allows you to be able to add additional cost eg. freight then allocate cost to the items in your bills.": "يتيح لك هذا الخيار إمكانية إضافة تكلفة إضافية على سبيل المثال اضافة تكلفة الشحن ومن ثم تخصيص التكلفة لفواتير الشراء.", "This options allows you to be able to add additional cost eg. freight then allocate cost to the items in your bills.": "يتيح لك هذا الخيار إمكانية إضافة تكلفة إضافية على سبيل المثال اضافة تكلفة الشحن ومن ثم تخصيص التكلفة لفواتير الشراء.",
"Once your delete this located landed cost, you won't be able to restore it later, Are your sure you want to delete this transaction?": "بمجرد حذف معاملة تحميل التكلفة ، لن تتمكن من استعادتها لاحقًا ، هل أنت متأكد من أنك تريد حذف هذه المعاملة؟",
"journal_entries": "القيود", "journal_entries": "القيود",
"contact": "جهة الاتصال", "contact": "جهة الاتصال",
"invoice_details": "تفاصيل الفاتورة", "invoice_details": "تفاصيل الفاتورة",
@@ -1384,7 +1383,7 @@
"filter.value": "قيمة", "filter.value": "قيمة",
"payment_made.empty_status.title": "المنشأة لم تدفع اي اموال إلي الموردين ، إلي حد الأن!.", "payment_made.empty_status.title": "المنشأة لم تدفع اي اموال إلي الموردين ، إلي حد الأن!.",
"estimate.delete.error.estimate_converted_to_invoice": "لا يمكن حذف عملية عرض اسعار الذي تم تحويلها إلي فاتورة بيع.", "estimate.delete.error.estimate_converted_to_invoice": "لا يمكن حذف عملية عرض اسعار الذي تم تحويلها إلي فاتورة بيع.",
"landed_cost.action.delete.success_message": "The landed cost has been deleted successfully.", "landed_cost.action.delete.success_message": "تم حذف تكلفة اضافية بنجاح. ",
"items.option.only_active": "Only active", "items.option.only_active": "Only active",
"items.option_all_items.hint": "جميع الاصناف ، بما في ذلك تلك الاصناف لديها رصيد صفر.", "items.option_all_items.hint": "جميع الاصناف ، بما في ذلك تلك الاصناف لديها رصيد صفر.",
"items.option_with_transactions": "الاصناف مع معاملات", "items.option_with_transactions": "الاصناف مع معاملات",
@@ -1583,6 +1582,9 @@
"refund": "استرجاع", "refund": "استرجاع",
"landed_cost.dialog.label_select_transaction": "حدد المعاملة ", "landed_cost.dialog.label_select_transaction": "حدد المعاملة ",
"landed_cost.dialog.label_select_transaction_entry": "حدد سطر المعاملة ", "landed_cost.dialog.label_select_transaction_entry": "حدد سطر المعاملة ",
"landed_cost.dialog.label_unallocated_cost_amount":"قيمة التكلفة غير المحملة:",
"landed_cost.error.the_total_located_cost_is_bigger_than_the_transaction_line":"إجمالي قيمة التكلفة المحملة أكبر من قيمة سطر المعاملة.",
"landed_cost.once_your_delete_this_located_landed_cost": "بمجرد حذف معاملة تحميل التكلفة ، لن تتمكن من استعادتها لاحقًا ، هل أنت متأكد من أنك تريد حذف هذه المعاملة؟",
"refund_credit_note.dialog.label": "استرجاع اموال", "refund_credit_note.dialog.label": "استرجاع اموال",
"refund_credit_note.dialog.success_message": "تم انشاء معاملة استرجاع الاموال لإشعار الدائن بنجاح.", "refund_credit_note.dialog.success_message": "تم انشاء معاملة استرجاع الاموال لإشعار الدائن بنجاح.",
"refund_credit_note.dialog.refund_date": "تاريخ الاسترجاع", "refund_credit_note.dialog.refund_date": "تاريخ الاسترجاع",

View File

@@ -1145,7 +1145,6 @@
"From transaction": "From transaction", "From transaction": "From transaction",
"landed": "Landed", "landed": "Landed",
"This options allows you to be able to add additional cost eg. freight then allocate cost to the items in your bills.": "This options allows you to be able to add additional cost eg. freight then allocate cost to the items in your bills.", "This options allows you to be able to add additional cost eg. freight then allocate cost to the items in your bills.": "This options allows you to be able to add additional cost eg. freight then allocate cost to the items in your bills.",
"Once your delete this located landed cost, you won't be able to restore it later, Are your sure you want to delete this transaction?": "Once your delete this located landed cost, you won't be able to restore it later, Are your sure you want to delete this transaction?",
"journal_entries": "Journal Entries", "journal_entries": "Journal Entries",
"contact": "Contact", "contact": "Contact",
"invoice_details": "Invoice details", "invoice_details": "Invoice details",
@@ -1288,11 +1287,11 @@
"inventory_adjustment.details_drawer.title": "Inventory adjustment details", "inventory_adjustment.details_drawer.title": "Inventory adjustment details",
"setup.organization.location": "Location", "setup.organization.location": "Location",
"preferences.general.success_message": "The general preferences has been saved.", "preferences.general.success_message": "The general preferences has been saved.",
"customer.drawer.action.new_invoice": "New invoice", "customer.drawer.action.new_invoice": "New Invoice",
"customer.drawer.action.new_estimate": "New estimate", "customer.drawer.action.new_estimate": "New Estimate",
"customer.drawer.action.new_payment": "New payment", "customer.drawer.action.new_payment": "New Payment",
"customer.drawer.action.new_receipt": "New receipt", "customer.drawer.action.new_receipt": "New Receipt",
"customer.drawer.action.new_transaction": "New transaction", "customer.drawer.action.new_transaction": "New Transaction",
"customer.drawer.action.edit": "Edit", "customer.drawer.action.edit": "Edit",
"customer.drawer.label.outstanding_receivable": "Outstanding receivable", "customer.drawer.label.outstanding_receivable": "Outstanding receivable",
"customer.drawer.label.customer_name": "Customer name", "customer.drawer.label.customer_name": "Customer name",
@@ -1318,9 +1317,9 @@
"vendor.drawer.label.note": "Note", "vendor.drawer.label.note": "Note",
"vendor.drawer.action.edit_vendor": "Edit vendor", "vendor.drawer.action.edit_vendor": "Edit vendor",
"vendor.drawer.action.delete": "Delete", "vendor.drawer.action.delete": "Delete",
"vendor.drawer.action.new_transaction": "New transaction", "vendor.drawer.action.new_transaction": "New Transaction",
"vendor.drawer.action.new_payment": "New payment", "vendor.drawer.action.new_payment": "New Payment",
"vendor.drawer.action.new_invoice": "New purchase invoice", "vendor.drawer.action.new_invoice": "New Purchase Invoice",
"vendor.drawer.action.edit": "Edit", "vendor.drawer.action.edit": "Edit",
"manual_journals.empty_status.description": "Manual journals can be used to record financial transactions manually, used by accountants to work with the ledger.", "manual_journals.empty_status.description": "Manual journals can be used to record financial transactions manually, used by accountants to work with the ledger.",
"manual_journals.empty_status.title": "Create your first journal entries on accounts chart.", "manual_journals.empty_status.title": "Create your first journal entries on accounts chart.",
@@ -1568,6 +1567,9 @@
"refund": "Refund", "refund": "Refund",
"landed_cost.dialog.label_select_transaction": "Select transaction", "landed_cost.dialog.label_select_transaction": "Select transaction",
"landed_cost.dialog.label_select_transaction_entry": "Select transaction entry", "landed_cost.dialog.label_select_transaction_entry": "Select transaction entry",
"landed_cost.dialog.label_unallocated_cost_amount": "Unallocated cost Amount:",
"landed_cost.error.the_total_located_cost_is_bigger_than_the_transaction_line": "The total located cost is bigger than the transaction line.",
"landed_cost.once_your_delete_this_located_landed_cost": "Once your delete this located landed cost, you won't be able to restore it later, Are your sure you want to delete this transaction?",
"refund_credit_note.dialog.label": "Refund Credit Note", "refund_credit_note.dialog.label": "Refund Credit Note",
"refund_credit_note.dialog.success_message": "The customer credit note refund has been created successfully.", "refund_credit_note.dialog.success_message": "The customer credit note refund has been created successfully.",
"refund_credit_note.dialog.refund_date": "Refund date", "refund_credit_note.dialog.refund_date": "Refund date",