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
+1 -1
View File
@@ -46,7 +46,7 @@ const span: Record<WidgetSize, string> = {
* Vestavene widgety, jejichz data pocita server stejne jako u vlastnich.
* Musi sedet s `builtinSources` v `src/data/widgets.ts`.
*/
const COMPUTED_BUILTINS = new Set(['panel.agents']);
const COMPUTED_BUILTINS = new Set(['panel.agents', 'list.myTickets', 'list.unassigned']);
const sizeLabels: Record<WidgetSize, string> = {
third: 'třetina',