diff options
author | Unknwon <u@gogs.io> | 2017-06-11 00:34:14 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-06-11 00:34:14 -0400 |
commit | 4400d2fdd933204044aeb18ce7d8613c53aa87c0 (patch) | |
tree | 841e91d5294c49b7335170fbc4b9ff79e882f91a /routers/org | |
parent | 6197a7639a88f7fb0fee8927e1d501504ae770ff (diff) |
Refactoring: rename package routers -> routes
Diffstat (limited to 'routers/org')
-rw-r--r-- | routers/org/members.go | 123 | ||||
-rw-r--r-- | routers/org/org.go | 56 | ||||
-rw-r--r-- | routers/org/setting.go | 168 | ||||
-rw-r--r-- | routers/org/teams.go | 271 |
4 files changed, 0 insertions, 618 deletions
diff --git a/routers/org/members.go b/routers/org/members.go deleted file mode 100644 index b529748c..00000000 --- a/routers/org/members.go +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2014 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 org - -import ( - "github.com/Unknwon/com" - log "gopkg.in/clog.v1" - - "github.com/gogits/gogs/models" - "github.com/gogits/gogs/models/errors" - "github.com/gogits/gogs/pkg/context" - "github.com/gogits/gogs/pkg/setting" -) - -const ( - MEMBERS = "org/member/members" - MEMBER_INVITE = "org/member/invite" -) - -func Members(c *context.Context) { - org := c.Org.Organization - c.Data["Title"] = org.FullName - c.Data["PageIsOrgMembers"] = true - - if err := org.GetMembers(); err != nil { - c.Handle(500, "GetMembers", err) - return - } - c.Data["Members"] = org.Members - - c.HTML(200, MEMBERS) -} - -func MembersAction(c *context.Context) { - uid := com.StrTo(c.Query("uid")).MustInt64() - if uid == 0 { - c.Redirect(c.Org.OrgLink + "/members") - return - } - - org := c.Org.Organization - var err error - switch c.Params(":action") { - case "private": - if c.User.ID != uid && !c.Org.IsOwner { - c.Error(404) - return - } - err = models.ChangeOrgUserStatus(org.ID, uid, false) - case "public": - if c.User.ID != uid && !c.Org.IsOwner { - c.Error(404) - return - } - err = models.ChangeOrgUserStatus(org.ID, uid, true) - case "remove": - if !c.Org.IsOwner { - c.Error(404) - return - } - err = org.RemoveMember(uid) - if models.IsErrLastOrgOwner(err) { - c.Flash.Error(c.Tr("form.last_org_owner")) - c.Redirect(c.Org.OrgLink + "/members") - return - } - case "leave": - err = org.RemoveMember(c.User.ID) - if models.IsErrLastOrgOwner(err) { - c.Flash.Error(c.Tr("form.last_org_owner")) - c.Redirect(c.Org.OrgLink + "/members") - return - } - } - - if err != nil { - log.Error(4, "Action(%s): %v", c.Params(":action"), err) - c.JSON(200, map[string]interface{}{ - "ok": false, - "err": err.Error(), - }) - return - } - - if c.Params(":action") != "leave" { - c.Redirect(c.Org.OrgLink + "/members") - } else { - c.Redirect(setting.AppSubURL + "/") - } -} - -func Invitation(c *context.Context) { - org := c.Org.Organization - c.Data["Title"] = org.FullName - c.Data["PageIsOrgMembers"] = true - - if c.Req.Method == "POST" { - uname := c.Query("uname") - u, err := models.GetUserByName(uname) - if err != nil { - if errors.IsUserNotExist(err) { - c.Flash.Error(c.Tr("form.user_not_exist")) - c.Redirect(c.Org.OrgLink + "/invitations/new") - } else { - c.Handle(500, " GetUserByName", err) - } - return - } - - if err = org.AddMember(u.ID); err != nil { - c.Handle(500, " AddMember", err) - return - } - - log.Trace("New member added(%s): %s", org.Name, u.Name) - c.Redirect(c.Org.OrgLink + "/members") - return - } - - c.HTML(200, MEMBER_INVITE) -} diff --git a/routers/org/org.go b/routers/org/org.go deleted file mode 100644 index 775e9915..00000000 --- a/routers/org/org.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2014 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 org - -import ( - log "gopkg.in/clog.v1" - - "github.com/gogits/gogs/models" - "github.com/gogits/gogs/pkg/context" - "github.com/gogits/gogs/pkg/form" - "github.com/gogits/gogs/pkg/setting" -) - -const ( - CREATE = "org/create" -) - -func Create(c *context.Context) { - c.Data["Title"] = c.Tr("new_org") - c.HTML(200, CREATE) -} - -func CreatePost(c *context.Context, f form.CreateOrg) { - c.Data["Title"] = c.Tr("new_org") - - if c.HasError() { - c.HTML(200, CREATE) - return - } - - org := &models.User{ - Name: f.OrgName, - IsActive: true, - Type: models.USER_TYPE_ORGANIZATION, - } - - if err := models.CreateOrganization(org, c.User); err != nil { - c.Data["Err_OrgName"] = true - switch { - case models.IsErrUserAlreadyExist(err): - c.RenderWithErr(c.Tr("form.org_name_been_taken"), CREATE, &f) - case models.IsErrNameReserved(err): - c.RenderWithErr(c.Tr("org.form.name_reserved", err.(models.ErrNameReserved).Name), CREATE, &f) - case models.IsErrNamePatternNotAllowed(err): - c.RenderWithErr(c.Tr("org.form.name_pattern_not_allowed", err.(models.ErrNamePatternNotAllowed).Pattern), CREATE, &f) - default: - c.Handle(500, "CreateOrganization", err) - } - return - } - log.Trace("Organization created: %s", org.Name) - - c.Redirect(setting.AppSubURL + "/org/" + f.OrgName + "/dashboard") -} diff --git a/routers/org/setting.go b/routers/org/setting.go deleted file mode 100644 index 8e2e556f..00000000 --- a/routers/org/setting.go +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright 2014 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 org - -import ( - "strings" - - log "gopkg.in/clog.v1" - - "github.com/gogits/gogs/models" - "github.com/gogits/gogs/models/errors" - "github.com/gogits/gogs/pkg/context" - "github.com/gogits/gogs/pkg/form" - "github.com/gogits/gogs/pkg/setting" - "github.com/gogits/gogs/routers/user" -) - -const ( - SETTINGS_OPTIONS = "org/settings/options" - SETTINGS_DELETE = "org/settings/delete" - SETTINGS_WEBHOOKS = "org/settings/webhooks" -) - -func Settings(c *context.Context) { - c.Data["Title"] = c.Tr("org.settings") - c.Data["PageIsSettingsOptions"] = true - c.HTML(200, SETTINGS_OPTIONS) -} - -func SettingsPost(c *context.Context, f form.UpdateOrgSetting) { - c.Data["Title"] = c.Tr("org.settings") - c.Data["PageIsSettingsOptions"] = true - - if c.HasError() { - c.HTML(200, SETTINGS_OPTIONS) - return - } - - org := c.Org.Organization - - // Check if organization name has been changed. - if org.LowerName != strings.ToLower(f.Name) { - isExist, err := models.IsUserExist(org.ID, f.Name) - if err != nil { - c.Handle(500, "IsUserExist", err) - return - } else if isExist { - c.Data["OrgName"] = true - c.RenderWithErr(c.Tr("form.username_been_taken"), SETTINGS_OPTIONS, &f) - return - } else if err = models.ChangeUserName(org, f.Name); err != nil { - c.Data["OrgName"] = true - switch { - case models.IsErrNameReserved(err): - c.RenderWithErr(c.Tr("user.form.name_reserved"), SETTINGS_OPTIONS, &f) - case models.IsErrNamePatternNotAllowed(err): - c.RenderWithErr(c.Tr("user.form.name_pattern_not_allowed"), SETTINGS_OPTIONS, &f) - default: - c.Handle(500, "ChangeUserName", err) - } - return - } - // reset c.org.OrgLink with new name - c.Org.OrgLink = setting.AppSubURL + "/org/" + f.Name - log.Trace("Organization name changed: %s -> %s", org.Name, f.Name) - } - // In case it's just a case change. - org.Name = f.Name - org.LowerName = strings.ToLower(f.Name) - - if c.User.IsAdmin { - org.MaxRepoCreation = f.MaxRepoCreation - } - - org.FullName = f.FullName - org.Description = f.Description - org.Website = f.Website - org.Location = f.Location - if err := models.UpdateUser(org); err != nil { - c.Handle(500, "UpdateUser", err) - return - } - log.Trace("Organization setting updated: %s", org.Name) - c.Flash.Success(c.Tr("org.settings.update_setting_success")) - c.Redirect(c.Org.OrgLink + "/settings") -} - -func SettingsAvatar(c *context.Context, f form.Avatar) { - f.Source = form.AVATAR_LOCAL - if err := user.UpdateAvatarSetting(c, f, c.Org.Organization); err != nil { - c.Flash.Error(err.Error()) - } else { - c.Flash.Success(c.Tr("org.settings.update_avatar_success")) - } - - c.Redirect(c.Org.OrgLink + "/settings") -} - -func SettingsDeleteAvatar(c *context.Context) { - if err := c.Org.Organization.DeleteAvatar(); err != nil { - c.Flash.Error(err.Error()) - } - - c.Redirect(c.Org.OrgLink + "/settings") -} - -func SettingsDelete(c *context.Context) { - c.Data["Title"] = c.Tr("org.settings") - c.Data["PageIsSettingsDelete"] = true - - org := c.Org.Organization - if c.Req.Method == "POST" { - if _, err := models.UserSignIn(c.User.Name, c.Query("password")); err != nil { - if errors.IsUserNotExist(err) { - c.RenderWithErr(c.Tr("form.enterred_invalid_password"), SETTINGS_DELETE, nil) - } else { - c.Handle(500, "UserSignIn", err) - } - return - } - - if err := models.DeleteOrganization(org); err != nil { - if models.IsErrUserOwnRepos(err) { - c.Flash.Error(c.Tr("form.org_still_own_repo")) - c.Redirect(c.Org.OrgLink + "/settings/delete") - } else { - c.Handle(500, "DeleteOrganization", err) - } - } else { - log.Trace("Organization deleted: %s", org.Name) - c.Redirect(setting.AppSubURL + "/") - } - return - } - - c.HTML(200, SETTINGS_DELETE) -} - -func Webhooks(c *context.Context) { - c.Data["Title"] = c.Tr("org.settings") - c.Data["PageIsSettingsHooks"] = true - c.Data["BaseLink"] = c.Org.OrgLink - c.Data["Description"] = c.Tr("org.settings.hooks_desc") - c.Data["Types"] = setting.Webhook.Types - - ws, err := models.GetWebhooksByOrgID(c.Org.Organization.ID) - if err != nil { - c.Handle(500, "GetWebhooksByOrgId", err) - return - } - - c.Data["Webhooks"] = ws - c.HTML(200, SETTINGS_WEBHOOKS) -} - -func DeleteWebhook(c *context.Context) { - if err := models.DeleteWebhookOfOrgByID(c.Org.Organization.ID, c.QueryInt64("id")); err != nil { - c.Flash.Error("DeleteWebhookByOrgID: " + err.Error()) - } else { - c.Flash.Success(c.Tr("repo.settings.webhook_deletion_success")) - } - - c.JSON(200, map[string]interface{}{ - "redirect": c.Org.OrgLink + "/settings/hooks", - }) -} diff --git a/routers/org/teams.go b/routers/org/teams.go deleted file mode 100644 index c97d470d..00000000 --- a/routers/org/teams.go +++ /dev/null @@ -1,271 +0,0 @@ -// Copyright 2014 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 org - -import ( - "path" - - "github.com/Unknwon/com" - log "gopkg.in/clog.v1" - - "github.com/gogits/gogs/models" - "github.com/gogits/gogs/models/errors" - "github.com/gogits/gogs/pkg/context" - "github.com/gogits/gogs/pkg/form" -) - -const ( - TEAMS = "org/team/teams" - TEAM_NEW = "org/team/new" - TEAM_MEMBERS = "org/team/members" - TEAM_REPOSITORIES = "org/team/repositories" -) - -func Teams(c *context.Context) { - org := c.Org.Organization - c.Data["Title"] = org.FullName - c.Data["PageIsOrgTeams"] = true - - for _, t := range org.Teams { - if err := t.GetMembers(); err != nil { - c.Handle(500, "GetMembers", err) - return - } - } - c.Data["Teams"] = org.Teams - - c.HTML(200, TEAMS) -} - -func TeamsAction(c *context.Context) { - uid := com.StrTo(c.Query("uid")).MustInt64() - if uid == 0 { - c.Redirect(c.Org.OrgLink + "/teams") - return - } - - page := c.Query("page") - var err error - switch c.Params(":action") { - case "join": - if !c.Org.IsOwner { - c.Error(404) - return - } - err = c.Org.Team.AddMember(c.User.ID) - case "leave": - err = c.Org.Team.RemoveMember(c.User.ID) - case "remove": - if !c.Org.IsOwner { - c.Error(404) - return - } - err = c.Org.Team.RemoveMember(uid) - page = "team" - case "add": - if !c.Org.IsOwner { - c.Error(404) - return - } - uname := c.Query("uname") - var u *models.User - u, err = models.GetUserByName(uname) - if err != nil { - if errors.IsUserNotExist(err) { - c.Flash.Error(c.Tr("form.user_not_exist")) - c.Redirect(c.Org.OrgLink + "/teams/" + c.Org.Team.LowerName) - } else { - c.Handle(500, " GetUserByName", err) - } - return - } - - err = c.Org.Team.AddMember(u.ID) - page = "team" - } - - if err != nil { - if models.IsErrLastOrgOwner(err) { - c.Flash.Error(c.Tr("form.last_org_owner")) - } else { - log.Error(3, "Action(%s): %v", c.Params(":action"), err) - c.JSON(200, map[string]interface{}{ - "ok": false, - "err": err.Error(), - }) - return - } - } - - switch page { - case "team": - c.Redirect(c.Org.OrgLink + "/teams/" + c.Org.Team.LowerName) - default: - c.Redirect(c.Org.OrgLink + "/teams") - } -} - -func TeamsRepoAction(c *context.Context) { - if !c.Org.IsOwner { - c.Error(404) - return - } - - var err error - switch c.Params(":action") { - case "add": - repoName := path.Base(c.Query("repo_name")) - var repo *models.Repository - repo, err = models.GetRepositoryByName(c.Org.Organization.ID, repoName) - if err != nil { - if errors.IsRepoNotExist(err) { - c.Flash.Error(c.Tr("org.teams.add_nonexistent_repo")) - c.Redirect(c.Org.OrgLink + "/teams/" + c.Org.Team.LowerName + "/repositories") - return - } - c.Handle(500, "GetRepositoryByName", err) - return - } - err = c.Org.Team.AddRepository(repo) - case "remove": - err = c.Org.Team.RemoveRepository(com.StrTo(c.Query("repoid")).MustInt64()) - } - - if err != nil { - log.Error(3, "Action(%s): '%s' %v", c.Params(":action"), c.Org.Team.Name, err) - c.Handle(500, "TeamsRepoAction", err) - return - } - c.Redirect(c.Org.OrgLink + "/teams/" + c.Org.Team.LowerName + "/repositories") -} - -func NewTeam(c *context.Context) { - c.Data["Title"] = c.Org.Organization.FullName - c.Data["PageIsOrgTeams"] = true - c.Data["PageIsOrgTeamsNew"] = true - c.Data["Team"] = &models.Team{} - c.HTML(200, TEAM_NEW) -} - -func NewTeamPost(c *context.Context, f form.CreateTeam) { - c.Data["Title"] = c.Org.Organization.FullName - c.Data["PageIsOrgTeams"] = true - c.Data["PageIsOrgTeamsNew"] = true - - t := &models.Team{ - OrgID: c.Org.Organization.ID, - Name: f.TeamName, - Description: f.Description, - Authorize: models.ParseAccessMode(f.Permission), - } - c.Data["Team"] = t - - if c.HasError() { - c.HTML(200, TEAM_NEW) - return - } - - if err := models.NewTeam(t); err != nil { - c.Data["Err_TeamName"] = true - switch { - case models.IsErrTeamAlreadyExist(err): - c.RenderWithErr(c.Tr("form.team_name_been_taken"), TEAM_NEW, &f) - case models.IsErrNameReserved(err): - c.RenderWithErr(c.Tr("org.form.team_name_reserved", err.(models.ErrNameReserved).Name), TEAM_NEW, &f) - default: - c.Handle(500, "NewTeam", err) - } - return - } - log.Trace("Team created: %s/%s", c.Org.Organization.Name, t.Name) - c.Redirect(c.Org.OrgLink + "/teams/" + t.LowerName) -} - -func TeamMembers(c *context.Context) { - c.Data["Title"] = c.Org.Team.Name - c.Data["PageIsOrgTeams"] = true - if err := c.Org.Team.GetMembers(); err != nil { - c.Handle(500, "GetMembers", err) - return - } - c.HTML(200, TEAM_MEMBERS) -} - -func TeamRepositories(c *context.Context) { - c.Data["Title"] = c.Org.Team.Name - c.Data["PageIsOrgTeams"] = true - if err := c.Org.Team.GetRepositories(); err != nil { - c.Handle(500, "GetRepositories", err) - return - } - c.HTML(200, TEAM_REPOSITORIES) -} - -func EditTeam(c *context.Context) { - c.Data["Title"] = c.Org.Organization.FullName - c.Data["PageIsOrgTeams"] = true - c.Data["team_name"] = c.Org.Team.Name - c.Data["desc"] = c.Org.Team.Description - c.HTML(200, TEAM_NEW) -} - -func EditTeamPost(c *context.Context, f form.CreateTeam) { - t := c.Org.Team - c.Data["Title"] = c.Org.Organization.FullName - c.Data["PageIsOrgTeams"] = true - c.Data["Team"] = t - - if c.HasError() { - c.HTML(200, TEAM_NEW) - return - } - - isAuthChanged := false - if !t.IsOwnerTeam() { - // Validate permission level. - var auth models.AccessMode - switch f.Permission { - case "read": - auth = models.ACCESS_MODE_READ - case "write": - auth = models.ACCESS_MODE_WRITE - case "admin": - auth = models.ACCESS_MODE_ADMIN - default: - c.Error(401) - return - } - - t.Name = f.TeamName - if t.Authorize != auth { - isAuthChanged = true - t.Authorize = auth - } - } - t.Description = f.Description - if err := models.UpdateTeam(t, isAuthChanged); err != nil { - c.Data["Err_TeamName"] = true - switch { - case models.IsErrTeamAlreadyExist(err): - c.RenderWithErr(c.Tr("form.team_name_been_taken"), TEAM_NEW, &f) - default: - c.Handle(500, "UpdateTeam", err) - } - return - } - c.Redirect(c.Org.OrgLink + "/teams/" + t.LowerName) -} - -func DeleteTeam(c *context.Context) { - if err := models.DeleteTeam(c.Org.Team); err != nil { - c.Flash.Error("DeleteTeam: " + err.Error()) - } else { - c.Flash.Success(c.Tr("org.teams.delete_team_success")) - } - - c.JSON(200, map[string]interface{}{ - "redirect": c.Org.OrgLink + "/teams", - }) -} |