func NewTeamPost(ctx *context.Context, form auth.CreateTeamForm) { ctx.Data["Title"] = ctx.Org.Organization.FullName ctx.Data["PageIsOrgTeams"] = true ctx.Data["PageIsOrgTeamsNew"] = true t := &models.Team{ OrgID: ctx.Org.Organization.Id, Name: form.TeamName, Description: form.Description, Authorize: models.ParseAccessMode(form.Permission), } ctx.Data["Team"] = t if ctx.HasError() { ctx.HTML(200, TEAM_NEW) return } if err := models.NewTeam(t); err != nil { ctx.Data["Err_TeamName"] = true switch { case models.IsErrTeamAlreadyExist(err): ctx.RenderWithErr(ctx.Tr("form.team_name_been_taken"), TEAM_NEW, &form) default: ctx.Handle(500, "NewTeam", err) } return } log.Trace("Team created: %s/%s", ctx.Org.Organization.Name, t.Name) ctx.Redirect(ctx.Org.OrgLink + "/teams/" + t.LowerName) }
func CreateTeam(ctx *context.APIContext, form api.CreateTeamOption) { team := &models.Team{ OrgID: ctx.Org.Organization.Id, Name: form.Name, Description: form.Description, Authorize: models.ParseAccessMode(form.Permission), } if err := models.NewTeam(team); err != nil { if models.IsErrTeamAlreadyExist(err) { ctx.Error(422, "", err) } else { ctx.Error(500, "NewTeam", err) } return } ctx.JSON(201, convert.ToTeam(team)) }