7. Prostory nové – step021
Kompletní originál na demu:
navod-akce.html
7. Prostory nové – step021
www.iskasa.eu · návod k modulu Akce
7\. Prostory nové – step021
Stránka: step021 (obal) → pořadí include:
- step021Common – sdílené funkce (kolize, sazby, kalendář)
- step021VlozeneSeznam – tabulka již uložených prostor u akce
- step021 – průvodce, mřížka karet, konfigurace pro JS
- step021.js – interaktivita (obsazenost, autosave, navigace)
6.1 Průvodce v UI
- Areál (volitelně) – ArealSelect
- Budova – BudovySelect (AJAX navigace bez reloadu)
- Mřížka prostor – step021RoomsGrid \+ načtení obsazenosti step021BusyLoad
- Detail na kartě: termín, sazba, poznámka, příprava, zodpovědná osoba
- Uložení: AJAX na step021vloz nebo klasický POST
6.2 API a živá obsazenost
| Modul | Účel |
|---|---|
| step021Api | JSON: seznam prostor v budově + kolize (action=obsazenost) |
| step021ObsazenostJson | Kolize pro jednu místnost (termín / příprava) |
| step021SavedList | AJAX obnova seznamu uložených prostor |
| step021vloz | INSERT/UPDATE/DELETE, kalendář, e-mail při kolizi |
| step021WriteCalendar | Zápis dnů do dovakcemistadatum |
| step021VlozCeny | Výpočet ceny dle ProstorySazba |
flowchart TD
A["step021 aa"] --> B["step021VlozeneSeznam"]
B --> C["Průvodce areál / budova"]
C --> D["Mřížka karet"]
D --> E["step021Api obsazenost"]
E --> F{"Uložit kartu?"}
F -->|AJAX| G["step021vloz ajax=1"]
F -->|POST| H["step021vloz"]
G --> I["dovakcemista"]
H --> I
I --> J["step021WriteCalendar"]
J --> K["AkceKalendarVloz"]
D -->|kolize| L["ch=1 návrat s termíny"]
6.3 Oprávnění k úpravám
Uložené prostory smí měnit admin nebo vlastník akce (kodosoba / kodu v dovakce). Ostatní uživatelé vidí prostory read-only. Parametry mista, ams, view=select bez oprávnění → přesměrování na step021?aa=.