| 1 | == Најава на корисник\\ |
| 2 | |
| 3 | |
| 4 | === Актери |
| 5 | Најавен корисник |
| 6 | |
| 7 | === Реализација |
| 8 | Корисниците се најавуваат со внесување на својата е-пошта. Системот проверува дали внесената е-пошта постои во базата на податоци. Доколку постои, корисникот добива пристап до својот профил и услугите. Ако не постои, системот го информира дека внесената е-пошта не е регистрирана. |
| 9 | |
| 10 | 1. Корисникот ја отвора страницата за најава. Се прикажува формата за најава со следното поле: Е-пошта (name="eposhta") |
| 11 | 2. Корисникот притиска на копчето „Најави се“. |
| 12 | 3. Системот ги верификува внесените податоци: |
| 13 | 4. Дали полето за е-пошта е пополнето (required) |
| 14 | 5. Дали е внесена валидна е-пошта (email) |
| 15 | 6. Дали е-поштата постои во базата на податоци (преку exists:korisnici,eposhta) |
| 16 | {{{ |
| 17 | SELECT * FROM korisnici WHERE ePoshta = 'john@example.com'; |
| 18 | }}} |
| 19 | * Ако е-поштата постои: |
| 20 | Корисникот се пренасочува на preferences |
| 21 | |
| 22 | * Ако не постои: |
| 23 | Системот прикажува порака: |
| 24 | „Е-поштата не е регистрирана. Ве молиме регистрирајте се прво.“ |
| 25 | |
| 26 | {{{ |
| 27 | public function login(Request $request): \Illuminate\Http\RedirectResponse |
| 28 | { |
| 29 | $request->validate([ |
| 30 | 'eposhta' => 'required|email|exists:travel_sage_users,eposhta', |
| 31 | ]); |
| 32 | |
| 33 | $korisnik = TravelSageUser::where('eposhta', $request->eposhta)->first(); |
| 34 | |
| 35 | session(['korisnik_id' => $korisnik->id]); |
| 36 | |
| 37 | return redirect()->route('preferences')->with('success', 'Успешно најавување!'); |
| 38 | } |
| 39 | |
| 40 | }}} |
| 41 | === Алтернативен тек |
| 42 | Ако не е внесена е-пошта, системот прикажува порака за грешка: |
| 43 | „Ве молиме внесете ја е-поштата.“ |
| 44 | Корисникот ја пополнува и повторно клика „Најави се“ |