add repo list of dashboard
This commit is contained in:
parent
fdc4151ff3
commit
b5cc4078a9
4 changed files with 24 additions and 5 deletions
|
@ -223,6 +223,10 @@ func GetRepositories(user *User) ([]Repository, error) {
|
|||
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
|
||||
}
|
||||
|
|
|
@ -142,13 +142,15 @@ func UpdateUser(user *User) (err error) {
|
|||
|
||||
// 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
|
||||
|
|
|
@ -20,6 +20,14 @@ import (
|
|||
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)
|
||||
}
|
||||
|
||||
|
@ -133,7 +141,7 @@ func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r ren
|
|||
}
|
||||
|
||||
// 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" {
|
||||
|
@ -141,7 +149,8 @@ func Delete(data base.TmplData, req *http.Request, r render.Render) {
|
|||
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)
|
||||
|
|
|
@ -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>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
repo-list
|
||||
<ul>
|
||||
{{range .MyRepos}}
|
||||
<li><a href="#">{{.Name}}</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Reference in a new issue