32 lines
866 B
Go
32 lines
866 B
Go
package endpoints
|
|
|
|
import (
|
|
"arbeitszeitmessung/helper"
|
|
"arbeitszeitmessung/models"
|
|
"arbeitszeitmessung/templates"
|
|
"log"
|
|
"net/http"
|
|
)
|
|
|
|
func TeamHandler(w http.ResponseWriter, r *http.Request) {
|
|
var user models.User
|
|
var err error
|
|
if helper.GetEnv("GO_ENV", "production") == "debug" {
|
|
user, err = (*models.User).GetByPersonalNummer(nil, 123)
|
|
} else {
|
|
if !Session.Exists(r.Context(), "user") {
|
|
log.Println("No user in session storage!")
|
|
http.Error(w, "Not logged in!", http.StatusForbidden)
|
|
return
|
|
}
|
|
user, err = (*models.User).GetByPersonalNummer(nil, Session.GetInt(r.Context(), "user"))
|
|
}
|
|
if err != nil {
|
|
log.Println("No user found with the given personal number!")
|
|
http.Redirect(w, r, "/user/login", http.StatusSeeOther)
|
|
return
|
|
}
|
|
teamMembers, err := user.GetTeamMembers()
|
|
templates.TeamPage(teamMembers).Render(r.Context(), w)
|
|
}
|