# Tikety, priečinky, stavy a štítky v Todomatore

> Dátový model Todomatoru: čo obsahuje tiket, šesť stavov, kto môže tiket vidieť, priečinky pre zákazníkov a projekty, štítky, komentáre, odkazy a prílohy.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: sk
Content-SHA256: 51482a7b9acc52762fc0da9bd475c00c4cda604e2d458f22c33dba0ac883725f
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

Stredom Todomatoru je **tiket** (tabuľka `tbl_ticket`, schéma `Tickets` v `schemas/tickets.js`). Všetko ostatné tikety organizuje alebo na ne nadväzuje.

## Čo obsahuje tiket

| Pole | Význam |
|---|---|
| `name` | názov (povinný) |
| `statusid` | stav; nový tiket je `pending`, pokiaľ nepoviete inak |
| `folderid` | priečinok (zákazník alebo projekt), do ktorého patrí |
| `ownerid`, `userid`, `watcherid` | autor, priradení ľudia a ľudia, ktorí ho iba sledujú |
| `ispublic` | viditeľný pre všetkých; verejný tiket nemá priradených ľudí |
| `ispriority`, `isbillable` | značka priority a príznak fakturovateľnosti |
| `markdown`, `html` | obsah (rozhranie používa Markdown) |
| `tags` | zoznam štítkov |
| `date`, `deadline` | deň tiketu (predvolene dnes) a voliteľný termín |
| `estimate`, `worked` | odhad a už odpracované minúty ([sledovanie času](/en/todomator/time-tracking/)) |
| `reference`, `source` | voľný text na prepojenie tiketu s niečím mimo |
| `parentid` | nadradený tiket, pre podúlohy |
| `attachments` | súbory tiketu |
| `attrs` | voľné dáta JSON |
| `callback` | adresa, ktorá dostane tiket, keď sa zmení ([API](/en/todomator/create-tickets-with-the-api/)) |

## Šesť stavov

Tabuľka `cl_status` sa vytvorí s: `pending` (Pending), `open` (In progress), `review` (Review), `postponed` (Postponed), `note` (Note) a `closed` (Closed). Názvy sa prekladajú do jazyka používateľa.

## Kto môže tiket vidieť

Tiket vidí jeho vlastník, ľudia v `userid`, ľudia v `watcherid` a všetci, keď je nastavené `ispublic`. Zoznam priečinkov, ktoré používateľ vidí, je obmedzený rovnako: priečinok sa zobrazí, iba ak používateľ vidí v ňom tiket (používatelia so `sa` vidia všetky). Zoznam tiketov prijíma `type` (napríklad `pending`, `postponed`, `review`, `assigned`, `note`, `unread` alebo `all`), `q` (hľadanie), `folderid`, `date`, `skip` a `limit` (predvolene 10).

## Priečinky a štítky

**Priečinok** má názov, ikonu, farbu, zákazníka, e-mail a telefón a príznaky: `isbillable` (nové tikety ho dedia), `isprivate`, `ispinned`, `isarchived` a `isdisabled`. Priečinky spravujú iba ľudia s oprávnením `admin` (alebo správcovia). **Štítok** má názov, farbu a ikonu a môže patriť do priečinka.

## Okolo tiketu

- **Komentáre** (`Comments|create`, `Comments|update`, `Comments|remove`): text v Markdowne pripojený k tiketu.
- **Značky neprečítaných a záložky**: každý používateľ má vlastný stav neprečítaného a záložky pre tiket.
- **Odkazy** medzi tiketmi a **klonovanie** tiketu.
- **História a záznamy** zmien tiketu.
- **Prílohy**: `POST /upload/` prijíma až 5 MB na požiadavku. Adresa súboru je podpísaná (`/download/<id>-<signature>.<ext>`): obrázky, video a PDF sa otvoria v prehliadači a ostatné typy sa stiahnu.
- **Živé aktualizácie**: WebSocket posiela udalosť `refresh` iba ľuďom, ktorí tiket vidia, a ostatným oznamuje, kto sa na tiket práve pozerá.
