CHANGE: updated to use personal number as login

This commit is contained in:
2025-02-21 15:58:34 +01:00
parent 32a4f5277a
commit f2a5e9874d
6 changed files with 25 additions and 19 deletions

View File

@@ -5,6 +5,7 @@ import (
"arbeitszeitmessung/templates"
"log"
"net/http"
"strconv"
"time"
"github.com/alexedwards/scs/v2"
@@ -39,15 +40,24 @@ func loginUser(w http.ResponseWriter, r *http.Request){
if err != nil {
log.Println("Error parsing form!", err)
http.Error(w, "Internal error", http.StatusBadRequest)
return
}
card_uid := r.FormValue("card_uid")
if(card_uid == ""){
log.Println("No card_uid provided!")
http.Error(w, "No card_uid provided", http.StatusBadRequest)
_personal_nummer := r.FormValue("personal_nummer")
if(_personal_nummer == ""){
log.Println("No personal_nummer provided!")
http.Error(w, "No personal_nummer provided", http.StatusBadRequest)
return
}
user, err := (*models.User).GetByCardUID(nil, card_uid)
personal_nummer, err := strconv.Atoi(_personal_nummer)
if(err != nil){
log.Println("No user found under this card_uid!")
log.Println("Cannot parse personal nubmer!")
http.Error(w, "Cannot parse number", http.StatusBadRequest)
return
}
user, err := (*models.User).GetByPersonalNummer(nil, personal_nummer)
if(err != nil){
log.Println("No user found under this personal number!")
http.Error(w, "No user found!", http.StatusNotFound)
}

View File

@@ -9,12 +9,11 @@ type User struct {
CardUID string `json:"card_uid"`
Name string `json:"name"`
Vorname string `json:"vorname"`
HauptbeschaeftigungsOrt int8 `json:"hauptbeschaeftigungsort"`
PersonalNummer int `json:"personal_nummer"`
}
func (u *User) GetAll() ([]User, error) {
qStr, err := DB.Prepare((`SELECT card_uid, vorname, nachname, hauptbeschaeftigung_ort FROM personal_daten;`))
qStr, err := DB.Prepare((`SELECT card_uid, vorname, nachname FROM personal_daten;`))
var users []User
if err != nil {
fmt.Printf("Error preparing query statement %v\n", err)
@@ -28,7 +27,7 @@ func (u *User) GetAll() ([]User, error) {
defer rows.Close()
for rows.Next() {
var user User
if err := rows.Scan(&user.CardUID, &user.Vorname, &user.Name, &user.HauptbeschaeftigungsOrt); err != nil {
if err := rows.Scan(&user.CardUID, &user.Vorname, &user.Name); err != nil {
return users, nil
}
users = append(users, user)
@@ -69,11 +68,11 @@ func (u *User) Logout() error {
func (u *User) GetByCardUID(card_uid string) (User, error) {
var user User
qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname, hauptbeschaeftigung_ort FROM personal_daten WHERE card_uid = $1;`))
qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname FROM personal_daten WHERE card_uid = $1;`))
if err != nil {
return user, err
}
err = qStr.QueryRow(card_uid).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name, &user.HauptbeschaeftigungsOrt)
err = qStr.QueryRow(card_uid).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name)
if err != nil{
return user, err
}
@@ -83,11 +82,11 @@ func (u *User) GetByCardUID(card_uid string) (User, error) {
func (u *User) GetByPersonalNummer (personalNummer int) (User, error) {
var user User
qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname, hauptbeschaeftigung_ort FROM personal_daten WHERE personal_nummer = $1;`))
qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname FROM personal_daten WHERE personal_nummer = $1;`))
if err != nil {
return user, err
}
err = qStr.QueryRow(personalNummer).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name, &user.HauptbeschaeftigungsOrt)
err = qStr.QueryRow(personalNummer).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name)
if err != nil{
return user, err
}

View File

@@ -3,7 +3,7 @@ package templates
templ LoginForm(){
@Style()
<form method="POST">
<input name="card_uid" type="text" placeholder="card_uid"/>
<input name="personal_nummer" type="text" placeholder="personal_nummer"/>
<input name="password" type="passwort" placeholder="password"/>
<button type="submit">Send</button>
</form>

View File

@@ -33,7 +33,7 @@ func LoginForm() templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<form method=\"POST\"><input name=\"card_uid\" type=\"text\" placeholder=\"card_uid\"> <input name=\"password\" type=\"passwort\" placeholder=\"password\"> <button type=\"submit\">Send</button></form>")
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<form method=\"POST\"><input name=\"personal_nummer\" type=\"text\" placeholder=\"personal_nummer\"> <input name=\"password\" type=\"passwort\" placeholder=\"password\"> <button type=\"submit\">Send</button></form>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}