aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gogs.go2
-rw-r--r--models/repo.go1
-rw-r--r--modules/mailer/mail.go11
-rwxr-xr-xpublic/css/gogs.css4
-rw-r--r--routers/repo/issue.go14
-rw-r--r--web.go24
6 files changed, 33 insertions, 23 deletions
diff --git a/gogs.go b/gogs.go
index a81f3ab5..88f53eeb 100644
--- a/gogs.go
+++ b/gogs.go
@@ -19,7 +19,7 @@ import (
// Test that go1.2 tag above is included in builds. main.go refers to this definition.
const go12tag = true
-const APP_VER = "0.2.0.0401 Alpha"
+const APP_VER = "0.2.0.0402 Alpha"
func init() {
base.AppVer = APP_VER
diff --git a/models/repo.go b/models/repo.go
index 0c808f18..8dd7da23 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -513,6 +513,7 @@ func NotifyWatchers(act *Action) error {
continue
}
+ act.Id = 0
act.UserId = watches[i].UserId
if _, err = orm.InsertOne(act); err != nil {
return errors.New("repo.NotifyWatchers(create action): " + err.Error())
diff --git a/modules/mailer/mail.go b/modules/mailer/mail.go
index d0decbe0..b99fc8fd 100644
--- a/modules/mailer/mail.go
+++ b/modules/mailer/mail.go
@@ -92,8 +92,8 @@ func SendActiveMail(r *middleware.Render, user *models.User) {
}
// SendNotifyMail sends mail notification of all watchers.
-func SendNotifyMail(userId, repoId int64, userName, repoName, subject, content string) error {
- watches, err := models.GetWatches(repoId)
+func SendNotifyMail(user, owner *models.User, repo *models.Repository, issue *models.Issue) error {
+ watches, err := models.GetWatches(repo.Id)
if err != nil {
return errors.New("mail.NotifyWatchers(get watches): " + err.Error())
}
@@ -101,7 +101,7 @@ func SendNotifyMail(userId, repoId int64, userName, repoName, subject, content s
tos := make([]string, 0, len(watches))
for i := range watches {
uid := watches[i].UserId
- if userId == uid {
+ if user.Id == uid {
continue
}
u, err := models.GetUserById(uid)
@@ -115,7 +115,10 @@ func SendNotifyMail(userId, repoId int64, userName, repoName, subject, content s
return nil
}
- msg := NewMailMessageFrom(tos, userName, subject, content)
+ subject := fmt.Sprintf("[%s] %s", repo.Name, issue.Name)
+ content := fmt.Sprintf("%s<br>-<br> <a href=\"%s%s/%s/issues/%d\">View it on Gogs</a>.",
+ issue.Content, base.AppUrl, owner.Name, repo.Name, issue.Index)
+ msg := NewMailMessageFrom(tos, user.Name, subject, content)
msg.Info = fmt.Sprintf("Subject: %s, send notify emails", subject)
SendAsync(&msg)
return nil
diff --git a/public/css/gogs.css b/public/css/gogs.css
index a018a9db..6bed7711 100755
--- a/public/css/gogs.css
+++ b/public/css/gogs.css
@@ -1235,9 +1235,9 @@ html, body {
/* admin dashboard/configuration */
.admin-dl-horizontal > dt {
- width: 320px;
+ width: 220px;
}
.admin-dl-horizontal > dd {
- margin-left: 340px;
+ margin-left: 240px;
}
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index 6cad2c25..41b2c7e9 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -31,7 +31,8 @@ func Issues(ctx *middleware.Context) {
ctx.Data["IssueCreatedCount"] = 0
var posterId int64 = 0
- if ctx.Query("type") == "created_by" {
+ isCreatedBy := ctx.Query("type") == "created_by"
+ if isCreatedBy {
if !ctx.IsSigned {
ctx.SetCookie("redirect_to", "/"+url.QueryEscape(ctx.Req.RequestURI))
ctx.Redirect("/user/login/", 302)
@@ -53,6 +54,7 @@ func Issues(ctx *middleware.Context) {
}
var createdByCount int
+ showIssues := make([]models.Issue, 0, len(issues))
// Get posters.
for i := range issues {
u, err := models.GetUserById(issues[i].PosterId)
@@ -60,13 +62,17 @@ func Issues(ctx *middleware.Context) {
ctx.Handle(200, "issue.Issues(get poster): %v", err)
return
}
- issues[i].Poster = u
+ if isCreatedBy && u.Id != posterId {
+ continue
+ }
if u.Id == posterId {
createdByCount++
}
+ issues[i].Poster = u
+ showIssues = append(showIssues, issues[i])
}
- ctx.Data["Issues"] = issues
+ ctx.Data["Issues"] = showIssues
ctx.Data["IssueCount"] = ctx.Repo.Repository.NumIssues
ctx.Data["OpenCount"] = ctx.Repo.Repository.NumIssues - ctx.Repo.Repository.NumClosedIssues
ctx.Data["ClosedCount"] = ctx.Repo.Repository.NumClosedIssues
@@ -107,7 +113,7 @@ func CreateIssue(ctx *middleware.Context, params martini.Params, form auth.Creat
// Mail watchers.
if base.Service.NotifyMail {
- if err = mailer.SendNotifyMail(ctx.User.Id, ctx.Repo.Repository.Id, ctx.User.Name, ctx.Repo.Repository.Name, issue.Name, issue.Content); err != nil {
+ if err = mailer.SendNotifyMail(ctx.User, ctx.Repo.Owner, ctx.Repo.Repository, issue); err != nil {
ctx.Handle(200, "issue.CreateIssue", err)
return
}
diff --git a/web.go b/web.go
index 48d80b4f..ececd6c2 100644
--- a/web.go
+++ b/web.go
@@ -11,8 +11,8 @@ import (
"github.com/codegangsta/cli"
"github.com/go-martini/martini"
- "github.com/martini-contrib/oauth2"
- "github.com/martini-contrib/sessions"
+ // "github.com/martini-contrib/oauth2"
+ // "github.com/martini-contrib/sessions"
"github.com/gogits/binding"
@@ -60,15 +60,15 @@ func runWeb(*cli.Context) {
// Middlewares.
m.Use(middleware.Renderer(middleware.RenderOptions{Funcs: []template.FuncMap{base.TemplateFuncs}}))
- scope := "https://api.github.com/user"
- oauth2.PathCallback = "/oauth2callback"
- m.Use(sessions.Sessions("my_session", sessions.NewCookieStore([]byte("secret123"))))
- m.Use(oauth2.Github(&oauth2.Options{
- ClientId: "09383403ff2dc16daaa1",
- ClientSecret: "5f6e7101d30b77952aab22b75eadae17551ea6b5",
- RedirectURL: base.AppUrl + oauth2.PathCallback,
- Scopes: []string{scope},
- }))
+ // scope := "https://api.github.com/user"
+ // oauth2.PathCallback = "/oauth2callback"
+ // m.Use(sessions.Sessions("my_session", sessions.NewCookieStore([]byte("secret123"))))
+ // m.Use(oauth2.Github(&oauth2.Options{
+ // ClientId: "09383403ff2dc16daaa1",
+ // ClientSecret: "5f6e7101d30b77952aab22b75eadae17551ea6b5",
+ // RedirectURL: base.AppUrl + oauth2.PathCallback,
+ // Scopes: []string{scope},
+ // }))
m.Use(middleware.InitContext())
@@ -92,7 +92,7 @@ func runWeb(*cli.Context) {
m.Get("/avatar/:hash", avt.ServeHTTP)
m.Group("/user", func(r martini.Router) {
- r.Any("/login/github", user.SocialSignIn)
+ // r.Any("/login/github", user.SocialSignIn)
r.Any("/login", binding.BindIgnErr(auth.LogInForm{}), user.SignIn)
r.Any("/sign_up", binding.BindIgnErr(auth.RegisterForm{}), user.SignUp)
}, reqSignOut)