return repos, err
}
+func GetRepositoryCount(user *User) (int64, error) {
+ return orm.Count(&Repository{OwnerId: user.Id})
+}
+
func StarReposiory(user *User, repoName string) error {
return nil
}
// DeleteUser completely deletes everything of the user.
func DeleteUser(user *User) error {
- repos, err := GetRepositories(user)
+ cnt, err := GetRepositoryCount(user)
if err != nil {
return errors.New("modesl.GetRepositories: " + err.Error())
- } else if len(repos) > 0 {
+ } else if cnt > 0 {
return ErrUserOwnRepos
}
+ // TODO: check issues, other repos' commits
+
_, err = orm.Delete(user)
// TODO: delete and update follower information.
return err
func Dashboard(r render.Render, data base.TmplData, session sessions.Session) {
data["Title"] = "Dashboard"
data["PageIsUserDashboard"] = true
+ repos, err := models.GetRepositories(&models.User{Id: auth.SignedInId(session)})
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("dashboard: %v", err)
+ r.HTML(200, "base/error", data)
+ return
+ }
+ data["MyRepos"] = repos
r.HTML(200, "user/dashboard", data)
}
}
// TODO: unfinished
-func Delete(data base.TmplData, req *http.Request, r render.Render) {
+func Delete(data base.TmplData, req *http.Request, session sessions.Session, r render.Render) {
data["Title"] = "Delete Account"
if req.Method == "GET" {
return
}
- u := &models.User{}
+ id := auth.SignedInId(session)
+ u := &models.User{Id: id}
err := models.DeleteUser(u)
data["ErrorMsg"] = err
log.Error("user.Delete: %v", data)