From 428b2244aadeb4724e705044d73ac74be724f6e9 Mon Sep 17 00:00:00 2001 From: mschaefers <mschaefers@scoop-gmbh.de> Date: Tue, 04 Dec 2012 16:07:37 -0500 Subject: [PATCH] Merged and enhanced pull request #55 (disallow forks setting) --- groovy/sendmail-html.groovy | 81 +++++++++++++++++++++++++--------------- 1 files changed, 50 insertions(+), 31 deletions(-) diff --git a/groovy/sendmail-html.groovy b/groovy/sendmail-html.groovy index c3b551d..1692073 100644 --- a/groovy/sendmail-html.groovy +++ b/groovy/sendmail-html.groovy @@ -115,7 +115,7 @@ } // add all mailing lists defined in gitblit.properties or web.xml -toAddresses.addAll(gitblit.getStrings(Keys.mail.mailingLists)) +toAddresses.addAll(GitBlit.getStrings(Keys.mail.mailingLists)) // add all team mailing lists def teams = gitblit.getRepositoryTeams(repository) @@ -165,6 +165,10 @@ .table td { vertical-align: middle; } + tr.noborder td { + border: none; + padding-top: 0px; + } .gravatar-column { width: 5%; } @@ -177,14 +181,14 @@ .status-column { width: 10%; } -.table-disable-hover.table tbody tr:hover td, -.table-disable-hover.table tbody tr:hover th { - background-color: inherit; -} -.table-disable-hover.table-striped tbody tr:nth-child(odd):hover td, -.table-disable-hover.table-striped tbody tr:nth-child(odd):hover th { - background-color: #f9f9f9; -} + .table-disable-hover.table tbody tr:hover td, + .table-disable-hover.table tbody tr:hover th { + background-color: inherit; + } + .table-disable-hover.table-striped tbody tr:nth-child(odd):hover td, + .table-disable-hover.table-striped tbody tr:nth-child(odd):hover th { + background-color: #f9f9f9; + } ''') } @@ -193,7 +197,11 @@ builder.span('class':'project') { mkp.yield "$type " span('class': 'repository', name ) - mkp.yield " $action ($number commits)" + if (number > 0) { + mkp.yield " $action ($number commits)" + } else { + mkp.yield " $action" + } } } } @@ -230,7 +238,7 @@ } - def writeCommitTable(commits) { + def writeCommitTable(commits, includeChangedPaths=true) { // Write commits table builder.table('class':"table table-disable-hover") { thead { @@ -246,11 +254,13 @@ for (commit in commits) { writeCommit(commit) - // Write detail on that particular commit - tr { - td (colspan: includeGravatar ? 3 : 2) - td (colspan:2) { writeStatusTable(commit) } - } + if (includeChangedPaths) { + // Write detail on that particular commit + tr('class' : 'noborder') { + td (colspan: includeGravatar ? 3 : 2) + td (colspan:2) { writeStatusTable(commit) } + } + } } } } @@ -289,7 +299,7 @@ writeStatusLabel("addition", "addition") } builder.td { - a(href:blobDiffUrl(id, header.newPath)) { span(style:'font-family: monospace;', header.newPath) } + a(href:blobDiffUrl(id, header.newPath), header.newPath) } } @@ -298,7 +308,7 @@ writeStatusLabel("rename", "rename") } builder.td() { - a(href:blobDiffUrl(id, header.newPath)) { span(style : "font-family: monospace; ", header.oldPath + " copied to " + header.newPath) } + a(href:blobDiffUrl(id, header.newPath), header.oldPath + " copied to " + header.newPath) } } @@ -307,7 +317,7 @@ writeStatusLabel("deletion", "deletion") } builder.td() { - a(href:blobDiffUrl(id, header.oldPath)) { span(style : "font-family: monospace; ", header.oldPath) } + a(href:blobDiffUrl(id, header.oldPath), header.oldPath) } } @@ -316,7 +326,7 @@ writeStatusLabel("modification", "modification") } builder.td() { - a(href:blobDiffUrl(id, header.oldPath)) { span(style : "font-family: monospace; ", header.oldPath) } + a(href:blobDiffUrl(id, header.oldPath), header.oldPath) } } @@ -325,7 +335,9 @@ writeStatusLabel("rename", "rename") } builder.td() { - a(href:blobDiffUrl(id, header.newPath)) { span(style : "font-family: monospace; ", header.olPath + " -> " + header.newPath) } + mkp.yield header.oldPath + mkp.yieldUnescaped "<b> -&rt; </b>" + a(href:blobDiffUrl(id, header.newPath), header.newPath) } } @@ -358,14 +370,15 @@ formatter.setDiffComparator(RawTextComparator.DEFAULT); def diffs - RevWalk rw = new RevWalk(repository); + RevWalk rw = new RevWalk(repository) if (commit.parentCount > 0) { - RevCommit parent = commit.parents[0] + RevCommit parent = rw.parseCommit(commit.parents[0].id) diffs = formatter.scan(parent.tree, commit.tree) } else { diffs = formatter.scan(new EmptyTreeIterator(), new CanonicalTreeParser(null, rw.objectReader, commit.tree)) } + rw.dispose() // Write status table builder.table('class':"plain") { tbody() { @@ -414,6 +427,7 @@ head { link(rel:"stylesheet", href:"${url}/bootstrap/css/bootstrap.css") link(rel:"stylesheet", href:"${url}/gitblit.css") + link(rel:"stylesheet", href:"${url}/bootstrap/css/bootstrap-responsive.css") writeStyle() } body { @@ -434,12 +448,17 @@ switch (command.type) { case ReceiveCommand.Type.CREATE: - def commits = JGitUtils.getRevLog(repository, command.oldId.name, command.newId.name).reverse() - commitCount += commits.size() - // new branch - // Write header - writeBranchTitle(refType, ref, "created", commits.size()) - writeCommitTable(commits) + def commits = JGitUtils.getRevLog(repository, command.oldId.name, command.newId.name).reverse() + commitCount += commits.size() + if (refType == 'Branch') { + // new branch + writeBranchTitle(refType, ref, "created", commits.size()) + writeCommitTable(commits, true) + } else { + // new tag + writeBranchTitle(refType, ref, "created", 0) + writeCommitTable(commits, false) + } break case ReceiveCommand.Type.UPDATE: def commits = JGitUtils.getRevLog(repository, command.oldId.name, command.newId.name).reverse() @@ -481,8 +500,8 @@ mailWriter.forwardSlashChar = forwardSlashChar mailWriter.commands = commands mailWriter.url = url -mailWriter.mountParameters = gitblit.getBoolean(Keys.web.mountParameters, true) -mailWriter.includeGravatar = gitblit.getBoolean(Keys.web.allowGravatar, true) +mailWriter.mountParameters = GitBlit.getBoolean(Keys.web.mountParameters, true) +mailWriter.includeGravatar = GitBlit.getBoolean(Keys.web.allowGravatar, true) mailWriter.shortCommitIdLength = GitBlit.getInteger(Keys.web.shortCommitIdLength, 8) def content = mailWriter.write() -- Gitblit v1.9.1