Browse Source

add repo list of dashboard

pull/31/head
Lunny Xiao 11 years ago
parent
commit
b5cc4078a9
  1. 4
      models/repo.go
  2. 6
      models/user.go
  3. 13
      routers/user/user.go
  4. 6
      templates/user/dashboard.tmpl

4
models/repo.go

@ -223,6 +223,10 @@ func GetRepositories(user *User) ([]Repository, error) {
return repos, err return repos, err
} }
func GetRepositoryCount(user *User) (int64, error) {
return orm.Count(&Repository{OwnerId: user.Id})
}
func StarReposiory(user *User, repoName string) error { func StarReposiory(user *User, repoName string) error {
return nil return nil
} }

6
models/user.go

@ -142,13 +142,15 @@ func UpdateUser(user *User) (err error) {
// DeleteUser completely deletes everything of the user. // DeleteUser completely deletes everything of the user.
func DeleteUser(user *User) error { func DeleteUser(user *User) error {
repos, err := GetRepositories(user) cnt, err := GetRepositoryCount(user)
if err != nil { if err != nil {
return errors.New("modesl.GetRepositories: " + err.Error()) return errors.New("modesl.GetRepositories: " + err.Error())
} else if len(repos) > 0 { } else if cnt > 0 {
return ErrUserOwnRepos return ErrUserOwnRepos
} }
// TODO: check issues, other repos' commits
_, err = orm.Delete(user) _, err = orm.Delete(user)
// TODO: delete and update follower information. // TODO: delete and update follower information.
return err return err

13
routers/user/user.go

@ -20,6 +20,14 @@ import (
func Dashboard(r render.Render, data base.TmplData, session sessions.Session) { func Dashboard(r render.Render, data base.TmplData, session sessions.Session) {
data["Title"] = "Dashboard" data["Title"] = "Dashboard"
data["PageIsUserDashboard"] = true 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) r.HTML(200, "user/dashboard", data)
} }
@ -133,7 +141,7 @@ func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r ren
} }
// TODO: unfinished // 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" data["Title"] = "Delete Account"
if req.Method == "GET" { if req.Method == "GET" {
@ -141,7 +149,8 @@ func Delete(data base.TmplData, req *http.Request, r render.Render) {
return return
} }
u := &models.User{} id := auth.SignedInId(session)
u := &models.User{Id: id}
err := models.DeleteUser(u) err := models.DeleteUser(u)
data["ErrorMsg"] = err data["ErrorMsg"] = err
log.Error("user.Delete: %v", data) log.Error("user.Delete: %v", data)

6
templates/user/dashboard.tmpl

@ -21,7 +21,11 @@
<a class="btn btn-success pull-right btn-sm" href="/repo/create/"><i class="fa fa-plus-square"></i>New Repo</a> <a class="btn btn-success pull-right btn-sm" href="/repo/create/"><i class="fa fa-plus-square"></i>New Repo</a>
</div> </div>
<div class="panel-body"> <div class="panel-body">
repo-list <ul>
{{range .MyRepos}}
<li><a href="#">{{.Name}}</a></li>
{{end}}
</ul>
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save