aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2015-08-05 20:26:00 +0800
committerUnknwon <u@gogs.io>2015-08-05 20:26:00 +0800
commit2c507667bfd17f88dc4bfabc426c74cd5f8e4461 (patch)
tree31b267331f84d45a92f6a0bfe7eaafa124f4578f /modules
parent0705f55ce097b9892a7c4c11faa5396c4e557232 (diff)
parentb9527cd1bfabcce3be62b43f0c199b1418519549 (diff)
Merge branch 'develop' of github.com:gogits/gogs into feature/milestone
# Conflicts: # gogs.go # models/issue.go # templates/.VERSION
Diffstat (limited to 'modules')
-rw-r--r--modules/auth/auth.go6
-rw-r--r--modules/auth/org.go2
-rw-r--r--modules/middleware/org.go2
-rw-r--r--modules/middleware/repo.go18
4 files changed, 21 insertions, 7 deletions
diff --git a/modules/auth/auth.go b/modules/auth/auth.go
index 155a8272..7e01abc3 100644
--- a/modules/auth/auth.go
+++ b/modules/auth/auth.go
@@ -55,7 +55,7 @@ func SignedInId(req *http.Request, sess session.Store) int64 {
}
if id, ok := uid.(int64); ok {
if _, err := models.GetUserById(id); err != nil {
- if err != models.ErrUserNotExist {
+ if !models.IsErrUserNotExist(err) {
log.Error(4, "GetUserById: %v", err)
}
return 0
@@ -80,7 +80,7 @@ func SignedInUser(req *http.Request, sess session.Store) (*models.User, bool) {
if len(webAuthUser) > 0 {
u, err := models.GetUserByName(webAuthUser)
if err != nil {
- if err != models.ErrUserNotExist {
+ if !models.IsErrUserNotExist(err) {
log.Error(4, "GetUserByName: %v", err)
return nil, false
}
@@ -115,7 +115,7 @@ func SignedInUser(req *http.Request, sess session.Store) (*models.User, bool) {
u, err := models.UserSignIn(uname, passwd)
if err != nil {
- if err != models.ErrUserNotExist {
+ if !models.IsErrUserNotExist(err) {
log.Error(4, "UserSignIn: %v", err)
}
return nil, false
diff --git a/modules/auth/org.go b/modules/auth/org.go
index 3e6c55c1..0dfab951 100644
--- a/modules/auth/org.go
+++ b/modules/auth/org.go
@@ -26,7 +26,7 @@ func (f *CreateOrgForm) Validate(ctx *macaron.Context, errs binding.Errors) bind
}
type UpdateOrgSettingForm struct {
- OrgUserName string `form:"uname" binding:"Required;MaxSize(35)"`
+ OrgUserName string `form:"uname" binding:"Required;AlphaDashDot;MaxSize(30)" locale:"org.org_name_holder"`
OrgFullName string `form:"fullname" binding:"MaxSize(100)"`
Email string `form:"email" binding:"Required;Email;MaxSize(50)"`
Description string `form:"desc" binding:"MaxSize(255)"`
diff --git a/modules/middleware/org.go b/modules/middleware/org.go
index 1ac4bcf1..065e1b1e 100644
--- a/modules/middleware/org.go
+++ b/modules/middleware/org.go
@@ -34,7 +34,7 @@ func OrgAssignment(redirect bool, args ...bool) macaron.Handler {
var err error
ctx.Org.Organization, err = models.GetUserByName(orgName)
if err != nil {
- if err == models.ErrUserNotExist {
+ if models.IsErrUserNotExist(err) {
ctx.Handle(404, "GetUserByName", err)
} else if redirect {
log.Error(4, "GetUserByName", err)
diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go
index de0d7829..12164632 100644
--- a/modules/middleware/repo.go
+++ b/modules/middleware/repo.go
@@ -10,6 +10,8 @@ import (
"strings"
"github.com/Unknwon/macaron"
+ "github.com/mcuadros/go-version"
+ "github.com/mssola/user_agent"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
@@ -18,6 +20,11 @@ import (
"github.com/gogits/gogs/modules/setting"
)
+const (
+ FIREFOX_COPY_SUPPORT = "41.0"
+ CHROME_COPY_SUPPORT = "43.0.2356"
+)
+
func ApiRepoAssignment() macaron.Handler {
return func(ctx *Context) {
userName := ctx.Params(":username")
@@ -34,7 +41,7 @@ func ApiRepoAssignment() macaron.Handler {
} else {
u, err = models.GetUserByName(userName)
if err != nil {
- if err == models.ErrUserNotExist {
+ if models.IsErrUserNotExist(err) {
ctx.Error(404)
} else {
ctx.JSON(500, &base.ApiJsonErr{"GetUserByName: " + err.Error(), base.DOC_URL})
@@ -210,7 +217,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
} else {
u, err = models.GetUserByName(userName)
if err != nil {
- if err == models.ErrUserNotExist {
+ if models.IsErrUserNotExist(err) {
ctx.Handle(404, "GetUserByName", err)
} else {
ctx.Handle(500, "GetUserByName", err)
@@ -345,6 +352,13 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
ctx.Data["BranchName"] = ctx.Repo.BranchName
ctx.Data["CommitId"] = ctx.Repo.CommitId
+
+ userAgent := ctx.Req.Header.Get("User-Agent")
+ ua := user_agent.New(userAgent)
+ browserName, browserVer := ua.Browser()
+
+ ctx.Data["BrowserSupportsCopy"] = (browserName == "Chrome" && version.Compare(browserVer, CHROME_COPY_SUPPORT, ">=")) ||
+ (browserName == "Firefox" && version.Compare(browserVer, FIREFOX_COPY_SUPPORT, ">="))
}
}