== **[[span(style=color: #BF1B1B, Внесување на нов испит )]]** [[span(style=color: #BF1B1B, **Актери:**)]] • **Нaјавен** студент **Забелешка: Сликите не се конечен изглед на апликацијата.** [[span(style=color: #BF1B1B,** Чекори во сценариото:**)]] [[span(style=color: #BF1B1B, **Чекор 1**)]]\\ Одкако корисникот успешно ќе се најави, му се презентира **почетната страна на апликацијата**. [[span(style=color: #BF1B1B, **Чекор 2**)]]\\ Најавениот корисник го кликнува главното(Hamburger) мени лоцирано од левата страна на екранот. [[span(style=color: #BF1B1B, **Чекор 3**)]]\\ Најавениот студент се навигира до приказот на испити. [[span(style=color: #BF1B1B, **Чекор 4**)]]\\ На овој приказ на студентот му се излистуваат сите испити кои ги има внесено, а се'уште немаат изминато (по хронолошки редослед). [[Image(Ispiti.png, width=400px, align=center)]] {{{ DECLARE correct_student_id INT; SET correct_student_id = 11111; SELECT sat.subject_name, ce.event_name, ce.event_type, nre.event_date, ce.event_start_time, ce.event_end_time FROM non_repeating_events AS nre JOIN calendar_event AS ce ON nre.calendar_event_id = ce.calendar_event_id JOIN subject_event AS sbe ON ce.calendar_event_id = sbe.calendar_event_id JOIN subject_at_term AS sat ON sat.term_subject_id = sbe.term_subject_id AND sat.term_type = sbe.term_type AND sat.starting_year = sbe.starting_year AND sat.finishing_year = sbe.finishing_year AND sat.student_id = sbe.student_id -- Fixed alias from se to sbe WHERE nre.event_date >= CURRENT_DATE AND ce.event_type = 'Exam' AND sbe.student_id = correct_student_id ORDER BY nre.event_date, ce.event_start_time; }}} [[span(style=color: #BF1B1B, **Чекор 5**)]]\\ Најавениот корисник го избира копчето за додавање на нов испит ("Додади нов"). [[span(style=color: #BF1B1B, **Чекор 6**)]]\\ На најавениот корисник му се прикажува форма за пополнување за испитот кој што сака да го додаде. [[span(style=color: #BF1B1B, **Чекор 7**)]]\\ Од листата на веќе предходно внесени предмети, најавениот корисник го избира предметот за кој се однесува испитот кој сака да го внесе (предметите се излистани по редослед на внесување). [[Image(Predmeti.png, width=400px, align=center)]] {{{ --Листање на сите предмети кои студентот ги има запишано DECLARE correct_student_id INT; SET correct_student_id = 11111; SELECT subject_name, term_type, starting_year, finishing_year FROM subject_at_term WHERE student_id = correct_student_id ORDER BY finishing_year DESC; --Листање на сите места внесени од студентот DECLARE correct_student_id INT; SET correct_student_id = 11111; SELECT p.building_name, p.room_name FROM place as p JOIN happens_at_place as hap ON hap.place_id = p.place_id JOIN calendar_event as ce ON hap.calendar_event_id = ce.calendar_event_id JOIN student_event as se ON ce.calendar_event_id = se.calendar_event_id JOIN subject_event as sje ON sje.calendar_event_id = ce.calendar_event_id WHERE se.student_id = correct_student_id OR sje.student_id = correct_student_id }}} [[span(style=color: #BF1B1B, **Чекор 8**)]]\\ Од листата на веќе предходно внесени места, најавениот корисник го избира местото каде што ќе се одржува испитот кој сака да го внесе (местата се излистани по редослед на внесување). [[span(style=color: #BF1B1B, **Чекор 9**)]]\\ Најавениот корисник дополнително внесува и име на испит, датум на полагање на испитот, време на почеток на испитот и време на завршување на испитот. Опционално може да внесе и опис на испитот. [[span(style=color: #BF1B1B, **Чекор 10**)]]\\ По клик на копчето "Потврди", сите нововнесени податоци се внесуваат во базата. {{{ INSERT INTO calendar_event(calendar_event_id, event_type, event_name, event_description, event_start_time, event_end_time) VALUES (123, ‘Exam’, ‘Vneseno ime na ispit’, ‘vnesen opis’, ‘12:00:00’, ‘13:00:00’); INSERT INTO non_repeating_event(calendar_event_id, event_date) VALUES (123, ‘2024-02-05’); INSERT INTO subject_event(calendar_event_id, student_id, starting_year, finishing_year, term_type, term_subject_id) VALUES (123, 11111, 2023, 2024, ‘Z’, 555); -- забелешка: вредностите за student_id, starting_year, finishing_year, term_type, -- term_subject_id се превземаат од селектираниот предмет INSERT INTO happens_at_place(calendar_event_id, place_id) VALUES (123, 3333) --претпоставуваме дека 3333 е селектираното место }}}