summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2016-03-13 17:37:44 -0400
committerUnknwon <u@gogs.io>2016-03-13 17:37:44 -0400
commitdb4da7beecd6a8f65bfa264ba18a8cb12303921f (patch)
treee70f4669159a97ee538f305fce623452191b3ddb
parentb4f47a762338abe6ce3a6e3d6d0896b8a387228d (diff)
downloadgitea-db4da7beecd6a8f65bfa264ba18a8cb12303921f.tar.gz
gitea-db4da7beecd6a8f65bfa264ba18a8cb12303921f.zip
Add APIContext
-rw-r--r--README.md1
-rw-r--r--README_ZH.md1
-rw-r--r--modules/context/api.go22
-rw-r--r--modules/context/context.go65
-rw-r--r--modules/context/org.go11
-rw-r--r--modules/context/repo.go50
-rw-r--r--public/css/gogs.css3
-rw-r--r--public/less/_user.less3
8 files changed, 93 insertions, 63 deletions
diff --git a/README.md b/README.md
index 1bd7fcb37d..ff571bcf70 100644
--- a/README.md
+++ b/README.md
@@ -105,6 +105,7 @@ There are 5 ways to install Gogs:
- [Puppet](https://forge.puppetlabs.com/Siteminds/gogs) (IT)
- [Kanboard](http://kanboard.net/plugin/gogs-webhook) (Project Management)
- [BearyChat](https://bearychat.com/) (Team Communication)
+- [HiWork](http://www.hiwork.cc/) (Team Communication)
### Product Support
diff --git a/README_ZH.md b/README_ZH.md
index 7787a073d2..e2fec31ee0 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -77,6 +77,7 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自
- [Puppet](https://forge.puppetlabs.com/Siteminds/gogs)(IT)
- [Kanboard](http://kanboard.net/plugin/gogs-webhook)(项目管理)
- [BearyChat](https://bearychat.com/)(团队交流)
+- [HiWork](http://www.hiwork.cc/)(团队交流)
### 产品支持
diff --git a/modules/context/api.go b/modules/context/api.go
new file mode 100644
index 0000000000..0c0cce8cab
--- /dev/null
+++ b/modules/context/api.go
@@ -0,0 +1,22 @@
+// Copyright 2016 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package context
+
+import (
+ "gopkg.in/macaron.v1"
+)
+
+type APIContext struct {
+ *Context
+}
+
+func APIContexter() macaron.Handler {
+ return func(c *Context) {
+ ctx := &APIContext{
+ Context: c,
+ }
+ c.Map(ctx)
+ }
+}
diff --git a/modules/context/context.go b/modules/context/context.go
index 0c1ec520c1..faff52f2c8 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -18,8 +18,6 @@ import (
"github.com/go-macaron/session"
"gopkg.in/macaron.v1"
- "github.com/gogits/git-module"
-
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/auth"
"github.com/gogits/gogs/modules/base"
@@ -27,56 +25,6 @@ import (
"github.com/gogits/gogs/modules/setting"
)
-type PullRequest struct {
- BaseRepo *models.Repository
- Allowed bool
- SameRepo bool
- HeadInfo string // [<user>:]<branch>
-}
-
-type Repository struct {
- AccessMode models.AccessMode
- IsWatching bool
- IsViewBranch bool
- IsViewTag bool
- IsViewCommit bool
- Repository *models.Repository
- Owner *models.User
- Commit *git.Commit
- Tag *git.Tag
- GitRepo *git.Repository
- BranchName string
- TagName string
- TreeName string
- CommitID string
- RepoLink string
- CloneLink models.CloneLink
- CommitsCount int64
- Mirror *models.Mirror
-
- PullRequest *PullRequest
-}
-
-// IsOwner returns true if current user is the owner of repository.
-func (r *Repository) IsOwner() bool {
- return r.AccessMode >= models.ACCESS_MODE_OWNER
-}
-
-// IsAdmin returns true if current user has admin or higher access of repository.
-func (r *Repository) IsAdmin() bool {
- return r.AccessMode >= models.ACCESS_MODE_ADMIN
-}
-
-// IsWriter returns true if current user has write or higher access of repository.
-func (r *Repository) IsWriter() bool {
- return r.AccessMode >= models.ACCESS_MODE_WRITE
-}
-
-// HasAccess returns true if the current user has at least read access for this repository
-func (r *Repository) HasAccess() bool {
- return r.AccessMode >= models.ACCESS_MODE_READ
-}
-
// Context represents context of a request.
type Context struct {
*macaron.Context
@@ -90,17 +38,7 @@ type Context struct {
IsBasicAuth bool
Repo *Repository
-
- Org struct {
- IsOwner bool
- IsMember bool
- IsTeamMember bool // Is member of team.
- IsTeamAdmin bool // In owner team or team that has admin permission level.
- Organization *models.User
- OrgLink string
-
- Team *models.Team
- }
+ Org *Organization
}
// HasError returns true if error occurs in form validation.
@@ -223,6 +161,7 @@ func Contexter() macaron.Handler {
Repo: &Repository{
PullRequest: &PullRequest{},
},
+ Org: &Organization{},
}
// Compute current URL for real-time change language.
ctx.Data["Link"] = setting.AppSubUrl + strings.TrimSuffix(ctx.Req.URL.Path, "/")
diff --git a/modules/context/org.go b/modules/context/org.go
index 0f691fcdd1..4cacdf4a18 100644
--- a/modules/context/org.go
+++ b/modules/context/org.go
@@ -13,6 +13,17 @@ import (
"github.com/gogits/gogs/modules/setting"
)
+type Organization struct {
+ IsOwner bool
+ IsMember bool
+ IsTeamMember bool // Is member of team.
+ IsTeamAdmin bool // In owner team or team that has admin permission level.
+ Organization *models.User
+ OrgLink string
+
+ Team *models.Team
+}
+
func HandleOrgAssignment(ctx *Context, args ...bool) {
var (
requireMember bool
diff --git a/modules/context/repo.go b/modules/context/repo.go
index 547ed4ed85..a330da5c3f 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -18,6 +18,56 @@ import (
"github.com/gogits/gogs/modules/setting"
)
+type PullRequest struct {
+ BaseRepo *models.Repository
+ Allowed bool
+ SameRepo bool
+ HeadInfo string // [<user>:]<branch>
+}
+
+type Repository struct {
+ AccessMode models.AccessMode
+ IsWatching bool
+ IsViewBranch bool
+ IsViewTag bool
+ IsViewCommit bool
+ Repository *models.Repository
+ Owner *models.User
+ Commit *git.Commit
+ Tag *git.Tag
+ GitRepo *git.Repository
+ BranchName string
+ TagName string
+ TreeName string
+ CommitID string
+ RepoLink string
+ CloneLink models.CloneLink
+ CommitsCount int64
+ Mirror *models.Mirror
+
+ PullRequest *PullRequest
+}
+
+// IsOwner returns true if current user is the owner of repository.
+func (r *Repository) IsOwner() bool {
+ return r.AccessMode >= models.ACCESS_MODE_OWNER
+}
+
+// IsAdmin returns true if current user has admin or higher access of repository.
+func (r *Repository) IsAdmin() bool {
+ return r.AccessMode >= models.ACCESS_MODE_ADMIN
+}
+
+// IsWriter returns true if current user has write or higher access of repository.
+func (r *Repository) IsWriter() bool {
+ return r.AccessMode >= models.ACCESS_MODE_WRITE
+}
+
+// HasAccess returns true if the current user has at least read access for this repository
+func (r *Repository) HasAccess() bool {
+ return r.AccessMode >= models.ACCESS_MODE_READ
+}
+
func RetrieveBaseRepo(ctx *Context, repo *models.Repository) {
// Non-fork repository will not return error in this method.
if err := repo.GetBaseRepo(); err != nil {
diff --git a/public/css/gogs.css b/public/css/gogs.css
index 3a04a140dd..7c7ea83c63 100644
--- a/public/css/gogs.css
+++ b/public/css/gogs.css
@@ -2376,6 +2376,9 @@ footer .container .links > *:first-child {
.user.settings .email.list .item:not(:first-child) .button {
margin-top: -10px;
}
+.user.profile .ui.card #profile-avatar {
+ height: 290px;
+}
.user.profile .ui.card .username {
display: block;
}
diff --git a/public/less/_user.less b/public/less/_user.less
index 3e37011cfb..7cb95ab4fd 100644
--- a/public/less/_user.less
+++ b/public/less/_user.less
@@ -23,6 +23,9 @@
&.profile {
.ui.card {
+ #profile-avatar {
+ height: 290px;
+ }
.username {
display: block;
}