Helyiségtípusok: adatmodell, mentés és törlésvédelem
A helyiségtípus-törzs felépítése, a mentés ellenőrzései, a kétféle törlés és a terület-számítás szabályainak tárolása.
A helyiségtípus-törzs üzemeltetői törzsadat: az ingatlanok helyiséglistájának típus-választóját és a nettó hasznos terület számításának szabályait adja. Cég-adatot nem tartalmaz, ezért tartalmi hatóköre nincs.
Adatmodell
A táblanevek a telepítés saját előtagjával állnak az adatbázisban.
| Tábla | Szerep | Fő mezők |
|---|---|---|
room_type | a típus és a szabálya; egyedi kód | code, counts_as, area_bucket, area_factor, threshold_pct, factor_over, half_room_max, sort_order, status |
room_type_description | nyelvenkénti név (max. 64 karakter) | room_type_id, language_id, name |
A helyiség-sor a kódra hivatkozik (property_room.room_type). A tulajdonos modell publikus metódusai más modulok számára: getRules() (ingatlan form, mentés, területszámítás), getOptions() (helyiség-választó), ready().
Mentés
- A kód kisbetűsítve, a minta: betűvel kezdődő, 2–32 karakter kisbetű, szám, aláhúzás. Hibás: „2–32 karakter: kisbetű, szám, aláhúzás, betűvel kezdve.”; foglalt: „Ezt a kódot már egy másik helyiségtípus használja.”
- Legalább egy nyelven név kell: „Adja meg a megnevezést legalább egy nyelven.” Bármely hibánál felül: „Ellenőrizze a megjelölt mezőket.”
- Az arányok a felületen százalékban érkeznek, a törzsben szorzóként (százalék osztva 100-zal) tárolódnak. A modell fehérlistán át ír: ismeretlen
counts_asesetén other, ismeretlenarea_bucketesetén net. Határok: arány 0–10, küszöb 0–1000 %, félszoba-határ 0–1000. - Visszaolvasás után siker: „Mentve.”; új rekordnál a válasz az új azonosítót is visszaadja, amelyet a form a rejtett mezőbe ír, így a következő mentés módosítás.
Állapotok és törlés
- Státusz: 0 inaktív, 1 aktív, 9 törölt (kuka). A helyiség-választó csak aktív típust kínál; a számításban minden nem törölt típus szabálya él.
- Egyetlen törlés-végpont van. Ha a usernek
deletejoga van, végleges törlés fut, de csak akkor, ha egyetlen helyiség sem használja a kódot (az ingatlan modellcountRoomsByType()metódusa számol); különben: „Nem törölhető: 3 helyiség használja. Inaktiválja helyette.” Ez az ág fut akkor is, ha mindkét törlési joga megvan. - Ha csak
statusdeletejoga van, a sor kukába kerül (status 9). Nem létező sor: „A helyiségtípus nem található.”
Alapadatok
A migráció 23 típust vesz fel angol, magyar és német névvel. Szoba-típusok 12 m² félszoba-határral: living, bedroom, study, office. Nettó gyűjtő 100 %-kal többek között: kitchen, dining, hall, corridor, wardrobe, pantry, laundry, basement, attic, other. A terrace és a balcony a terasz-gyűjtőbe kerül 50 %-kal, 50 %-os küszöbbel, fölötte 30 %-kal. A storage, garage, garden 0 %-kal a saját gyűjtőjébe, a pool és a stairs 0 %-kal az egyéb gyűjtőbe kerül.
Jogosultság
- Alap útvonal-hozzáférés: a helyiségtípus menüpont útvonala.
- Funkciójogok (alapcsomag):
list,add,edit,statusdelete,delete,debug. Az aktiválás és inaktiválás azeditjoghoz tartozik; a kuka csak a törölt elemek láthatóságára jogosultnak látszik. - Tartalmi hatókör: nincs, üzemeltetői törzs.
Ismert korlátok
Az adatszoba és a REST-export a helyiség típuskódját adja tovább. A kódból nem állapítható meg, hogy az adatszoba a törzs nevét vagy egy beépített feliratot ír-e ki.