Nezarazene vidi kazdy, a dlazdice "Moje tickety"

Dve veci, ktere ze stropu viditelnosti vypadly.

Nezarazeny ticket je ve stropu vzdycky. Prvni verze ho schovavala: kdo nevidel
na celou firmu, nevidel ticket bez resitele a bez skupiny. Byla to diera
v provozu - prichozi ticket, ktery jeste nikdo nesmeroval, nepatri do zadne
sekce, takze by ho nevidel nikdo krome vedeni a nikdo by si ho nevzal. Fronta
je spolecna, prave proto je to fronta. Jakmile si ho nekdo vezme, plati strop
jako u kazdeho jineho.

Dlazdice "Moje tickety" a "Fronta bez resitele" byly v navrhu od zacatku
a nikdy se neudelaly. Presne jak navrh rikal: zaznam v katalogu a zdroj
v builtinSources, zadna nova komponenta, data pocita tataz cesta jako u vykonu
resitelu.

Tri veci, ktere si to vyzadalo:

- closed ve WidgetTicketFilter. Bez nej se vyrizene tickety nedaly odfiltrovat:
  stav je volny retezec a vyjmenovat vsechny podoby slova "hotovo" se neda.
  Prospeje to i vlastnim widgetum, dosud neslo postavit "otevrene tickety podle
  typu"
- ResolvedScope.personId se plni vzdycky, ne jen u pohledu mine. Prehled se pta
  v pohledu tenant, takze filtr me nemel co dosadit a dlazdice vracela prazdno.
  Kdo je to "ja", na pohledu nezalezi
- kdo neni veden jako resitel, tomu se "Moje tickety" nenabidnou. Ticket se
  prirazuje resiteli, ne uctu

Vychozi rozlozeni ma nahore to, co clovek muze udelat, teprve pod tim cisla.
Graf behu z vychozi sady ven, je to nejmene srozumitelna dlazdice pro noveho
cloveka a zabira celou sirku. V katalogu zustava. Zmena se projevi jen tem, kdo
si dashboard jeste neupravili.

Overeno na bezici instanci: Kriz jako radovy clen sekce vidi ve svych ticketech
TK-4820, ve fronte nezarazeny TK-4819 a v seznamu oba. Pred opravou personId
vracela prvni dlazdice prazdno.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-09-02 12:37:55 +02:00
co-authored by Claude Opus 5
parent 2a310137a2
commit 52999a961b
11 changed files with 184 additions and 24 deletions
+9 -3
View File
@@ -249,7 +249,13 @@ Tataz hierarchie, jen "moje" znamena neco jineho: zadavatel pozadavek nikdy
nema prirazeny. Ticket proto nese `createdById` a plati, ze kdo vidi celou
firmu, vidi vsechny jeji pozadavky, ostatni jen ty svoje.
### Co z toho plyne
### Nezarazene vidi kazdy
Neprirazeny ticket **bez skupiny** nevidi nikdo krome toho, kdo vidi celou
firmu. Prichozi praci musi nekdo smerovat, jinak se k radovym clenum nedostane.
Ticket **bez resitele** je ve stropu vzdycky, at uz ma skupinu nebo ne.
Prvni verze ho schovavala a byla to diera v provozu: prichozi ticket, ktery
jeste nikdo nesmeroval, nepatri do zadne sekce, takze by ho nevidel nikdo
krome vedeni - a nikdo by si ho nevzal. **Fronta je spolecna, prave proto je
to fronta.**
Jakmile si ho nekdo vezme, plati strop jako u kazdeho jineho ticketu.
+11 -5
View File
@@ -1,10 +1,16 @@
# 25 - Navrh: pristupny portal a viditelnost
**Navrh, ne popis stavu.** Hotove uz jsou sekce 4 (viditelnost, vcetne zalozky
Firma) a 6, ostatni zatim naprogramovane neni. Popis toho, jak viditelnost
opravdu funguje, je v [07-firmy-a-prava.md](07-firmy-a-prava.md). Az se cast udela, prepise se do prislusneho souboru
dokumentace a odsud zmizi. Stejne pravidlo jako
u [09-navrh-rozsireni.md](09-navrh-rozsireni.md).
**Navrh, ne popis stavu.** Hotove uz jsou:
- sekce 4, viditelnost a zalozka Firma - jak to funguje, popisuje
[07-firmy-a-prava.md](07-firmy-a-prava.md),
- sekce 6, kontrakt webhooku,
- z prvni sekce dlazdice "Moje tickety" a "Fronta bez resitele" vcetne noveho
vychoziho rozlozeni.
Zbyva widget akci, "Zaciname", formularova vrstva a hledani. Az se cast udela,
prepise se do prislusneho souboru dokumentace a odsud zmizi - stejne pravidlo
jako u [09-navrh-rozsireni.md](09-navrh-rozsireni.md).
Popis soucasneho stavu je v [01-prehled-a-stav.md](01-prehled-a-stav.md), prava
a pohledy v [07-firmy-a-prava.md](07-firmy-a-prava.md), widgety
+62
View File
@@ -2,6 +2,68 @@
Nejnovejsi nahore.
## 2026-09-02 - Nezarazene vidi kazdy, a dlazdice "Moje tickety"
Dve veci, ktere ze stropu viditelnosti vypadly.
### Nezarazeny ticket je ve stropu vzdycky
Prvni verze ho schovavala: kdo nevidel na celou firmu, nevidel ticket, ktery
nema resitele ani skupinu. Byla to diera v provozu. Prichozi ticket, ktery
jeste nikdo nesmeroval, nepatri do zadne sekce, takze by ho nevidel nikdo krome
vedeni - a nikdo by si ho nevzal. **Fronta je spolecna, prave proto je to
fronta.**
`withinVisibility` proto pousti kazdy ticket bez resitele, at uz ma skupinu nebo
ne. Jakmile si ho nekdo vezme, plati strop jako u kazdeho jineho.
### Dlazdice "Moje tickety" a "Fronta bez resitele"
Byly v navrhu od zacatku a nikdy se neudelaly. Presne jak navrh rikal, staci
zaznam v katalogu a zdroj v `builtinSources` - **zadna nova komponenta**, data
pocita tatáz cesta jako u vykonu resitelu.
```ts
'list.myTickets': { kind: 'ticketList', filter: { assignee: ['me'], closed: false }, limit: 8 },
'list.unassigned': { kind: 'ticketList', filter: { assignee: ['unassigned'], closed: false }, limit: 8 },
```
K tomu tri veci, ktere si to vyzadalo:
- **`closed` ve `WidgetTicketFilter`.** Bez nej se vyrizene tickety nedaly
odfiltrovat: stav je volny retezec a vyjmenovat vsechny podoby slova "hotovo"
se neda. Prospeje to i vlastnim widgetum, dosud neslo postavit "otevrene
tickety podle typu".
- **`ResolvedScope.personId` se plni vzdycky**, ne jen u pohledu `mine`. Prehled
se pta v pohledu `tenant`, takze filtr `me` nemel co dosadit a dlazdice
vracela prazdno. Kdo je to "ja", na pohledu nezalezi.
- **Kdo neni veden jako resitel, tomu se "Moje tickety" nenabidnou.** Ticket se
prirazuje resiteli, ne uctu, takze by takovy clovek koukal na prazdno navzdy
a nedozvedel se proc.
### Vychozi rozlozeni
Nahore to, co clovek muze udelat, teprve pod tim cisla:
```text
Moje tickety, Fronta bez resitele
Aktivni automatizace, Otevrene tickety, Bezici incidenty
Posledni tickety, Incidenty
```
Graf behu z vychozi sady ven. Je to nejmene srozumitelna dlazdice pro noveho
cloveka - behy ceho a co s tim - a zabira celou sirku. V katalogu zustava.
**Zmena se projevi jen tem, kdo si dashboard jeste neupravili.** Rozlozeni se
uklada za dvojici uzivatel a firma, kdo uz si ho osahal, musi dlazdice pridat
rucne nebo dat "Vychozi".
### Overeno na bezici instanci
Kriz jako radovy clen sekce: "Moje tickety" vraci jeho TK-4820, "Fronta bez
resitele" nezarazeny TK-4819, a v seznamu ticketu vidi oba. Pred opravou
`personId` vracela prvni dlazdice prazdno.
## 2026-09-02 - Detail ticketu ma rozradovace, ne tri karty pod sebou
Navrh v [25](25-navrh-pristupny-portal.md) mel detail jako jednu slozku