single.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package repo
  2. import (
  3. "github.com/codegangsta/martini"
  4. "github.com/martini-contrib/render"
  5. "strings"
  6. "github.com/gogits/gogs/models"
  7. "github.com/gogits/gogs/modules/base"
  8. "github.com/gogits/gogs/modules/middleware"
  9. )
  10. func Single(params martini.Params, ctx *middleware.Context, r render.Render, data base.TmplData) {
  11. if !data["IsRepositoryValid"].(bool) {
  12. return
  13. }
  14. if params["branchname"] == "" {
  15. params["branchname"] = "master"
  16. }
  17. treename := params["_1"]
  18. files, err := models.GetReposFiles(params["username"], params["reponame"],
  19. params["branchname"], treename)
  20. if err != nil {
  21. ctx.Handle(200, "repo.Single", err)
  22. return
  23. }
  24. data["Username"] = params["username"]
  25. data["Reponame"] = params["reponame"]
  26. data["Branchname"] = params["branchname"]
  27. var treenames []string
  28. Paths := make([]string, 0)
  29. if len(treename) > 0 {
  30. treenames = strings.Split(treename, "/")
  31. for i, _ := range treenames {
  32. Paths = append(Paths, strings.Join(treenames[0:i+1], "/"))
  33. }
  34. }
  35. data["Paths"] = Paths
  36. data["Treenames"] = treenames
  37. data["IsRepoToolbarSource"] = true
  38. data["Files"] = files
  39. r.HTML(200, "repo/single", data)
  40. }
  41. func Setting(r render.Render, data base.TmplData) {
  42. if !data["IsRepositoryValid"].(bool) {
  43. return
  44. }
  45. data["Title"] = data["Title"].(string) + " - settings"
  46. data["IsRepoToolbarSetting"] = true
  47. r.HTML(200, "repo/setting", data)
  48. }