Tichete, foldere, stări și etichete în Todomator
Centrul Todomator este tichetul (tabelul tbl_ticket, schema Tickets în schemas/tickets.js). Tot restul organizează tichete sau depinde de ele.
Ce conține un tichet
| Câmp | Semnificație |
|---|---|
name | titlul (obligatoriu) |
statusid | starea; un tichet nou este pending, dacă nu spui altfel |
folderid | folderul (client sau proiect) căruia îi aparține |
ownerid, userid, watcherid | autorul, persoanele atribuite și persoanele care doar îl urmăresc |
ispublic | vizibil pentru toată lumea; un tichet public nu are persoane atribuite |
ispriority, isbillable | un marcaj de prioritate și un indicator de facturabil |
markdown, html | conținutul (interfața folosește Markdown) |
tags | o listă de etichete |
date, deadline | ziua tichetului (azi implicit) și un termen opțional |
estimate, worked | estimarea și minutele deja lucrate (urmărirea timpului) |
reference, source | text liber pentru a lega tichetul de ceva din exterior |
parentid | tichetul părinte, pentru subsarcini |
attachments | fișierele tichetului |
attrs | date JSON libere |
callback | o adresă care primește tichetul când se schimbă (API) |
Cele șase stări
Tabelul cl_status este creat cu: pending (Pending), open (In progress), review (Review), postponed (Postponed), note (Note) și closed (Closed). Numele sunt traduse în limba utilizatorului.
Cine poate vedea un tichet
Un tichet este vizibil pentru proprietarul său, pentru persoanele din userid, pentru persoanele din watcherid și pentru toată lumea când ispublic este setat. Lista folderelor pe care le vede un utilizator este limitată la fel: un folder apare doar dacă utilizatorul poate vedea un tichet în el (utilizatorii cu sa le văd pe toate). Lista tichetelor primește type (de exemplu pending, postponed, review, assigned, note, unread sau all), q (căutare), folderid, date, skip și limit (10 implicit).
Foldere și etichete
Un folder are un nume, o pictogramă, o culoare, un client, un e-mail și un telefon, și indicatori: isbillable (tichetele noi îl moștenesc), isprivate, ispinned, isarchived și isdisabled. Doar persoanele cu permisiunea admin (sau administratorii) gestionează folderele. O etichetă are un nume, o culoare și o pictogramă și poate aparține unui folder.
În jurul tichetului
- Comentarii (
Comments|create,Comments|update,Comments|remove): text Markdown atașat unui tichet. - Marcaje de necitit și semne de carte: fiecare utilizator are propria stare de necitit și semne de carte pentru un tichet.
- Legături între tichete și clonarea unui tichet.
- Istoric și jurnale ale modificărilor unui tichet.
- Atașamente:
POST /upload/primește până la 5 MB pe cerere. Adresa unui fișier este semnată (/download/<id>-<signature>.<ext>): imaginile, video și PDF se deschid în browser, iar celelalte tipuri sunt descărcate. - Actualizări în timp real: WebSocket-ul trimite un eveniment
refreshdoar persoanelor care pot vedea tichetul și le spune celorlalți cine se uită la un tichet în acest moment.