summaryrefslogtreecommitdiffstats
path: root/routers/repo/view.go
diff options
context:
space:
mode:
authorRichard Mahn <richard_mahn@wycliffeassociates.org>2016-08-11 05:48:08 -0700
committerUnknwon <u@gogs.io>2016-08-14 23:52:24 -0700
commitd0a0239bacf02eb004634dfe1bb0a3f7dfe5adb6 (patch)
tree8459045909d43af85df2afa34f785a0481ae0b9e /routers/repo/view.go
parent7e7613cdecf6ceaf97ac280ae98bb9541679963f (diff)
downloadgitea-d0a0239bacf02eb004634dfe1bb0a3f7dfe5adb6.tar.gz
gitea-d0a0239bacf02eb004634dfe1bb0a3f7dfe5adb6.zip
Squashed commit of the following:
commit 0afcb843d7ffd596991c4885cab768273a6eb42c Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 17:13:29 2016 -0600 Removed Upload stats as the upload table is just a temporary table commit 7ecd73ff5535612d79d471409173ee7f1fcfa157 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:42:41 2016 -0600 Fix for CodeMirror mode commit c29b9ab531e2e7af0fb5db24dc17e51027dd1174 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 08:03:33 2016 -0600 Made tabbing in editor use spaces commit 23af384c53206a8a40e11e45bf49d7a149c4adcd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:56:46 2016 -0600 Fix for data-url commit cfb8a97591cb6fc0a92e49563b7b764c524db0e9 Merge: 7fc8a89 991ce42 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:42:53 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit 7fc8a89cb495478225b02d613e647f99a1489634 Merge: fd3d86c c03d040 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:40:00 2016 -0600 Merge branch 'feature-create-and-edit-repo-file' of github.com:richmahn/gogs into feature-create-and-edit-repo-file commit fd3d86ca6bbc02cfda566a504ffd6b03db4f75ef Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Sun Jul 31 07:39:44 2016 -0600 Code cleanup commit c03d0401c1049eeeccc32ab1f9c3303c130be5ee Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 29 15:38:23 2016 -0600 Code cleanup commit 98e1206ccf9f9a4503c020e3a7830cf9f861dfae Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:36:01 2016 -0600 Code cleanup and fixes commit c2895dc742f25f8412879c9fa15e18f27f42f194 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 18:24:04 2016 -0600 Fixes per Unknwon's requests commit 6aa7e46b21ad4c96e562daa2eac26a8fb408f8ef Merge: 889e9fa ad7ea88 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Thu Jul 28 17:13:43 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go modules/setting/setting.go commit 889e9faf1bd8559a4979c8f46005d488c1a234d4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:09:18 2016 -0600 Fix in gogs.js commit 47603edf223f147b114be65f3bd27bc1e88827a5 Merge: bb57912 cf85e9e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:07:36 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go public/js/gogs.js commit bb5791255867a71c11a77b639db050ad09c597a4 Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 22 14:02:18 2016 -0600 Update for using CodeMirror mode addon commit d10d128c51039be19e2af9c66c63db66a9f2ec6d Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 16:12:57 2016 -0600 Update for Edit commit 34a34982025144e3225e389f7849eb6273c1d576 Merge: fa1b752 1c7dcdd Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Tue Jul 19 11:52:02 2016 -0600 Merge remote-tracking branch 'gogits/develop' into feature-create-and-edit-repo-file Conflicts: modules/bindata/bindata.go commit fa1b752be29cd455c5184ddac2ffe80b3489763e Author: Richard Mahn <richard_mahn@wycliffeassociates.org> Date: Fri Jul 15 18:35:42 2016 -0600 Feature for editing, creating, uploading and deleting files
Diffstat (limited to 'routers/repo/view.go')
-rw-r--r--routers/repo/view.go43
1 files changed, 42 insertions, 1 deletions
diff --git a/routers/repo/view.go b/routers/repo/view.go
index e685597a55..08ee16df1a 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -24,6 +24,7 @@ import (
"github.com/gogits/gogs/modules/setting"
"github.com/gogits/gogs/modules/template"
"github.com/gogits/gogs/modules/template/highlight"
+ "strconv"
)
const (
@@ -40,6 +41,7 @@ func Home(ctx *context.Context) {
ctx.Data["Title"] = title
ctx.Data["PageIsViewCode"] = true
ctx.Data["RequireHighlightJS"] = true
+ ctx.Data["IsWriter"] = ctx.Repo.IsWriter()
branchName := ctx.Repo.BranchName
userName := ctx.Repo.Owner.Name
@@ -49,6 +51,11 @@ func Home(ctx *context.Context) {
branchLink := ctx.Repo.RepoLink + "/src/" + branchName
treeLink := branchLink
rawLink := ctx.Repo.RepoLink + "/raw/" + branchName
+ editLink := ctx.Repo.RepoLink + "/_edit/" + branchName
+ newFileLink := ctx.Repo.RepoLink + "/_new/" + branchName
+ deleteLink := ctx.Repo.RepoLink + "/delete/" + branchName
+ forkLink := setting.AppSubUrl + "/repo/fork/" + strconv.FormatInt(ctx.Repo.Repository.ID, 10)
+ uploadFileLink := ctx.Repo.RepoLink + "/upload/" + branchName
// Get tree path
treename := ctx.Repo.TreeName
@@ -104,8 +111,10 @@ func Home(ctx *context.Context) {
switch {
case isPDFFile:
ctx.Data["IsPDFFile"] = true
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.cannot_edit_binary_files")
case isImageFile:
ctx.Data["IsImageFile"] = true
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.cannot_edit_binary_files")
case isTextFile:
if blob.Size() >= setting.UI.MaxDisplayFileSize {
ctx.Data["IsFileTooLarge"] = true
@@ -114,8 +123,10 @@ func Home(ctx *context.Context) {
d, _ := ioutil.ReadAll(dataRc)
buf = append(buf, d...)
readmeExist := markdown.IsMarkdownFile(blob.Name()) || markdown.IsReadmeFile(blob.Name())
+ isMarkdown := readmeExist || markdown.IsMarkdownFile(blob.Name())
ctx.Data["ReadmeExist"] = readmeExist
- if readmeExist {
+ ctx.Data["IsMarkdown"] = isMarkdown
+ if isMarkdown {
ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
} else {
// Building code view blocks with line number on server side.
@@ -143,6 +154,29 @@ func Home(ctx *context.Context) {
ctx.Data["LineNums"] = gotemplate.HTML(output.String())
}
}
+ if ctx.Repo.IsWriter() && ctx.Repo.IsViewBranch {
+ ctx.Data["FileEditLink"] = editLink + "/" + treename
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.edit_this_file")
+ } else {
+ if !ctx.Repo.IsViewBranch {
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.must_be_on_branch")
+ } else if !ctx.Repo.IsWriter() {
+ ctx.Data["FileEditLink"] = forkLink
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.fork_before_edit")
+ }
+ }
+ default:
+ ctx.Data["FileEditLinkTooltip"] = ctx.Tr("repo.cannot_edit_binary_files")
+ }
+ if ctx.Repo.IsWriter() && ctx.Repo.IsViewBranch {
+ ctx.Data["FileDeleteLink"] = deleteLink + "/" + treename
+ ctx.Data["FileDeleteLinkTooltip"] = ctx.Tr("repo.delete_this_file")
+ } else {
+ if !ctx.Repo.IsViewBranch {
+ ctx.Data["FileDeleteLinkTooltip"] = ctx.Tr("repo.must_be_on_branch")
+ } else if !ctx.Repo.IsWriter() {
+ ctx.Data["FileDeleteLinkTooltip"] = ctx.Tr("repo.must_be_writer")
+ }
}
}
} else {
@@ -200,6 +234,7 @@ func Home(ctx *context.Context) {
buf = append(buf, d...)
switch {
case markdown.IsMarkdownFile(readmeFile.Name()):
+ ctx.Data["IsMarkdown"] = true
buf = markdown.Render(buf, treeLink, ctx.Repo.Repository.ComposeMetas())
default:
buf = bytes.Replace(buf, []byte("\n"), []byte(`<br>`), -1)
@@ -220,6 +255,12 @@ func Home(ctx *context.Context) {
}
ctx.Data["LastCommit"] = lastCommit
ctx.Data["LastCommitUser"] = models.ValidateCommitWithEmail(lastCommit)
+ if ctx.Repo.IsWriter() && ctx.Repo.IsViewBranch {
+ ctx.Data["NewFileLink"] = newFileLink + "/" + treename
+ if setting.UploadEnabled {
+ ctx.Data["UploadFileLink"] = uploadFileLink + "/" + treename
+ }
+ }
}
ctx.Data["Username"] = userName