diff options
author | yp05327 <576951401@qq.com> | 2024-02-17 14:13:37 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-17 13:13:37 +0800 |
commit | 68227996a7a84a240b36c304d04c5c8d82948df8 (patch) | |
tree | 94a59fc2d0cc3c043742929bd272add1f5eb90fc | |
parent | e936d2b338859c527482d1569c92d1f8f97f4d51 (diff) | |
download | gitea-68227996a7a84a240b36c304d04c5c8d82948df8.tar.gz gitea-68227996a7a84a240b36c304d04c5c8d82948df8.zip |
Fix broken following organization (#29005)
- following organization is broken from #28908
- add login check for the follow button in organization profile page
-rw-r--r-- | routers/web/user/profile.go | 14 | ||||
-rw-r--r-- | templates/org/home.tmpl | 16 |
2 files changed, 21 insertions, 9 deletions
diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go index 73ab93caed..e7f133e981 100644 --- a/routers/web/user/profile.go +++ b/routers/web/user/profile.go @@ -29,6 +29,7 @@ import ( const ( tplProfileBigAvatar base.TplName = "shared/user/profile_big_avatar" + tplFollowUnfollow base.TplName = "shared/user/follow_unfollow" ) // OwnerProfile render profile page for a user or a organization (aka, repo owner) @@ -318,6 +319,15 @@ func Action(ctx *context.Context) { return } - shared_user.PrepareContextForProfileBigAvatar(ctx) - ctx.HTML(http.StatusOK, tplProfileBigAvatar) + if ctx.ContextUser.IsIndividual() { + shared_user.PrepareContextForProfileBigAvatar(ctx) + ctx.HTML(http.StatusOK, tplProfileBigAvatar) + return + } else if ctx.ContextUser.IsOrganization() { + ctx.Data["IsFollowing"] = ctx.Doer != nil && user_model.IsFollowing(ctx, ctx.Doer.ID, ctx.ContextUser.ID) + ctx.HTML(http.StatusOK, tplFollowUnfollow) + return + } + log.Error("Failed to apply action %q: unsupport context user type: %s", ctx.FormString("action"), ctx.ContextUser.Type) + ctx.Error(http.StatusBadRequest, fmt.Sprintf("Action %q failed", ctx.FormString("action"))) } diff --git a/templates/org/home.tmpl b/templates/org/home.tmpl index fc65d4691c..322be3271d 100644 --- a/templates/org/home.tmpl +++ b/templates/org/home.tmpl @@ -25,13 +25,15 @@ {{svg "octicon-rss" 24}} </a> {{end}} - <button class="link-action ui basic button gt-mr-0" data-url="{{.Org.HomeLink}}?action={{if $.IsFollowing}}unfollow{{else}}follow{{end}}"> - {{if $.IsFollowing}} - {{ctx.Locale.Tr "user.unfollow"}} - {{else}} - {{ctx.Locale.Tr "user.follow"}} - {{end}} - </button> + {{if .IsSigned}} + <button class="ui basic button gt-mr-0" hx-post="{{.Org.HomeLink}}?action={{if $.IsFollowing}}unfollow{{else}}follow{{end}}"> + {{if $.IsFollowing}} + {{ctx.Locale.Tr "user.unfollow"}} + {{else}} + {{ctx.Locale.Tr "user.follow"}} + {{end}} + </button> + {{end}} </div> </div> |