| | 1 | = Имплементација на случај на употреба 0004 - Следење на статусот на своите пријави = |
| | 2 | |
| | 3 | '''Иницијатор:''' Граѓанин |
| | 4 | |
| | 5 | '''Други актери:''' нема |
| | 6 | |
| | 7 | Граѓанинот ги гледа сите свои пријави со моменталниот статус. За избрана пријава ја гледа целата историја на статуси, работниците кои ги направиле промените, коментарите и прикачените фотографии. |
| | 8 | |
| | 9 | == Сценарио == |
| | 10 | |
| | 11 | 1. Граѓанинот се најавува (како во UC0003, чекори 1 и 2) и избира „Мои пријави“. |
| | 12 | |
| | 13 | [[Image(UC0004_01_meni.png)]] |
| | 14 | |
| | 15 | 2. Системот ги прикажува пријавите на граѓанинот, од најновата кон најстарата. Граѓанинот избира пријава: |
| | 16 | {{{#!sql |
| | 17 | SELECT r.report_id, c.name AS category, r.description, |
| | 18 | r.status, r.priority, r.created_at |
| | 19 | FROM reports r |
| | 20 | JOIN categories c ON c.category_id = r.category_id |
| | 21 | WHERE r.citizen_id = %s |
| | 22 | ORDER BY r.created_at DESC; |
| | 23 | }}} |
| | 24 | |
| | 25 | [[Image(UC0004_02_moi_prijavi.png)]] |
| | 26 | |
| | 27 | 3. Системот ги прикажува деталите и историјата на статусот: |
| | 28 | {{{#!sql |
| | 29 | SELECT l.status, l.changed_at, l.note, w.full_name AS changed_by |
| | 30 | FROM status_logs l |
| | 31 | LEFT JOIN workers w ON w.worker_id = l.worker_id |
| | 32 | WHERE l.report_id = %s |
| | 33 | ORDER BY l.changed_at; |
| | 34 | }}} |
| | 35 | |
| | 36 | [[Image(UC0004_03_istorija.png)]] |
| | 37 | |
| | 38 | 4. Системот ги прикажува коментарите на работниците и фотографиите: |
| | 39 | {{{#!sql |
| | 40 | SELECT cm.content, cm.created_at, w.full_name AS worker |
| | 41 | FROM comments cm |
| | 42 | JOIN workers w ON w.worker_id = cm.worker_id |
| | 43 | WHERE cm.report_id = %s |
| | 44 | ORDER BY cm.created_at; |
| | 45 | |
| | 46 | SELECT photo_id, image_url FROM photos WHERE report_id = %s ORDER BY photo_id; |
| | 47 | }}} |
| | 48 | |
| | 49 | [[Image(UC0004_04_komentari_fotografii.png)]] |
| | 50 | |
| | 51 | 5. Граѓанинот се враќа на листата и може да избере друга пријава. |