fix: neumožnit vybrat zavřený podnik kliknutím v záhlaví
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 30s
CI / Build server (push) Successful in 29s
CI / Build client (push) Successful in 42s
CI / Playwright E2E tests (push) Successful in 1m57s
CI / Build and push Docker image (push) Successful in 46s
CI / Notify (push) Successful in 2s
CI / Generate TypeScript types (push) Successful in 10s
CI / Server unit tests (push) Successful in 30s
CI / Build server (push) Successful in 29s
CI / Build client (push) Successful in 42s
CI / Playwright E2E tests (push) Successful in 1m57s
CI / Build and push Docker image (push) Successful in 46s
CI / Notify (push) Successful in 2s
This commit is contained in:
2 files changed
+19
-1
No files matched your search
+3
-1
@@ -637,9 +637,11 @@ function App() {
|
||||
} else {
|
||||
content = <div className="restaurant-error">Chyba načtení dat</div>
|
||||
}
|
||||
// Zavřený podnik nelze vybrat kliknutím na záhlaví
|
||||
const canSelectLocation = canChangeChoice && !menu?.closed;
|
||||
return <Col md={6} lg className='mt-3'>
|
||||
<div className="restaurant-card">
|
||||
<div className="restaurant-header" style={{ cursor: canChangeChoice ? 'pointer' : 'default' }} onClick={() => doAddClickFoodChoice(location)}>
|
||||
<div className="restaurant-header" style={{ cursor: canSelectLocation ? 'pointer' : 'default' }} onClick={() => canSelectLocation && doAddClickFoodChoice(location)}>
|
||||
<div className="restaurant-header-content">
|
||||
<h3>
|
||||
{getLunchChoiceName(location)}
|
||||
|
||||
@@ -489,6 +489,7 @@ export async function addChoice(login: string, trusted: boolean, locationKey: Lu
|
||||
if (isRestaurantDisabled(locationKey)) {
|
||||
throw new Error(`Podnik ${locationKey} je dočasně uzavřen`);
|
||||
}
|
||||
await validateRestaurantOpen(locationKey, usedDate);
|
||||
await validateFoodIndex(locationKey, foodIndex, date);
|
||||
|
||||
if (!slot || slot === MealSlot.OBED) {
|
||||
@@ -540,6 +541,21 @@ export async function addChoice(login: string, trusted: boolean, locationKey: Lu
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ověří, že vybraný podnik má v daný den otevřeno.
|
||||
*
|
||||
* @param locationKey vybraná lokalita
|
||||
* @param date datum, pro které je validace prováděna
|
||||
*/
|
||||
async function validateRestaurantOpen(locationKey: LunchChoice, date: Date) {
|
||||
if (Object.keys(Restaurant).includes(locationKey)) {
|
||||
const menu = await getRestaurantMenu(locationKey as Restaurant, date);
|
||||
if (menu.closed) {
|
||||
throw new Error(`Podnik ${locationKey} má v tento den zavřeno`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Zvaliduje platnost indexu jídla pro vybranou lokalitu a datum.
|
||||
*
|
||||
|
||||
Reference in new issue
Block a user