(app *App, u *User, w http.ResponseWriter, r *http.Request)
| 188 | } |
| 189 | |
| 190 | func handleViewAdminUsers(app *App, u *User, w http.ResponseWriter, r *http.Request) error { |
| 191 | p := struct { |
| 192 | *UserPage |
| 193 | *AdminPage |
| 194 | Config config.AppCfg |
| 195 | Message string |
| 196 | Flashes []string |
| 197 | |
| 198 | Users *[]User |
| 199 | CurPage int |
| 200 | TotalUsers int64 |
| 201 | TotalPages []int |
| 202 | }{ |
| 203 | UserPage: NewUserPage(app, r, u, "Users", nil), |
| 204 | AdminPage: NewAdminPage(app), |
| 205 | Config: app.cfg.App, |
| 206 | Message: r.FormValue("m"), |
| 207 | } |
| 208 | |
| 209 | p.Flashes, _ = getSessionFlashes(app, w, r, nil) |
| 210 | p.TotalUsers = app.db.GetAllUsersCount() |
| 211 | ttlPages := (p.TotalUsers - 1) / adminUsersPerPage + 1 |
| 212 | p.TotalPages = []int{} |
| 213 | for i := 1; i <= int(ttlPages); i++ { |
| 214 | p.TotalPages = append(p.TotalPages, i) |
| 215 | } |
| 216 | |
| 217 | var err error |
| 218 | p.CurPage, err = strconv.Atoi(r.FormValue("p")) |
| 219 | if err != nil || p.CurPage < 1 { |
| 220 | p.CurPage = 1 |
| 221 | } else if p.CurPage > int(ttlPages) { |
| 222 | p.CurPage = int(ttlPages) |
| 223 | } |
| 224 | |
| 225 | p.Users, err = app.db.GetAllUsers(uint(p.CurPage)) |
| 226 | if err != nil { |
| 227 | return impart.HTTPError{http.StatusInternalServerError, fmt.Sprintf("Could not get users: %v", err)} |
| 228 | } |
| 229 | |
| 230 | showUserPage(w, "users", p) |
| 231 | return nil |
| 232 | } |
| 233 | |
| 234 | func handleViewAdminUser(app *App, u *User, w http.ResponseWriter, r *http.Request) error { |
| 235 | vars := mux.Vars(r) |
nothing calls this directly
no test coverage detected