Skip to content

Commit 826e39e

Browse files
Merge pull request #102 from CAMAP-APP/fix/hot232
Fix/hot232
2 parents 4aa02c7 + 1779036 commit 826e39e

3 files changed

Lines changed: 26 additions & 18 deletions

File tree

packages/front-core/src/modules/csaCatalog/CsaCatalog.context.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,28 +255,33 @@ const CsaCatalogContextProvider = ({
255255
setUpdatedOrders(updatedOrders => {
256256
const upd = { ...updatedOrders };
257257
for (const d of distributions) {
258-
if (d.state === RestDistributionState.NotYetOpen || d.state === RestDistributionState.Open) {
258+
if (
259+
(d.state === RestDistributionState.NotYetOpen || d.state === RestDistributionState.Open)
260+
&& !absenceDistributionsIds?.includes(d.id)
261+
) {
259262
upd[d.id] = { ...newDefaultOrder };
260263
}
261264
}
262265
return upd
263266
});
264267
setDefaultOrder(newDefaultOrder);
265-
}, [distributions]);
268+
}, [distributions, absenceDistributionsIds]);
266269

267270
const remainingDistributions = React.useMemo(() => {
268271
return distributions.filter(
269272
d => {
270273
if (subscription) {
271274
return subscription.distributions.some(d2 => d2.id === d.id) &&
272275
isAfter(new Date(d.distributionStartDate), new Date()) &&
276+
!absenceDistributionsIds?.includes(d.id) &&
273277
d.state !== RestDistributionState.Absent
274278
} else {
275279
return isAfter(new Date(d.distributionStartDate), new Date()) &&
280+
!absenceDistributionsIds?.includes(d.id) &&
276281
d.state !== RestDistributionState.Absent
277282
}
278283
}).length;
279-
}, [subscription, distributions]);
284+
}, [subscription, distributions, absenceDistributionsIds]);
280285

281286
const minSubscriptionOrder = React.useMemo(() => {
282287
return !!subscription

packages/front-core/src/modules/csaCatalog/CsaCatalogRouter.tsx

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import CsaCatalogPresentation from './containers/CsaCatalogPresentation';
1010
import CsaCatalogSubscription from './containers/CsaCatalogSubscription';
1111
import MediumActionIcon from './containers/MediumActionIcon';
1212
import {
13-
useRestCheckSubscriptionDefaultOrderPost,
1413
useRestSubscriptionPost,
1514
useRestUpdateSubscriptionDefaultOrderPost,
1615
useRestUpdateSubscriptionOrdersPost,
@@ -55,8 +54,6 @@ const CsaCatalogRouter = ({ userId }: CsaCatalogRouterProps) => {
5554
updateSubscriptionDefaultOrder,
5655
{ data: updatedDefaultOrderData, error: updateDefaultOrderError },
5756
] = useRestUpdateSubscriptionDefaultOrderPost();
58-
const [checkSubscriptionDefaultOrder, { error: checkDefaultOrderError }] =
59-
useRestCheckSubscriptionDefaultOrderPost(catalogId);
6057

6158
React.useEffect(() => {
6259
if (
@@ -111,20 +108,23 @@ const CsaCatalogRouter = ({ userId }: CsaCatalogRouterProps) => {
111108
quantity: defaultOrder[parseInt(productId, 10)],
112109
})),
113110
absentDistribIds: absenceDistributionsIds,
114-
initialOrders: Object.keys(updatedOrders).map((distributionId) => ({
115-
id: parseInt(distributionId, 10),
116-
orders: Object.keys(updatedOrders[parseInt(distributionId, 10)]).map((productId) => ({
117-
productId: parseInt(productId, 10),
118-
qty: updatedOrders[parseInt(distributionId, 10)][parseInt(productId, 10)],
119-
})),
111+
initialOrders: Object.keys(updatedOrders)
112+
.filter((distributionId) => !absenceDistributionsIds?.includes(parseInt(distributionId, 10)))
113+
.map((distributionId) => ({
114+
id: parseInt(distributionId, 10),
115+
orders: Object.keys(updatedOrders[parseInt(distributionId, 10)]).map((productId) => ({
116+
productId: parseInt(productId, 10),
117+
qty: updatedOrders[parseInt(distributionId, 10)][parseInt(productId, 10)],
118+
})),
120119
}))
121120
});
122121

123-
if (!subscriptionSucceeded) return;
122+
if (!subscriptionSucceeded) return false;
124123

125124
window.scrollTo({ top: 0, behavior: 'smooth' });
126125

127126
setStep('review');
127+
return true;
128128
};
129129

130130
React.useEffect(() => {
@@ -179,8 +179,7 @@ const CsaCatalogRouter = ({ userId }: CsaCatalogRouterProps) => {
179179
updatedSubscriptionError ||
180180
postSubscriptionError ||
181181
contextError ||
182-
updateDefaultOrderError ||
183-
checkDefaultOrderError;
182+
updateDefaultOrderError;
184183

185184
if (!catalog) return <CircularProgressBox />;
186185

@@ -204,7 +203,7 @@ const CsaCatalogRouter = ({ userId }: CsaCatalogRouterProps) => {
204203
{step === 'presentation' && (
205204
<CsaCatalogPresentation onNext={gotoAbsences} />
206205
)}
207-
{step === 'absences' && <CsaCatalogAbsences onNext={gotoDefaultOrder} adminMode={adminMode} />}
206+
{step === 'absences' && <CsaCatalogAbsences onNext={async () => gotoDefaultOrder()} adminMode={adminMode} />}
208207
{step === 'requiredOrders' && (
209208
<Box
210209
width={'100%'}

packages/front-core/src/modules/csaCatalog/containers/CsaCatalogOrdersMobile.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const CsaCatalogOrdersMobile = ({
5858
remainingDistributions,
5959
cancelOrder,
6060
minSubscriptionOrder,
61+
absenceDistributionsIds,
6162
} = React.useContext(CsaCatalogContext);
6263

6364
const isConstOrDefaults = (mode === 'defaultOrder') || isConstOrders;
@@ -70,10 +71,13 @@ const CsaCatalogOrdersMobile = ({
7071
if (mode === 'initialOrders') {
7172
return allDistributions
7273
.filter(d => [RestDistributionState.Open, RestDistributionState.NotYetOpen].includes(d.state))
73-
.map(d => ({...d, state: RestDistributionState.Open}));
74+
.map(d => ({
75+
...d,
76+
state: absenceDistributionsIds?.includes(d.id) ? RestDistributionState.Absent : RestDistributionState.Open
77+
}));
7478
}
7579
return allDistributions;
76-
}, [allDistributions, mode]);
80+
}, [allDistributions, mode, absenceDistributionsIds]);
7781

7882
const [distributionIndex, setDistributionIndex] = React.useState(0);
7983

0 commit comments

Comments
 (0)