]> source.dussan.org Git - gitea.git/commitdiff
add repo list of dashboard
authorLunny Xiao <xiaolunwen@gmail.com>
Tue, 11 Mar 2014 06:17:05 +0000 (14:17 +0800)
committerLunny Xiao <xiaolunwen@gmail.com>
Tue, 11 Mar 2014 06:17:05 +0000 (14:17 +0800)
models/repo.go
models/user.go
routers/user/user.go
templates/user/dashboard.tmpl

index ed828a347b691bda22679172d0564f94a06e3858..d4f304557c9e08e3854c362981c625a9525366fb 100644 (file)
@@ -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
 }
index d904304f51fd9c9e3f919e4026ee956aa363633f..95cebb1812d631b563cb0d0f8d90ac16392fde0c 100644 (file)
@@ -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
index ca9dddaecdf276ac896d2d4c21a081d7fe458e1e..7a58ba57fb075559f091191a85e7029954a349c8 100644 (file)
@@ -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)
index 18433c7bac9f0474c97bb5c8f0a011a2d96121c3..b58f40630ca7a297b6195ecfa96252f822b80e72 100644 (file)
                 <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>