diff --git a/src/main/scala/app/AccountController.scala b/src/main/scala/app/AccountController.scala index 71197b6..d19af7e 100644 --- a/src/main/scala/app/AccountController.scala +++ b/src/main/scala/app/AccountController.scala @@ -132,7 +132,7 @@ get("/:userName/_edit")(oneselfOnly { val userName = params("userName") getAccountByUserName(userName).map { x => - account.html.edit(x, loadSystemSettings(), flash.get("info")) + account.html.edit(x, flash.get("info")) } getOrElse NotFound }) @@ -176,7 +176,7 @@ get("/:userName/_ssh")(oneselfOnly { val userName = params("userName") getAccountByUserName(userName).map { x => - account.html.ssh(x, loadSystemSettings(), getPublicKeys(x.userName)) + account.html.ssh(x, getPublicKeys(x.userName)) } getOrElse NotFound }) @@ -194,7 +194,7 @@ }) get("/register"){ - if(loadSystemSettings().allowAccountRegistration){ + if(context.settings.allowAccountRegistration){ if(context.loginAccount.isDefined){ redirect("/") } else { @@ -204,7 +204,7 @@ } post("/register", newForm){ form => - if(loadSystemSettings().allowAccountRegistration){ + if(context.settings.allowAccountRegistration){ createAccount(form.userName, sha1(form.password), form.fullName, form.mailAddress, false, form.url) updateImage(form.userName, form.fileId, false) redirect("/signin") diff --git a/src/main/scala/app/ControllerBase.scala b/src/main/scala/app/ControllerBase.scala index 4168a8d..d47704a 100644 --- a/src/main/scala/app/ControllerBase.scala +++ b/src/main/scala/app/ControllerBase.scala @@ -68,7 +68,7 @@ implicit def context: Context = { contextCache.get match { case null => { - val context = Context(loadSystemSettings().baseUrl.getOrElse(servletContext.getContextPath), LoginAccount, request) + val context = Context(loadSystemSettings(), LoginAccount, request) contextCache.set(context) context } @@ -138,10 +138,10 @@ /** * Context object for the current request. - * - * @param path the context path */ -case class Context(path: String, loginAccount: Option[Account], request: HttpServletRequest){ +case class Context(settings: SystemSettingsService.SystemSettings, loginAccount: Option[Account], request: HttpServletRequest){ + + lazy val path = settings.baseUrl.getOrElse(request.getServletContext.getContextPath) lazy val currentPath = request.getRequestURI.substring(request.getContextPath.length) diff --git a/src/main/scala/app/IndexController.scala b/src/main/scala/app/IndexController.scala index 0e46b3c..dcb2dde 100644 --- a/src/main/scala/app/IndexController.scala +++ b/src/main/scala/app/IndexController.scala @@ -22,7 +22,6 @@ html.index(getRecentActivities(), getVisibleRepositories(loginAccount, baseUrl), - loadSystemSettings(), loginAccount.map{ account => getUserRepositories(account.userName, baseUrl) }.getOrElse(Nil) ) } @@ -32,7 +31,7 @@ if(redirect.isDefined && redirect.get.startsWith("/")){ flash += Keys.Flash.Redirect -> redirect.get } - html.signin(loadSystemSettings()) + html.signin() } post("/signin", form){ form => diff --git a/src/main/scala/app/RepositoryViewerController.scala b/src/main/scala/app/RepositoryViewerController.scala index 5454f94..d68dc53 100644 --- a/src/main/scala/app/RepositoryViewerController.scala +++ b/src/main/scala/app/RepositoryViewerController.scala @@ -65,7 +65,7 @@ repo.html.commits(if(path.isEmpty) Nil else path.split("/").toList, branchName, repository, logs.splitWith{ (commit1, commit2) => view.helpers.date(commit1.time) == view.helpers.date(commit2.time) - }, page, hasNext, loadSystemSettings()) + }, page, hasNext) case Left(_) => NotFound } } @@ -118,7 +118,7 @@ JGitUtil.ContentInfo(viewer, None) } - repo.html.blob(id, repository, path.split("/").toList, content, new JGitUtil.CommitInfo(revCommit), loadSystemSettings()) + repo.html.blob(id, repository, path.split("/").toList, content, new JGitUtil.CommitInfo(revCommit)) } } getOrElse NotFound } @@ -136,7 +136,7 @@ repo.html.commit(id, new JGitUtil.CommitInfo(revCommit), JGitUtil.getBranchesOfCommit(git, revCommit.getName), JGitUtil.getTagsOfCommit(git, revCommit.getName), - repository, diffs, oldCommitId, loadSystemSettings()) + repository, diffs, oldCommitId) } } } @@ -152,8 +152,7 @@ val revCommit = git.log.add(git.getRepository.resolve(branchName)).setMaxCount(1).call.iterator.next (branchName, revCommit.getCommitterIdent.getWhen) } - repo.html.branches(branchInfo, hasWritePermission(repository.owner, repository.name, context.loginAccount), - repository, loadSystemSettings()) + repo.html.branches(branchInfo, hasWritePermission(repository.owner, repository.name, context.loginAccount), repository) } }) @@ -176,7 +175,7 @@ * Displays tags. */ get("/:owner/:repository/tags")(referrersOnly { - repo.html.tags(_, loadSystemSettings()) + repo.html.tags(_) }) /** @@ -285,7 +284,7 @@ repo.html.files(revision, repository, if(path == ".") Nil else path.split("/").toList, // current path new JGitUtil.CommitInfo(revCommit), // latest commit - files, readme, loadSystemSettings()) + files, readme) } } getOrElse NotFound } diff --git a/src/main/scala/app/SystemSettingsController.scala b/src/main/scala/app/SystemSettingsController.scala index bfafca9..f6eb65f 100644 --- a/src/main/scala/app/SystemSettingsController.scala +++ b/src/main/scala/app/SystemSettingsController.scala @@ -49,7 +49,7 @@ get("/admin/system")(adminOnly { - admin.html.system(loadSystemSettings(), flash.get("info")) + admin.html.system(flash.get("info")) }) post("/admin/system", form)(adminOnly { form => diff --git a/src/main/scala/app/WikiController.scala b/src/main/scala/app/WikiController.scala index 1f9d239..07208a5 100644 --- a/src/main/scala/app/WikiController.scala +++ b/src/main/scala/app/WikiController.scala @@ -36,7 +36,7 @@ get("/:owner/:repository/wiki")(referrersOnly { repository => getWikiPage(repository.owner, repository.name, "Home").map { page => - wiki.html.page("Home", page, repository, hasWritePermission(repository.owner, repository.name, context.loginAccount), loadSystemSettings()) + wiki.html.page("Home", page, repository, hasWritePermission(repository.owner, repository.name, context.loginAccount)) } getOrElse redirect(s"/${repository.owner}/${repository.name}/wiki/Home/_edit") }) @@ -44,7 +44,7 @@ val pageName = StringUtil.urlDecode(params("page")) getWikiPage(repository.owner, repository.name, pageName).map { page => - wiki.html.page(pageName, page, repository, hasWritePermission(repository.owner, repository.name, context.loginAccount), loadSystemSettings()) + wiki.html.page(pageName, page, repository, hasWritePermission(repository.owner, repository.name, context.loginAccount)) } getOrElse redirect(s"/${repository.owner}/${repository.name}/wiki/${StringUtil.urlEncode(pageName)}/_edit") }) @@ -53,7 +53,7 @@ using(Git.open(getWikiRepositoryDir(repository.owner, repository.name))){ git => JGitUtil.getCommitLog(git, "master", path = pageName + ".md") match { - case Right((logs, hasNext)) => wiki.html.history(Some(pageName), logs, repository, loadSystemSettings()) + case Right((logs, hasNext)) => wiki.html.history(Some(pageName), logs, repository) case Left(_) => NotFound } } @@ -65,7 +65,7 @@ using(Git.open(getWikiRepositoryDir(repository.owner, repository.name))){ git => wiki.html.compare(Some(pageName), from, to, JGitUtil.getDiffs(git, from, to, true).filter(_.newPath == pageName + ".md"), repository, - hasWritePermission(repository.owner, repository.name, context.loginAccount), loadSystemSettings(), flash.get("info")) + hasWritePermission(repository.owner, repository.name, context.loginAccount), flash.get("info")) } }) @@ -74,7 +74,7 @@ using(Git.open(getWikiRepositoryDir(repository.owner, repository.name))){ git => wiki.html.compare(None, from, to, JGitUtil.getDiffs(git, from, to, true), repository, - hasWritePermission(repository.owner, repository.name, context.loginAccount), loadSystemSettings(), flash.get("info")) + hasWritePermission(repository.owner, repository.name, context.loginAccount), flash.get("info")) } }) @@ -103,7 +103,7 @@ get("/:owner/:repository/wiki/:page/_edit")(collaboratorsOnly { repository => val pageName = StringUtil.urlDecode(params("page")) - wiki.html.edit(pageName, getWikiPage(repository.owner, repository.name, pageName), repository, loadSystemSettings()) + wiki.html.edit(pageName, getWikiPage(repository.owner, repository.name, pageName), repository) }) post("/:owner/:repository/wiki/_edit", editForm)(collaboratorsOnly { (form, repository) => @@ -118,7 +118,7 @@ }) get("/:owner/:repository/wiki/_new")(collaboratorsOnly { - wiki.html.edit("", None, _, loadSystemSettings()) + wiki.html.edit("", None, _) }) post("/:owner/:repository/wiki/_new", newForm)(collaboratorsOnly { (form, repository) => @@ -146,13 +146,13 @@ get("/:owner/:repository/wiki/_pages")(referrersOnly { repository => wiki.html.pages(getWikiPageList(repository.owner, repository.name), repository, - hasWritePermission(repository.owner, repository.name, context.loginAccount), loadSystemSettings()) + hasWritePermission(repository.owner, repository.name, context.loginAccount)) }) get("/:owner/:repository/wiki/_history")(referrersOnly { repository => using(Git.open(getWikiRepositoryDir(repository.owner, repository.name))){ git => JGitUtil.getCommitLog(git, "master") match { - case Right((logs, hasNext)) => wiki.html.history(None, logs, repository, loadSystemSettings()) + case Right((logs, hasNext)) => wiki.html.history(None, logs, repository) case Left(_) => NotFound } } diff --git a/src/main/twirl/account/edit.scala.html b/src/main/twirl/account/edit.scala.html index 468e111..c02bcbe 100644 --- a/src/main/twirl/account/edit.scala.html +++ b/src/main/twirl/account/edit.scala.html @@ -1,4 +1,4 @@ -@(account: model.Account, settings: service.SystemSettingsService.SystemSettings, info: Option[Any])(implicit context: app.Context) +@(account: model.Account, info: Option[Any])(implicit context: app.Context) @import context._ @import view.helpers._ @html.main("Edit your profile"){ diff --git a/src/main/twirl/account/ssh.scala.html b/src/main/twirl/account/ssh.scala.html index 5d1817e..e6ee34c 100644 --- a/src/main/twirl/account/ssh.scala.html +++ b/src/main/twirl/account/ssh.scala.html @@ -1,4 +1,4 @@ -@(account: model.Account, settings: service.SystemSettingsService.SystemSettings, sshKeys: List[model.SshKey])(implicit context: app.Context) +@(account: model.Account, sshKeys: List[model.SshKey])(implicit context: app.Context) @import context._ @import view.helpers._ @html.main("SSH Keys"){ diff --git a/src/main/twirl/admin/system.scala.html b/src/main/twirl/admin/system.scala.html index 0e94edf..13a247d 100644 --- a/src/main/twirl/admin/system.scala.html +++ b/src/main/twirl/admin/system.scala.html @@ -1,4 +1,4 @@ -@(settings: service.SystemSettingsService.SystemSettings, info: Option[Any])(implicit context: app.Context) +@(info: Option[Any])(implicit context: app.Context) @import context._ @import util.Directory._ @import view.helpers._ diff --git a/src/main/twirl/index.scala.html b/src/main/twirl/index.scala.html index c6e3de6..21db2e0 100644 --- a/src/main/twirl/index.scala.html +++ b/src/main/twirl/index.scala.html @@ -1,6 +1,5 @@ @(activities: List[model.Activity], recentRepositories: List[service.RepositoryService.RepositoryInfo], - systemSettings: service.SystemSettingsService.SystemSettings, userRepositories: List[service.RepositoryService.RepositoryInfo])(implicit context: app.Context) @import context._ @import view.helpers._ @@ -12,7 +11,7 @@
@if(loginAccount.isEmpty){ - @signinform(systemSettings) + @signinform(settings) } else { diff --git a/src/main/twirl/repo/blob.scala.html b/src/main/twirl/repo/blob.scala.html index 09c1772..25a9910 100644 --- a/src/main/twirl/repo/blob.scala.html +++ b/src/main/twirl/repo/blob.scala.html @@ -2,13 +2,12 @@ repository: service.RepositoryService.RepositoryInfo, pathList: List[String], content: util.JGitUtil.ContentInfo, - latestCommit: util.JGitUtil.CommitInfo, - settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) + latestCommit: util.JGitUtil.CommitInfo)(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"${repository.owner}/${repository.name}", Some(repository)) { @html.header("code", repository) - @tab(branch, repository, "files", settings) + @tab(branch, repository, "files")
@repository.name / @pathList.zipWithIndex.map { case (section, i) => diff --git a/src/main/twirl/repo/branches.scala.html b/src/main/twirl/repo/branches.scala.html index ffbebae..bc26459 100644 --- a/src/main/twirl/repo/branches.scala.html +++ b/src/main/twirl/repo/branches.scala.html @@ -1,12 +1,11 @@ @(branchInfo: Seq[(String, java.util.Date)], hasWritePermission: Boolean, - repository: service.RepositoryService.RepositoryInfo, - settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) + repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"${repository.owner}/${repository.name}", Some(repository)) { @html.header("code", repository) - @tab(repository.repository.defaultBranch, repository, "branches", settings, true) + @tab(repository.repository.defaultBranch, repository, "branches", true)

Branches

diff --git a/src/main/twirl/repo/commit.scala.html b/src/main/twirl/repo/commit.scala.html index 52d9e48..c3baedc 100644 --- a/src/main/twirl/repo/commit.scala.html +++ b/src/main/twirl/repo/commit.scala.html @@ -4,14 +4,13 @@ tags: List[String], repository: service.RepositoryService.RepositoryInfo, diffs: Seq[util.JGitUtil.DiffInfo], - oldCommitId: Option[String], - settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) + oldCommitId: Option[String])(implicit context: app.Context) @import context._ @import view.helpers._ @import util.Implicits._ @html.main(commit.shortMessage, Some(repository)){ @html.header("code", repository) - @tab(commitId, repository, "commits", settings) + @tab(commitId, repository, "commits")
diff --git a/src/main/twirl/repo/commits.scala.html b/src/main/twirl/repo/commits.scala.html index d2e7d46..e1b22d1 100644 --- a/src/main/twirl/repo/commits.scala.html +++ b/src/main/twirl/repo/commits.scala.html @@ -3,13 +3,12 @@ repository: service.RepositoryService.RepositoryInfo, commits: Seq[Seq[util.JGitUtil.CommitInfo]], page: Int, - hasNext: Boolean, - settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) + hasNext: Boolean)(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"${repository.owner}/${repository.name}", Some(repository)) { @html.header("code", repository) - @tab(branch, repository, if(pathList.isEmpty) "commits" else "files", settings) + @tab(branch, repository, if(pathList.isEmpty) "commits" else "files")
@if(pathList.isEmpty){ @repository.name / Commit History diff --git a/src/main/twirl/repo/files.scala.html b/src/main/twirl/repo/files.scala.html index 9a6a717..6b4739c 100644 --- a/src/main/twirl/repo/files.scala.html +++ b/src/main/twirl/repo/files.scala.html @@ -3,13 +3,12 @@ pathList: List[String], latestCommit: util.JGitUtil.CommitInfo, files: List[util.JGitUtil.FileInfo], - readme: Option[(util.JGitUtil.FileInfo, String)], - settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) + readme: Option[(util.JGitUtil.FileInfo, String)])(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"${repository.owner}/${repository.name}", Some(repository)) { @html.header("code", repository) - @tab(branch, repository, "files", settings) + @tab(branch, repository, "files")
@defining(repository.commitCount){ commitCount => diff --git a/src/main/twirl/repo/tab.scala.html b/src/main/twirl/repo/tab.scala.html index bce1b22..4e891c0 100644 --- a/src/main/twirl/repo/tab.scala.html +++ b/src/main/twirl/repo/tab.scala.html @@ -1,5 +1,4 @@ @(id: String, repository: service.RepositoryService.RepositoryInfo, active: String, - settings: service.SystemSettingsService.SystemSettings, hideBranchPulldown: Boolean = false)(implicit context: app.Context) @import context._ @import view.helpers._ diff --git a/src/main/twirl/repo/tags.scala.html b/src/main/twirl/repo/tags.scala.html index 97df400..2574f3e 100644 --- a/src/main/twirl/repo/tags.scala.html +++ b/src/main/twirl/repo/tags.scala.html @@ -1,10 +1,9 @@ -@(repository: service.RepositoryService.RepositoryInfo, - settings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) +@(repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"${repository.owner}/${repository.name}", Some(repository)) { @html.header("code", repository) - @tab(repository.repository.defaultBranch, repository, "tags", settings, true) + @tab(repository.repository.defaultBranch, repository, "tags", true)

Tags

diff --git a/src/main/twirl/signin.scala.html b/src/main/twirl/signin.scala.html index abe033e..f70e844 100644 --- a/src/main/twirl/signin.scala.html +++ b/src/main/twirl/signin.scala.html @@ -1,7 +1,7 @@ -@(systemSettings: service.SystemSettingsService.SystemSettings)(implicit context: app.Context) +@()(implicit context: app.Context) @import context._ @main("Sign in"){ } diff --git a/src/main/twirl/wiki/compare.scala.html b/src/main/twirl/wiki/compare.scala.html index eee9cea..2e52027 100644 --- a/src/main/twirl/wiki/compare.scala.html +++ b/src/main/twirl/wiki/compare.scala.html @@ -4,7 +4,6 @@ diffs: Seq[util.JGitUtil.DiffInfo], repository: service.RepositoryService.RepositoryInfo, hasWritePermission: Boolean, - settings: service.SystemSettingsService.SystemSettings, info: Option[Any])(implicit context: app.Context) @import context._ @import view.helpers._ @@ -12,7 +11,7 @@ @html.main(s"Compare Revisions - ${repository.owner}/${repository.name}", Some(repository)){ @helper.html.information(info) @html.header("wiki", repository) - @tab("history", repository, settings) + @tab("history", repository)