Skip to content

Commit 1524fef

Browse files
committed
Add redirect for orgs
1 parent 6772e89 commit 1524fef

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

models/org.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ func CreateOrganization(org, owner *User) (err error) {
152152
return ErrUserAlreadyExist{org.Name}
153153
}
154154

155+
if err = DeleteUserRedirect(org.Name); err != nil {
156+
return err
157+
}
158+
155159
org.LowerName = strings.ToLower(org.Name)
156160
if org.Rands, err = GetUserSalt(); err != nil {
157161
return err

modules/context/org.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,14 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
5454
ctx.Org.Organization, err = models.GetUserByName(orgName)
5555
if err != nil {
5656
if models.IsErrUserNotExist(err) {
57-
ctx.NotFound("GetUserByName", err)
57+
redirectUserID, err := models.LookupUserRedirect(orgName)
58+
if err == nil {
59+
RedirectToUser(ctx, orgName, redirectUserID)
60+
} else if models.IsErrUserRedirectNotExist(err) {
61+
ctx.NotFound("GetUserByName", err)
62+
} else {
63+
ctx.ServerError("LookupUserRedirect", err)
64+
}
5865
} else {
5966
ctx.ServerError("GetUserByName", err)
6067
}

routers/api/v1/api.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,9 +392,16 @@ func orgAssignment(args ...bool) macaron.Handler {
392392
ctx.Org.Organization, err = models.GetOrgByName(ctx.Params(":org"))
393393
if err != nil {
394394
if models.IsErrOrgNotExist(err) {
395-
ctx.NotFound()
395+
redirectUserID, err := models.LookupUserRedirect(ctx.Params(":orgname"))
396+
if err == nil {
397+
context.RedirectToUser(ctx.Context, ctx.Params(":orgname"), redirectUserID)
398+
} else if models.IsErrUserRedirectNotExist(err) {
399+
ctx.NotFound("GetOrgByName", err)
400+
} else {
401+
ctx.ServerError("LookupUserRedirect", err)
402+
}
396403
} else {
397-
ctx.Error(http.StatusInternalServerError, "GetOrgByName", err)
404+
ctx.ServerError("GetOrgByName", err)
398405
}
399406
return
400407
}

templates/org/settings/options.tmpl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
<form class="ui form" action="{{.Link}}" method="post">
1414
{{.CsrfTokenHtml}}
1515
<div class="required field {{if .Err_Name}}error{{end}}">
16-
<label for="org_name">{{.i18n.Tr "org.org_name_holder"}}<span class="text red hide" id="org-name-change-prompt"> {{.i18n.Tr "org.settings.change_orgname_prompt"}}</span></label>
1716
<input id="org_name" name="name" value="{{.Org.Name}}" data-org-name="{{.Org.Name}}" autofocus required>
1817
</div>
1918
<div class="field {{if .Err_FullName}}error{{end}}">

0 commit comments

Comments
 (0)