== **[[span(style=color: #BF1B1B, Внесување на нов час )]]** [[span(style=color: #BF1B1B, **Актери:**)]] • **Нaјавен** студент **Забелешка: Сликите не се конечен изглед на апликацијата.** **WEB имплементацијата** на ова сценарио може да се погледне [wiki:WikiStart/UseCaseImplementations/WEBImportantUseCase6 тука] [[span(style=color: #BF1B1B,** Чекори во сценариото:**)]] [[span(style=color: #BF1B1B, **Чекор 1**)]]\\ Одкако корисникот успешно ќе се најави, му се презентира **почетната страна на апликацијата**. [[span(style=color: #BF1B1B, **Чекор 2**)]]\\ Најавениот корисник го кликнува главното(Hamburger) мени лоцирано од левата страна на екранот. [[span(style=color: #BF1B1B, **Чекор 3**)]]\\ Најавениот студент ja избира опцијата "Распоред" (евенти со type: class) [[span(style=color: #BF1B1B, **Чекор 4**)]]\\ На овој приказ на студентот му се излистуваат сите часови кои ги има внесено за тековниот семестар. [[Image(Raspored.png, width=250px, align=center)]] [[span(style=color: #BF1B1B, **Чекор 5**)]]\\ Најавениот корисник го избира копчето за додавање на нов час. [[span(style=color: #BF1B1B, **Чекор 6**)]]\\ [[Image(class.png, width=400px, align=center)]] На најавениот корисник му се прикажува форма за пополнување за часот кој што сака да го додаде. Во формата на кандидатот му се листаат сите внесени предмети распоредени од најскорашните предмети до најстарите од каде селектира еден од предметите по кој го внесува часот, се листаат и местата кои ги има внесено кандидатот за да избере едно од нив, внесува други потребни податоци во формата како време на почеток на часот и време на завршување на часот, опционално може да внесе опис на часот. {{{ --Листање на сите предмети кои студентот ги има запишано SELECT subject_name, term_type, starting_year, finishing_year FROM subject_at_term WHERE student_id = 11111 ORDER BY finishing_year DESC; --Листање на сите места внесени од студентот 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 = 11111 OR sje.student_id = 11111 }}} [[span(style=color: #BF1B1B, **Чекор 7**)]]\\ Кандидатот селектира дали часот е повторлив или ќе се одржи само еднаш и според тоа му се отвараат полиња во формата. Доколку часот е повторлив ќе му се отворат полиња за внесување од кој до кој датум се повторува часот, ден од неделата во кој се повторува часот и на колку недели се повторува часот. Доколку часот не е повторлив се отвара само поле за внесување на датум. [[span(style=color: #BF1B1B, **Чекор 8**)]]\\ По внес на сите податоци, најавениот корисник кликнува на опцијата "Потврди". [[span(style=color: #BF1B1B, **Чекор 9**)]]\\ Сите податоци се внесуваат во базата. {{{ INSERT INTO calendar_event(calendar_event_id, event_type, event_name, event_description, event_start_time, event_end_time) VALUES (123, ‘Class’, ‘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 repeating_event(calendar_event_id, starting_date, ending_date, event_week_day, repeats_every_n_weeks) VALUES (123, ‘2024-01-05’, ‘2024-02-15’, ‘WEDNESDAY’, 1); 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 е селектираното место }}}