(c flags.FlagContext)
| 288 | } |
| 289 | |
| 290 | func (cmd Login) setOrganization(c flags.FlagContext) (bool, error) { |
| 291 | orgName := c.String("o") |
| 292 | |
| 293 | if orgName == "" { |
| 294 | orgs, err := cmd.orgRepo.ListOrgs(maxChoices) |
| 295 | if err != nil { |
| 296 | return false, errors.New(T("Error finding available orgs\n{{.APIErr}}", |
| 297 | map[string]interface{}{"APIErr": err.Error()})) |
| 298 | } |
| 299 | |
| 300 | switch len(orgs) { |
| 301 | case 0: |
| 302 | return false, nil |
| 303 | case 1: |
| 304 | cmd.targetOrganization(orgs[0]) |
| 305 | return true, nil |
| 306 | default: |
| 307 | orgName = cmd.promptForOrgName(orgs) |
| 308 | if orgName == "" { |
| 309 | cmd.ui.Say("") |
| 310 | return false, nil |
| 311 | } |
| 312 | } |
| 313 | } |
| 314 | |
| 315 | org, err := cmd.orgRepo.FindByName(orgName) |
| 316 | if err != nil { |
| 317 | return false, errors.New(T("Error finding org {{.OrgName}}\n{{.Err}}", |
| 318 | map[string]interface{}{"OrgName": terminal.EntityNameColor(orgName), "Err": err.Error()})) |
| 319 | } |
| 320 | |
| 321 | cmd.targetOrganization(org) |
| 322 | return true, nil |
| 323 | } |
| 324 | |
| 325 | func (cmd Login) promptForOrgName(orgs []models.Organization) string { |
| 326 | orgNames := []string{} |
no test coverage detected