This commit is contained in:
a.bouhuolia
2021-09-08 16:32:59 +02:00
49 changed files with 305 additions and 216 deletions

View File

@@ -20,6 +20,7 @@ import EstimateFormFooter from './EstimateFormFooter';
import EstimateFormDialogs from './EstimateFormDialogs';
import withSettings from 'containers/Settings/withSettings';
import withCurrentOrganization from 'containers/Organization/withCurrentOrganization';
import { AppToaster } from 'components';
import { ERROR } from 'common/errors';
@@ -35,7 +36,9 @@ function EstimateForm({
estimateNextNumber,
estimateNumberPrefix,
estimateIncrementMode,
baseCurrency,
// #withCurrentOrganization
organization: { base_currency },
}) {
const history = useHistory();
const {
@@ -55,14 +58,14 @@ function EstimateForm({
const initialValues = useMemo(
() => ({
...(!isEmpty(estimate)
? { ...transformToEditForm(estimate), currency_code: baseCurrency }
? { ...transformToEditForm(estimate), currency_code: base_currency }
: {
...defaultEstimate,
...(estimateIncrementMode && {
estimate_number: estimateNumber,
}),
entries: orderingLinesIndexes(defaultEstimate.entries),
currency_code: baseCurrency,
currency_code: base_currency,
}),
}),
[estimate, estimateNumber, estimateIncrementMode],
@@ -172,10 +175,10 @@ function EstimateForm({
}
export default compose(
withSettings(({ estimatesSettings, organizationSettings }) => ({
withSettings(({ estimatesSettings }) => ({
estimateNextNumber: estimatesSettings?.nextNumber,
estimateNumberPrefix: estimatesSettings?.numberPrefix,
estimateIncrementMode: estimatesSettings?.autoIncrement,
baseCurrency: organizationSettings?.baseCurrency,
})),
withCurrentOrganization(),
)(EstimateForm);

View File

@@ -6,7 +6,7 @@ import intl from 'react-intl-universal';
import { CLASSES } from 'common/classes';
import EstimateFormHeaderFields from './EstimateFormHeaderFields';
import withSettings from 'containers/Settings/withSettings';
import withCurrentOrganization from 'containers/Organization/withCurrentOrganization';
import { getEntriesTotal } from 'containers/Entries/utils';
import { PageFormBigNumber } from 'components';
@@ -14,8 +14,8 @@ import { compose } from 'utils';
// Estimate form top header.
function EstimateFormHeader({
// #withSettings
baseCurrency,
// #withCurrentOrganization
organization: { base_currency },
}) {
const { values } = useFormikContext();
@@ -32,14 +32,10 @@ function EstimateFormHeader({
<PageFormBigNumber
label={intl.get('amount')}
amount={totalDueAmount}
currencyCode={baseCurrency}
currencyCode={base_currency}
/>
</div>
);
}
export default compose(
withSettings(({ organizationSettings }) => ({
baseCurrency: organizationSettings?.baseCurrency,
})),
)(EstimateFormHeader);
export default compose(withCurrentOrganization())(EstimateFormHeader);

View File

@@ -9,7 +9,6 @@ import TableSkeletonRows from 'components/Datatable/TableSkeletonRows';
import TableSkeletonHeader from 'components/Datatable/TableHeaderSkeleton';
import withEstimatesActions from './withEstimatesActions';
import withSettings from 'containers/Settings/withSettings';
import withAlertsActions from 'containers/Alert/withAlertActions';
import withDrawerActions from 'containers/Drawer/withDrawerActions';
import withDialogActions from 'containers/Dialog/withDialogActions';
@@ -91,6 +90,10 @@ function EstimatesDataTable({
openDialog('estimate-pdf-preview', { estimateId: id });
};
// Handle cell click.
const handleCellClick = (cell, event) => {
openDrawer('estimate-detail-drawer', { estimateId: cell.row.original.id });
};
// Handles fetch data.
const handleFetchData = useCallback(
({ pageIndex, pageSize, sortBy }) => {
@@ -127,6 +130,7 @@ function EstimatesDataTable({
TableLoadingRenderer={TableSkeletonRows}
TableHeaderSkeletonRenderer={TableSkeletonHeader}
ContextMenu={ActionsMenu}
onCellClick={handleCellClick}
payload={{
onApprove: handleApproveEstimate,
onEdit: handleEditEstimate,
@@ -148,7 +152,4 @@ export default compose(
withAlertsActions,
withDrawerActions,
withDialogActions,
withSettings(({ organizationSettings }) => ({
baseCurrency: organizationSettings?.baseCurrency,
})),
)(EstimatesDataTable);

View File

@@ -164,6 +164,7 @@ export function useEstiamtesTableColumns() {
Cell: DateCell,
width: 140,
className: 'estimate_date',
clickable: true,
},
{
id: 'customer',
@@ -171,6 +172,7 @@ export function useEstiamtesTableColumns() {
accessor: 'customer.display_name',
width: 140,
className: 'customer_id',
clickable: true,
},
{
id: 'expiration_date',
@@ -179,6 +181,7 @@ export function useEstiamtesTableColumns() {
Cell: DateCell,
width: 140,
className: 'expiration_date',
clickable: true,
},
{
id: 'estimate_number',
@@ -187,6 +190,7 @@ export function useEstiamtesTableColumns() {
row.estimate_number ? `#${row.estimate_number}` : null,
width: 140,
className: 'estimate_number',
clickable: true,
},
{
id: 'amount',
@@ -194,6 +198,7 @@ export function useEstiamtesTableColumns() {
accessor: AmountAccessor,
width: 140,
className: 'amount',
clickable: true,
},
{
id: 'status',
@@ -201,6 +206,7 @@ export function useEstiamtesTableColumns() {
accessor: (row) => statusAccessor(row),
width: 140,
className: 'status',
clickable: true,
},
{
id: 'reference_no',
@@ -208,6 +214,7 @@ export function useEstiamtesTableColumns() {
accessor: 'reference',
width: 90,
className: 'reference',
clickable: true,
},
],
[],